@unbrained/pm-cli 2026.9.17 → 2026.9.19

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 (157) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +49 -0
  3. package/dist/cli/invocation-profile.d.ts +26 -0
  4. package/dist/cli/invocation-profile.js +3 -0
  5. package/dist/cli/register-operations.js +1 -1
  6. package/dist/cli-bundle/bundle-manifest.json +149 -149
  7. package/dist/cli-bundle/chunks/{chunk-LD2FH2YE.js → chunk-7CN53F4S.js} +2 -2
  8. package/dist/cli-bundle/chunks/chunk-AACGU5IA.js +3 -0
  9. package/dist/cli-bundle/chunks/{chunk-Q6KPZGMP.js → chunk-CCLWCESZ.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-T526C5DX.js → chunk-J7NP7QLW.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-UF75LUAK.js → chunk-K4VAU4HU.js} +63 -63
  12. package/dist/cli-bundle/chunks/chunk-KHN4NMKT.js +238 -0
  13. package/dist/cli-bundle/chunks/{chunk-YZXB4XGA.js → chunk-KYG2QKNY.js} +29 -29
  14. package/dist/cli-bundle/chunks/{chunk-CPFBDM53.js → chunk-OQS2Y6VN.js} +2 -2
  15. package/dist/cli-bundle/chunks/{chunk-G2IJF244.js → chunk-QA4GUEKJ.js} +20 -20
  16. package/dist/cli-bundle/chunks/chunk-QTHR3LXF.js +20 -0
  17. package/dist/cli-bundle/chunks/{chunk-5ZY4WE3F.js → chunk-RVMDPIGD.js} +2 -2
  18. package/dist/cli-bundle/chunks/chunk-WASMH647.js +8 -0
  19. package/dist/cli-bundle/chunks/{register-list-query-ISM35VIX.js → register-list-query-RMZNHSII.js} +2 -2
  20. package/dist/cli-bundle/chunks/{register-mutation-KHMBJJS6.js → register-mutation-HJGSGX3H.js} +2 -2
  21. package/dist/cli-bundle/chunks/register-operations-LBEMFUMM.js +2 -0
  22. package/dist/cli-bundle/chunks/{register-setup-YAURJMY5.js → register-setup-MU557JAA.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/{chunk-G4TKJZ4A.js → chunk-5SZ4JSPZ.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-NOK652OP.js → chunk-7Y7PAC56.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-5KYHDFDN.js → chunk-ARK4FIO4.js} +3 -3
  26. package/dist/cli-bundle/focused-chunks/{chunk-LNM3BS45.js → chunk-CJ4QA4RW.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/chunk-I32L3FWW.js +12 -0
  28. package/dist/cli-bundle/focused-chunks/{chunk-267N774W.js → chunk-I4WDON3K.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/{chunk-7ZC4CKOX.js → chunk-IKPR4VVN.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/chunk-J3GN4SQT.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/{chunk-GKSAMNBG.js → chunk-OOZHQFBF.js} +16 -16
  32. package/dist/cli-bundle/focused-chunks/{chunk-JZSLDLR4.js → chunk-P4BA7OX7.js} +27 -26
  33. package/dist/cli-bundle/focused-chunks/chunk-QL4MO5M2.js +30 -0
  34. package/dist/cli-bundle/focused-chunks/chunk-TDHVROGL.js +3 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-V3YMNAO7.js +2 -0
  36. package/dist/cli-bundle/focused-chunks/chunk-YDFEWXXZ.js +59 -0
  37. package/dist/cli-bundle/focused-chunks/{chunk-WUMGGQYN.js → chunk-ZDBKYZFE.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/{chunk-BFUXTNZU.js → chunk-ZI2YBJFH.js} +2 -2
  39. package/dist/cli-bundle/main.js +2 -2
  40. package/dist/cli-bundle/sdk-authoring.js +1 -1
  41. package/dist/cli-bundle/sdk-contracts.js +2 -2
  42. package/dist/cli-bundle/sdk-core.js +25 -25
  43. package/dist/cli-bundle/sdk-governance.js +1 -1
  44. package/dist/cli-bundle/sdk-graph.js +1 -1
  45. package/dist/cli-bundle/sdk-merge.js +41 -41
  46. package/dist/cli-bundle/sdk-query.js +1 -1
  47. package/dist/cli-bundle/sdk-runtime.js +1 -1
  48. package/dist/cli-bundle/sdk-testing.js +1 -1
  49. package/dist/cli-bundle/sdk.js +8 -8
  50. package/dist/cli.js +1 -1
  51. package/dist/core/checkpoint/mutation-checkpoint.d.ts +1 -1
  52. package/dist/core/checkpoint/mutation-checkpoint.js +2 -2
  53. package/dist/core/config/nested-settings.js +1 -1
  54. package/dist/core/fs/atomic-create.d.ts +7 -0
  55. package/dist/core/fs/atomic-create.js +2 -0
  56. package/dist/core/history/history.js +1 -1
  57. package/dist/core/schema/runtime-schema.d.ts +1 -1
  58. package/dist/core/schema/runtime-schema.js +2 -2
  59. package/dist/core/session/session-state.js +1 -1
  60. package/dist/core/shared/secret-rules.d.ts +110 -0
  61. package/dist/core/shared/secret-rules.js +2 -0
  62. package/dist/core/store/settings-concurrency.d.ts +7 -0
  63. package/dist/core/store/settings-concurrency.js +2 -0
  64. package/dist/core/store/settings.d.ts +8 -1
  65. package/dist/core/store/settings.js +3 -2
  66. package/dist/mcp/server.d.ts +4 -0
  67. package/dist/mcp/server.js +1 -1
  68. package/dist/sdk/cli-contracts/command-aliases.js +1 -1
  69. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  70. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  71. package/dist/sdk/cli-program.js +1 -1
  72. package/dist/sdk/context-intent-contracts.js +1 -1
  73. package/dist/sdk/context-relevance.js +1 -1
  74. package/dist/sdk/contracts.d.ts +1 -0
  75. package/dist/sdk/contracts.js +1 -1
  76. package/dist/sdk/extension/install-runtime.d.ts +1 -1
  77. package/dist/sdk/extension/install-runtime.js +2 -2
  78. package/dist/sdk/governance/health.js +1 -1
  79. package/dist/sdk/governance/provenance-health.d.ts +27 -0
  80. package/dist/sdk/governance/provenance-health.js +1 -1
  81. package/dist/sdk/graph/index.d.ts +1 -0
  82. package/dist/sdk/graph/index.js +1 -1
  83. package/dist/sdk/graph/query-contracts.d.ts +18 -0
  84. package/dist/sdk/graph/query-contracts.js +2 -0
  85. package/dist/sdk/graph/run.d.ts +2 -0
  86. package/dist/sdk/graph/run.js +1 -1
  87. package/dist/sdk/graph/traversal.js +1 -1
  88. package/dist/sdk/guide-topics.js +1 -1
  89. package/dist/sdk/lifecycle/event-validation-messages.d.ts +1 -1
  90. package/dist/sdk/lifecycle/event-validation-messages.js +1 -1
  91. package/dist/sdk/lifecycle-policy.js +1 -1
  92. package/dist/sdk/mutation-guard.d.ts +8 -1
  93. package/dist/sdk/mutation-guard.js +1 -1
  94. package/dist/sdk/public-surface.json +1 -1
  95. package/dist/sdk/query/next-ready-budget.d.ts +20 -0
  96. package/dist/sdk/query/next-ready-budget.js +2 -0
  97. package/dist/sdk/query/next.d.ts +7 -2
  98. package/dist/sdk/query/next.js +1 -1
  99. package/dist/sdk/read-output-budget.d.ts +3 -1
  100. package/dist/sdk/read-output-budget.js +1 -1
  101. package/dist/sdk/read-output-contracts.js +1 -1
  102. package/dist/sdk/read-output-session.js +1 -1
  103. package/dist/sdk/test/execution.d.ts +6 -5
  104. package/dist/sdk/test/execution.js +2 -2
  105. package/dist/sdk/test/json-path.d.ts +11 -0
  106. package/dist/sdk/test/json-path.js +2 -0
  107. package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +66 -0
  108. package/docs/MCP_OPTION_CONFORMANCE.md +41 -0
  109. package/docs/MUTATION_INTEGRITY.md +36 -4
  110. package/docs/NEXT_SELECTION_BUDGETS.md +93 -0
  111. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +18 -2
  112. package/docs/PACKED_FIRST_RUN.md +8 -4
  113. package/docs/PERFORMANCE.md +37 -0
  114. package/docs/README.md +2 -0
  115. package/docs/READ_OUTPUT_CONTRACTS.md +8 -4
  116. package/docs/SDK_AGENT_SESSION_CONTEXT.md +28 -4
  117. package/docs/SDK_LIFECYCLE.md +16 -2
  118. package/docs/WORKSPACE_CONCURRENCY.md +67 -0
  119. package/docs/agent-task-token-baseline.json +7 -7
  120. package/docs/generated/AGENT_CAPABILITY_ROUTING.md +1 -1
  121. package/docs/generated/AGENT_COMMAND_SURFACE.md +3 -0
  122. package/docs/generated/FLAG_LEXICON_BUDGETS.md +3 -0
  123. package/marketplace.json +2 -2
  124. package/package.json +11 -9
  125. package/packages/pm-beads/package.json +1 -1
  126. package/packages/pm-calendar/README.md +43 -2
  127. package/packages/pm-calendar/extensions/calendar/command-definitions.ts +52 -0
  128. package/packages/pm-calendar/extensions/calendar/index.ts +2 -0
  129. package/packages/pm-calendar/extensions/calendar/manifest.json +3 -3
  130. package/packages/pm-calendar/extensions/calendar/shortcuts.ts +15 -0
  131. package/packages/pm-calendar/package.json +1 -1
  132. package/packages/pm-command-kit/package.json +1 -1
  133. package/packages/pm-digital-twin/package.json +1 -1
  134. package/packages/pm-governance-audit/package.json +1 -1
  135. package/packages/pm-guide-shell/package.json +1 -1
  136. package/packages/pm-kanban/package.json +1 -1
  137. package/packages/pm-lifecycle-hooks/package.json +1 -1
  138. package/packages/pm-linked-test-adapters/package.json +1 -1
  139. package/packages/pm-search-advanced/package.json +1 -1
  140. package/packages/pm-templates/package.json +1 -1
  141. package/packages/pm-todos/package.json +1 -1
  142. package/packages/pm-vcs/package.json +1 -1
  143. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  144. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  145. package/scripts/build-lease.mjs +43 -0
  146. package/scripts/build.mjs +40 -0
  147. package/dist/cli-bundle/chunks/chunk-C3MFMGCR.js +0 -20
  148. package/dist/cli-bundle/chunks/chunk-DN2RIHRN.js +0 -3
  149. package/dist/cli-bundle/chunks/chunk-E67MIO3Z.js +0 -8
  150. package/dist/cli-bundle/chunks/chunk-UJSB6NO6.js +0 -237
  151. package/dist/cli-bundle/chunks/register-operations-HHDROJD6.js +0 -2
  152. package/dist/cli-bundle/focused-chunks/chunk-5FSGN4MP.js +0 -12
  153. package/dist/cli-bundle/focused-chunks/chunk-7S7XWMXC.js +0 -2
  154. package/dist/cli-bundle/focused-chunks/chunk-IVWUQE7T.js +0 -59
  155. package/dist/cli-bundle/focused-chunks/chunk-OCTTDZOU.js +0 -3
  156. package/dist/cli-bundle/focused-chunks/chunk-OWDDVMAP.js +0 -2
  157. package/dist/cli-bundle/focused-chunks/chunk-Z4PWEIMX.js +0 -30
@@ -1,2 +0,0 @@
1
- import"./chunk-T3AMFUCN.js";import{Ac as D,Bc as Y,Cc as K,Dc as X,Ec as Q,Ed as oe,Fc as Z,Fd as ae,Hc as ee,Hd as re,Ic as te,Od as ie,Pd as se,Qd as C,Wd as le,bb as M,gc as $,hb as F,jc as q,kc as H,lc as G,ld as ne,sa as L,vb as V,vc as W,wb as N,wc as J,xb as U,xc as z,yc as j}from"./chunk-YZXB4XGA.js";import"./chunk-G2IJF244.js";import"./chunk-C3MFMGCR.js";import"./chunk-DEZPZOQ7.js";import{Do as c,Go as y,Ho as s,Io as h,Ko as O,Lo as P,O as u,Q as p,Sh as l,Th as d,Uc as _,_o as g,cf as E,ib as A,l as B,m as T,qa as x,wj as I,zo as R}from"./chunk-UJSB6NO6.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]="5197f5ed-ed11-536e-b0da-00fe90a1a1a1")}catch{}})();var ce=new Map([["measurements","boolean"],["metric","string"],["measurementLimit","number"],["observe","string_array"],["direction","direction"],["measurementSource","string"],["measurementItem","string"],["measurementRevision","string"],["author","string"],["message","string"],["provenanceCoverage","boolean"],["fleetAttribution","boolean"],["since","string"],["eventLimit","number"],["minimumSample","number"]]),_e=new Set(["higher","lower","target"]),Ie=[...ce.keys()].sort((e,t)=>e.localeCompare(t)).join(", ");function De(e,t){return e==="boolean"?typeof t=="boolean":e==="string"?typeof t=="string":e==="number"?typeof t=="number":e==="string_array"?Array.isArray(t)&&t.every(n=>typeof n=="string"):e==="direction"&&_e.has(t)}function de(e){if(e===void 0)return{};let t;try{t=JSON.parse(e)}catch(n){throw new p(`--analytics must be valid JSON: ${String(n)}`,u.USAGE)}if(t===null||typeof t!="object"||Array.isArray(t))throw new p("--analytics must be a JSON object.",u.USAGE);for(let[n,o]of Object.entries(t)){let a=ce.get(n);if(!De(a,o))throw new p(a===void 0?`Unknown --analytics field "${n}". Accepted fields: ${Ie}.`:`--analytics field "${n}" must be ${a.replace("_"," ")}.`,u.USAGE)}return 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]="a9de2504-ed7f-5a51-9da9-628e2f4a7159")}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]="ae73a8aa-9ba6-58cc-9bcd-912682cadfdc")}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]="0954af2d-98d8-5425-9264-cd44252bb7ef")}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]="6b76c88f-912f-59a0-ac2c-6cd6e221737b")}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]="d413f650-10c4-55c1-8403-90a7783ef5e9")}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]="1cc6f14f-3fc2-59ff-a854-41c568e79252")}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]="c9656d1f-25d1-5e20-b5e1-0b96390e0b62")}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]="42a381ad-a47b-5990-a2c7-0fdade7c25b3")}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]="ac5c3cc6-b0a4-5dad-b6ed-f1e627f6bb1d")}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]="5f81d2b7-3693-553e-bfe8-17344cd3a6c3")}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]="41d39122-3247-54ea-9eaf-43f002910880")}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]="fdb6bf22-0e41-530c-9d50-c56ab36effa4")}catch{}})();var ue=(e,t)=>M(e,t,{runUpdate:(n,o,a)=>$(n,o,a)});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="70a8a9b3-0fe4-5903-8e9c-85db1f0ca522")}catch{}})();async function Ce(e,t,n,o,a){let r=c(a),i=e==="run",f=e==="verdicts",k=e==="presets"||e==="apply",w=e==="promote",b=await F({action:e,...i||f||k||w?{}:{kind:t},id:i||f||w?n??t:n,preset:k?n??t:void 0,definition:s(o,"definition"),trigger:s(o,"trigger"),tree:s(o,"tree"),gate:s(o,"gate"),limit:s(o,"limit"),dry_run:o.dryRun===!0,fullChangedFields:r.fullChangedFields,idOnly:r.idOnly,author:s(o,"author"),message:s(o,"message"),owner:s(o,"owner"),apply:o.apply===!0,enforcement:s(o,"enforcement")},r);l(b,r),typeof b=="object"&&b!==null&&"exit_code"in b&&b.exit_code===1&&(process.exitCode=1)}function me(e){e.command("assurance").argument("<action>","Action; inspect `pm contracts --command assurance`").argument("[kind]","Declaration kind or run gate id").argument("[id]","Declaration/gate id").description("Manage SDK-owned assurance contracts.").option("--definition <json>","Put declaration JSON").option("--trigger <value>","Gate trigger").option("--tree <value>","Revision identity").option("--gate <id>","Verdict gate filter").option("--limit <number>","Verdict limit").option("--dry-run","Evaluate without recording").option("--author <value>","Mutation author").option("--message <value>","Mutation rationale").option("--owner <item-id>","Preset/derivation owner").option("--apply","Persist derived proposals").option("--enforcement <level>","Promote to warn or block").action(Ce)}(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]="7cc1f7e4-b8dd-570b-8629-b3bb5c645ed5")}catch{}})();function Se(e,t){let n=e?.trim().toLowerCase(),o=t?.trim().toLowerCase();if(n===void 0||n.length===0)return o;if(n==="local-analytics")return o&&o.length>0?o:"status";if(o!==void 0&&o.length>0)throw x({command_path:"telemetry",token:`${e} ${t}`,allowed:["status","flush","stats","clear","local-analytics"],token_kind:"path",examples:["pm telemetry stats --limit 10","pm telemetry local-analytics status --json"]});return n}function Be(e){return{addValues:Array.isArray(e.add)?e.add:[],addJsonValues:Array.isArray(e.addJson)?e.addJson:[],removeValues:Array.isArray(e.remove)?e.remove:[],removeIndexValues:Array.isArray(e.removeIndex)?e.removeIndex:[]}}function ge(e,t){if(e.background===!0){if(e.run!==!0)throw new p("--background requires --run",u.USAGE);if(e.acknowledgeLinkedTests===!0)throw new p("--background cannot be combined with --acknowledge-linked-tests; acknowledgement is a non-executing foreground operation",u.USAGE);if(t.addValues.length>0||t.addJsonValues.length>0||t.removeValues.length>0||t.removeIndexValues.length>0)throw new p("--background does not support --add/--add-json/--remove/--remove-index; update linked tests first, then run in background",u.USAGE)}}async function Te(e,t,n,o){let a=await C({kind:"test",commandArgs:O(e,{...t,add:o.addValues,addJson:o.addJsonValues,remove:o.removeValues,removeIndex:o.removeIndexValues}),targetId:e,author:typeof t.author=="string"?t.author:void 0,noExtensions:n.noExtensions===!0},n);l(a,n)}function he(e,t){return{add:t.addValues,addJson:t.addJsonValues,remove:t.removeValues,removeIndex:t.removeIndexValues,list:!!e.list,run:!!e.run,match:typeof e.match=="string"?e.match:void 0,onlyIndex:typeof e.onlyIndex=="string"||typeof e.onlyIndex=="number"?e.onlyIndex:void 0,onlyLast:!!e.onlyLast,timeout:typeof e.timeout=="string"?e.timeout:void 0,progress:!!e.progress,envSet:Array.isArray(e.envSet)?e.envSet:[],envClear:Array.isArray(e.envClear)?e.envClear:[],sharedHostSafe:!!e.sharedHostSafe,pmContext:typeof e.pmContext=="string"?e.pmContext:void 0,overrideLinkedPmContext:!!e.overrideLinkedPmContext,workspaceContext:typeof e.workspaceContext=="string"?e.workspaceContext:void 0,overrideLinkedWorkspaceContext:!!e.overrideLinkedWorkspaceContext,allowUntrustedLinkedTests:!!e.allowUntrustedLinkedTests,acknowledgeLinkedTests:!!e.acknowledgeLinkedTests,failOnContextMismatch:!!e.failOnContextMismatch,failOnSkipped:!!e.failOnSkipped,failOnEmptyTestRun:!!e.failOnEmptyTestRun,requireAssertionsForPm:!!e.requireAssertionsForPm,checkContext:!!e.checkContext,autoPmContext:!!e.autoPmContext,author:typeof e.author=="string"?e.author:void 0,message:typeof e.message=="string"?e.message:void 0,force:!!e.force,measure:Array.isArray(e.measure)?e.measure:[],metricBelow:typeof e.metricBelow=="string"?e.metricBelow:void 0,metricDiff:typeof e.metricDiff=="string"?e.metricDiff:void 0}}var Gt={buildRunTestOptions:he,buildRunTestAllOptions:we,runWorkspacePositionAction:be,validateBackgroundTestOptions:ge};async function Ee(e,t,n,o){let a=await ie(e,he(t,o),n);(o.addValues.length>0||o.addJsonValues.length>0||o.removeValues.length>0||t.run===!0||o.removeIndexValues.length>0)&&await g(n,a),l(a,n),(a.run_results.some(r=>r.status==="failed")||a.fail_on_skipped_triggered===!0)&&(process.exitCode=u.DEPENDENCY_FAILED)}async function Re(e,t,n){let o=c(n),a=Date.now(),r=Be(t);ge(t,r),t.background===!0?await Te(e,t,o,r):await Ee(e,t,o,r),o.profile&&d(`profile:command=test took_ms=${Date.now()-a}`)}function v(e){let t=s(e,"author"),n=s(e,"assignee");if(t!==void 0&&n!==void 0&&t!==n)throw new p("Lifecycle ownership received conflicting --author and --assignee values; use one actor value for both aliases.",u.USAGE,{code:"conflicting_lifecycle_owner",examples:["pm claim pm-123","pm claim pm-123 --start","pm release pm-123"]});return{author:t??n,message:s(e,"message")}}async function Oe(e,t){let n=c(t),o=Date.now();if(e.background===!0){let i=await C({kind:"test-all",commandArgs:P(e),statusFilter:s(e,"status"),noExtensions:n.noExtensions===!0},n);l(i,n),n.profile&&d(`profile:command=test-all took_ms=${Date.now()-o}`);return}let r=await se(we(e),n);await g(n,{ids:r.results.map(i=>i.id)}),l(r,n),(r.failed>0||r.fail_on_skipped_triggered===!0)&&(process.exitCode=u.DEPENDENCY_FAILED),n.profile&&d(`profile:command=test-all took_ms=${Date.now()-o}`)}function we(e){return{status:s(e,"status"),limit:s(e,"limit"),offset:s(e,"offset"),timeout:s(e,"timeout"),progress:!!e.progress,envSet:Array.isArray(e.envSet)?e.envSet:[],envClear:Array.isArray(e.envClear)?e.envClear:[],sharedHostSafe:!!e.sharedHostSafe,pmContext:s(e,"pmContext"),overrideLinkedPmContext:!!e.overrideLinkedPmContext,workspaceContext:s(e,"workspaceContext"),overrideLinkedWorkspaceContext:!!e.overrideLinkedWorkspaceContext,allowUntrustedLinkedTests:!!e.allowUntrustedLinkedTests,failOnContextMismatch:!!e.failOnContextMismatch,failOnSkipped:!!e.failOnSkipped,failOnEmptyTestRun:!!e.failOnEmptyTestRun,requireAssertionsForPm:!!e.requireAssertionsForPm,checkContext:!!e.checkContext,autoPmContext:!!e.autoPmContext}}async function Pe(e,t,n,o){let a=c(o),r=Date.now(),i=await re({subcommand:Se(e,t),limit:s(n,"limit")},a);l(i,a),a.profile&&d(`profile:command=telemetry took_ms=${Date.now()-r}`)}async function Le(e,t){let n=c(t),o=Date.now(),a=de(s(e,"analytics")),r=await oe(n,{includeEmpty:e.includeEmpty===!0,storage:e.storage===!0,metadataCoverage:e.metadataCoverage===!0,byAssignee:e.byAssignee===!0,byTag:e.byTag===!0,byPriority:e.byPriority===!0,tagPrefix:s(e,"tagPrefix"),fieldUtilization:e.fieldUtilization===!0,...a});r.recorded_observations?.some(i=>i.changed)===!0&&await g(n,{ids:r.recorded_observations?.flatMap(i=>i.observation.item_id?[i.observation.item_id]:[])}),l(r,n),n.profile&&d(`profile:command=stats took_ms=${Date.now()-o}`)}async function Me(e,t){let n=c(t),o=Date.now(),a=s(e,"threshold"),r=s(e,"limit"),i=await ae(n,{...e.exhaustive===!0?{exhaustive:!0}:{},status:Array.isArray(e.status)&&e.status.length>0?e.status:void 0,since:s(e,"since"),...a===void 0?{}:{threshold:Number(a)},...r===void 0?{}:{limit:Number(r)}});l(i,n),n.profile&&d(`profile:command=duplicates took_ms=${Date.now()-o}`)}async function Fe(e,t){let n=c(t),o=Date.now(),a=!!e.strictExit||!!e.failOnWarn,r=await L(n,{strictExit:a,strictDirectories:!!e.strictDirectories,requireMergeDrivers:!!e.requireMergeDrivers,checkOnly:!!e.checkOnly,checkTelemetry:!!e.checkTelemetry,noRefresh:!!e.noRefresh,refreshVectors:!!e.refreshVectors,verboseStaleItems:!!e.verboseStaleItems,verboseAuthorEvents:!!e.verboseAuthorEvents,brief:!!e.brief,summary:!!e.summary||a,skipVectors:!!e.skipVectors,skipIntegrity:!!e.skipIntegrity,skipDrift:!!e.skipDrift,full:!!e.full});l(r,n),a&&!r.ok&&(_({...r,exit_code:u.GENERIC_FAILURE,error_code:"health_findings",error_category:"validation",command_resolution:"health_findings",resolution_stage:"execute"}),process.exitCode=u.GENERIC_FAILURE),n.profile&&d(`profile:command=health took_ms=${Date.now()-o}`)}async function Ve(e,t){let n=c(t),o=Date.now(),a=await ue({checkMetadata:!!e.checkMetadata,metadataProfile:s(e,"metadataProfile"),checkResolution:!!e.checkResolution,checkCompleteness:!!e.checkCompleteness,checkLifecycle:!!e.checkLifecycle,checkStaleBlockers:!!e.checkStaleBlockers,dependencyCycleSeverity:s(e,"dependencyCycleSeverity"),parentCycleSeverity:s(e,"parentCycleSeverity"),checkFiles:!!e.checkFiles,checkCommandReferences:!!e.checkCommandReferences,scanMode:s(e,"scanMode"),includePmInternals:!!e.includePmInternals,verboseFileLists:!!e.verboseFileLists,verboseDiagnostics:!!e.verboseDiagnostics,allAffectedIds:!!e.allAffectedIds,checkHistoryDrift:!!e.checkHistoryDrift,checkStorageIntegrity:!!e.checkStorageIntegrity,fixHints:!!e.fixHints,autoFix:!!e.autoFix,dryRun:!!e.dryRun,fixScope:Array.isArray(e.fixScope)?e.fixScope:void 0,pruneMissing:!!e.pruneMissing,counts:!!e.counts,full:!!e.full},n);l(a,n),(e.strictExit||e.failOnWarn)&&(a.has_warnings||!a.ok)&&(_({...a,exit_code:u.GENERIC_FAILURE,error_code:"validation_findings",error_category:"validation",command_resolution:"validation_findings",resolution_stage:"execute"}),process.exitCode=u.GENERIC_FAILURE),n.profile&&d(`profile:command=validate took_ms=${Date.now()-o}`)}async function Ne(e,t){let n=c(t),o=Date.now(),a=await W(n,{dryRun:e.dryRun===!0,scope:Array.isArray(e.scope)?e.scope:[]});l(a,n),n.profile&&d(`profile:command=gc took_ms=${Date.now()-o}`)}async function Ue(e,t,n,o){let a=c(o),r=A(process.cwd(),a.path),i=e.trim().toLowerCase();if(!D.some(f=>f===i))throw x({command_path:"workspace snapshot",token:e,allowed:D,display_name:"workspace snapshot",token_kind:"action",examples:["pm workspace snapshot create before-migration","pm workspace snapshot restore before-migration"]});if(i==="list"){l(await X(r),a);return}if(i==="create"){l(await Y(r,t===void 0?{}:{name:t}),a);return}if(t===void 0)throw new p(`pm workspace snapshot ${i} requires a snapshot name or fingerprint`,u.USAGE);if(i==="inspect"){l(await K(r,t),a);return}if(i==="restore"){if(n.dryRun===!0){l(await Q(r,t),a);return}let f=await I(r);l(await Z(r,t,{force:n.force===!0,author:E(s(n,"author"),f.author_default),message:s(n,"message"),lockTtlSeconds:f.locks.ttl_seconds,lockWaitMs:f.locks.wait_ms}),a);return}l(await ee(r,t),a)}async function be(e,t){let n=c(t);l(await te(n),n)}async function $e(e,t){let n=c(t),o=Date.now(),a=await ne({action:s(e,"action"),command:s(e,"command"),summary:!!e.summary,schemaOnly:!!e.schemaOnly,flagsOnly:!!e.flagsOnly,availabilityOnly:!!e.availabilityOnly,runtimeOnly:!!e.runtimeOnly||!!e.activeOnly,full:!!e.full},n);l(a,n),n.profile&&d(`profile:command=contracts took_ms=${Date.now()-o}`)}async function qe(e,t,n){if(t.start===!0){fe(e,!1),await ke(e,t,n);return}let o=c(n),a=Date.now(),r={...v(t),ifAvailable:t.ifAvailable===!0,maxAttempts:t.maxAttempts};fe(e,t.next===!0);let i=t.next===!0?await N(!!t.force,o,r,{type:typeof t.type=="string"?t.type:void 0,tag:typeof t.tag=="string"?t.tag:void 0,priority:t.priority,assigneeFilter:typeof t.assigneeFilter=="string"?t.assigneeFilter:void 0,parent:typeof t.parent=="string"?t.parent:void 0,sprint:typeof t.sprint=="string"?t.sprint:void 0,release:typeof t.release=="string"?t.release:void 0,includeDecisions:t.includeDecisions===!0,includeGates:t.includeGates===!0,includeContainers:t.includeContainers===!0,tokenBudget:t.tokenBudget??t.token_budget,explainRanking:t.explainRanking===!0||t.explain_ranking===!0}):await V(e,!!t.force,o,r);await g(o,i),l(i,o),o.profile&&d(`profile:command=claim took_ms=${Date.now()-a}`)}function fe(e,t){if(!t&&!e)throw new p("Specify an item id or pass --next",u.USAGE);if(t&&e)throw new p("Specify either an item id or --next, not both",u.USAGE)}async function He(e,t,n){if(t.pause===!0){await ve(e,t,n);return}let o=c(n),a=Date.now(),r=await U(e,!!t.force,o,{...v(t),ownershipReleaseBypass:t.ownershipReleaseBypass===!0});await g(o,r),l(await R("release",[e],t,o,r),o),o.profile&&d(`profile:command=release took_ms=${Date.now()-a}`)}async function S(e){let t=c(e),n=B(e.name());if(!n||t.json||t.quiet)return;(await I(A(process.cwd(),t.path))).ux?.deprecation_hints&&d(T(n))}async function ke(e,t,n){await S(n);let o=c(n),a=Date.now(),r=await q(e,{...v(t),force:!!t.force,next:t.next===!0,ifAvailable:t.ifAvailable===!0},o);await g(o,r.update),l(r,o),o.profile&&d(`profile:command=start-task took_ms=${Date.now()-a}`)}async function ve(e,t,n){await S(n);let o=c(n),a=Date.now(),r=await H(e,{...v(t),force:!!t.force},o);await g(o,r.release),l(r,o),o.profile&&d(`profile:command=pause-task took_ms=${Date.now()-a}`)}async function Ge(e,t,n,o){await S(o);let a=c(o),r=Date.now(),i=await G(e,t,{...v(n),validateClose:s(n,"validateClose"),force:!!n.force},a);await g(a,i.release),l(i,a),a.profile&&d(`profile:command=close-task took_ms=${Date.now()-r}`)}function pe(e){return e.option("--background","Run linked tests in managed background mode").option("--timeout <seconds>","Default run timeout in seconds").option("--progress","Emit linked-test progress to stderr (always shown in TTY, opt-in for non-TTY)").option("--env-set <value>","Set environment variable(s) for linked-test runs (KEY=VALUE, repeatable)",y).option("--env-clear <value>","Clear environment variable(s) for linked-test runs (NAME, repeatable)",y).option("--shared-host-safe","Apply additive shared-host-safe runtime defaults for linked-test runs").option("--pm-context <mode>","PM linked-test context mode: schema|tracker|auto (default: schema)").option("--override-linked-pm-context","Force run-level --pm-context to override per-linked-test pm_context_mode metadata").option("--workspace-context <mode>","Source-workspace mode: source|isolated|snapshot (default: source)").option("--override-linked-workspace-context","Force run-level --workspace-context over per-linked-test metadata").option("--allow-untrusted-linked-tests","Execute untrusted linked commands when project policy also permits it").option("--fail-on-context-mismatch","Fail linked PM commands when context item counts differ").option("--fail-on-skipped","Treat skipped linked tests as dependency failures").option("--fail-on-empty-test-run","Treat successful linked-test commands that report zero executed tests as failures").option("--require-assertions-for-pm","Require assertion metadata for linked PM command tests").option("--check-context","Preflight linked PM command context diagnostics before executing commands").option("--auto-pm-context","Auto-remediate PM tracker-read context mismatches by routing those linked commands through tracker context")}function Wt(e){me(e);let t=e.command("test").argument("<id>","Item id").option("--add <value>","Add verified isolated test (CSV/markdown or stdin)",y).option("--add-json <value>","Add verified isolated test (JSON object/array or stdin)",y).option("--remove <value>","Remove linked test entry by exact command/path (command=<value> and path=<value> preserve commas and equals signs; or - for stdin)",y).option("--remove-index <n>","Remove the 1-based linked-test index from --list order (repeatable)",y).option("--list","List linked tests without mutating").option("--run","Run linked test commands").option("--match <value>","Run only linked tests whose command/path contains this substring").option("--only-index <n>","Run only the 1-based linked-test index from --list order").option("--only-last","Run only the most recently added linked test");t.option("--acknowledge-linked-tests","Trust the item's current linked commands in this clone without executing them"),pe(t).option("--measure <value>","Record name=value[,unit=...][,threshold=...] evidence; repeatable",y).option("--metric-below <value>","Return evidence below name=value").option("--metric-diff <name>","Diff the latest two values").option("--author <value>","Mutation author").option("--message <value>","History message").option("--force","Force ownership override").description("Manage tests linked to an item and optionally run them.").action(Re);let n=e.command("test-all").description("Run linked tests across matching items.").option("--status <value>","Filter items by status before running tests").option("--limit <n>","Limit matching items before running linked tests").option("--offset <n>","Skip matching items before running linked tests");pe(n).action(Oe),e.command("test-runs-worker",{hidden:!0}).argument("<runId>","Background run id").description("Internal background worker command.").action(async(w,b,xe)=>{let Ae=c(xe);await le(w,Ae)}),e.command("telemetry").argument("[namespace-or-subcommand]","Telemetry subcommand: status, flush, stats, clear (default: status)").argument("[subcommand]","Compatibility alias target for local-analytics: status, flush, stats, clear").option("--limit <n>","Maximum command groups returned by telemetry stats").description("Inspect and manage local telemetry queue/runtime state.").action(Pe),e.command("duplicates").description("Find duplicate clusters across all statuses.").option("--status <value>","Statuses (repeatable or comma-separated)",y,[]).option("--since <value>","Created at or after this time").option("--threshold <value>","Minimum similarity (0-1)").option("--limit <n>","Maximum clusters").option("--exhaustive","Score all pairs within the safety bound").action(Me),e.command("stats").description("Show project tracker statistics.").option("--include-empty","Restore zero-count registered item-type and lifecycle-status buckets").option("--storage","Include aggregate history-stream storage metrics (total streams/lines/bytes, largest + deepest streams, oldest/newest entries)").option("--metadata-coverage","Include metadata coverage % (acceptance_criteria, estimated_minutes, resolution, tags, parent) overall and by type").option("--by-assignee","Include a lifecycle-bucketed item breakdown grouped by assignee").option("--by-tag","Include a lifecycle-bucketed item breakdown grouped by tag").option("--by-priority","Include a lifecycle-bucketed item breakdown grouped by priority").option("--tag-prefix <value>","With --by-tag: only count tags starting with this prefix (e.g. domain:)").option("--field-utilization","Report content-field utilization rates (notes/learnings/files/docs/tests/comments/deps/body) for governance analysis").option("--analytics <json>","Improvement ledger/history analytics JSON").action(Le),e.command("health").description("Show project tracker health checks.").option("--strict-directories","Treat optional item-type directories as required failures").option("--require-merge-drivers","Treat absent clone-local merge drivers as a required health failure").option("--check-only","Run read-only health diagnostics without refreshing vectors").option("--check-telemetry","Probe telemetry endpoint health and include network diagnostics").option("--no-refresh","Disable automatic vector refresh attempts during health checks").option("--refresh-vectors","Explicitly enable vector refresh attempts during health checks").option("--verbose-stale-items","Include full stale vectorization ID lists in health output").option("--verbose-author-events","Include every actionable unknown-author event coordinate for review or disposition").option("--brief","Emit compact health details for low-token agent checks").option("--summary","Emit one-line-style health status with check names and warning count").option("--skip-vectors","Skip vectorization check for a faster run").option("--skip-integrity","Skip item/history file integrity check for a faster run").option("--skip-drift","Skip history drift hash check for a faster run").option("--full","Run all checks including slow integrity, drift, and vectorization checks").option("--strict-exit","Return non-zero exit when health is not ok and default to actionable summary output; use --full for complete details").option("--fail-on-warn","Alias for --strict-exit").action(Fe),e.command("validate").description("Validate metadata, lifecycle policies, files, command references, and history.").option("--check-metadata","Run metadata completeness checks").option("--metadata-profile <value>","Metadata profile (core|strict|custom)").option("--check-resolution","Run closed-item resolution metadata checks").option("--check-completeness","Check declarative lifecycle field requirements").option("--check-lifecycle","Run active-item lifecycle governance drift checks").option("--check-stale-blockers","Include stale blocker-pattern diagnostics in lifecycle checks").option("--dependency-cycle-severity <value>","Set dependency-cycle warning policy for lifecycle checks (off|warn|error)").option("--parent-cycle-severity <value>","Set parent-hierarchy cycle warning policy for lifecycle checks (off|warn|error)").option("--check-files","Run linked-file and orphaned-file checks").option("--check-command-references","Run linked-command PM-ID reference checks").option("--scan-mode <value>","Select file candidate scan mode for --check-files (default|tracked-all|tracked-all-strict)").option("--include-pm-internals","Include PM storage internals in tracked-all candidate scans").option("--verbose-file-lists","Include full file-path lists for validate --check-files details").option("--verbose-diagnostics","Include full diagnostic ID lists").option("--all-affected-ids","Emit complete missing_* affected-ID lists with no truncation (implied by --json)").option("--strict-exit","Return non-zero exit when validation warnings are present").option("--fail-on-warn","Alias for --strict-exit").option("--fix-hints","Add a machine-executable fix_hints[] of pm commands to each failing check's details").option("--auto-fix","Apply safe, deterministic field backfills").option("--dry-run","Preview planned --auto-fix/--prune-missing fixes without applying them").option("--fix-scope <scope>","Grant --auto-fix scopes (metadata, resolution, lifecycle; comma-separated or repeatable). Default: metadata, resolution; lifecycle must be named explicitly",y).option("--prune-missing","Remove deleted-path file/doc links; preserves real files").option("--check-history-drift","Run item/history hash drift checks").option("--check-storage-integrity","Run the post-merge storage-integrity check (unreadable items, history conflict markers, resurrected deletes, unparseable config/schema)").option("--counts","Keep validation counts and totals while omitting per-item diagnostic arrays").option("--full","Return the complete validation diagnostic projection").action(Ve),e.command("gc").option("--dry-run","Preview cleanup targets without deleting files; without this flag, pm gc deletes matched artifacts").option("--scope <value>","Limit cleanup to one or more scopes (comma-separated or repeatable): index, embeddings, runtime, locks, checkpoints, transactions",y).description("Delete optional cache artifacts by default (including expired lock debris) and show a summary.").action(Ne);let o=e.command("workspace").description("Inspect workspace state and snapshots.");o.command("position").description("Show merge and history readiness.").action(be),o.command("snapshot").argument("<action>","Action: create, list, inspect, restore, delete").argument("[target]","Optional name for create; name or fingerprint otherwise").description("Manage content-addressed tracker snapshots.").option("--dry-run","Preview restore file, item, stream, and history-entry impact without mutating state").option("--force","Explicitly confirm a whole-workspace snapshot restore").option("--author <value>","Actor recorded on the restore audit event").option("--message <value>","Human-readable restore rationale").action(Ue),e.command("contracts").description("Show machine-readable command and schema contracts for agents.").option("--action <value>","Filter tool schema branches to a specific action").option("--command <value>","Scope contracts output to one CLI command (narrow-by-default)").option("--summary","Return one command+intent row per top-level command for cheap agent bootstrap").option("--schema-only","Return schema-focused output only").option("--flags-only","Return command flag contracts only").option("--availability-only","Return action availability surface only").option("--runtime-only","Include only actions invocable in the current runtime").option("--active-only","Alias for --runtime-only").option("--full","Include full schema and command-flag surfaces (large; default brief output omits heavy sections for unfiltered queries)").action($e);let a=e.command("claim").option("--start","Claim and start an explicit item").argument("[id]","Item id (omit with --next)").option("--author <value>","Mutation author").option("--message <value>","History message").option("--force","Force claim override").option("--if-available","Skip another author's claim (skipped=true)").option("--next","Atomically claim the next caller-available actionable item").option("--type <value>","Filter --next candidates by type").option("--tag <value>","Filter --next candidates by tag").option("--priority <value>","Filter --next candidates by priority").option("--assignee-filter <value>","Filter --next candidates: assigned|unassigned").option("--parent <id>","Scope --next candidates to a subtree").option("--sprint <value>","Filter --next candidates by sprint").option("--release <value>","Filter --next candidates by release").option("--max-attempts <n>","Bound the --next candidate walk (default 10; maximum 100)").option("--include-decisions","Allow --next to claim human-gated Decision items").option("--include-gates","Allow --next to claim outcome gates").option("--include-containers","Allow --next to claim containers with unfinished descendants").option("--token-budget <n>","Bound the estimated tokens used to rank --next candidates").option("--explain-ranking","Include ranking provenance for --next selection").description("Claim an item for active work.").action(qe);h(a,"--assignee <value>","Alias for --author on lifecycle ownership commands"),h(a,"--token_budget <n>","Alias for --token-budget"),h(a,"--explain_ranking","Alias for --explain-ranking");let r=e.command("release").option("--pause","Use open status").argument("<id>","Item id").option("--author <value>","Author").option("--message <value>","Message").option("--force","Override ownership").description("Release ownership.").action(He);h(r,"--assignee <value>","Alias for --author on lifecycle ownership commands");let i=e.command("start-task",{hidden:!0}).argument("<id>","Item id").option("--author <value>","Mutation author").option("--message <value>","History message").option("--force","Force ownership or terminal override when required").description("Lifecycle alias: claim an item and move it to in_progress.").action(ke);h(i,"--assignee <value>","Alias for --author on lifecycle ownership commands");let f=e.command("pause-task",{hidden:!0}).argument("<id>","Item id").option("--author <value>","Mutation author").option("--message <value>","History message").option("--force","Force ownership override when required").description("Lifecycle alias: move an item to open and release its claim.").action(ve);h(f,"--assignee <value>","Alias for --author on lifecycle ownership commands");let k=e.command("close-task",{hidden:!0}).argument("<id>","Item id").argument("[reason]","Close reason text").option("--author <value>","Mutation author").option("--message <value>","History message").option("--validate-close <value>","Close-time validation mode: off|warn|strict").option("--force","Force ownership or terminal override when required").description("Lifecycle alias: close an item and release assignment metadata.").action(Ge);h(k,"--assignee <value>","Alias for --author on lifecycle ownership commands"),We(e)}function m(e){return typeof e=="string"?e:void 0}function ye(e){return{parent:m(e.parent),allowMissingParent:e.allowMissingParent===!0?!0:void 0,tags:m(e.tags),priority:m(e.priority),body:m(e.body),description:m(e.description),author:m(e.author),message:m(e.message)}}function We(e){for(let{name:t,describe:n}of[{name:"meet",describe:"Shortcut: create a Meeting with a start time and duration."},{name:"event",describe:"Shortcut: create an Event with a start time and duration."}])e.command(t).argument("<title>","Item title").option("--start <when>","Start time (ISO, 'now', or relative like +1h/+2d); defaults to now").option("--duration <span>","Duration from start (relative like 1h/2d); defaults to 1h when --end is omitted").option("--end <when>","End time (ISO or relative); overrides --duration").option("--location <value>","Location").option("--timezone <value>","IANA timezone (for example America/New_York)").option("--all-day","Mark as an all-day event").option("--parent <id>","Parent item id").option("--allow-missing-parent","Permit a parent id that does not exist yet").option("--tags <list>","Comma-separated tags").option("--priority <value>","Priority").option("--body <text>","Body/markdown content").option("--description <text>","Short description").option("--author <value>","Mutation author").option("--message <value>","History message").description(n).action(async(o,a,r)=>{let i=c(r),f=Date.now(),w=await(t==="meet"?J:z)(o,{...ye(a),start:m(a.start),duration:m(a.duration),end:m(a.end),location:m(a.location),timezone:m(a.timezone),allDay:a.allDay===!0?!0:void 0},i);await g(i,w),l(w,i),i.profile&&d(`profile:command=${t} took_ms=${Date.now()-f}`)});e.command("remind").argument("<title>","Item title").option("--at <when>","Reminder time (ISO, 'now', or relative like +2d); defaults to +1d").option("--text <value>","Reminder text; defaults to the title").option("--parent <id>","Parent item id").option("--allow-missing-parent","Permit a parent id that does not exist yet").option("--tags <list>","Comma-separated tags").option("--priority <value>","Priority").option("--body <text>","Body/markdown content").option("--description <text>","Short description").option("--author <value>","Mutation author").option("--message <value>","History message").description("Shortcut: create a Reminder from a single point in time.").action(async(t,n,o)=>{let a=c(o),r=Date.now(),i=await j(t,{...ye(n),at:m(n.at),text:m(n.text)},a);await g(a,i),l(i,a),a.profile&&d(`profile:command=remind took_ms=${Date.now()-r}`)})}export{Gt as _testOnlyRegisterOperations,Wt as registerOperationCommands,fe as requireClaimTarget};
2
- //# sourceMappingURL=register-operations-HHDROJD6.js.map
@@ -1,12 +0,0 @@
1
- import{$ as Ut,$a as mo,Aa as me,F as Pt,G as Wr,Ja as Qr,P as Je,R as fe,Ra as B,S as Ze,Sa as Jr,T as et,Ta as Zr,U as Br,Ua as oo,W as qr,Wa as Se,X as zr,Xa as co,Y as tt,Ya as lo,Z as Kr,Za as uo,_ as jt,_a as fo,aa as Ht,b as Ur,ba as Vr,cb as po,db as ho,fa as Yr,fb as go,ga as Gt,gb as _o,h as Hr,i as Gr,jb as yo,kb as Bt,lb as qt,mb as q,pa as Xr,sb as vo}from"./chunk-GKSAMNBG.js";import{e as $t,f as Ot,g as Lt,h as Nt}from"./chunk-267N774W.js";import{Na as or,Va as ir}from"./chunk-7S7XWMXC.js";import{$ as W,$a as Dr,Aa as Tr,C as J,Ca as Ir,Cb as jr,G as wr,Ha as Xe,Ia as Ar,Ja as Rr,Kb as eo,Lb as to,Ob as no,S as N,Sa as M,T as R,U as X,Wa as Fr,X as br,Ya as be,Za as Mr,ab as $r,ac as ro,e as pr,ea as kr,f as hr,fc as ke,g as gr,h as _r,hc as io,i as yr,ib as Or,jb as Lr,kc as Wt,lc as so,m as we,mc as ao,na as Sr,nc as nt,oa as Er,pa as Cr,qb as Qe,sb as Nr,ub as j,v as vr,vb as le,wb as de,ya as xr,yb as Pr,zb as ue}from"./chunk-JZSLDLR4.js";import{b as Yn,m as P,o as Y}from"./chunk-OCTTDZOU.js";import{$ as m,Aa as F,Ga as C,H as ae,Ia as Zn,Ic as x,Ka as Mt,M as Rt,Ma as Ge,N as Ue,Nc as ve,Pa as ye,Qa as Dt,Rc as sr,Rd as O,Ud as ur,V as Kn,Va as er,Vd as E,Wa as tr,Wd as fr,Xc as ce,Xd as G,Yc as ar,Z as Vn,_c as We,aa as p,ad as Be,bd as qe,be as ze,cd as cr,de as Ke,fe as Ve,gd as lr,hd as dr,i as zn,ie as mr,ja as Xn,je as Ye,ka as He,la as Qn,na as Jn,pb as nr,qa as Ft,xb as rr}from"./chunk-Z4PWEIMX.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f6e02611-4b44-5aa3-b762-9fd984aa12bc")}catch{}})();var Ps=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","omission_receipt_missing","omission_receipt_invalid","read_output_missing","read_output_invalid","read_output_dimensions_incomplete","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],zt=class extends Error{receipt;constructor(t){super(`Complete-list certification failed: ${t.map(n=>n.code).join(", ")}.`),this.name="PmCompleteListValidationError",this.receipt={contract_version:1,contract:"complete_list",findings:t,recovery:{suggested_retry:"pm list --all --output-include full --strict-read --no-truncate --output-budget unbounded --output-limit unbounded --json",sdk:"await client.listAllComplete()"}}}};function Wf(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function T(e,t,n,r){t&&e.push({code:n,message:r})}function js(e,t){let n=z(e.completeness)?e.completeness:{};T(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),T(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,o=n.unreadable_directory_count;T(t,n.status==="complete"&&(r!==0||o!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(o),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),T(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(o)||Number(r)<0||Number(o)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let i=z(e.filters)?e.filters:{},s=z(i.runtime_filters)?i.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return T(t,i.status!=="all"||Object.keys(s).length>0||Object.keys(i).some(l=>!a.has(l)),"filtered_corpus","The list did not explicitly select every lifecycle status."),T(t,i.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),T(t,i.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),i}function Us(e,t,n){T(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),T(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=z(e.projection)?e.projection:{};T(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let o=z(e.omission_receipt)?e.omission_receipt:void 0;T(n,o===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),T(n,o!==void 0&&(o.has_omissions!==!1||o.omitted_field_group_count!==0||!Number.isSafeInteger(o.omitted_field_group_count)||!Array.isArray(o.omitted_field_groups)||o.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),T(n,o?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Hs(e){return e.contract_version!==1||e.command!=="list"||e.within_budget!==!0||e.strings_compacted!==!1||e.rows_compacted!==!1||e.result_omitted!==!1}function Gs(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function Ws(e,t){let n=z(e.read_output)?e.read_output:void 0;T(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),T(t,n!==void 0&&Hs(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),T(t,n!==void 0&&!Gs(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),T(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=z(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;T(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),T(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function Bs(e,t){let n=e.map(r=>z(r)&&typeof r.id=="string"?r.id.trim():"");T(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),T(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function qs(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Ps[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=js(t,n);return Us(t,r,n),Ws(t,n),Bs(t.items,n),{ok:n.length===0,findings:n}}function zs(e){let t=qs(e);if(!t.ok)throw new zt(t.findings);let n=e;return{...n,complete_list:{contract_version:1,item_count:n.items.length,unique_item_id_count:new Set(n.items.map(r=>r.id)).size,terminal_items_included:!0,source_complete:!0,full_projection:!0,no_omissions:!0,unbounded:!0}}}function Bf(e){zs(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6ef0b23-e861-50ec-b7b3-751863936631")}catch{}})();function wo(e,t){let n=Ir(e),r=e.length>0?e[e.length-1].after_hash:Cr(),o=t===void 0||n.item_hash_version===void 0?void 0:Er(t,n.item_hash_version,wr(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?Sr(t):o[Math.max(0,o.indexOf(r))],s=i===void 0?void 0:i===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}async function bo(e,t,n={}){let r=C(n.cwd??process.cwd(),n.pmRoot);await j(r);let o=await M(r),i=F(o,x()),s=await Ur(r,e,o,i.type_to_folder),a=await W(s.historyPath,s.id);if(a.length===0)throw new p(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let l=Mr(t,a),c=$r(Dr(a,l.historyIndex),l),d=xr(c,{schema:o.schema});if(d.metadata.id!==s.id)throw new p(`History target resolved to item ${d.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[l.historyIndex],f=be(a,!0);return{document:d,reconstructed:!0,as_of_version:f===null?null:f+l.historyIndex+1,as_of_timestamp:u.ts,target:l,history_length:a.length}}import Vs from"node:fs/promises";import Co from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="94a81e04-bb02-5c2e-9362-4cf7212d66e6")}catch{}})();var Kt={version:1,aliases:{}};function rt(e=[]){let t=new Set(we),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let o of Object.keys(r.provenance_environment_keys??{}))n(o);for(let o of Object.keys(r.provenance_resolvers??{}))n(o);for(let o of r.provenance_unavailable_dimensions??[])n(o)}return[...t].sort()}function ko(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function Vt(e,t){if(e.agent_harness?.trim())return{agent_harness:e.agent_harness,harness_source:"recorded"};let n=t.aliases[e.author];return n?{agent_harness:n,harness_source:"vocabulary"}:{harness_source:"unresolved"}}function Ks(e,t=we){let n=new Set(t),r=new Map,o=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let i of o.flatMap(s=>s.split(","))){let s=i.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=i.slice(0,s).trim().toLowerCase(),l=i.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||i.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,m.USAGE,{code:"unknown_provenance_dimension"});if(l.length===0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(l),r.set(a,c)}return r}function ot(e,t=Kt,n={}){let r=Vt(e,t);return{...n.itemId===void 0?{}:{item_id:n.itemId},...n.version===void 0?{}:{version:n.version},ts:e.ts,op:e.op,author:e.author,...e.author_source===void 0?{}:{author_source:e.author_source},...r,vocabulary_version:t.version,...e.agent_instance===void 0?{}:{agent_instance:e.agent_instance},agent_provenance:e.agent_provenance??{},...e.message===void 0?{}:{message:e.message}}}function it(e,t=Kt,n=we){let r=ko(e.harness),o=ko(e.agentInstance),i=Ks(e,n);return s=>{let l=Vt(s,t).agent_harness;if(r&&(!l||!r.has(l))||o&&!o.has(s.agent_instance??""))return!1;for(let[c,d]of i){let u=s.agent_provenance?.[c];if(!u||!d.has(u.value))return!1}return!0}}function st(e,t=Kt,n=we){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let l of Object.keys(s.agent_provenance??{}))r.add(l);Vt(s,t).agent_harness?i+=1:o.set(s.author,(o.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:i,unresolved:e.length-i,unresolved_authors:[...o].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,l=0;for(let c of e){let d=c.agent_provenance?.[s];d===null?l+=1:d!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:l,legacy_missing:e.length-a-l}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03488490-bc4a-5988-9ceb-46800c6d7833")}catch{}})();var Ys=20,Xs=5,Qs=15,Js="-24h";function Em(e){let t={...e};return t.full===!0?(t.raw=!0,t.compact=!1):t.raw===!0&&t.compact===void 0&&(t.compact=!0),delete t.full,t}var Zs={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Yt(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,m.USAGE);return n}function So(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",m.USAGE);let o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return G(o,new Date(t),n)}function ea(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function Eo(e,t){return t===void 0?e:e.slice(0,t)}function Ee(e,t=""){return typeof e=="string"?e:t}function ta(e,t){return{...t,id:e,ts:Ee(t.ts),author:Ee(t.author,"unknown"),op:Ee(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ee(t.before_hash),after_hash:Ee(t.after_hash)}}function na(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let o=t.id.localeCompare(n.id);return o!==0?o:t.op.localeCompare(n.op)})}async function ra(e){try{return(await Vs.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Qn(t))return[];throw t}}function oa(e){return e.raw!==!0&&e.compact!==!0&&e.provenance!==!0?"digest":e.provenance===!0?"provenance":e.compact===!0||e.raw===!0&&e.compact!==!1?"compact":"full"}function ia(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Qs:n==="compact"?Ys:Xs}function sa(e,t){let n=O(),r=t==="digest",o=So(e.to??(r?n:void 0),n,"--to"),i=So(e.from??(r?Js:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&E(i,o)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=fe(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:Yt(e.id,"Activity --id"),op:Yt(e.op,"Activity --op"),author:Yt(e.author,"Activity --author"),from:i,to:o,limit:ia(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function aa(e){let t=C(process.cwd(),e.path);return await j(t),{pmRoot:t,settings:await M(t)}}async function ca(e){let t=F(e.settings,x()),n=await ue(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Lr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=Co.join(e.pmRoot,"history");return await ve({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function la(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:ea(t,n.from,n.to)}async function da(e,t){let n=[];for(let r of await ra(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await W(Co.join(e,r),o);for(let s of i){let a=ta(o,s);la(s,a,t)&&n.push(a)}}return n}function ua(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function fa(e){let t=[...e.entries()].sort(([r,o],[i,s])=>s-o||r.localeCompare(i)),n=t.slice(0,4).map(([r,o])=>`${r}:${o}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function ma(e,t){let n=new Map;for(let r of e){let o=n.get(r.id);if(o===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}o.eventCount+=1,E(r.ts,o.firstTs)<0&&(o.firstTs=r.ts),E(r.ts,o.lastTs)>0&&(o.lastTs=r.ts),o.operations.set(r.op,(o.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,o])=>{let i=t.get(r);return{id:r,type:i?.type??"unknown",status:i?.status??"unknown",title:(i?.title??"(item metadata unavailable)").slice(0,160),event_count:o.eventCount,first_ts:o.firstTs,last_ts:o.lastTs,operations:fa(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function pa(e){let t=new Map;for(let o of e)t.set(o.op,(t.get(o.op)??0)+1);let n=[...t.entries()].sort((o,i)=>i[1]-o[1]||o[0].localeCompare(i[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((o,[,i])=>o+i,0)]),Object.fromEntries(r)}function ha(e,t,n,r,o){if(e==="digest"){let s=ma(t,r),a=Eo(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=Eo(t,n);return e==="compact"?{rows:{compact_activity:ua(i)},compact:!0,totalRows:t.length,returnedRows:i.length}:e==="provenance"?{rows:{provenance_activity:i.map(o)},compact:!1,totalRows:t.length,returnedRows:i.length}:{rows:{activity:i},compact:!1,totalRows:t.length,returnedRows:i.length}}async function xo(e,t){let n=await aa(t),r=oa(e),o=sa(e,r),i=await ca(n),s=rt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,l=it({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=na(await da(i.historyDir,o)).filter(l),d=ha(r,c,o.limit,i.itemsById,f=>ot(f,a,{itemId:f.id})),u=d.totalRows-d.returnedRows;return{...d.rows,compact:d.compact,projection:{mode:r,row_key:Zs[r]},omission_receipt:We("activity",r),count:d.returnedRows,total_count:d.totalRows,limit:o.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:c.length,item_count:d.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:pa(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:st(c,a,s)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2a9a4dc0-8027-5761-9bbf-cac1ef83bd10")}catch{}})();var ga=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],_a=["filterAcMissing","filterEstimatesMissing","filterResolutionMissing","filterMetadataMissing","filterReviewerMissing","filterRiskMissing","filterConfidenceMissing","filterSprintMissing","filterReleaseMissing","hasNotes","hasLearnings","hasFiles","hasDocs","hasTests","hasComments","hasDeps","hasBody","hasLinkedCommand","noNotes","noLearnings","noFiles","noDocs","noTests","noComments","noDeps","emptyBody","noLinkedCommand"];function ya(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function xm(e,t,n={}){let r=n.includePagination!==!1;return[t,...ga.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(ya)||_a.some(i=>e?.[i]===!0)}function To(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7a4a98b2-3872-506d-b88d-877b0033dd2d")}catch{}})();var Io=["parent","type","priority","status","assignee","tags","sprint","release"];function Ro(e,t){let n=Je(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Fo(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),o=n&&n.length>0?n:void 0,i=r&&r.length>0?r:void 0;if(!o&&!i)return null;if(o&&i&&o!==i)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=o??i;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function Mo(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",m.USAGE);let n=Qr(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",m.USAGE);for(let r of n)if(!Io.includes(r))throw new p(`Aggregate group fields must be one of ${Io.join("|")}; received "${r}"`,m.USAGE);return n}function Do(e){let t=[...new Set(e.map(n=>n.trim().toLowerCase()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length===0?null:t.join(",")}function $o(e,t){switch(e){case"parent":return t.parent??null;case"type":return t.type;case"priority":return t.priority;case"status":return t.status;case"assignee":return t.assignee??null;case"tags":return Do(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Oo(e,t){let n=e??null,r=t??null;return n===r?0:n===null?1:r===null?-1:typeof n=="number"&&typeof r=="number"?n-r:String(n).localeCompare(String(r))}function at(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var va={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Ao(e,t){return t==null||t===""?va[e]:String(t)}function wa(e,t){return e.length===1?Ao(e[0],t[e[0]]):e.map(n=>`${n}=${Ao(n,t[n])}`).join(" | ")}function Lo(e,t,n){for(let r of n){let o=Oo(e.group[r],t.group[r]);if(o!==0)return o}return 0}function No(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let o=r.trim();if(o.length===0)return null;let i=Number(o);if(Number.isFinite(i))return i}return null}function Po(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Xt(e,t,n){let r=N(String(t),n)??t;if(r===n.open_status){e.open_count+=1;return}if(r==="in_progress"||n.active_statuses.has(r)&&r!==n.open_status){e.in_progress_count+=1;return}if(n.terminal_done_statuses.has(r)||r===n.close_status){e.closed_count+=1;return}e.other_count+=1}function ba(e,t){return{row:{group:e,count:1},numeric_count:t===null?0:1,numeric_sum:t??0,null_count:t===null?1:0,open_count:0,in_progress_count:0,closed_count:0,other_count:0}}function ka(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Sa(e){e.accumulator.row.count+=1,e.includeCompletion&&Xt(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&ka(e.accumulator,e.numericValue)}function Ea(e,t,n,r){for(let o of t){let i=at(n,o),s=e.get(i);if(s){Sa({...r,accumulator:s});continue}let a=ba(o,r.numericValue);r.includeCompletion&&Xt(a,r.item.status,r.statusRegistry),e.set(i,a)}}function Ca(e,t){let n={};for(let r of e)n[r]=$o(r,t);return n}function xa(e,t,n){let r=[Ca(e,t)];if(n==="tuple")return r;for(let o of e){let i=t[o];if(!Array.isArray(i))continue;let s=[...new Set(i.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(l=>({...a,[o]:l}))))}return r}function Ta(e,t,n,r){let o={...e.row,group_label:wa(t,e.row.group)};return n&&(o.open=e.open_count,o.in_progress=e.in_progress_count,o.closed=e.closed_count,o.other=e.other_count,o.completion_pct=Po(e.closed_count,e.row.count)),r!==null&&(o.null_count=e.null_count,r.sum&&(o.sum=e.numeric_sum),r.avg&&(o.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),o}function Ia(e){return{group_by:e.groupBy,set_mode:e.setMode,count:!0,completion:e.includeCompletion,include_unparented:e.includeUnparented,status:e.status?.[0]??null,status_values:e.status,type:e.options.type??null,tag:e.options.tag??null,priority:e.options.priority??null,deadline_before:e.options.deadlineBefore??null,deadline_after:e.options.deadlineAfter??null,assignee:e.options.assignee??null,assignee_filter:e.options.assigneeFilter??null,parent:e.options.parent??null,sprint:e.options.sprint??null,release:e.options.release??null,...e.numericAggregation!==null?{sum:e.options.sum??null,avg:e.options.avg??null,numeric_field:e.numericAggregation.field}:{}}}async function Mm(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=C(process.cwd(),t.path),r=await M(n),o=P(r.schema),i=["estimate","estimated_minutes","priority",...Y(r.schema).definitions.filter(w=>w.type==="number").map(w=>w.metadata_key)],s=Mo(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",m.USAGE);let l=Ro(e.status,o),c=Fo(e,[...new Set(i)].sort((w,S)=>w.localeCompare(S))),d=e.completion===!0,u=e.includeUnparented===!0,f=await q(void 0,{...To(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,_=0,y=0,g=0;for(let w of f.items){let S=w;if(s.includes("parent")&&S.parent===void 0&&!u){_+=1;continue}let Q=c===null?null:No(S,c.field),A=xa(s,S,a);Ea(h,A,s,{item:S,statusRegistry:o,includeCompletion:d,numericAggregation:c,numericValue:Q}),g+=A.length,y+=1}let v=[...h.values()].map(w=>Ta(w,s,d,c)).sort((w,S)=>Lo(w,S,s)),k=f.warnings&&f.warnings.length>0?f.warnings:void 0;return{...Aa(v,s,e),count:v.length,totals:{items_considered:f.items.length,items_grouped:y,items_skipped_unparented:_,group_memberships:g},filters:Ia({groupBy:s,setMode:a,includeCompletion:d,includeUnparented:u,status:l,options:e,numericAggregation:c}),now:O(),...k?{warnings:k}:{}}}function Aa(e,t,n){let r=ro(n.limit,"limit")??50,o=n.after===void 0?-1:e.findIndex(a=>at(t,a.group)===n.after);if(n.after!==void 0&&o<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",m.USAGE);let i=e.slice(o+1,o+1+r),s=o+1+i.length<e.length;return{groups:i,returned_count:i.length,truncated:s,next_after:s?at(t,i.at(-1).group):null}}var Dm={buildGroupKey:at,compareAggregateRows:Lo,compareNullableGroupValue:Oo,completionPct:Po,normalizeTagGroupValue:Do,parseGroupBy:Mo,parseNumericAggregation:Fo,parseStatus:Ro,readNumericAggregateValue:No,resolveGroupValue:$o,updateCompletionCounts:Xt};import{encode as Ra}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77dd912c-158f-5280-8112-dd971be4df3b")}catch{}})();var Qt=["agenda","day","week","month"],Jt=["markdown","toon","json"],Fa=["sun","mon","tue","wed","thu","fri","sat"],Ma=365,Da=365,Ho=28,$a=1e3;function Zt(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return n}function Oa(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let o of n){if(o==="deadlines"||o==="deadline"){r.add("deadlines");continue}if(o==="reminders"||o==="reminder"){r.add("reminders");continue}if(o==="events"||o==="event"||o==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Go(e,t){let n;for(let r of t){let o=zn(e,r,2);o!==null&&(n===void 0||o<n.distance)&&(n={choice:r,distance:o})}return n?.choice}function La(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Qt.includes(t)){let n=Go(t,Qt);throw new p(`Calendar view must be one of ${Qt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Na(e){if(!e)return;let t=e.trim().toLowerCase();if(!Jt.includes(t)){let n=Go(t,Jt);throw new p(`Calendar format must be one of ${Jt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Um(e,t){let n=Na(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"markdown"}function Pa(e,t){if(e===void 0)return;let n=N(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function ja(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function ct(e){return new Date(e).toISOString().slice(0,10)}function Wo(e,t){if(!t||t==="UTC")return ct(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,o=n.find(s=>s.type==="month")?.value,i=n.find(s=>s.type==="day")?.value;if(r&&o&&i)return`${r}-${o}-${i}`}catch{}return ct(e)}function rn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function K(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Bo(e){let t=new Date(rn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return K(t.toISOString(),r)}function Ua(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ha(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Ga(e,t){return E(e,t)>=0?e:t}function jo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Uo(e,t){e.set(t,(e.get(t)??0)+1)}function Wa(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,o)=>ae(r)-ae(o));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,o)=>r-o);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,o)=>r.localeCompare(o));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function qo(e,t,n,r){let o=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(o.getUTCFullYear()!==e||o.getUTCMonth()!==t||o.getUTCDate()!==n))return o.toISOString()}function zo(e){return Fa[new Date(e).getUTCDay()]}function Ba(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function qa(e){let t=new Set;for(let n of e??[]){let r=Ba(n);r&&t.add(r)}return t}function za(e,t,n,r,o){let i=e??K(n,-(r??Da)),s=t??K(e??n,o??Ma);return{start:i,end:E(s,i)>0?s:K(i,1)}}function Ka(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[zo(e)],i=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??$a,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:qa(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(o)].sort((s,a)=>ae(s)-ae(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function lt(e,t){return E(t,e.startAt)<0?"continue":e.until&&E(t,e.until)>0||E(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,E(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function dt(e,t){let n=zo(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function Va(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(dt(e,t)&&lt(e,t)==="stop");n+=1)t=K(t,e.interval);return e.occurrences}function Ya(e,t,n){let r=ae(n),o=K(t,r),i=new Date(o);return new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function Xa(e){let t=Bo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=K(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=Ya(e,r,o);if(dt(e,i)&&lt(e,i)==="stop")return e.occurrences}}return e.occurrences}function Qa(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=qo(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!dt(e,s))&&lt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ja(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=t+r*e.interval;for(let i of e.sortedMonthDays){let s=qo(o,n,i,e.startDate);if(!(!s||!dt(e,s))&&lt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Za(e,t,n,r){let o=Ka(e,t,n,r);return t.freq==="daily"?Va(o):t.freq==="weekly"?Xa(o):t.freq==="monthly"?Qa(o):Ja(o)}function Ko(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let o=t.item_priority-n.item_priority;if(o!==0)return o;let i=t.item_id.localeCompare(n.item_id);if(i!==0)return i;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function on(e){return{item_id:e.id,item_title:e.title,item_type:e.type,item_status:e.status,item_priority:e.priority,item_assignee:e.assignee??null,item_deadline:e.deadline??null,item_tags:e.tags}}function ec(e){return e.deadline?{at:e.deadline,date:ct(e.deadline),kind:"deadline",reminder_text:null,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...on(e),item_deadline:e.deadline}:null}function tc(e){return(e.reminders??[]).map(t=>({at:t.at,date:ct(t.at),kind:"reminder",reminder_text:t.text,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...on(e)}))}function nc(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function rc(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function oc(e,t,n,r){let o=Wa(t.recurrence),i=nc(t.start_at,t.end_at);return(t.recurrence?Za(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Wo(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:rc(a,t,i),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:o,...on(e)}))}function ic(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?ec(i):null;s&&o.push(s),n.has("reminders")&&o.push(...tc(i));for(let a of n.has("events")?i.events??[]:[])o.push(...oc(i,a,t,r))}return Ko(o)}function sc(e,t,n,r,o){let i=Zr(t.type,n),s=t.tag?.trim().toLowerCase(),a=Jr(t.priority),l=Pa(t.status,r),c=t.assignee?.trim(),d=ja(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&d==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>ac(h,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:l,assigneeFilter:c,assigneeModeFilter:d,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function ac(e,t){return cc(e,t)&&lc(e,t)&&et(e,t.runtimeFieldFilters)}function cc(e,t){return!(t.typeFilter&&e.type!==t.typeFilter||t.tagFilter&&!e.tags.some(n=>n.trim().toLowerCase()===t.tagFilter)||t.priorityFilter!==void 0&&e.priority!==t.priorityFilter||t.statusFilter&&e.status!==t.statusFilter)}function lc(e,t){return!(t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee||t.assigneeFilter!==void 0&&e.assignee!==t.assigneeFilter||t.sprintFilter!==void 0&&e.sprint!==t.sprintFilter||t.releaseFilter!==void 0&&e.release!==t.releaseFilter)}function dc(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function en(e,t,n){return e.trim().toLowerCase()==="today"?rn(t):G(e,new Date(t),n)}function uc(e,t,n){let r=t.date?en(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?en(t.from,n,"--from"):void 0,a=t.to?en(t.to,n,"--to"):void 0;if(s&&a&&E(s,a)>=0)throw new p("Calendar --from must be before --to",m.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",m.USAGE);if(e==="agenda")return fc(r,t,n,o,i,s,a);if(e==="day"){let c=rn(r);return tn(r,n,o,i,c,K(c,1))}if(e==="week"){let c=Bo(r);return tn(r,n,o,i,c,K(c,7))}let l=Ua(r);return tn(r,n,o,i,l,Ha(r))}function fc(e,t,n,r,o,i,s){if(o)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",m.USAGE);return{anchor:e,start:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function tn(e,t,n,r,o,i){let s=n||r;return{anchor:e,start:s?o:Ga(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function mc(e){let t=new Map;for(let n of e){let r=t.get(n.date)??[];r.push(n),t.set(n.date,r)}return[...t.entries()].sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>({date:n,count:r.length,events:Ko(r)}))}function pc(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let l of e)t.add(l.item_id),Uo(n,l.item_type),Uo(r,l.item_status),l.kind==="deadline"?o+=1:l.kind==="reminder"?i+=1:(s+=1,l.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:o,reminders:i,scheduled:s,by_kind:{deadline:o,reminder:i,event:s},by_type:jo(n),by_status:jo(r),recurring_events:a}}function hc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Vo(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(i=>i.type==="hour")?.value,o=n.find(i=>i.type==="minute")?.value;if(r&&o)return`${r}:${o}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function nn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function gc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Wo(e.event_end,e.event_timezone)?Vo(e.event_end,e.event_timezone):e.event_end:null}function _c(e){let t=`${Vo(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let i=gc(e);return i&&n.push(`end=${i}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function Hm(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${hc(e.range)}`),e.range.period_start&&e.range.period_end&&(t.push(`- period: ${e.range.period_start} -> ${e.range.period_end}`),t.push(`- period-mode: ${e.range.full_period?"full-period":"active-window"}`)),t.push(`- events: ${e.summary.events} (deadlines: ${e.summary.deadlines}, reminders: ${e.summary.reminders}, scheduled: ${e.summary.scheduled})`),t.push(`- items: ${e.summary.items}`),t.push(`- by-kind: ${nn(e.summary.by_kind)}`),t.push(`- by-type: ${nn(e.summary.by_type)}`),t.push(`- by-status: ${nn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
2
- `);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${_c(r)}`);t.push("")}if(e.warnings&&e.warnings.length>0){t.push("### warnings");for(let n of e.warnings)t.push(`- ${n}`);t.push("")}return yc(t.join(`
3
- `))}function Gm(e){return Ra(e)}function yc(e){let t=e.length;for(;t>0&&e[t-1]===`
4
- `;)t-=1;return e.slice(0,t)}function vc(e){let t=O(),n=La(e.view),r=uc(n,e,t),o=B(e.limit),i=Oa(e.include),s=Zt(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Zt(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),l=Zt(e.occurrenceLimit,"Calendar occurrence limit");if(l!==void 0&&l<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=i.has("events")&&!i.has("deadlines")&&!i.has("reminders"),d=e.to!==void 0||s!==void 0||a!==void 0||l!==void 0,u=c&&!d;return{nowValue:t,view:n,rangeBounds:r,limit:o,includeSources:i,occurrenceLimit:l,recurrenceLookaheadDays:u?Ho:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function wc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Ho}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function bc(e,t){return{type:e.type??null,tag:e.tag??null,priority:e.priority??null,status:e.status??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,runtime_filters:t,limit:e.limit??null,include:e.include??null,full_period:e.fullPeriod===!0?"true":null,recurrence_lookahead_days:e.recurrenceLookaheadDays??null,recurrence_lookback_days:e.recurrenceLookbackDays??null,occurrence_limit:e.occurrenceLimit??null}}function kc(e,t){return{start:t.start??null,end:t.end??null,period_start:t.periodStart??null,period_end:t.periodEnd??null,full_period:t.fullPeriod,past:e.past===!0,from:e.from??null,to:e.to??null}}async function Yo(e,t){let n=C(process.cwd(),t.path);await j(n);let r=vc(e),o=await M(n),i=P(o.schema),s=Y(o.schema),a=Ze(e,s,"calendar"),l=F(o,x()),c=[];wc(c,r.eventsOnlyCapApplied);let d=await ue(n,o.item_format,l.type_to_folder,c,o.schema),u=sc(d,e,l,i,a),f=za(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),_=ic(u,f,r.includeSources,r.occurrenceLimit).filter(k=>dc(k,r.rangeBounds.start,r.rangeBounds.end)),y=r.limit===void 0?_:_.slice(0,r.limit),g=mc(y),v=[...new Set(c)].sort((k,w)=>k.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:kc(e,r.rangeBounds),filters:bc(e,a),summary:pc(y),events:y,days:g,...v.length>0?{warnings:v}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a4301eb-d8a5-52c0-8bf0-f65b3b9a96a3")}catch{}})();var Xo="1970-01-01T00:00:00.000Z";function Ce(e){if(typeof e!="string")return null;let t=e.trim();if(!ur(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return G(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dffb5f26-d8b4-5861-a7ea-0436bd4a22a6")}catch{}})();var sn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Sc=Symbol("no-context-author"),Ec=Symbol("no-item-assignee");function Qo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Cc(e){if(typeof e!="string")return;let t=/^v?(\d{4})\.(\d{1,2})\.(\d{1,2})(?:$|[-+])/u.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),o=Number(t[3]),i=new Date(Date.UTC(n,r-1,o));return i.getUTCFullYear()===n&&i.getUTCMonth()===r-1&&i.getUTCDate()===o?i.toISOString():void 0}function xc(e){let t=Cc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ce(e.created_at)??Xo}}function Tc(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=Ce(e.coordinate);if(t===null)throw new TypeError("Context signal recency coordinate must be a valid absolute timestamp with millisecond precision");return{...e,coordinate:t}}function Ic(e,t){let n=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(n)?1-Math.min(Math.max(n,0),t)/t:0}function Ac(e,t){let n=typeof e=="string"?Date.parse(e):e instanceof Date?e.getTime():typeof e=="number"?e:Number.NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return 0;let r=(n-t)/864e5;return r<=0?1:1/(1+r/30)}function Rc(e){let t=typeof e=="string"?e.trim().toLowerCase():void 0;return t==="critical"||t==="high"?1:t==="medium"?.5:t==="low"?.1:0}function ut(e,t,n){return e?.[t]??n}function ft(e,t){let n=new Map(e.map(c=>{let d=t.recencyEvidence?.[c.id];return[c.id,d===void 0?xc(c):Tc(d)]})),r=[...e].sort((c,d)=>{let u=n.get(c.id).coordinate,f=n.get(d.id).coordinate;return E(f,u)||c.id.localeCompare(d.id)}),o=new Map(r.map((c,d)=>[c.id,d])),i=Math.max(e.length-1,1),s=Qo(t.author,Sc),a=N("in_progress",t.statusRegistry),l=Date.parse(t.now);return e.map(c=>{let d=Qo(c.assignee,Ec)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signal_provenance:{recency:n.get(c.id)},signals:{recency:e.length===1?1:1-o.get(c.id)/i,activity_density:t.activityDensity?.[c.id],graph_proximity:ut(t.graphProximity,c.id,c.parent?.3:0),claim_focus:ut(t.claimFocus,c.id,R(c.status,t.statusRegistry)===a?1:d?.75:0),priority_pressure:Ic(c.priority,4),risk_pressure:Rc(c.risk),deadline_pressure:Ac(c.deadline,l),knowledge_density:ut(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:ut(t.authorAffinity,c.id,d?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Fc="context_relevance",Mc={structural:.4,recency:.35,activity_density:.25,graph_proximity:.15,claim_focus:.6,priority_pressure:.35,risk_pressure:.2,deadline_pressure:.45,knowledge_density:.25,author_affinity:.2,usage_affinity:.3,semantic_similarity:.5},Dc=new TextEncoder;function $c(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,o]of Object.entries(n.signals??{})){if(r==="structural"||!sn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(o!==void 0&&(!Number.isFinite(o)||o<0||o>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Oc(e){let t={...Mc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&sn.includes(n)&&(t[n]=r);for(let[n,r]of Object.entries(t))if(!Number.isFinite(r)||r<0)throw new TypeError(`Context relevance weight ${n} must be a finite non-negative number`);return t}function Zo(e,t={}){$c(e);let n=Oc(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[l,c]of Object.entries(a.signals??{}))c!==void 0&&o.add(l);let i=sn.filter(a=>o.has(a)),s=e.map((a,l)=>{let c={structural:e.length===1?1:1-l/r,...a.signals},d={},u=0,f=0;for(let h of i){let _=c[h];if(_===void 0)continue;let y=_*n[h];d[h]=y,u+=y,f+=n[h]}return{...a,baseline_rank:l+1,rank:0,score:f===0?0:u/f,contributions:d}});return s.sort((a,l)=>l.score-a.score||a.baseline_rank-l.baseline_rank),s.forEach((a,l)=>{a.rank=l+1}),{model:"default-weighted-v1",available_signals:i,ranked:s}}async function Lc(e,t={}){let n=Zo(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),o=new Map;for(let s of r){if(o.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");o.set(s.id,s.score)}if(o.size!==e.length||e.some(s=>!o.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let i=n.ranked.map(s=>{let a=o.get(s.id);return{...s,score:a,contributions:{custom:a}}});return i.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),i.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:i}}async function mt(e,t,n={}){let r=Zo(t,n),o=await sr(Fc,{surface:e,candidates:t,default_report:r});if(!o.handled)return o.warnings.length>0?{...r,warnings:o.warnings}:r;if(!Array.isArray(o.result)||!o.result.every(i=>typeof i=="object"&&i!==null&&typeof i.id=="string"&&typeof i.score=="number"&&Number.isFinite(i.score)))return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]};try{let i=await Lc(t,{...n,scorer:()=>o.result});return o.warnings.length>0?{...i,warnings:o.warnings}:i}catch{return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]}}}var Nc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Jo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Pc(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,d)=>d-c).slice(0,n.length||1),o=c=>c.reduce((d,u,f)=>d+(2**u-1)/Math.log2(f+2),0),i=o(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),l=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:Jo(e.required_ids??[],a),continuity_coverage:Jo(e.continuity_ids??[],a),token_budget_adherence:l?1:e.token_budget/e.actual_tokens,within_token_budget:l}}function jc(e){return Math.ceil(Dc.encode(JSON.stringify(e)).byteLength/4)}function Uc(e){return Math.round(e*1e4)/1e4}function Hc(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(i=>i.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(i=>i.id),r=new Set(n),o=(e.ranking?.items??[]).filter(i=>r.has(i.id)).map(i=>({id:i.id,contributions:i.contributions}));return{rankedIds:n,attribution:o}}async function Gc(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:"unbounded"}),{rankedIds:r,attribution:o}=Hc(n,e.surface),i={...n,ranking:void 0},s=jc(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Pc({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:o}}function Wc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Nc;for(let i of n)if(!Number.isFinite(t[i]))throw new TypeError(`Context evaluation threshold ${i} must be a finite number`);let r=Object.fromEntries(n.map(i=>[i,Uc(e.reduce((s,a)=>s+a.metrics[i],0)/e.length)])),o=n.filter(i=>r[i]<t[i]).map(i=>`${i}:${r[i]}<${t[i]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:o.length===0,failures:o}}async function Xm(e,t,n){let r=[];for(let o of e)r.push(await Gc(o,t));return Wc(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a533ce49-ef4f-50a0-9785-acd716999b29")}catch{}})();var Bc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},qc=["identity","summary","full"];function zc(e){if(!e.id.trim()||!Number.isInteger(e.rank)||e.rank<1)throw new TypeError("Context packing candidates require a non-empty id and positive integer rank");if(!Number.isFinite(e.score)||e.score<0)throw new TypeError("Context packing candidate scores must be finite and non-negative");let t=qc.map(n=>e.token_costs[n]);if(t.some(n=>!Number.isInteger(n)||n<1)||t[0]>t[1]||t[1]>t[2])throw new TypeError("Context projection costs must be positive monotone integers");if(e.uncertainty!==void 0&&(!Number.isFinite(e.uncertainty)||e.uncertainty<0))throw new TypeError("Context packing uncertainty must be finite and non-negative")}function Kc(e){if(!Number.isInteger(e.tokenBudget)||e.tokenBudget<1)throw new TypeError("Context packing tokenBudget must be a positive integer");let t=e.profile??"balanced",n=Bc[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,o=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(o)||o<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:o,profile:t}}function Vc(e){let t=new Set;for(let n of e){if(zc(n),t.has(n.id))throw new TypeError("Context packing candidates require unique ids");t.add(n.id)}return[...e].sort((n,r)=>n.rank-r.rank||n.id.localeCompare(r.id))}function Yc(e,t,n,r,o){let i=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&o()>=r)return{index:i,evaluated:s,timedOut:!0};let l=e[a];if(l.token_costs.identity>t)continue;s+=1;let c=i<0?void 0:e[i],d=n(l)/l.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(d>u||d===u&&c!==void 0&&(l.rank<c.rank||l.rank===c.rank&&l.id.localeCompare(c.id)<0))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function Xc(e){let t=new Set,n=[],r=e.tokenBudget,o=c=>{let d=c.lineage??c.cluster,u=d&&t.has(d)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},i=c=>{let d=c.token_costs.identity;n.push({...c,projection:"identity",tokens:d,marginal_value:o(c)}),r-=d;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(d=>d.required))c.token_costs.identity<=r&&i(c);let s=e.ordered.filter(c=>!c.required),a=!0,l=0;for(;s.length>0;){let c=Yc(s,r,o,e.deadline,e.readClock);if(l+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;i(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:l}}function Qc(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let l=s.token_costs[r]-s.token_costs[o],c=a.token_costs[r]-a.token_costs[o];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(l,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of i){if(s.projection!==o)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function ei(e,t){let n=Kc(t),r=Vc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Xc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,l=Qc(a,s.remaining);a.sort((d,u)=>d.rank-u.rank||d.id.localeCompare(u.id));let c=new Set(a.map(d=>d.id));return{included:a,omitted_ids:r.filter(d=>!c.has(d.id)).map(d=>d.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-l,remaining_tokens:l,complete:s.selectionComplete&&a.length===e.length&&a.every(d=>d.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import xe from"node:fs/promises";import Te from"node:path";import{createHash as ti,randomUUID as Jc}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190679b7-4723-5c76-be57-2ec88b92b109")}catch{}})();var an=3,cn=2,ni=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Zc=new Set(["substantive_history","release_cohort","created_at"]),el={context_signal_store_invalid:{code:"context_signal_store_invalid",meaning:"The persisted context-signal snapshot was unreadable or invalid and was rebuilt from authoritative items.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot can be loaded without the warning."},context_signal_store_stale:{code:"context_signal_store_stale",meaning:"The persisted context-signal snapshot did not match the authoritative cursor or item corpus and was rebuilt.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot is now fresh."},context_signal_store_write_failed:{code:"context_signal_store_write_failed",meaning:"Context signals were rebuilt in memory, but the derived snapshot could not be persisted.",recovery_command:"pm context",recovery_effect:"Retry the derived snapshot write and confirm the warning clears after storage access is restored."}};function pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ri(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function tl(e){let t={};for(let n of ni){let r=e[n];if(r!==void 0){if(!ri(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function nl(e,t){let n=e.map(o=>[o.id,t(o)]),r=Math.max(0,...n.map(([,o])=>o));return Object.fromEntries(n.map(([o,i])=>[o,r===0?0:i/r]))}function rl(e){let t=new Map(e.map(o=>[o.id,0])),n=o=>{t.set(o,(t.get(o)??0)+1)};for(let o of e){typeof o.parent=="string"&&o.parent.trim()&&(n(o.id),n(o.parent.trim()));for(let i of o.dependencies??[])typeof i.id!="string"||!i.id.trim()||(n(o.id),n(i.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(o=>[o.id,r===0?0:t.get(o.id)/r]))}function oi(e,t){return{...t,activityDensity:t.activityDensity??nl(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??rl(e)}}function un(e){let t=ti("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((o,i)=>o.id.localeCompare(i.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function ol(e){if(!pe(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",pe(e.signals),pe(t)].every(Boolean))return null;let n=t.recency;if(!pe(n))return null;let r=Ce(n.coordinate);if(r===null)return null;let o=new Set(ni),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&ri(a))||![typeof n.source=="string"&&Zc.has(n.source),["undefined","string"].includes(typeof n.history_op),[void 0,"substantive","maintenance"].includes(n.event_class),n.source==="substantive_history"?n.event_class===void 0||n.event_class==="substantive":n.history_op===void 0&&n.event_class===void 0].every(Boolean)?null:{id:e.id,signals:Object.fromEntries(i),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function il(e,t){let n=Array.from(e,ol);if(n.some(o=>o===null))return null;let r=n;return new Set(r.map(o=>o.id)).size!==r.length||r.some(o=>o.id.trim().length===0)||t!==un(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function sl(e){if(!pe(e)||e.format_version!==an||e.signal_set_version!==cn||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||typeof e.recency_evidence_fingerprint!="string"||!/^sha256:[a-f0-9]{64}$/u.test(e.recency_evidence_fingerprint)||typeof e.generated_at!="string"||!Number.isFinite(Date.parse(e.generated_at))||e.source!=="derived_index"&&e.source!=="scan_fallback"||!Array.isArray(e.items))return null;let t=il(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:an,signal_set_version:cn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function ii(e){if(typeof e.sourceCursor!="string"||e.sourceCursor.trim().length===0)throw new TypeError("Context signal source cursor must be non-empty");if(!Number.isFinite(Date.parse(e.now)))throw new TypeError("Context signal snapshot clock must be a valid timestamp");if(e.source!=="derived_index"&&e.source!=="scan_fallback")throw new TypeError("Context signal snapshot source must be derived_index or scan_fallback")}function si(e,t,n=un(e)){let r=e.map(({id:i})=>i);if(new Set(r).size!==r.length||r.some(i=>i.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let o=e.map(({id:i,signals:s,signal_provenance:a})=>({id:i,signals:tl(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:an,signal_set_version:cn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(o.map(i=>Object.freeze(i)))})}function ap(e,t){return ii(t),si(ft(e,oi(e,t)),t)}var ln=class{filePath;constructor(t){if(typeof t!="string"||t.trim().length===0)throw new TypeError("Context signal store path must be non-empty");this.filePath=Te.resolve(t)}async read(){try{return JSON.parse(await xe.readFile(this.filePath,"utf8"))}catch(t){if(pe(t)&&He(t))return null;throw t}}async write(t){let n=Te.dirname(this.filePath);await xe.mkdir(n,{recursive:!0});let r=Te.join(n,`.${Te.basename(this.filePath)}.${Jc()}.tmp`);try{await xe.writeFile(r,`${JSON.stringify(t)}
5
- `,{encoding:"utf8",flag:"wx"}),await xe.rename(r,this.filePath)}finally{try{await xe.rm(r,{force:!0})}catch{}}}},dn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){ii(n);let r=[],o=null;try{let f=await this.adapter.read();o=sl(f),f!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(f=>f.id).sort((f,h)=>f.localeCompare(h)),s=o?.items.map(f=>f.id)??[],a=ft(t,oi(t,n)),l=un(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===l&&o.source===n.source&&s.length===i.length&&s.every((f,h)=>f===i[h]),d;if(c&&o!==null)d=o;else{o!==null&&r.push("context_signal_store_stale"),d=si(a,n,l);try{await this.adapter.write(d)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(d.items.map(f=>[f.id,f]));return{snapshot:d,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>el[f])}}};function al(e){let t=ti("sha256");for(let n of[...e].sort((r,o)=>r.id.localeCompare(o.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function pt(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let o=n?null:await Qe(t.pmRoot),i=t.sourceCursor??o?.source_cursor??al(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new dn(new ln(Te.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),l=t.recencyEvidence??Object.fromEntries(Object.entries(await kr(t.pmRoot,e.map(c=>c.id))).map(([c,d])=>[c,{source:"substantive_history",coordinate:d.entry.ts,history_op:d.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:l,sourceCursor:i,source:s})}import cl from"node:path";import{createHash as ll}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ee5f5c8d-37f9-577d-87a7-bb43be7c1186")}catch{}})();function ai(e){return e.completed_at!==void 0?{resolved:!0,timestamp:e.completed_at,source:"completed_at",fallback:!1}:e.closed_at!==void 0?{resolved:!0,timestamp:e.closed_at,source:"closed_at",fallback:!0}:e.updated_at!==void 0?{resolved:!0,timestamp:e.updated_at,source:"updated_at",fallback:!0}:{resolved:!1}}import dl from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="51bac04a-5a6e-53b3-806f-fa0bf6f8e7b4")}catch{}})();var ci=1,ul=1e4,li=12;function fl(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function ml(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let o=t.get(r);if(!o)return;if(o.type.toLowerCase()==="epic")return o;r=o.parent}}function pl(e){let t=[...e.items].sort((o,i)=>i.completion.timestamp.localeCompare(o.completion.timestamp)||o.item.id.localeCompare(i.item.id)),n=new Set,r=0;for(let{item:o}of t){let i=o.resolution??o.close_reason;i?.trim()&&n.add(i.trim()),r+=(o.notes?.length??0)+(o.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:o,title:i}})=>({id:o,title:i})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function hl(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(i=>t.statusRegistry.terminal_done_statuses.has(R(i.status,t.statusRegistry))).map(i=>{let s=ai(i);if(!s.resolved)throw new TypeError(`Completed item ${i.id} has no reporting timestamp`);return{item:i,completion:s}}),r=new Map(e.map(i=>[i.id,i])),o=new Map;for(let i of n){let{item:s,completion:a}=i,l=fl(a.timestamp),c=`epoch:${l}`,d=o.get(c)??{kind:"epoch",key:l,label:l,items:[]};d.items.push(i),o.set(c,d);let u=ml(s,r);if(u){let f=`epic:${u.id}`,h=o.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(i),o.set(f,h)}}return{format_version:ci,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((i,{completion:s})=>(i[s.source]+=1,i),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...o.values()].map(pl).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function gl(e){return typeof e=="object"&&e!==null&&"id"in e&&typeof e.id=="string"&&e.id.length>0&&"title"in e&&typeof e.title=="string"}function _l(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(o=>typeof o=="string"&&o.length>0),r=[t.first_closed_at,t.last_closed_at].every(o=>typeof o=="string"&&Number.isFinite(Date.parse(o)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(gl)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function yl(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==ci||typeof t.source_cursor!="string"||!t.source_cursor.trim()||!Number.isSafeInteger(t.source_item_count)||t.source_item_count<0||typeof t.generated_at!="string"||!Number.isFinite(Date.parse(t.generated_at))||!Array.isArray(t.rollups)?null:t.rollups.every(_l)?t:null}function vl(e){return`scan:${ll("sha256").update(nr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function wl(e,t,n){return n!==void 0?n:(await Qe(t))?.source_cursor??vl(e)}async function bl(e){try{let t=yl(JSON.parse(await dl.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&He(t))}}}async function ht(e,t){let n=Math.max(1,Math.floor(t.minimumItems??ul));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await wl(e,t.pmRoot,t.sourceCursor),o=cl.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await bl(o),a=s.snapshot;if(s.invalid&&i.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:i};a&&i.push("workspace_memory_stale");let l=hl(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Jn(o,`${JSON.stringify(l)}
6
- `)}catch{i.push("workspace_memory_write_failed")}return{snapshot:l,cache_status:"rebuilt",warnings:i}}function kl(e,t,n=li){let r=Math.max(0,Math.floor(t)),o=0,i=[];for(let s of e.rollups){if(i.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);o+a>r||(i.push(s),o+=a)}return i}function di(e,t,n=li){if(e.snapshot===null)return;let r=kl(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",source_cursor:e.snapshot.source_cursor,...e.snapshot.completion_time_sources?{completion_time_sources:{...e.snapshot.completion_time_sources}}:{},rollups:r}}function Sl(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(o=>({rollup:o,score:r.filter(i=>[o.key,o.label,...o.outcomes,...o.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(i)).length})).filter(({score:o})=>o>0).sort((o,i)=>i.score-o.score||i.rollup.last_closed_at.localeCompare(o.rollup.last_closed_at)||o.rollup.key.localeCompare(i.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:o})=>o)}function ui(e,t,n=5){let r=Sl(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",matches:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="05df81b3-2fbd-5d83-88e3-be300091dd09")}catch{}})();var fi=16;async function mi(e,t,n){let r=F(t,x()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<fi;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let l=await le(e,s,t.id_prefix,t.item_format,r);if(!l)break;let c=await de(l,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function Sp(e){await gr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await mi(e.pmRoot,e.settings,e.itemId)})}async function Ep(e){await _r(e)}async function Cp(e){await yr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await mi(e.pmRoot,e.settings,e.itemId)}:{}})}var xp={lineage_depth:fi,active_items:64,evidence_rows:32};function pi(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ec0faae4-1fdb-5c7c-bcf1-eb338d73958a")}catch{}})();var El=["markdown","toon","json","ndjson"],gt=new Set(["Epic","Feature"]),vi=10,wi=1e4,bi=["hierarchy","activity","progress","recently_created","unparented","workload"],Cl=[...bi,"blockers","files","staleness","tests"],xl=/^(\d{4})-(\d{2})-(\d{2})/,Tl=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Il=/^(\d{4})(\d{2})(\d{2})$/,Al=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Rl(e){if(!e)return;let t=e.trim().toLowerCase();if(!El.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var hi=new Set(["id","title","type","status","priority","order","deadline","assignee","tags","tags_inherited","updated_at","parent","children_total","children_closed","completion_pct","blocked","blocker_ids","created_at"]);function Fl(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!hi.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...hi].join(", ")})`,m.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",m.USAGE);return t}function Ie(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function Kp(e,t){let n=Rl(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Ml(e,t){return B(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:vi)}function pn(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new p("--token-budget must be a positive integer",m.USAGE);return n}function Dl(e,t){return t>=wi&&e===Number.MAX_SAFE_INTEGER?vi:e}function $l(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Rt.includes(n))throw new p(`Context --depth must be one of ${Rt.join("|")}`,m.USAGE);return n}function Ol(e,t,n){if(e&&e.length>0){let o=[];for(let i of e){let s=i.trim().toLowerCase();if(!Ue.includes(s))throw new p(`Context --section must be one of ${Ue.join("|")}`,m.USAGE);o.includes(s)||o.push(s)}return o}return t==="brief"?[]:t==="full"?[...Ue]:(t==="deep"?Cl:bi).filter(o=>n.sections[o])}function Ll(e,t){return e?B(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Nl(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new p("--stale-threshold must be a number of days (e.g. 7 or 7d)",m.USAGE);let o=parseInt(r[1],10);if(o<=0)throw new p("--stale-threshold must be positive",m.USAGE);return o}function gi(e,t){let n=R(e,t),r=N("blocked",t),o=N("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:o&&n===o?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function Ae(e,t){let n=N("closed",t);return R(e,t)===n}function hn(e,t){return R(e,t)===t.in_progress_status}function ki(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Pl(e,t){return t.blocked_statuses.has(R(e,t))}var jl=["compact","brief","fields","includeBody","include_body","parent"];function Ul(e){let t={...e};for(let n of jl)delete t[n];return t}function gn(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=he(e),i=Re(r.id,o);return{ids:new Set([r.id,...i.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function Hl(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",m.USAGE);return t}function Gl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Wl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:E(n,r)}function Bl(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function ql(e){let t=xl.exec(e)??Tl.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),o=Number.parseInt(t[3],10);return r>=1&&r<=12&&o>=1&&o<=Bl(n,r-1)}function zl(e){let t=Il.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Al.exec(e);if(n){let[,r,o,i,s,a,l,c]=n,d=l?`:${l}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${o}-${i}T${s}:${a}${d}${u}`}return e}function Si(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!ql(t))return Number.NaN;let n=Date.parse(zl(t));return Number.isFinite(n)?n:Number.NaN}function mn(e){let t=Si(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Kl(e){let t=Si(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function _n(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Z(e,t,n){let r=gi(e.status,n)-gi(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=Gl(e.order,t.order);if(i!==0)return i;let s=Wl(e.deadline,t.deadline);if(s!==0)return s;let a=E(mn(t.updated_at),mn(e.updated_at)),l=e.id.localeCompare(t.id);return a!==0?a:l}function fn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function yn(e,t,n=new Set,r="context"){return ei(e.ranked.map(o=>({id:o.id,item:o.item,rank:o.rank,score:o.score,required:n.has(o.id),cluster:o.item.parent?.trim()||o.item.type,token_costs:{identity:fn({id:o.id,title:o.item.title}),summary:fn({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:fn(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function vn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function wn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(o=>n.has(o.id));return{model:e.model,available_signals:e.available_signals,items:r.map(o=>({id:o.id,rank:o.rank,baseline_rank:o.baseline_rank,score:o.score,contributions:o.contributions,...o.signal_provenance===void 0?{}:{recency:o.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Ei(e,t){return t>0?Math.round(e/t*100):0}function he(e){let t=new Map;for(let n of e){let r=_n(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function Fe(e,t,n){let r={id:e.id,title:e.title,type:e.type,status:e.status,priority:e.priority,order:e.order??null,deadline:e.deadline??null,assignee:e.assignee??null,tags:Array.isArray(e.tags)?[...e.tags]:[],updated_at:e.updated_at,parent:_n(e.parent)};if(t&&n){let o=Re(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>Ae(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Ei(s,i)}}return r}function Vl(e){let t=0,n=0,r=0,o=new Set;for(let i of e){if(o.add(i.item_id),i.kind==="deadline"){t+=1;continue}if(i.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:o.size,deadlines:t,reminders:n,scheduled:r}}function _t(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Yl(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function Xl(e,t,n,r){let o=new Map;for(let l of e)o.set(l.id,l);let i=he(e),s=new Set(t.filter(l=>gt.has(l.type)).map(l=>l.id)),a=[];for(let l of s){let c=o.get(l);if(!c)continue;let d=Re(l,i),u=i.get(l)??[],f=0,h=0,_=0,y=0;for(let v of d)Ae(v.status,n)?f++:hn(v.status,n)?_++:Pl(v.status,n)?y++:ki(v.status,n)&&h++;let g=u.sort((v,k)=>Z(v,k,n)).slice(0,r).map(v=>{let k=Re(v.id,i),w=k.filter(S=>Ae(S.status,n)).length;return{id:v.id,title:v.title,type:v.type,status:v.status,children_total:k.length,children_closed:w}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:d.length,children_closed:f,children_open:h,children_in_progress:_,children_blocked:y,children:g})}return a.sort((l,c)=>{let d=o.get(l.id),u=o.get(c.id);return Z(d,u,n)}).slice(0,r)}function Re(e,t){let n=[],r=[e],o=new Set;for(;r.length>0;){let i=r.pop();if(o.has(i))continue;o.add(i);let s=t.get(i)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Ql(e,t){return(await xo({compact:!0,limit:String(e)},t)).compact_activity??[]}function Jl(e,t,n,r,o){let i=new Map;for(let l of e){if(!l.parent)continue;let c=i.get(l.parent)??[];c.push(l),i.set(l.parent,c)}let s=t.filter(l=>gt.has(l.type)),a=[];for(let l of s){let c=Re(l.id,i),d=c.length;if(d===0)continue;let u=0,f=0,h=0,_=0;for(let y of c)Ae(y.status,r)?u++:n.has(y.id.trim().toLowerCase())?_++:hn(y.status,r)?h++:ki(y.status,r)&&f++;a.push({id:l.id,title:l.title,type:l.type,total:d,closed:u,open:f,in_progress:h,blocked:_,completion_pct:Ei(u,d)})}return a.sort((l,c)=>l.completion_pct-c.completion_pct).slice(0,o)}function Zl(e,t,n,r){let o=new Map(t.map(i=>[i.id.trim().toLowerCase(),i]));return e.slice(0,r).map(i=>{let s=Wt(i,o,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,l=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:l?.title??null,blocked_by_status:l?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function ed(e,t){let n=new Map;for(let r of e)for(let o of r.files??[]){let i=n.get(o.path)??new Set;i.add(r.id),n.set(o.path,i)}return[...n.entries()].map(([r,o])=>({path:r,references:o.size,items:[...o].sort()})).sort((r,o)=>o.references-r.references).slice(0,t)}function td(e,t,n){let r=new Map;for(let o of e){let i=o.assignee??null,s=r.get(i)??[];s.push(o),r.set(i,s)}return[...r.entries()].map(([o,i])=>({assignee:o,active:i.length,in_progress:i.filter(s=>hn(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function nd(e,t,n,r){let o=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(i=>new Date(i.updated_at).getTime()<o).map(i=>({id:i.id,title:i.title,status:i.status,updated_at:i.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(i.updated_at).getTime())/(1440*60*1e3))})).sort((i,s)=>s.stale_days-i.stale_days).slice(0,r)}function rd(e,t,n,r){return e.map(o=>({item:o,sortKey:mn(o.created_at)})).sort((o,i)=>{let s=E(i.sortKey,o.sortKey);return s!==0?s:o.item.id.localeCompare(i.item.id)}).slice(0,r).map(({item:o})=>({...Fe(o,t,n),created_at:o.created_at}))}function od(e,t,n,r){return e.filter(o=>!_n(o.parent)&&!gt.has(o.type)).sort((o,i)=>Z(o,i,t)).slice(0,r).map(o=>Fe(o,t,n))}function id(e){let t=0,n=0,r=0,o=0,i=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let l=a.test_runs??[];if(l.length>0){n++;let c=!1;for(let d of l)r+=d.passed??0,o+=d.failed??0,i+=d.skipped??0,(d.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:o,skipped:i},items_failing:s.sort()}}function _i(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Ci(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",o=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",i=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${o}${i} ${e.title}`}function sd(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function ad(e){if("reference_only"in e){let n=e.kind==="reminder"?` \u2014 ${e.reminder_text??"reminder"}`:e.kind==="event"?` \u2014 ${e.event_title??"event"}${e.event_recurring?" (recurring)":""}`:"";return`${_i(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${_i(e.at)} [${e.kind}] ${e.item_id} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder")return`${t} \u2014 ${e.reminder_text}`;if(e.kind==="event"){let n=e.event_recurring?" (recurring)":"",r=e.event_title??e.item_title;return`${t} \u2014 ${r}${n}`}return t}function yi(e,t,n,r,o){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let i of n)e.push(`- ${o(i)}`);e.push("")}function cd(e,t,n){if(t.blocked_fallback.length!==0){e.push("## Blocked fallback");for(let r of t.blocked_fallback)e.push(`- ${n(r)}`);e.push("")}}function ld(e,t){if(e.push("## Agenda"),e.push(`- events: ${t.agenda.summary.events} (deadlines: ${t.agenda.summary.deadlines}, reminders: ${t.agenda.summary.reminders}, scheduled: ${t.agenda.summary.scheduled})`),t.agenda.events.length===0)e.push("No agenda events matched the selected filters.");else for(let n of t.agenda.events)e.push(`- ${ad(n)}`);e.push("")}function dd(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let o of n.children){let i=o.children_total>0?Math.round(o.children_closed/o.children_total*100):0;e.push(` - ${o.id} ${o.type} ${o.status} "${o.title}" [${o.children_closed}/${o.children_total} done ${i}%]`)}}e.push("")}}function ud(e,t){if(!(!t.progress||t.progress.length===0)){e.push("## Progress");for(let n of t.progress)e.push(`- ${n.id} "${n.title}" ${n.completion_pct}% (${n.closed}/${n.total} closed, ${n.in_progress} wip, ${n.open} open, ${n.blocked} blocked)`);e.push("")}}function fd(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let o of t.recently_created)e.push(n?`- ${r(o)}`:`- ${Kl(o.created_at)} ${Ci(o)}`);e.push("")}}function md(e,t,n){if(!(!t.unparented||t.unparented.length===0)){e.push("## Unparented");for(let r of t.unparented)e.push(`- ${n(r)}`);e.push("")}}function pd(e,t){if(!(!t.activity||t.activity.length===0)){e.push("## Recent activity");for(let n of t.activity){let r=n.msg?` ${n.msg}`:"";e.push(`- ${n.ts.slice(0,16)}Z ${n.id} ${n.op} by:${n.author}${r}`)}e.push("")}}function hd(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",o=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",i=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${o}${i}`)}e.push("")}}function gd(e,t){if(!(!t.files||t.files.length===0)){e.push("## Hot files");for(let n of t.files)e.push(`- ${n.path} refs:${n.references} items:[${n.items.join(",")}]`);e.push("")}}function _d(e,t){if(!(!t.workload||t.workload.length===0)){e.push("## Workload");for(let n of t.workload){let r=n.assignee??"(unassigned)";e.push(`- ${r} active:${n.active} wip:${n.in_progress} items:[${n.items.join(",")}]`)}e.push("")}}function yd(e,t){if(!(!t.staleness||t.staleness.length===0)){e.push("## Stale items");for(let n of t.staleness)e.push(`- ${n.id} ${n.status} stale:${n.stale_days}d last:${n.updated_at.slice(0,10)} "${n.title}"`);e.push("")}}function vd(e,t){t.tests&&(e.push("## Test health"),e.push(`- items_with_tests: ${t.tests.items_with_tests}`),e.push(`- items_with_recent_runs: ${t.tests.items_with_recent_runs}`),e.push(`- passed: ${t.tests.recent_runs.passed}, failed: ${t.tests.recent_runs.failed}, skipped: ${t.tests.recent_runs.skipped}`),t.tests.items_failing.length>0&&e.push(`- items_failing: [${t.tests.items_failing.join(",")}]`),e.push(""))}function wd(e,t){t.summary.active_items===0&&t.summary.blocked===0&&t.agenda.summary.events===0&&(e.push("## Suggestions"),e.push("No active work items or upcoming events. Consider:"),e.push('- `pm create --type Task --title "..."` to add a new work item'),e.push("- `pm list --status closed --limit 5` to review recent completions"),e.push("- `pm search <keywords>` to find related past work"),e.push("- `pm aggregate` for a full project status overview"))}function Vp(e){let t=[],n=e.focus_fields,r=i=>n?sd(i,n):Ci(i);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let i=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${i.length>0?` (${i.join(", ")})`:""}`)}let o=e.sections_included.filter(i=>i!=="blockers"||(e.blockers?.length??0)>0);if(o.length>0&&t.push(`- sections: ${o.join(", ")}`),t.push(""),yi(t,"High-level focus",e.high_level,"No high-level active items.",r),yi(t,"Low-level focus",e.low_level,"No low-level active items.",r),cd(t,e,r),ld(t,e),e.workspace_memory){t.push("## Workspace memory");for(let i of e.workspace_memory.rollups)t.push(`- ${i.kind}:${i.key} \u2014 ${i.label} (${i.item_count} completed, latest ${i.last_closed_at})`);t.push("")}return dd(t,e),ud(t,e),fd(t,e,n,r),md(t,e,r),pd(t,e),hd(t,e),gd(t,e),_d(t,e),yd(t,e),vd(t,e),wd(t,e),t.join(`
7
- `)}async function bd(e,t){let n=C(process.cwd(),t.path),r=await M(n),o=r.context??Vn.context,i=P(r.schema),s=$l(e.depth,o),a=Ml(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:Ol(e.section,s,o),activityLimit:Ll(e.activityLimit,o),staleThresholdDays:Nl(e.staleThreshold,o),parentScope:Hl(e.parent),focusFields:Fl(e.fields),baseListOptions:Ul(e)}}function kd(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Sd(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Ed(e,t){let n=await q(void 0,Sd(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!X(a.status,t.statusRegistry)),i=r,s=Cd(t.parentScope,r);return s&&(o=o.filter(a=>s.has(a.id.trim().toLowerCase())),i=i.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:i,fullCorpus:r,subtreeIds:s}}function Cd(e,t){if(e===void 0)return;let n=gn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}function xd(e,t,n,r){let o=new Set(nt(e,t,n,r).containers.map(i=>i.item.id));return new Set(e.filter(i=>gt.has(i.type)||o.has(i.id)||ke(i.type,r)!=="agent").map(i=>i.id))}async function Td(e,t,n,r,o,i,s,a,l,c,d,u,f,h,_,y){let g=[...e].sort((b,se)=>Z(b,se,o)),v=await Ye({pmRoot:f,author:l,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),k=await pt(g,{pmRoot:f,storeKey:"context",statusRegistry:o,now:a,author:l,usageAffinity:v.affinity,claimFocus:_}),w=await mt("context",k.candidates),S=w.ranked.map(b=>b.item),Q=o.active_statuses,A=S.filter(b=>Q.has(R(b.status,o))),D=u?lr(A,c,d,b=>b.id):0,I=u?A.slice(D,D+s):A,Pe=u&&I.length>0&&D+I.length<A.length,je=Pe&&I.length>0?cr(d,I[I.length-1].id,D+I.length-1):void 0,Tt=S.filter(b=>r.has(b.id.trim().toLowerCase())),te=new Set([...I.map(b=>b.id),...Tt.slice(0,s).map(b=>b.id)]),ne=yn({...w,ranked:w.ranked.filter(b=>te.has(b.id))},h,new Set(Object.entries(_??{}).filter(([,b])=>b>=1).map(([b])=>b))),re=ne.included.map(b=>b.item),U=re.filter(b=>Q.has(R(b.status,o))),oe=re.filter(b=>r.has(b.id.trim().toLowerCase())),_e=he(t),ie=kd(i)?_e:void 0,It=new Map(n.map(b=>[b.id.trim().toLowerCase(),b])),$=b=>{let se=Fe(b,o,ie);return r.has(b.id.trim().toLowerCase())&&(se.blocked=!0,se.blocker_ids=Wt(b,It,o).filter(At=>!At.resolved).map(At=>At.id)),se},L=xd(U,n,o,y),Ls=U.filter(b=>L.has(b.id)).slice(0,u?I.length:s).map($),Ns=U.filter(b=>!L.has(b.id)).slice(0,u?I.length:s).map($),qn=A.length===0;return{activeItems:U,blockedItems:oe,highLevel:Ls,lowLevel:Ns,blockedFallback:qn?oe.slice(0,s).map($):[],blockedFallbackUsed:qn,ranking:w,packing:ne,featureStore:k,pageExtras:{...u?{applied_limit:s}:{},...Pe?{has_more:!0,truncated:!0}:{},...je?{next_cursor:je}:{}}}}function Id(e){return qe("context",Be(e,or))}function Ad(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=wi}async function Rd(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await Yo(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Yl(s,t.statusRegistry).slice(0,t.limit),l=a.map(c=>r.has(c.item_id)?{at:c.at,date:c.date,kind:c.kind,item_id:c.item_id,reference_only:!0,...c.kind==="reminder"?{reminder_text:c.reminder_text}:{},...c.kind==="event"?{event_title:c.event_title,event_recurring:c.event_recurring}:{}}:c);return{agenda:i,agendaEvents:l,agendaSummary:Vl(a)}}function xi(e,t,n){let r=String(t);return e.filter(o=>R(o.status,n)===r).length}async function Fd(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,l=he(n),c=n.filter(u=>!X(u.status,t.statusRegistry)),d=u=>t.sectionsIncluded.includes(u);return{hierarchy:d("hierarchy")?Xl(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:d("activity")?await Ql(t.activityLimit,a):void 0,progress:d("progress")?Jl(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:d("blockers")?Zl(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:d("recently_created")?rd(c,t.statusRegistry,l,t.limit):void 0,unparented:d("unparented")?od(c,t.statusRegistry,l,t.limit):void 0,filesSection:d("files")?ed(i.activeItems,t.limit):void 0,workload:d("workload")?td(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:d("staleness")?nd(c,t.staleThresholdDays,s,t.limit):void 0,tests:d("tests")?id(i.activeItems):void 0}}function Md(e,t,n){let r=N("canceled",t),o=e.filter(s=>t.active_statuses.has(R(s.status,t))),i=xi(o,t.in_progress_status,t);return{scope:"matching_items",active_items:o.length,open:o.length-i,in_progress:i,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>Ae(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function Dd(e,t,n){t.hierarchy&&(e.hierarchy=t.hierarchy),t.activity&&(e.activity=t.activity),t.progress&&(e.progress=t.progress),t.blockersSection&&(e.blockers=t.blockersSection),t.recentlyCreated&&(e.recently_created=t.recentlyCreated),t.unparented&&(e.unparented=t.unparented),t.filesSection&&(e.files=t.filesSection),t.workload&&(e.workload=t.workload),t.staleness&&(e.staleness=t.staleness),t.tests&&(e.tests=t.tests),n!==void 0&&n.length>0&&(e.warning_details=n)}function $d(e,t){t&&(e.focus_fields=t,e.high_level=Ie(e.high_level,t),e.low_level=Ie(e.low_level,t),e.blocked_fallback=Ie(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Ie(e.recently_created,t)),e.unparented&&(e.unparented=Ie(e.unparented,t)))}function Od(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let i of n)delete i.tags,delete i.tags_inherited;return}let r=new Map(n.map(i=>[i.id,i])),o=new Map(n.map(i=>[i.id,i.tags?[...i.tags].sort().join("\0"):void 0]));for(let i of n){if(!i.parent||!i.tags)continue;let s=r.get(i.parent);s&&o.get(i.id)===o.get(s.id)&&(delete i.tags,i.tags_inherited=s.id)}}function Ld(e,t,n){t.length>0||n.length>0||e.agenda.events.length>0||(e.suggestions=['pm create --type Task --title "..." to add a new work item',"pm list --status closed --limit 5 to review recent completions","pm search <keywords> to find related past work","pm aggregate for a full project status overview"])}async function Nd(e,t,n,r){try{let o=new Set(t.packing.included.map(l=>l.id)),i=t.ranking.ranked.map(l=>({id:l.id,rank:l.rank,included:o.has(l.id)})),s=new Set(i.map(l=>l.id));for(let l of Ke(e,"context"))s.has(l)||(i.push({id:l,rank:i.length+1,included:!1}),s.add(l));let a=await Ve({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ze(e,a)}catch{e.warnings=_t(e.warnings,["context_usage_feedback_write_failed"])}}async function Pd(e,t,n){if(e)return{};let o=(await rr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),i=o.filter(s=>s.status==="degraded").length;return o.length===0?{}:{extension_health:{total:o.length,ok:o.length-i,degraded:i,packages:o.slice(0,20),...o.length>20?{truncated:!0}:{}}}}async function jd(e,t){let n=vr(),r=await pr(e),o=n.instance||hr(t);return pi(r.semantic_attribution?.[o])}async function Yp(e,t){let n=C(process.cwd(),t.path),r=await bd(e,t),o=await Ed(t,r),i=Dl(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:pn(e.tokenBudget,Math.max(256,i*160))},a=J(void 0,s.settings.author_default),l=await jd(n,a),c=Pd(e.noExtensionHealth===!0,n,s.settings),d=so(o.fullCorpus,s.statusRegistry),u=await Td(o.listedItemMetadata,o.allItems,o.fullCorpus,d,s.statusRegistry,s.sectionsIncluded,s.limit,O(),a,e.after,Id(e),Ad(e,o.fullCorpus.length),n,s.tokenBudget,l,F(s.settings,x())),f=await Rd(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),h=await ht(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),_=_t(o.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),y=xi(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),g=u.activeItems.length-y,v=await Fd({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:d,focusGroups:u,now:f.agenda.now,global:t}),k=Md(o.allItems,s.statusRegistry,d),w={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:o.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:y,open:g,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...k},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return w.workspace_memory=di(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await c),Dd(w,v,u.featureStore.warning_details),Od(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=wn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),w.packing=vn(u.packing)),$d(w,s.focusFields),_.length>0&&(w.warnings=_),Ld(w,u.activeItems,u.blockedItems),await Nd(w,u,n,a),w}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="045ff474-f6d9-50c5-b554-ebc947a52443")}catch{}})();var Ud=["markdown","toon","json"],Hd=5,Gd=1440*60*1e3;function Wd(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ud.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function sh(e,t){let n=Wd(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"toon"}function Ti(e,t,n){let r=B(e,t);return r===void 0||r<=0?n:r}function Me(e,t,n,r){return{...Fe(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(o=>({id:o.id,title:o.title,status:o.status,...o.external?{external:!0}:{},...o.blocked_since?{blocked_since:o.blocked_since}:{},...o.external?{resolver:o.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function Bd(e,t,n,r){let o=e.item,i=[],s=N("in_progress",t);return i.push(R(o.status,t)===s?"in progress \u2014 resume to finish":"open and ready to start"),r&&i.push("completed container \u2014 governance closeout"),i.push(`priority p${o.priority}${o.priority===0?" (highest)":""}`),typeof o.deadline=="string"&&o.deadline.trim().length>0&&i.push(qd(o.deadline,n)),i.push(io(o).length>0?"all blockers resolved":"no blockers"),typeof o.parent=="string"&&o.parent.trim().length>0&&i.push(`advances ${o.parent.trim()}`),e.unblocks.length>0&&i.push(`unblocks ${e.unblocks.length} item(s)`),i}function Ii(e,t,n){let r=J(n,t),o=[],i=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?i.push({id:s.item.id,assignee:a}):o.push(s)}return{available:o,held:i}}var ah={partitionCallerOwnedReady:Ii,resolveNextCallerAuthor:(e,t)=>Ai(e,t)};function ch(e,t,n){let r=e.filter(o=>ke(o.item.type,n)==="human");return{agent:t?e:e.filter(o=>ke(o.item.type,n)!=="human"),decisions:t?[]:r}}function qd(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),o=new Date(Date.parse(t)).toISOString().slice(0,10),i=Math.round((Date.parse(r)-Date.parse(o))/Gd);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function zd(e,t){let n=N("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function bn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Kd(e,t){return{type:e.type,tag:e.tag,priority:typeof e.priority=="number"?String(e.priority):e.priority,assignee:e.assignee,assigneeFilter:e.assigneeFilter,sprint:e.sprint,release:e.release,noTruncate:!0,...t}}function yt(e,t,n){return[...e].sort((r,o)=>{let i=bn(r.item,t),s=bn(o.item,t);return i!==s?Number(i)-Number(s):Z(r.item,o.item,n)})}function Vd(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Bd(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Yd(e,t,n){if(e!==null)return;let r=n>0?["No executable recommendation: outcome gates require verification. Inspect gate_needed, or use pm next --include-gates to opt in."]:[];if(t.length>0){let o=t.find(i=>i.blockers.length>0);return[...r,o?`${t.length} item(s) are blocked; unblock the top one by closing ${o.blockers.map(i=>i.id).join(", ")}`:`${t.length} item(s) are blocked; add blocker context or move the top item back to an active status`,"pm next --ready-only after a blocker closes to re-check ready work",'pm create --type Task --title "..." to add new ready work']}return[...r,'pm create --type Task --title "..." to add a new work item',"pm list --status in_progress to review work already underway","pm context --depth deep for the full project snapshot"]}function Xd(e,t,n){let r={};return e>n&&(r.decision_needed_total=e),t>n&&(r.held_by_others_total=t),Object.keys(r).length>0?r:void 0}async function Qd(e){try{let t=new Set(e.packing.included.map(i=>i.id)),n=e.ranking.ranked.map(i=>({id:i.id,rank:i.rank,included:t.has(i.id)})),r=new Set(n.map(i=>i.id));for(let i of Ke(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await Ve({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:e.packing.profile,rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ze(e.result,o)}catch{e.result.warnings=_t(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Jd(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.explainRanking&&(e.result.ranking=wn(e.readyRanking,e.featureStore),e.result.packing=vn(e.packing)),e.result.suggestions=Yd(e.recommended,e.blockedRows,e.gateCount),await Qd({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Zd(e,t,n){if(!n)return e;let r=gn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,m.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function eu(e,t,n,r,o,i,s,a){let l=e.filter(g=>!bn(g.item,t)),c=a||l.length===0?e:l,d=await Ye({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await pt(c.map(g=>g.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:d.affinity}),f=await mt("next",u.candidates),h=yn(f,s,new Set,"next"),_=new Map(c.map(g=>[g.item.id,g]));return{projectedReady:f.ranked.map(g=>_.get(g.id)).filter(g=>g!==void 0),ranking:f,completedContainer:l.length===0&&!a,packing:h,featureStore:u}}function Ai(e,t){let n=e.assignee?.trim();return J(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function lh(e,t){let n=C(process.cwd(),t.path),r=await M(n),o=Ai(e,r.author_default),i=P(r.schema),s=F(r,x()),a=O(),l=Ti(e.limit,"--limit",Hd),c=pn(e.tokenBudget,Math.max(192,l*128)),d=Ti(e.blockedLimit,"--blocked-limit",l),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",h=await q(void 0,Kd(e,{excludeTerminal:!0}),t),_=await q(void 0,{excludeTerminal:!1,noTruncate:!0},t),y=Zd(h.items,_.items,f),g=_.items,v=nt(y,g,i,s),k=he(g),w=ao(v,i,e,s),S=Ii(w.ready,r.author_default,o),Q=yt(S.available,k,i),A=[...v.blocked].sort(($,L)=>Z($.item,L.item,i)),{projectedReady:D,ranking:I,completedContainer:Pe,packing:je,featureStore:Tt}=await eu(Q,k,i,a,o,n,c,e.includeContainers===!0),te=D.map(($,L)=>Me($,i,k,L+1)),ne=A.map(($,L)=>Me($,i,k,L+1)),re=yt(w.decisions,k,i).map(($,L)=>Me($,i,k,L+1)),U=yt(w.gates,k,i).map(($,L)=>Me($,i,k,L+1)),oe=yt(v.containers,k,i).map(($,L)=>Me($,i,k,L+1)),_e=Vd({projectedReady:D,readyRows:te,statusRegistry:i,now:a,completedContainer:Pe}),ie=Xd(re.length,S.held.length,l)??{};U.length>l&&(ie.gate_needed_total=U.length),oe.length>l&&(ie.containers_total=oe.length);let It={output_default:"toon",now:a,recommended:_e,ready:te.slice(1,l+1),decision_needed:re.slice(0,l),gate_needed:U.slice(0,l),containers:oe.slice(0,l),blocked:u?[]:ne.slice(0,d),held_by_others:S.held.slice(0,l),summary:{recommended:_e!==null,ready:te.length,blocked:ne.length,in_progress:zd(te,i),candidates:v.active_count,containers:v.container_count,decision_needed:re.length,gate_needed:U.length,held_by_others:S.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:f.length>0?f:null,limit:l,blocked_limit:d,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:c},truncation:Object.keys(ie).length>0?ie:void 0};return Jd({result:It,recommended:_e,blockedRows:ne,gateCount:U.length,candidatesWarnings:h.warnings,corpusWarnings:_.warnings,readyRanking:I,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packing:je,featureStore:Tt})}function dh(e){let t=["# pm next","",...tu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...De(n,r.map(o=>`- ${$e(o)}`),""));if(t.push(...De("Recommended",nu(e.recommended),"No ready work.")),t.push(...De("Decision needed",(e.decision_needed??[]).map(n=>`- ${$e(n)}`),"No human-gated decisions.")),t.push(...De("Ready",e.ready.map(n=>`- ${$e(n)}`),"No ready items.")),e.filters.ready_only||t.push(...De("Blocked",e.blocked.map(n=>`- ${ru(n)}`),"No blocked items.")),e.suggestions&&e.suggestions.length>0){t.push("## Suggestions");for(let n of e.suggestions)t.push(`- ${n}`)}return t.join(`
8
- `).trimEnd()}function tu(e){let t=[`- now: ${e.now}`,`- ready: ${e.summary.ready} (in_progress: ${e.summary.in_progress}), blocked: ${e.summary.blocked}, candidates: ${e.summary.candidates}`];return e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(""),t}function nu(e){return e?[`- ${$e(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function De(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ru(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${$e(e)} blocked_by:${t}`}function $e(e){let t=e.deadline??"-",n=e.parent?` parent:${e.parent}`:"",r=e.unblocks.length>0?` unblocks:${e.unblocks.length}`:"";return`${Number.isInteger(e.rank)?`#${e.rank} `:""}${e.id} p${e.priority} ${e.status} ${e.type} deadline:${t}${n}${r} ${e.title}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0cc18a30-5068-5c59-b559-7afc4d446ed8")}catch{}})();function ou(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function iu(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=Tr(n.patch);for(let s of i)o.add(Pt(s.path)),s.from&&o.add(Pt(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:i.length,changed_fields:[...o].sort((s,a)=>s.localeCompare(a))}})}function su(e){if(e[0]?.op!=="history_compact_baseline")return;let t=be(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function au(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await M(n),o=F(r,x()),i=e.trim()===Xe,s=i?Xe:Fr(e,r.id_prefix),a=await le(n,s,r.id_prefix,r.item_format,o.type_to_folder),l=a?.id??s,c=i?Ar(n):Ge(n,l);if(!a&&!await Xn(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await Or({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:l,settings:r}}async function bh(e,t,n){let r=fe(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await au(e,n),l=await W(o,s),c=su(l),d=a.agent_identity.identity_vocabulary,u=rt(a.agent_identity.harness_signals),f=it({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},d,u),h=cu(l).filter(({entry:D})=>f(D)),_=ou(h,r),y=_.map(({entry:D})=>D),g=t.compact===!0,v=g?iu(_,c):void 0,k=t.provenance===!0?_.map(({entry:D,durableVersion:I})=>ot(D,d,{itemId:s,version:I})):void 0,w=t.provenance===!0?"provenance":g?"compact":"full",S={compact:{compact_history:v},provenance:{provenance_history:k},full:{history:y}}[w],A={id:s,...S,compact:g,projection:{mode:w,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[w]},omission_receipt:We("history",w),count:y.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:st(h.map(({entry:D})=>D),d,u)}:{}};if((t.diff||t.field!==void 0)&&(A.diff=Wr(l,{windowStartIndex:Math.max(0,l.length-y.length),field:t.field})),t.verify){let D=i?(await de(i,{schema:a.schema})).document:void 0;if(A.verification=wo(l,D),s===Xe&&A.verification.ok){let I=await Rr(C(process.cwd(),n.path));A.verification={...A.verification,ok:I.ok,errors:I.ok?A.verification.errors:[...A.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:I.ok,workspace_state_mismatches:I.mismatched_documents,workspace_state_missing:I.missing_documents,workspace_state_unreadable:I.unreadable_documents}}}return A}function cu(e){let t=be(e,!0);return e.map((n,r)=>({entry:n,version:r+1,durableVersion:t===null?void 0:t+r+1}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="acda1c64-cb50-57b5-868d-a27ca6912979")}catch{}})();var Ri=1e6,Fi=20;function Mi(e,t,n,r=Fi){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",m.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let g of t){if(a+=1,a>Ri)throw new p(`Child projection exceeded the ${Ri.toLocaleString("en-US")} item safety bound.`,m.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});s.push(g)}let l=new Map(s.map(g=>[g.id.trim().toLowerCase(),g])),c=no(to(s,eo())),d=new Set(c.children_by_parent.get(o)??[]);for(let g of s)g.parent?.trim().toLowerCase()===o&&d.add(g.id.trim().toLowerCase());let u=[...d].map(g=>l.get(g)),f=0;for(let g of u){let v=g.status.trim().toLowerCase();i[v]=(i[v]??0)+1,X(v,n)||(f+=1)}u.sort((g,v)=>g.id.localeCompare(v.id));let h=u.slice(0,r).map(g=>({id:g.id,title:g.title,type:g.type,status:g.status,priority:g.priority})),_=u.length>h.length,y=r===0?Fi:r;return{count:u.length,active:f,by_status:Object.fromEntries(Object.entries(i).sort(([g],[v])=>g.localeCompare(v))),sample:h,sample_limit:r,truncated:_,next_offset:_?h.length:null,continuation:_?`pm list --status all --parent ${e} --offset ${h.length} --limit ${y}`:null,scanned:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="926ca5b2-8cfc-56e7-8cbf-fb0e7152d834")}catch{}})();var lu=new Set(["event","meeting","reminder"]);function du(e){return lu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function kn(e){if(!du(e))return;let t=[...e.events??[]].sort((r,o)=>r.start_at.localeCompare(o.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="26bf8487-2515-5885-b6de-56ba6292fb65")}catch{}})();var fu=new Set(["epic","feature","milestone","plan"]),mu=new Set(Object.keys(Kn).map(e=>e.toLowerCase()));function En(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(n=>[n,e[n]?.length??0]))}function pu(e,t){let n=En(e);return[...t.length>0?["body"]:[],...Object.entries(n).flatMap(([r,o])=>o>0?[r]:[]),...n.files+n.tests+n.docs>0?["linked"]:[],"children",...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...kn(e)?["schedule"]:[]]}function $i(e){let t=e.trim().toLowerCase();return t.length>0&&(fu.has(t)||!mu.has(t))}function Di(e){return{ts:e.ts,author:e.author,message:e.message??null}}function hu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,o=[...t].reverse().find(s=>s.op==="claim"),i=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:o?Di(o):null,last_release:i?Di(i):null}}function gu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if($t.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function _u(e,t){let n=En(e);if(t==="deep")return{...e,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:n.notes,tests_count:n.tests,collection_counts:n};let{comments:r,notes:o,learnings:i,files:s,tests:a,docs:l,reminders:c,events:d,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function yu(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",m.USAGE);return t}function wt(e){return e.startsWith("item.")?e.slice(5):e}function vu(e,t,n){if(e===null)return;let r=Ot(t),o=new Set(r),i=e.filter(s=>{let a=wt(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",n,"--fields","id,title,status"];throw new p(`Unknown get --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm get <id> --fields id,title,status,type,updated_at","pm get <id> --fields id,title,claim_state","pm get <id> --fields id,title,body,linked.files"],recovery:{allowed_values:r,suggested_retry:ce(s),suggested_retry_args:s}})}}var wu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function bu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:wu.has(n)?[]:void 0}function ku(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:En(e)},o={id:e.id};for(let i of t){let s=wt(i);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||(o[s]=bu(n,r,s))}return o}function Oe(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function vt(e,t){return e.some(n=>{let r=wt(n);return r===t||r.startsWith(`${t}.`)})}function Su(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new p("Get projection options are mutually exclusive; remove the extra projection flag and retry.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ce(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new p("Get --tree-depth requires --tree",m.USAGE);if(e.at!==void 0&&e.tree===!0)throw new p("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",m.USAGE);return{depth:e.full?"deep":gu(e.depth),treeDepth:e.tree===!0?B(e.treeDepth,"--tree-depth"):void 0,fields:yu(e.fields),fieldProjection:e.fields!==void 0}}async function Eu(e,t,n){let r=C(process.cwd(),t.path);await j(r);let o=await M(r),i=F(o,x());if(n!==void 0){let l=await bo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:l.document.metadata.id,metadata:l.document.metadata,body:l.document.body,historical:l}}let s=await le(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await jr(r,e,o.id_prefix,i.type_to_folder);let a=await de(s,{schema:o.schema});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function Cu(e,t,n,r){let o=Y(t.schema).definitions.map(i=>i.metadata_key);if(vu(e,o,r),n&&vt(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",m.USAGE)}function Sn(e){let{fieldProjection:t,depth:n,fields:r,field:o}=e;return t?o==="body"||o==="linked"?Oe(r,o):vt(r,o):n!=="brief"}async function xu(e,t){if(!t)return;let n=Ge(e.pmRoot,e.locatedId),r=await W(n,e.locatedId);return hu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Tu(e,t,n,r){let o=r||Oe(n,"linked.files"),i=r||Oe(n,"linked.tests"),s=r||Oe(n,"linked.docs");!r&&!o&&!i&&!s||(e.linked={files:o?t.metadata.files??[]:[],tests:i?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function Iu(e,t){if(!t)return;let n=P(e.settings.schema),r=await ue(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return Mi(e.locatedId,r,n)}function Au(e,t,n,r){if(!r)return;let o=kn(t.metadata);if(o){if(n===null||Oe(n,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>n.some(s=>wt(s)===`schedule.${i}`)))}}async function Ru(e,t,n,r){if(t.tree!==!0)return;let o=await q(void 0,{parent:e.locatedId,tree:!0,treeDepth:n===void 0?void 0:String(n),full:!0},r);return{root_id:e.locatedId,root_title:e.metadata.title,depth_limit:n??null,count:o.count,items:o.items.map(i=>i)}}async function Wh(e,t,n={}){let r=Su(n,e),o=await Eu(e,t,n.at);Cu(r.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Sn({...r,field:"body"}),s=Sn({...r,field:"linked"}),a=Sn({...r,field:"claim_state"}),l=o.historical===void 0&&(r.fieldProjection?vt(r.fields,"children"):r.depth==="deep"&&$i(o.metadata.type)),c=r.fieldProjection?vt(r.fields,"schedule"):r.depth!=="brief",d=await xu(o,a),u={item:r.fieldProjection?ku(o.metadata,r.fields):_u(o.metadata,r.depth)};i&&(u.item.body=o.body),Tu(u,o,r.fields,s),d&&(u.claim_state=d),Au(u,o,r.fields,c);let f=await Iu(o,l);f!==void 0&&(u.children=f);let h=await Ru(o,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),o.historical&&(u.reconstructed=!0,u.as_of_version=o.historical.as_of_version,u.as_of_timestamp=o.historical.as_of_timestamp),o.historical===void 0)try{await mr({pmRoot:o.pmRoot,author:J(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return ar(u,pu(o.metadata,o.body)),u}var Bh={shouldAutoIncludeGetChildren:$i};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="48888c80-60e1-5905-afd5-8c1b6e532f99")}catch{}})();function Oi(e){if(typeof e!="string")return!1;let t=e.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return t.length===1&&t[0]==="all"}var Fu=[{optionKey:"status",summaryKey:"status",normalize:e=>Oi(e)?"all":e},{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"parent",summaryKey:"parent"}];function Le(e){let{mode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:l,runtimeFieldFilters:c}=e,d={};return yo(d,r,Fu),Object.assign(d,qt(r)),Object.assign(d,Bt(r)),n!==void 0&&n!=="or"&&(d.match_mode=n),o&&(d.include_linked=!0),i&&(d.title_exact=!0),s&&(d.phrase_exact=!0),a>0&&(d.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(d.hybrid_semantic_weight=l),r.limit!==void 0&&(d.limit=r.limit),c&&Object.keys(c).length>0&&(d.runtime_filters=c),d}function Ne(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:l,queryExpansion:c,rerank:d,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Oi(r.status)?"all":r.status,type:f(r.type),tag:f(r.tag),priority:f(r.priority),deadline_before:f(r.deadlineBefore),deadline_after:f(r.deadlineAfter),updated_after:f(r.updatedAfter),updated_before:f(r.updatedBefore),created_after:f(r.createdAfter),created_before:f(r.createdBefore),assignee:f(r.assignee),sprint:f(r.sprint),release:f(r.release),parent:f(r.parent),...qt(r),...Bt(r),include_linked:o,title_exact:i,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?l:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:d.enabled,rerank_model:d.model,rerank_top_k:d.top_k,limit:f(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91b01dd0-6a8d-5b97-96d2-c27f4044c009")}catch{}})();function Mu(e){return qe("search",{query:e.query.trim(),mode:e.mode,options:Be(e.searchOptions,ir)})}function Li(e){let t=dr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Mu(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="255d7c53-5905-51f7-8f5a-3580cf340648")}catch{}})();function Du(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new p("Search mode must be one of keyword|semantic|hybrid",m.USAGE);return t}function bt(e){return e===!0}function Ni(e){return tr(e,0,1)??void 0}function Pi(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new p("Search --match-mode must be one of and|or|exact",m.USAGE);return t}function ji(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new p("Search --min-score must be a finite number >= 0",m.USAGE);return t}function ge(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return G(n,new Date,t)}function V(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Cn(e,t){if(e!==void 0)return G(e,new Date,t)}function $u(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Search --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function xn(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,o=$u(e.fields);if(Number(n)+Number(r)+ +(o!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ce(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Lt]}:r?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function Tn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Nt(t.definitions.flatMap(s=>[s.key,s.metadata_key])),o=new Set(r),i=e.fields.filter(s=>{let a=s.trim();return!o.has(a)});if(i.length>0){let s=["search",n,"--fields","id,title,status,score"];throw new p(`Unknown search --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm search <query> --fields id,title,status,score","pm search <query> --fields id,title,item.description,matched_fields"],nextSteps:["Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples."],recovery:{allowed_values:r,suggested_retry:ce(s),suggested_retry_args:s}})}}function In(e){let t=V(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function An(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Ou=["auto","keyword","semantic","hybrid"];function Lu(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Ou.includes(n)?n:"auto"}function Rn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Du(e.requested),source:"explicit"};let t=Lu(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function Fn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Mn(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Dn(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(o,i)=>typeof o=="number"&&Number.isFinite(o)&&o>=0?o:i;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import St from"node:fs/promises";import jn from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2985104-efdb-59e5-9674-2dd865ebdf56")}catch{}})();var $n=4,Nu=20,Pu=200,ju=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function On(e,t){let n=[],r=new Set;for(let o of e){let i=o.trim().replaceAll(/\s+/g," ");if(i.length===0)continue;let s=i.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(i),n.length>=t))break}return n}function Uu(e){let t=e.toLowerCase();return t.length>4&&t.endsWith("ies")?`${t.slice(0,-3)}y`:t.length>4&&(t.endsWith("ches")||t.endsWith("shes")||t.endsWith("xes")||t.endsWith("zes")||t.endsWith("sses"))?t.slice(0,-2):t.length>3&&t.endsWith("s")&&!t.endsWith("ss")&&!t.endsWith("us")&&!t.endsWith("is")&&!t.endsWith("as")?t.slice(0,-1):t}function Hu(e){let t=e.toLowerCase();return t.length>2&&(!t.endsWith("s")||t.endsWith("ss"))?t.endsWith("y")&&!/[aeiou]y$/u.test(t)?`${t.slice(0,-1)}ies`:t.endsWith("ch")||t.endsWith("sh")||t.endsWith("x")||t.endsWith("z")||t.endsWith("ss")?`${t}es`:`${t}s`:t}function Ui(e,t=$n){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=me(n);if(r.length===0)return[n];let o=r.filter(a=>!ju.has(a.toLowerCase())),i=r.map(a=>Uu(a)),s=o.map(a=>Hu(a));return On([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function Hi(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?On(t.filter(n=>typeof n=="string"),$n):[]}function Gi(e,t,n){return On([...e,...t],Math.max(1,n))}function Wi(e,t){let r=e.search?.query_expansion,o=ye(r?.provider);return{enabled:r?.enabled===!0,provider:o??t,max_queries:$n}}function Bi(e,t){let r=e.search?.rerank,o=ye(r?.model),s=er(r?.top_k)??Nu;return{enabled:r?.enabled===!0,model:o??t,top_k:Math.min(Pu,s)}}function qi(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let o of t){if(typeof o!="object"||o===null)continue;let i=ye(o.id),s=o.score;if(!i||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(i);(a===void 0||s>a)&&n.set(i,s)}let r=[...n.entries()].map(([o,i])=>({id:o,score:i}));return r.sort((o,i)=>o.score!==i.score?i.score-o.score:o.id.localeCompare(i.id)),r}function Gu(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function zi(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Wu(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Gu(e,t),o=zi(t),i=n*o;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(i)||i===0?0:Math.max(-1,Math.min(1,r/i))}async function Ki(e,t,n,r,o){if(r.length===0)return new Map;let i=ye(t)??e.model,s=i===e.model?e:{...e,model:i},a=[n.trim(),...r.map(f=>f.text)],l=await tt(s,a,o?{timeout_ms:o}:{}),c=l[0];if(!c)return new Map;let d=zi(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],_=l[f+1];if(!_)continue;let y=Wu(c,_,d);u.set(h.id,Math.max(0,Math.min(1,(y+1)/2)))}return u}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bc52818b-d37f-5d00-954d-d50203a433c2")}catch{}})();var Bu=1.2,qu=.75;function Ln(e){return me(e)}function zu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function Yi(e){let t=[],n=new Map,r=0;for(let i of e){let s=Ln(i.text),a=zu(s);r+=s.length;for(let l of a.keys())n.set(l,(n.get(l)??0)+1);t.push({id:i.id,termFrequencies:a,length:s.length})}let o=t.length;return{documents:t,documentFrequency:n,documentCount:o,averageDocumentLength:o>0?r/o:0}}function Ku(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Xi(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let o=[...new Set(t.filter(s=>s.length>0))];if(o.length===0)return r;let i=new Map;for(let s of o){let a=e.documentFrequency.get(s);a!==void 0&&i.set(s,Ku(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[l,c]of i){let d=s.termFrequencies.get(l);if(d===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=d+n.k1*u;a+=c*(d*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function Vi(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Qi(e){let t=n=>typeof n=="string"?[n]:typeof n=="number"?[String(n)]:Array.isArray(n)?n.flatMap(t):typeof n=="object"&&n!==null?Object.values(n).flatMap(t):[];return t(Object.values(e)).join(" ")}function Ji(e){let t=e?.search?.bm25;return{k1:Vi(t?.k1,Bu,0,1e3),b:Vi(t?.b,qu,0,1)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c1f323c4-410f-5e51-ba94-29caaccfbac7")}catch{}})();var Vu=2,Yu=120,Xu=6,Qu=40,Ju=1e3,Zu=900,ef="\xAB",tf="\xBB",Zi=60,ns=["tag","status","type","priority"];function rs(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let o=n.code;typeof o=="string"&&t.push(o.toLowerCase()),n=n.cause}return t.join(" ")}function os(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=rs(e),r=`${t} ${n}`;return r.includes("timed out")||r.includes("timeout")||r.includes("etimedout")?"timeout":r.includes("econnrefused")||r.includes("connection refused")||r.includes("connect ")||r.includes("enotfound")||r.includes("eai_again")||r.includes("econnreset")||r.includes("fetch failed")?"connection":"error"}function is(e,t){let n=os(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function nf(e){return e?.commands?.some(n=>n.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function ss(e,t,n){try{let r=await Xr(e);r.warnings.length>0&&n.push(...r.warnings);let o=oo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=nf(x());n.push(...rf(o.length,i)),process.stderr.write(`[pm] warning: ${o.length} item${o.length===1?" is":"s are"} new or modified since the last reindex and ${o.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${i.command}'${i.follow_up_command?`, then '${i.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
9
- `)}catch{}}function rf(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}var Zg={applyFilters:fs,applyExactQueryFilters:us,applyInlineQueryFilters:cs,buildHitHighlights:vs,buildVerboseSearchFilters:Ne,buildExplicitSemanticFallbackWarning:is,buildCompactSearchFilterSummary:Le,buildHybridLexicalScore:ks,buildRerankCorpus:Fs,buildSemanticHits:Ts,classifyImplicitSemanticFallbackReason:os,collectErrorCauseCodes:rs,collectExactPhraseFields:ls,collectLinkedPaths:ms,combineHybridHits:Wn,computeBuiltInBm25Hits:As,computeSemanticOrHybridHits:Ms,resolveBuiltInBm25Mode:Is,countOccurrences:Hn,dependencyEntries:Un,documentContainsExactPhrase:ds,emptySearchResult:Ss,highlightFieldSnippet:ys,loadDocuments:Ds,markTokenRuns:_s,parseInlineQueryFilters:as,maybeEmitVectorIndexStaleWarning:ss,loadLinkedCorpus:hs,mergeVectorHitsById:Rs,normalizeExtensionProviderHits:xs,normalizeScoreMap:Nn,parseProjectionConfig:xn,parseTimestampWindow:ge,parseTokens:In,projectSearchHits:Os,readSearchFieldValue:$s,requireSemanticDependencies:Gn,resolveExtensionSearchProvider:Es,resolveExtensionSearchProviderByName:xt,resolveExtensionVectorAdapter:Cs,resolveLinkedCorpusRoots:ps,scoreDocument:ws,sortHits:bs,stringArray:Ct,textEntries:ee,validateSearchProjectionFields:Tn};function as(e){let t={},n=[];for(let r of e.split(/\s+/).filter(o=>o.length>0)){let o=r.indexOf(":"),i=o>0?r.slice(0,o).toLowerCase():"",s=o>0?r.slice(o+1):"",a=ns.includes(i)?i:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function cs(e,t,n){let r={...e};for(let o of ns){let i=t[o];if(i!==void 0){if(Dt(r[o])!==void 0){n.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}r[o]=i}}return r}function Ct(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function ee(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Un(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function ls(e){let t=e.metadata;return[t.title,t.description,t.status,Ct(t.tags).join(" "),e.body,ee(t.comments).map(n=>n.text).join(" "),ee(t.notes).map(n=>n.text).join(" "),ee(t.learnings).map(n=>n.text).join(" "),jt(t).join(" "),Ut(t).join(" "),Un(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),Ht(t)]}function ds(e,t){return ls(e).some(n=>V(n).includes(t))}function us(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&V(r.metadata.title)!==t||n.phraseExact&&!ds(r,t)))}function of(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',m.USAGE)}function sf(e,t,n){let r=Se(e.assignee,{label:"--assignee"});of(r);let o=go(e),i=_o(e);return{typeFilter:co(e.type,t),tagFilter:Se(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:lo(e.priority),deadlineBefore:Cn(e.deadlineBefore,"deadline-before"),deadlineAfter:Cn(e.deadlineAfter,"deadline-after"),updatedAfter:ge(e.updatedAfter,"updated-after"),updatedBefore:ge(e.updatedBefore,"updated-before"),createdAfter:ge(e.createdAfter,"created-after"),createdBefore:ge(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Se(e.sprint,{label:"--sprint"}),releaseFilter:Se(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:o,missingMetadataActive:fo(o),contentFieldFilters:i,contentFiltersActive:po(i)}}function af(e,t){return cf(e,t)&&lf(e,t)&&df(e,t)}function cf(e,t){if(t.statusSet&&!t.statusSet.has(e.status)||t.typeFilter&&!t.typeFilter.has(e.type))return!1;let n=t.tagFilter;return!(n&&!Ct(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function lf(e,t){return fr(e,t)}function df(e,t){return!(t.assigneeFilter!==void 0&&(e.assignee===void 0||!t.assigneeFilter.has(e.assignee))||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))||t.releaseFilter!==void 0&&(e.release===void 0||!t.releaseFilter.has(e.release))||t.parentFilter!==void 0&&e.parent!==t.parentFilter)}function uf(e,t,n,r){let o=e.metadata;return!(!af(o,t)||!et(o,n)||t.missingMetadataActive&&!mo(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!ho(o,t.contentFieldFilters))}function fs(e,t,n,r,o,i){let s=sf(t,n,o);return e.filter(a=>uf(a,s,r,i))}function Hn(e,t){let n=0,r=0;for(;;){let o=e.indexOf(t,r);if(o<0)return n;n+=1,r=o+t.length}}function ff(e){return me(e)}function ms(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),o=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),i=new Map;for(let s of o)i.set(`${s.scope}:${s.path}`,s);return[...i.values()]}async function es(e){let t=jn.resolve(e);try{let n=await St.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function ps(e,t){let[n,r]=await Promise.all([es(e),es(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function hs(e,t){let n=ms(e.metadata),r=[];for(let o of n){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=jn.resolve(i.resolved,o.path);if(!Ft(i.resolved,s))continue;let a;try{a=await St.realpath(s)}catch{continue}if(Ft(i.realpath,a))try{await ve({path:s,scope:o.scope}),r.push(await St.readFile(s,"utf8"))}catch{}}return r.join(`
10
- `)}var gs=[{name:"title",weightKey:"title_weight",value:e=>e.metadata.title},{name:"description",weightKey:"description_weight",value:e=>e.metadata.description},{name:"tags",weightKey:"tags_weight",value:e=>Ct(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>ee(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>ee(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>ee(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>jt(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>Ut(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Un(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>Ht(e.metadata)}],mf=new Map(gs.map(e=>[e.name,e]));function pf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _s(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(pf);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${ef}${o}${tf}`)}function ys(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,o=0;for(let d of t){if(d.length===0)continue;let u=n.indexOf(d);u>=0&&(r<0||u<r)&&(r=u,o=d.length)}if(r<0)return null;let i=Math.max(0,r-Zi),s=Math.min(e.length,r+o+Zi),a=_s(e.slice(i,s),t),l=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${l}${a}${c}`}function vs(e,t,n){let r=[];for(let o of t){let i=mf.get(o);if(i===void 0)continue;let s=ys(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function hf(e,t,n){return[...gs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function gf(e,t,n){let r=V(e.id),o=typeof n=="string"?n.trim().toLowerCase():"",i=V(o),s=i.length>0&&r.startsWith(i)?r.slice(i.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?Ju:Zu,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function _f(e,t,n,r,o){for(let i of e){let s=t.get(i)??0;s>0&&(o.score+=s*r.title_exact_bonus,o.matched.add("title"),o.matchedTokens.add(i));for(let a of n){let l=Hn(a.value.toLowerCase(),i);l>0&&(o.score+=l*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function yf(e,t,n,r){V(e.title)===t&&(r.score+=Yu,r.matched.add("title"));for(let i of n){let s=Hn(V(i.value),t);s>0&&(r.score+=s*i.weight*Xu,r.matched.add(i.name))}}function ws(e,t,n,r,o,i,s=!1){let a=e.metadata,l=gf(a,n,i);if(l)return l;let c=new Map;for(let y of ff(a.title))c.set(y,(c.get(y)??0)+1);let d=hf(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};_f(t,c,d,o,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=Qu),t.length>=Vu&&n.includes(" ")&&yf(a,n,d,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((y,g)=>y.localeCompare(g)),matched_all_terms:h}}function bs(e,t){return[...e].sort((n,r)=>{let o=r.score-n.score;if(o!==0)return o;let i=X(n.item.status,t),s=X(r.item.status,t);if(i!==s)return i?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let l=E(r.item.updated_at,n.item.updated_at);return l!==0?l:n.item.id.localeCompare(r.item.id)})}function ks(e,t,n,r,o,i,s,a=!1){return ws(e,t,n,r?o.get(e.metadata.id)??"":"",i,s,a)}function Nn(e){if(e.size===0)return new Map;let t=[...e.values()],n=Math.min(...t),r=Math.max(...t);if(r===n)return new Map([...e.keys()].map(i=>[i,1]));let o=new Map;for(let[i,s]of e)o.set(i,(s-n)/(r-n));return o}function Ss(e,t,n,r,o,i,s,a,l,c,d,u,f,h){let _=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let v=Le({mode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Bn(h),items:[],count:0,..._,filters:v,...d.length>0?{warnings:d}:{}}}let g=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,..._,filters:Ne({effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,queryExpansion:a,rerank:l,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:g},now:O(),...d.length>0?{warnings:d}:{}}}function Gn(e,t,n,r){if(!t.active)throw new p(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,m.USAGE);if(!n.active&&!r)throw new p(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,m.USAGE);return{provider:t.active,vectorStore:n.active??null}}var H=Dt;function xt(e){let t=x(),n=Hr(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,o=r.query,i=r.queryExpansion??r.query_expansion,s=r.rerank,a=H(r.name)??H(n.definition.name)??e;if(!a)return null;let l={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!l.query&&!l.queryExpansion&&!l.rerank?null:l}function Es(e){let t=H(e.search?.provider),n=xt(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Cs(e){let t=x(),n=H(e.vector_store?.adapter),r=Gr(t,n);if(!r)return null;let o=r.runtime_definition??r.definition,i=o.query;if(typeof i!="function")return null;let s=o.upsert;return{adapterName:H(o.name)??H(r.definition.name)??n??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function xs(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new p(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,m.GENERIC_FAILURE);let o=new Set,i=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=H(s.id),l=s.score;if(!a||typeof l!="number"||!Number.isFinite(l)||o.has(a))continue;let c=n.get(a);if(!c)continue;let d=s.matched_fields,u=Array.isArray(d)&&d.every(f=>typeof f=="string")?[...new Set(d.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];o.add(a),i.push({item:c.metadata,score:l,matched_fields:u})}return i}function Ts(e,t){let n=[],r=new Map;for(let o of e){if(r.has(o.id))continue;let i=t.get(o.id);i&&(r.set(o.id,o.score),n.push({item:i.metadata,score:o.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Et(e,t){let n=t.filter(c=>c.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(c=>c.item.id)),o=e.filter(c=>!r.has(c.item.id)),i=o.reduce((c,d)=>Math.max(c,d.score),0),s=n.sort((c,d)=>d.score-c.score),a=i+s.length+1;return[...s.map((c,d)=>({...c,score:a-d,matched_fields:["id"]})),...o]}function Wn(e,t,n,r,o="semantic"){let i=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=Nn(t),l=Nn(i),c=new Set([...t.keys(),...i.keys()]),d=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,_=l.get(u)??0,y=h*r+_*d;if(y<=0)return null;let g=new Set;t.has(u)&&g.add(o);for(let v of s.get(u)??[])g.add(v);return{item:f.metadata,score:y,matched_fields:[...g].sort((v,k)=>v.localeCompare(k))}}).filter(u=>u!==null)}function Is(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function As(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Qi(Vr(s,{fields:e.corpusFields}))})),n=Yi(t),r=Xi(n,Ln(e.query),e.bm25Params),o=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,l])=>({item:o.get(a).metadata,score:l,matched_fields:["bm25"]}));return Et(s,e.keywordHits)}let i=Wn(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Et(i,e.keywordHits)}function Rs(e){let t=new Map;for(let r of e)for(let o of r){let i=t.get(o.id);(!i||o.score>i.score)&&t.set(o.id,o)}let n=[...t.values()];return n.sort((r,o)=>r.score!==o.score?o.score-r.score:r.id.localeCompare(o.id)),n}function Fs(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
11
- `)}async function vf(e,t){let n=e.queryExpansion.enabled?Ui(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let o=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Gi(r,Hi(o),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function wf(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(o){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,m.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await Gt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Gt(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",m.USAGE)}function bf(e,t,n){return[...e].sort((o,i)=>o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)).slice(0,n).map(o=>{let i=t.get(o.item.id);return i?{hit:o,text:Fs(i)}:null}).filter(o=>o!==null)}async function kf(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(i=>({id:i.hit.item.id,text:i.text,score:i.hit.score}))})),o=qi(r);return o.length>0?new Map(o.map(i=>[i.id,i.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function Sf(e,t,n){let r=await kf(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await Ki(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Ef(e,t){let n=new Set(t.keys()),r=e.map(o=>{let i=t.get(o.item.id);if(i===void 0)return o;let s=new Set(o.matched_fields);return s.add("rerank"),{...o,score:i,matched_fields:[...s].sort((a,l)=>a.localeCompare(l))}});return r.sort((o,i)=>{let s=n.has(o.item.id),a=n.has(i.item.id);return s!==a?s?-1:1:o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)}),r}async function Cf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=bf(n,r,e.rerank.top_k),i=await Sf(e,t,o);return i&&i.size>0?Ef(n,i):n}async function Ms(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},o=e.query.trim(),i=await vf(e,o),s=await tt(e.provider,i,n),a=await Promise.all(s.map(async _=>await wf(e,_,t,r))),l=Rs(a),c=new Map(e.filteredDocuments.map(_=>[_.metadata.id,_])),{semanticHits:d,semanticScores:u}=Ts(l,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Et(d,e.keywordHits),vectorMatchCount:f};let h=await Cf(e,o,Wn(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Et(h,e.keywordHits),vectorMatchCount:f}}async function Ds(e,t,n,r){let o=Yn(x()),i=async(c,d,u)=>{let f=async(h,_)=>{await ve({path:h,scope:"project"});let y=await St.readFile(h,"utf8");return br(y,{format:_,schema:r,extensionFieldNames:o,onWarning:v=>s.push(v)}).body};try{return await f(d,u)}catch{let h=u==="toon"?"json_markdown":"toon",_=Mt(e,c.type,c.id,h,n);try{return await f(_,h)}catch{return s.push(`item_list_item_read_failed:${jn.relative(e,_)}`),""}}},s=[],a=await Nr(e,t,n,s,r),l=[];if(a.length===0){let c=await Pr(e,t,n,s,r);for(let d of c){let u=Mt(e,d.type,d.id,t,n),f=await i(d,u,t);l.push({metadata:d,body:f})}return{documents:l,warnings:[...new Set(s)].sort((d,u)=>d.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){l.push({metadata:c.metadata,body:c.body});continue}let d=await i(c.metadata,c.item_path,c.item_format);l.push({metadata:c.metadata,body:d})}return{documents:l,warnings:[...new Set(s)].sort((c,d)=>c.localeCompare(d))}}function $s(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let i=n.slice(5);return i.length===0?null:e.item[i]??null}let r=e,o=e.item;return Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function Os(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...o})=>o):e.map(n=>{let r={};for(let o of t.fields)r[o]=$s(n,o);return r})}function xf(e){let t=xt(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Tf(e){let t=xt(H(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function If(e,t){let n=[],r=as(e),o=Object.keys(r.inlineFilters).length>0;if(o&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",m.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let i=o?r.residualQuery:e,s=cs(t,r.inlineFilters,n);return{query:i,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:bt(s.includeLinked),titleExact:bt(s.titleExact),phraseExact:bt(s.phraseExact),matchMode:Pi(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:ji(s.minScore),countOnly:s.count===!0,tokens:In(i),normalizedQuery:V(i),limit:fe(s.limit),projection:xn(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}async function Af(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await M(n),o=Br(r).settings,i=P(o.schema),s=Y(o.schema);Tn(e.projection,s,e.query);let a=Ze(e.options,s,"search"),l=F(o,x()),c=zr(o),d=Yr(o,n),u=Es(o),f=Cs(o),h=Ni(e.options.semanticWeight),_=Wi(o,c.active?.name??null),y=Bi(o,c.active?.model??H(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:l,maxResults:An(o),scoreThreshold:e.minScoreOverride??Fn(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??Mn(o),tuning:Dn(o),providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:Is({configuredProvider:H(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:_,queryExpansionExtension:xf(_),rerank:y,rerankExtension:Tf(o),...Rf({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:f})}}function Rf(e){let n=qr(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),r=e.extensionSearchProvider!==null||n,o=Rn({requested:e.requested,settings:e.settings,semanticRunnable:r});return{effectiveMode:o.mode,modeSource:o.source}}async function Ff(e,t){let n=await Ds(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=Je(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=uo(t.statusRegistry),i=fs(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:us(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Mf(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await ps(o,Zn(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await hs(a,i)]));for(let[a,l]of s)r.set(a,l);return r}async function Df(e,t,n){let r=await Mf(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>ks(i,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,o)).filter(i=>i!==null).filter(i=>e.matchMode!=="and"||i.matched_all_terms===!0)}function ts(e,t){return Ss(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t,e.modeSource)}async function $f(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=As({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Kr(t.settings),bm25Params:Ji(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&o.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),i}async function Of(e,t,n,r){if(!t.extensionSearchProvider)return null;let o=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let i=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return xs(t.extensionSearchProvider.providerName,i,r)}catch(i){if(!o)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,m.GENERIC_FAILURE);return null}}function Lf(e,t,n,r){return t.vectorMatchCount>0?t.hits:(r.push(`search_${e}_degraded:no_vector_matches:results_are_lexical`),e==="semantic"?n:t.hits)}async function Nf(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await ss(e.pmRoot,n,r),e.extensionSearchProvider||Gn(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Pf(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,l=await $f(t,n,r,o,i),c=n.effectiveMode;if(l!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:l??a};try{if(await Nf(n,c,r,i,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let d=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Of(t,n,r,d)??a,a===o){let{provider:u,vectorStore:f}=Gn(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ms({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:o,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:i,settings:n.settings});a=Lf(c,h,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(d){return i.push(is(n.effectiveMode,d)),{effectiveMode:"keyword",hits:o}}}function jf(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return Pn({query:e.query.trim(),mode:e.effectiveMode,...Bn(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:Le({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let n=e.projection.mode==="full"?null:[...e.projection.fields];return Pn({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:Ne({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:e.projection.mode,fields:n},now:O()},e.warnings)}function Bn(e){return e==="settings"?{mode_source:e}:{}}function Pn(e,t){return t.length===0?e:{...e,warnings:t}}function kt(e,t){return t?{...e,workspace_memory:t}:e}function Uf(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(i=>[i.metadata.id,i])),o=n.map(i=>({...i,highlights:vs(r.get(i.item.id),i.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:o,projection:e.projection}:{hits:o,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Hf(e,t,n,r,o,i){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return Pn({query:e.query.trim(),mode:e.effectiveMode,...Bn(e.modeSource),items:t,count:t.length,...s,...i,filters:Le({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=o.mode==="full"?null:[...o.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...i,filters:Ne({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:o.mode,fields:a},now:O(),...e.warnings.length>0?{warnings:e.warnings}:{}}}function Gf(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function e_(e,t,n){Gf(t);let r=If(e,t),o=await Af(r,n),i=await Ff(r,o),s=i.warnings;s.push(...r.inlineWarnings);let a=await ht(i.allDocuments.map(S=>S.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:O()});s.push(...a.warnings);let l=ui(a,r.query);o.effectiveMode==="hybrid"&&o.semanticWeightProvided&&o.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:o.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:o.scoreThreshold,hybridSemanticWeight:o.hybridSemanticWeight,queryExpansion:o.queryExpansion,rerank:o.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:o.runtimeFieldFilters};if(o.effectiveMode==="keyword"&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(ts({...c,effectiveMode:o.effectiveMode},r.countOnly),l);let d=await Df(r,o,i.filteredDocuments),u=await Pf({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:d,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(ts({...c,effectiveMode:u.effectiveMode},r.countOnly),l);let f=u.hits.filter(S=>S.exact_id_match===!0||S.score>=o.scoreThreshold),h=bs(f,o.statusRegistry),_=h.length,y=Li({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??o.maxResults}),g={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return kt(jf(g,_),l);let{hits:v,projection:k}=Uf(r,i.filteredDocuments,y.limited),w=Os(v,k);return kt(Hf(g,w,_,y.limited.length,k,y.pageExtras),l)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function o_(e,t={}){let n=await vo({pmRoot:C(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(o=>o.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let o=r.id;return{...r,canonical_id:o,close_command:`pm close <duplicate-id> --duplicate-of ${o}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}export{Ps as a,zt as b,Wf as c,qs as d,zs as e,Bf as f,bo as g,rt as h,Ks as i,ot as j,st as k,Em as l,xo as m,xm as n,Mm as o,Dm as p,Um as q,Hm as r,Gm as s,Yo as t,sn as u,ft as v,Fc as w,Zo as x,Lc as y,mt as z,Nc as A,Pc as B,Gc as C,Wc as D,Xm as E,Bc as F,ei as G,an as H,cn as I,el as J,sl as K,ap as L,ln as M,dn as N,pt as O,ul as P,hl as Q,ht as R,kl as S,di as T,Sl as U,ui as V,mi as W,Sp as X,Ep as Y,Cp as Z,xp as _,pi as $,El as aa,Fl as ba,Ie as ca,Kp as da,pn as ea,$l as fa,Ol as ga,gn as ha,Z as ia,yn as ja,vn as ka,wn as la,he as ma,Fe as na,_t as oa,Vp as pa,Od as qa,Yp as ra,Ud as sa,sh as ta,ah as ua,ch as va,lh as wa,dh as xa,bh as ya,Ri as za,Fi as Aa,Mi as Ba,Wh as Ca,Bh as Da,Le as Ea,Ne as Fa,Mu as Ga,Li as Ha,An as Ia,Rn as Ja,Fn as Ka,Mn as La,Dn as Ma,rs as Na,os as Oa,nf as Pa,rf as Qa,Zg as Ra,e_ as Sa,o_ as Ta};
12
- //# sourceMappingURL=chunk-5FSGN4MP.js.map