@unbrained/pm-cli 2026.11.3 → 2026.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/HARNESS_COMPATIBILITY.md +1 -1
- package/.agents/skills/README.md +14 -14
- package/.agents/skills/pm-developer/SKILL.md +16 -16
- package/.agents/skills/pm-developer/references/GRAPH_AND_RELATIONSHIPS.md +14 -14
- package/.agents/skills/pm-developer/references/SCRIPTING_COMPOSITION.md +10 -10
- package/.agents/skills/pm-extensions/SKILL.md +13 -13
- package/.agents/skills/pm-extensions/references/AUTHORING.md +12 -12
- package/.agents/skills/pm-sdk/SKILL.md +27 -27
- package/.agents/skills/pm-sdk/references/SURFACE_MAP.md +32 -32
- package/.agents/skills/pm-test-audit/references/AUDIT.md +1 -1
- package/.agents/skills/pm-user/SKILL.md +35 -35
- package/.claude-plugin/marketplace.json +1 -1
- package/AGENTS.md +9 -9
- package/CHANGELOG.md +19 -0
- package/README.md +13 -13
- package/dist/cli/error-guidance.d.ts +14 -35
- package/dist/cli/error-guidance.js +2 -2
- package/dist/cli/expected-revisions.d.ts +55 -0
- package/dist/cli/expected-revisions.js +2 -0
- package/dist/cli/main.js +2 -2
- package/dist/cli/register-setup.js +1 -1
- package/dist/cli/runtime/invocation-options.js +1 -1
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/chunk-2RPORE7M.js +31 -0
- package/dist/cli-bundle/chunks/{chunk-Y7H55PCY.js → chunk-335BZ75D.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-5GWEY4P6.js +122 -0
- package/dist/cli-bundle/chunks/chunk-6VRX2CM7.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-5JZMF4M5.js → chunk-7DEKAXVA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-32BCU6HN.js → chunk-7ZRCYESH.js} +47 -46
- package/dist/cli-bundle/chunks/chunk-AUEKTX7V.js +6 -0
- package/dist/cli-bundle/chunks/chunk-D7KYPRK4.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-2CBHQXYJ.js → chunk-DAX3AOFI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JPKIUWLG.js → chunk-F6NDMKZ4.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-FRNMQM45.js +2 -0
- package/dist/cli-bundle/chunks/chunk-HNGLDMSZ.js +9 -0
- package/dist/cli-bundle/chunks/{chunk-DEJHTFEF.js → chunk-HRCMORE7.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-HRFGFIYU.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-5IPXDZKU.js → chunk-JI2GDE4I.js} +66 -66
- package/dist/cli-bundle/chunks/{chunk-MQJXZX3Q.js → chunk-LS3GI3H4.js} +53 -53
- package/dist/cli-bundle/chunks/chunk-OH6WQ7VT.js +3 -0
- package/dist/cli-bundle/chunks/{chunk-TZ3D3DPQ.js → chunk-OJDMJT7Y.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-S4LPZ4TN.js +20 -0
- package/dist/cli-bundle/chunks/chunk-UEGXWXUZ.js +2 -0
- package/dist/cli-bundle/chunks/chunk-XLSHFYXZ.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-UYNMKUGA.js → chunk-YKXATU2G.js} +2 -2
- package/dist/cli-bundle/chunks/item-revision-OJJVPQY7.js +2 -0
- package/dist/cli-bundle/chunks/item-transaction-QEPBUCMY.js +2 -0
- package/dist/cli-bundle/chunks/mutation-admission-INMM3HHG.js +2 -0
- package/dist/cli-bundle/chunks/{register-list-query-I6AZA3IX.js → register-list-query-5Y5JKWU5.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-3DAXCLXR.js → register-mutation-WC7OSQID.js} +2 -2
- package/dist/cli-bundle/chunks/register-operations-PO63DBZH.js +2 -0
- package/dist/cli-bundle/chunks/register-setup-RRFOS7IT.js +2 -0
- package/dist/cli-bundle/chunks/{stage-7H36OTDJ.js → stage-E3MMV4TV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-5PMJOJCZ.js +44 -0
- package/dist/cli-bundle/focused-chunks/chunk-7KK66ISG.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-D4XQOMG4.js → chunk-AHWJPZSJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-C3O6JJPO.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-LKN2WGGB.js → chunk-C6P6HPCX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-CPMSL4HS.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-CZM75DE3.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-TYHDZUL4.js → chunk-D2TBEBNW.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-E56OXRYH.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-I5FODKYB.js → chunk-F62XGAAY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-G4QP365K.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-G5PJCR7R.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-GS3JC5UU.js +23 -0
- package/dist/cli-bundle/focused-chunks/chunk-I5LGPUWH.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-LW64TINU.js +3 -0
- package/dist/cli-bundle/focused-chunks/chunk-M6V7UMWL.js +26 -0
- package/dist/cli-bundle/focused-chunks/chunk-MC7IE7D7.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-MG7C3JUY.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-F3X6UWMI.js → chunk-MK4HV4JO.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ZQRCVRGS.js → chunk-NQ7GYFOX.js} +54 -54
- package/dist/cli-bundle/focused-chunks/chunk-O7EI33NP.js +91 -0
- package/dist/cli-bundle/focused-chunks/{chunk-RY4QEMAE.js → chunk-RFTJZ5VB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-SNOXXRSJ.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-UPJUTP2V.js +12 -0
- package/dist/cli-bundle/focused-chunks/{chunk-HJ27QLZV.js → chunk-VWWTIX5L.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-HOXIIZEO.js → chunk-XHOBYCVE.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-YMGB2O4E.js +81 -0
- package/dist/cli-bundle/focused-chunks/item-revision-CTDO4H3I.js +2 -0
- package/dist/cli-bundle/focused-chunks/item-transaction-AEAYVVHA.js +2 -0
- package/dist/cli-bundle/focused-chunks/mutation-admission-4WM7TNHZ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{stage-4SQHVI3O.js → stage-WV7QXR4C.js} +2 -2
- package/dist/cli-bundle/main.js +25 -25
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +5 -5
- package/dist/cli-bundle/sdk-core.js +1 -1
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +57 -57
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +11 -11
- package/dist/core/config/positional-value.d.ts +7 -1
- package/dist/core/config/positional-value.js +1 -1
- package/dist/core/extensions/reserved-host-flags.js +1 -1
- package/dist/core/history/history-rewrite.js +1 -1
- package/dist/core/item/literal-mutation-input.d.ts +17 -0
- package/dist/core/item/literal-mutation-input.js +1 -1
- package/dist/core/item/parent-reference-policy.d.ts +8 -4
- package/dist/core/item/parent-reference-policy.js +1 -1
- package/dist/core/item/sprint-release-format.d.ts +2 -1
- package/dist/core/item/sprint-release-format.js +1 -1
- package/dist/core/output/mutation-projection.js +1 -1
- package/dist/core/shared/command-types.d.ts +7 -0
- package/dist/core/store/item-mutation-precondition.d.ts +72 -6
- package/dist/core/store/item-mutation-precondition.js +1 -1
- package/dist/core/store/item-store.js +1 -1
- package/dist/core/store/settings-validator.js +1 -1
- package/dist/core/store/settings.d.ts +14 -0
- package/dist/core/store/settings.js +5 -4
- package/dist/core/telemetry/policy.d.ts +27 -1
- package/dist/core/telemetry/policy.js +1 -1
- package/dist/core/telemetry/runtime.d.ts +18 -7
- package/dist/core/telemetry/runtime.js +4 -4
- package/dist/sdk/cli-contracts/bootstrap-command-scanner.js +1 -1
- package/dist/sdk/cli-contracts/completeness.js +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +11 -0
- package/dist/sdk/cli-contracts/enum-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
- package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +8 -5
- package/dist/sdk/cli-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts.js +1 -1
- package/dist/sdk/cli-program.js +1 -1
- package/dist/sdk/config.d.ts +3 -3
- package/dist/sdk/config.js +1 -1
- package/dist/sdk/environment/project-runtime-compatibility.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/health.d.ts +2 -2
- package/dist/sdk/governance/health.js +2 -2
- package/dist/sdk/governance/validate.js +1 -1
- package/dist/sdk/history/salvage.js +3 -3
- package/dist/sdk/history-compact.d.ts +7 -1
- package/dist/sdk/history-compact.js +1 -1
- package/dist/sdk/history-repair.d.ts +2 -1
- package/dist/sdk/history-repair.js +1 -1
- package/dist/sdk/index.d.ts +6 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/init.d.ts +4 -4
- package/dist/sdk/init.js +8 -8
- package/dist/sdk/lifecycle/checkpoint-rollback.d.ts +10 -2
- package/dist/sdk/lifecycle/checkpoint-rollback.js +1 -1
- package/dist/sdk/lifecycle/claim.d.ts +4 -0
- package/dist/sdk/lifecycle/claim.js +1 -1
- package/dist/sdk/lifecycle/close-many.d.ts +11 -2
- package/dist/sdk/lifecycle/close-many.js +1 -1
- package/dist/sdk/lifecycle/close.d.ts +25 -0
- package/dist/sdk/lifecycle/close.js +1 -1
- package/dist/sdk/lifecycle/create.d.ts +7 -5
- package/dist/sdk/lifecycle/create.js +1 -1
- package/dist/sdk/lifecycle/item-revision.d.ts +162 -0
- package/dist/sdk/lifecycle/item-revision.js +2 -0
- package/dist/sdk/lifecycle/restore.js +1 -1
- package/dist/sdk/lifecycle/shared-unset-fields.d.ts +628 -4
- package/dist/sdk/lifecycle/shared-unset-fields.js +1 -1
- package/dist/sdk/lifecycle/start-blockers.d.ts +52 -0
- package/dist/sdk/lifecycle/start-blockers.js +2 -0
- package/dist/sdk/lifecycle/task-composition.d.ts +11 -0
- package/dist/sdk/lifecycle/task-composition.js +1 -1
- package/dist/sdk/lifecycle/update-many.d.ts +11 -2
- package/dist/sdk/lifecycle/update-many.js +1 -1
- package/dist/sdk/lifecycle/update.d.ts +5 -4
- package/dist/sdk/lifecycle/update.js +2 -2
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/declared-blockers.d.ts +16 -0
- package/dist/sdk/query/declared-blockers.js +2 -0
- package/dist/sdk/query/get.d.ts +7 -0
- package/dist/sdk/query/get.js +1 -1
- package/dist/sdk/query/projection-contracts.js +1 -1
- package/dist/sdk/runtime/actions.js +1 -1
- package/dist/sdk/runtime/mutation-value-validation.js +1 -1
- package/dist/sdk/runtime-input.d.ts +12 -0
- package/dist/sdk/runtime-input.js +1 -1
- package/dist/sdk/runtime-primitives.d.ts +1 -0
- package/dist/sdk/runtime-primitives.js +1 -1
- package/dist/sdk/runtime.d.ts +10 -0
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/structured-mutations.js +1 -1
- package/dist/sdk/telemetry.d.ts +1 -1
- package/dist/sdk/telemetry.js +2 -2
- package/dist/sdk/test/batch.js +2 -2
- package/dist/sdk/test/execution.js +2 -2
- package/dist/sdk/test/linked-command-detection.js +1 -1
- package/dist/sdk/workspace-transaction.d.ts +17 -6
- package/dist/sdk/workspace-transaction.js +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.js +1 -1
- package/docs/AGENT_GUIDE.md +48 -48
- package/docs/AGENT_OUTPUT_ENCODINGS.md +20 -20
- package/docs/ASSURANCE.md +10 -10
- package/docs/BOUNDED_CONTEXT_READS.md +3 -3
- package/docs/CLAUDE_CODE_PLUGIN.md +1 -1
- package/docs/CLI_GRAMMAR.md +2 -2
- package/docs/COMMANDS.md +144 -32
- package/docs/COMMAND_NAMESPACES.md +1 -1
- package/docs/CONFIGURATION.md +82 -70
- package/docs/CONTEXT_ALGORITHM_PORTFOLIO.md +2 -2
- package/docs/CONTEXT_INTEGRITY_CONTRACTS.md +5 -5
- package/docs/CORPUS_SHAPES.md +1 -1
- package/docs/DEPENDENCY_KIND_CONTRACT.md +6 -6
- package/docs/DIAGNOSTIC_OUTPUT_CONTRACTS.md +5 -5
- package/docs/ECOSYSTEM_PLANNING_REVIEW.md +3 -3
- package/docs/EXTENSION_AUTHOR_CONTRACTS.md +4 -4
- package/docs/HISTORY_ATTESTATION.md +1 -1
- package/docs/HISTORY_MAINTENANCE.md +1 -1
- package/docs/LIFECYCLE_COMMANDS.md +1 -1
- package/docs/MCP_2026_07_28.md +16 -16
- package/docs/MCP_2026_07_28_CONFORMANCE.md +19 -19
- package/docs/MCP_REMOTE_TRANSPORT_SECURITY.md +22 -22
- package/docs/MCP_SKILLS_AND_APPS.md +1 -1
- package/docs/MERGE_SAFETY.md +6 -6
- package/docs/MUTATION_INTEGRITY.md +5 -5
- package/docs/OUTPUT_PROJECTION_CONTRACTS.md +14 -14
- package/docs/PACKED_FIRST_RUN.md +1 -1
- package/docs/QUICKSTART.md +10 -10
- package/docs/README.md +21 -21
- package/docs/READ_OUTPUT_CONTRACTS.md +9 -9
- package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +1 -1
- package/docs/RELEASING.md +19 -10
- package/docs/SCRIPTING.md +10 -10
- package/docs/SDK.md +183 -38
- package/docs/SDK_ARTIFACT_OUTPUT.md +1 -1
- package/docs/SDK_PRIMITIVE_INVENTORY.md +2 -2
- package/docs/SELF_DESCRIBING_CONTEXT_CONTRACTS.md +7 -7
- package/docs/TESTING.md +1 -1
- package/docs/WORKFLOW_POLICIES.md +2 -2
- package/docs/WORKSPACE_POSITION_AND_LIFECYCLE.md +8 -8
- package/docs/agent-task-token-baseline.json +1 -1
- package/docs/generated/AGENT_CAPABILITY_ROUTING.md +1 -1
- package/docs/generated/AGENT_COMMAND_SURFACE.md +1 -1
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +112 -112
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +13 -4
- package/docs/performance/cli-transport-overhead.md +7 -7
- package/marketplace.json +1 -1
- package/package.json +1 -1
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/README.md +5 -5
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/GAP_REPORT.md +16 -16
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/README.md +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/GAP_REPORT.md +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/README.md +6 -6
- package/plugins/pm-claude/package.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +1 -1
- package/plugins/pm-codex/plugin.json +1 -1
- package/runtime-dependencies.json +1 -1
- package/dist/cli-bundle/chunks/chunk-7ZEFHFAU.js +0 -2
- package/dist/cli-bundle/chunks/chunk-B6UTLYLM.js +0 -3
- package/dist/cli-bundle/chunks/chunk-HBKD5HZB.js +0 -2
- package/dist/cli-bundle/chunks/chunk-L6LCLC37.js +0 -2
- package/dist/cli-bundle/chunks/chunk-NR4KABHC.js +0 -31
- package/dist/cli-bundle/chunks/chunk-PWD5RY2D.js +0 -2
- package/dist/cli-bundle/chunks/chunk-XRMYA4R7.js +0 -20
- package/dist/cli-bundle/chunks/chunk-YWS4XV4I.js +0 -6
- package/dist/cli-bundle/chunks/chunk-ZOAJNPBL.js +0 -129
- package/dist/cli-bundle/chunks/item-transaction-ZHLJTBD7.js +0 -2
- package/dist/cli-bundle/chunks/mutation-admission-ZQMRMGIB.js +0 -2
- package/dist/cli-bundle/chunks/register-operations-G3QGGQ5Z.js +0 -2
- package/dist/cli-bundle/chunks/register-setup-LDXHMNOT.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-3XGKBVJ3.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-4HY6EGPB.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-AK2CI2GI.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-HUXZCPWT.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-IKXJ57XA.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-MOY6KZGJ.js +0 -44
- package/dist/cli-bundle/focused-chunks/chunk-PWUTFKSI.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-PZRB7IXH.js +0 -91
- package/dist/cli-bundle/focused-chunks/chunk-WSYPVBKS.js +0 -80
- package/dist/cli-bundle/focused-chunks/chunk-WXLG7HZ5.js +0 -3
- package/dist/cli-bundle/focused-chunks/chunk-WZDFCVLX.js +0 -12
- package/dist/cli-bundle/focused-chunks/chunk-YGO3FWA2.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-YVLAP3BL.js +0 -23
- package/dist/cli-bundle/focused-chunks/chunk-ZYXQACPB.js +0 -2
- package/dist/cli-bundle/focused-chunks/item-transaction-PZ2FQ6B2.js +0 -2
- package/dist/cli-bundle/focused-chunks/mutation-admission-XOOK6XFH.js +0 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{E as uo,G as mo,a as q,b as zi,c as Ki,e as Ae,f as Vi,g as Xi,h as Yi,i as Qi,j as Ji,m as Zi,n as eo,p as io,q as oo,t as so,u as fn,v as pn,w as B,y as ao,z as co}from"./chunk-G5PJCR7R.js";import{d as fo}from"./chunk-E56OXRYH.js";import{Ia as Gi,T as hi,U as gi,X as dn,Y as xi,cb as Hi,ga as mt,ia as me,ja as ft,ka as pt,la as Mi,na as Li,oa as Pi,pa as gt,qa as ji,ra as yt,sa as _t,ta as wt,ua as Ui,ya as Bi,za as un}from"./chunk-GS3JC5UU.js";import{Na as Jr,Va as Zr}from"./chunk-MK4HV4JO.js";import{d as to,e as no,h as ro,w as lo}from"./chunk-G4QP365K.js";import{a as Te,c as Re,f as mn,g as qi,h as Wi,i as bt}from"./chunk-7KK66ISG.js";import{J as ht,L as $i,M as fe,N as pe,P as Oi,Q as he,T as Ni,b as Ti,c as Ri,f as Fi,h as ln}from"./chunk-O7EI33NP.js";import{B as yi,Ia as Ii,J as _i,K as wi,L as bi,M as vi,N as ki,Pa as ut,Qa as Ai,R as xe,Ra as Di,_ as Si,fa as ee,fb as A,ha as te,kb as U,na as Ei,v as F,w as C,wa as Ci,x as J}from"./chunk-YMGB2O4E.js";import{b as ce}from"./chunk-RFTJZ5VB.js";import{j as N,l as Q}from"./chunk-VWWTIX5L.js";import{A as ae,Ba as rn,Bd as si,Da as nt,Dc as Ie,F as tn,G as Ze,Ga as rt,Hc as ei,Hd as ot,Id as ue,Jc as ti,Jd as ai,Je as cn,Kd as ci,Lc as it,Ld as di,Md as li,Nd as ui,Od as st,Qb as de,Qc as le,Rd as D,Ud as mi,Vb as Xr,Vd as S,Wd as fi,Xd as H,Z as nn,a as Ur,aa as Ce,ba as tt,bc as on,bd as ni,cc as sn,ec as an,fc as Yr,ga as zr,gc as Qr,ha as Kr,ie as at,ke as ct,ld as ri,md as ii,me as dt,od as oi,pe as pi,qe as lt,ra as R,xa as T,xc as E,za as Vr}from"./chunk-M6V7UMWL.js";import{A as p,C as Hr,D as et,E as qr,I as Wr,t as Br,x as Gr,z as f}from"./chunk-G6ERMFJ5.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]="f698608a-2f39-5972-b24b-93287af6b373")}catch{}})();var De=class extends RangeError{code;work;minimum_tokens;constructor(t,n,r){super(t),this.name="OutputEnvelopeFitError",this.code=t,this.work=Object.freeze({...n}),this.minimum_tokens=r}};function hn(e,t){if(!Number.isSafeInteger(e)||e<1)throw new RangeError(`${t} must be a positive safe integer`)}function ma(e,t,n,r){return t.map(([i,o])=>{if(r.render_calls>=r.max_render_calls)throw new De("output_envelope_work_limit",r);r.render_calls+=1;let s=o(e);if(typeof s!="string")throw new TypeError("Envelope renderers must return strings");let a=n(s);if(!Number.isSafeInteger(a)||a<0)throw new RangeError("Envelope token estimates must be non-negative safe integers");return{name:i,text:s,bytes:Buffer.byteLength(s,"utf8"),estimated_tokens:a}})}function po(e,t,n,r){let i=t,o=Object.entries(n.renderers),s=n.estimateTokens??(a=>ni(Buffer.byteLength(a,"utf8")));for(let a=0;a<(n.maxStabilizationPasses??16);a+=1){let d=Object.freeze({...i}),c={...n.buildEnvelope(e,d),output_fit:d},u=ma(c,o,s,r),l=Math.max(...u.map(h=>h.bytes)),m=Math.max(...u.map(h=>h.estimated_tokens));if(l===i.output_bytes&&m===i.estimated_tokens)return{envelope:c,renderings:u};i={...i,output_bytes:l,estimated_tokens:m}}throw new De("output_envelope_unstable",r)}function _f(e,t){hn(t.tokenBudget,"tokenBudget"),hn(t.maxRenderCalls??1e4,"maxRenderCalls"),hn(t.maxStabilizationPasses??16,"maxStabilizationPasses");let n=t.policy??"prefix";if(n!=="prefix"&&n!=="skip")throw new TypeError("Unknown output envelope fit policy");if(Object.entries(t.renderers).length===0||Object.entries(t.renderers).some(([d,c])=>!d.trim()||typeof c!="function"))throw new TypeError("Envelope fitting requires named callable renderers");let r={evaluated_candidates:0,render_calls:0,max_render_calls:t.maxRenderCalls??1e4},i=[],o=[],s=d=>({version:1,policy:n,total_candidates:e.length,included_indices:Object.freeze([...d]),omitted_count:e.length-d.length,token_budget:t.tokenBudget,estimated_tokens:0,output_bytes:0}),a=po(i,s(o),t,r);if(a.envelope.output_fit.estimated_tokens>t.tokenBudget)throw new De("output_envelope_infeasible",r,a.envelope.output_fit.estimated_tokens);for(let[d,c]of e.entries()){r.evaluated_candidates+=1;let u=[...i,c],l=[...o,d],m=po(u,s(l),t,r);if(m.envelope.output_fit.estimated_tokens<=t.tokenBudget)i=u,o=l,a=m;else if(n==="prefix")break}return{rows:i,...a,complete:i.length===e.length,work:Object.freeze({...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]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var fa=["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"],gn=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 vf(e={}){return oi({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function W(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function x(e,t,n,r){t&&e.push({code:n,message:r})}function pa(e,t){let n=W(e.completeness)?e.completeness:{};x(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),x(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,i=n.unreadable_directory_count;x(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),x(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=W(e.filters)?e.filters:{},s=W(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return x(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),x(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),x(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ha(e,t,n){x(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."),x(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=W(e.projection)?e.projection:{};x(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=W(e.omission_receipt)?e.omission_receipt:void 0;x(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),x(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),x(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function ga(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 ya(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 _a(e,t){let n=W(e.read_output)?e.read_output:void 0;x(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),x(t,n!==void 0&&ga(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),x(t,n!==void 0&&!ya(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),x(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=W(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;x(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),x(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function wa(e,t){let n=e.map(r=>W(r)&&typeof r.id=="string"?r.id.trim():"");x(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),x(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function ba(e){if(!W(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:fa[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=pa(t,n);return ha(t,r,n),_a(t,n),wa(t.items,n),{ok:n.length===0,findings:n}}function va(e){let t=ba(e);if(!t.ok)throw new gn(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 kf(e){va(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function If(e,t={}){let n=await uo({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var ho=16;async function go(e,t,n){let r=R(t,E()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<ho;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let d=await fe(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await pe(d,{schema:t.schema});i.push(c.document.metadata.id),s=c.document.metadata.parent}return i}async function Ff(e){await bi({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await go(e.pmRoot,e.settings,e.itemId)})}async function Mf(e){await vi(e)}async function $f(e){await ki({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await go(e.pmRoot,e.settings,e.itemId)}:{}})}var Of={lineage_depth:ho,active_items:64,evidence_rows:32};function yo(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]="c12559a3-2703-5665-9ec2-7309589be511")}catch{}})();var Fe=["priority_floor","weighted"],ka="default-weighted-v1";function _o(e,t,n,r){let i=new Map(e.map(a=>[a.id,a.rank]));if(n!=="priority_floor"||r!==ka)return i;let o=t.in_progress_status,s=a=>C(a.item.status,t)===o?-1:a.item.priority;return e.sort((a,d)=>s(a)-s(d)||a.rank-d.rank),e.forEach((a,d)=>{a.rank=d+1}),i}function wo(e,t,n,r){let i=e[0];if(!i)return;if(r==="priority_floor"){let a=t.get(i.item.id);return a!==void 0&&a!==1?`priority floor (relevance rank ${a})`:void 0}let o=n.in_progress_status,s=e.slice(1).filter(a=>a.item.priority<i.item.priority&&C(a.item.status,n)!==o).map(a=>a.item.priority);return s.length>0?`relevance over p${Math.min(...s)} ready work`:void 0}import{encode as Ea}from"@toon-format/toon";import{createHash as Sa}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]="66022e7d-1594-5b88-a283-c64830ff0dfd")}catch{}})();function yn(e){let t=Sa("sha256").update("[");for(let n of e)t.update(rt(n)).update("\0");return t.update("]").digest("hex")}function vt(e,t){if(t===void 0)return D();let n=ci(t).snapshot,r=`${e}:`,i=n?.slice(r.length);if(!n?.startsWith(r)||!i||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(i)||!Number.isFinite(Date.parse(i)))throw new p("Query cursor has no supported fixed-window clock.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});return i}function Me(e,t){let n=e.map((a,d)=>({row:a,index:d})),r=ue(t.command,{query:t.query,rows_digest:yn(e)}),i=t.after===void 0?void 0:di(t.after,r);if(i&&(i.after_index===void 0||i.after_id!==String(i.after_index)||i.after_index>=e.length))throw new p("Query cursor position is outside the matching window.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});let o=st(n,{cursor:t.after,fingerprint:r,snapshot:`${t.command}:${t.clock}`,limit:t.limit??e.length,readId:({index:a})=>String(a)}),s=i?.after_index===void 0?0:i.after_index+1;return{...o,rows:o.rows.map(({row:a})=>a),count:o.rows.length,total_count:e.length,page_start:s,omitted_count:e.length-s-o.rows.length,has_more:s+o.rows.length<e.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="351df2b3-3a1a-528c-96b9-72bb3e2f27fc")}catch{}})();var _n=["agenda","day","week","month"],wn=["markdown","toon","json"],Ca=["sun","mon","tue","wed","thu","fri","sat"],Ia=365,xa=365,Co=28,Ta=1e3;function bn(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`,f.USAGE);return n}function Ra(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",f.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",f.USAGE)}return r}function Io(e,t){let n;for(let r of t){let i=Ur(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Aa(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!_n.includes(t)){let n=Io(t,_n);throw new p(`Calendar view must be one of ${_n.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Da(e){if(!e)return;let t=e.trim().toLowerCase();if(!wn.includes(t)){let n=Io(t,wn);throw new p(`Calendar format must be one of ${wn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Xf(e,t){let n=Da(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"markdown"}function Fa(e,t){if(e===void 0)return;let n=F(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,f.USAGE)}return n}function Ma(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",f.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,f.USAGE);return t}function kt(e){return new Date(e).toISOString().slice(0,10)}function xo(e,t){if(!t||t==="UTC")return kt(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return kt(e)}function En(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function z(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function To(e){let t=new Date(En(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return z(t.toISOString(),r)}function $a(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Oa(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Na(e,t){return S(e,t)>=0?e:t}function bo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function vo(e,t){e.set(t,(e.get(t)??0)+1)}function La(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>ae(r)-ae(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Ro(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function Ao(e){return Ca[new Date(e).getUTCDay()]}function Pa(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function ja(e){let t=new Set;for(let n of e??[]){let r=Pa(n);r&&t.add(r)}return t}function Ua(e,t,n,r,i){let o=e??z(n,-(r??xa)),s=t??z(e??n,i??Ia);return{start:o,end:S(s,o)>0?s:z(o,1)}}function Ba(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Ao(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Ta,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:ja(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>ae(s)-ae(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function St(e,t){return S(t,e.startAt)<0?"continue":e.until&&S(t,e.until)>0||S(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,S(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Et(e,t){let n=Ao(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Ga(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Et(e,t)&&St(e,t)==="stop");n+=1)t=z(t,e.interval);return e.occurrences}function Ha(e,t,n){let r=ae(n),i=z(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function qa(e){let t=To(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=z(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Ha(e,r,i);if(Et(e,o)&&St(e,o)==="stop")return e.occurrences}}return e.occurrences}function Wa(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=Ro(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Et(e,s))&&St(e,s)==="stop")return e.occurrences}}return e.occurrences}function za(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=Ro(i,n,o,e.startDate);if(!(!s||!Et(e,s))&&St(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ka(e,t,n,r){let i=Ba(e,t,n,r);return t.freq==="daily"?Ga(i):t.freq==="weekly"?qa(i):t.freq==="monthly"?Wa(i):za(i)}function Do(e){return[...e].sort((t,n)=>{let r=S(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function Cn(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 Va(e){return e.deadline?{at:e.deadline,date:kt(e.deadline),kind:"deadline",reminder_text:null,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Cn(e),item_deadline:e.deadline}:null}function Xa(e){return(e.reminders??[]).map(t=>({at:t.at,date:kt(t.at),kind:"reminder",reminder_text:t.text,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Cn(e)}))}function Ya(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Qa(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Ja(e,t,n,r){let i=La(t.recurrence),o=Ya(t.start_at,t.end_at);return(t.recurrence?Ka(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):xo(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Qa(s,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Cn(e)}))}function Za(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Va(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Xa(o));for(let a of n.has("events")?o.events??[]:[])i.push(...Ja(o,a,t,r))}return Do(i)}function ec(e,t,n,r,i){let o=Ki(t.type,n),s=t.tag?.trim().toLowerCase(),a=zi(t.priority),d=Fa(t.status,r),c=t.assignee?.trim(),u=Ma(t.assigneeFilter),l=t.sprint?.trim(),m=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.',f.USAGE);if(c!==void 0&&u==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",f.USAGE);return e.filter(h=>tc(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:u,sprintFilter:l,releaseFilter:m,runtimeFieldFilters:i}))}function tc(e,t){return nc(e,t)&&rc(e,t)&&pt(e,t.runtimeFieldFilters)}function nc(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 rc(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 ic(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function vn(e,t,n){return e.trim().toLowerCase()==="today"?En(t):H(e,new Date(t),n)}function oc(e,t,n){let r=t.date?vn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?vn(t.from,n,"--from"):void 0,a=t.to?vn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",f.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",f.USAGE);if(e==="agenda")return sc(r,t,n,i,o,s,a);if(e==="day"){let c=En(r);return kn(r,n,i,o,c,z(c,1))}if(e==="week"){let c=To(r);return kn(r,n,i,o,c,z(c,7))}let d=$a(r);return kn(r,n,i,o,d,Oa(r))}function sc(e,t,n,r,i,o,s){if(i)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",f.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function kn(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Na(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function ac(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:Do(r)}))}function cc(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),vo(n,d.item_type),vo(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:bo(n),by_status:bo(r),recurring_events:a}}function dc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Fo(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Sn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function lc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===xo(e.event_end,e.event_timezone)?Fo(e.event_end,e.event_timezone):e.event_end:null}function uc(e){let t=`${Fo(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=lc(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 ko(e,t){if(t&&t.length>0){e.push("### warnings");for(let n of t)e.push(`- ${n}`);e.push("")}}function Yf(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${dc(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(`- matching-events: ${e.total_count}; returned: ${e.count}; remaining: ${e.omitted_count} (summary: ${e.summary_scope})`),e.next_cursor&&t.push(`- continue: repeat the same query with --after ${e.next_cursor}`),t.push(`- by-kind: ${Sn(e.summary.by_kind)}`),t.push(`- by-type: ${Sn(e.summary.by_type)}`),t.push(`- by-status: ${Sn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push(e.total_count===0?"No calendar events matched the selected filters.":"No calendar events returned on this page. Repeat the same query with --limit 1 or greater to retrieve matching events."),t.push(""),ko(t,e.warnings),So(t.join(`
|
|
2
|
+
`));for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${uc(r)}`);t.push("")}return ko(t,e.warnings),So(t.join(`
|
|
3
|
+
`))}function Qf(e){return Ea(e)}function So(e){let t=e.length;for(;t>0&&e[t-1]===`
|
|
4
|
+
`;)t-=1;return e.slice(0,t)}function mc(e){let t=vt("calendar",e.after),n=Aa(e.view),r=oc(n,e,t),i=q(e.limit),o=Ra(e.include),s=bn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=bn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=bn(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",f.USAGE);let c=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),u=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,l=c&&!u;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:l?Co:s,recurrenceLookbackWindowDays:l&&a===void 0?0:a,eventsOnlyCapApplied:l}}function fc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Co}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Eo(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 pc(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 Mo(e,t){let n=T(process.cwd(),t.path);await U(n);let r=mc(e),i=await A(n),o=N(i.schema),s=Q(i.schema),a=ft(e,s,"calendar"),d=R(i,E()),c=[];fc(c,r.eventsOnlyCapApplied);let u=await he(n,i.item_format,d.type_to_folder,c,i.schema),l=ec(u,e,d,o,a),m=Ua(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),h=Za(l,m,r.includeSources,r.occurrenceLimit).filter(I=>ic(I,r.rangeBounds.start,r.rangeBounds.end)),{rows:g,...y}=Me(h,{command:"calendar",after:e.after,clock:r.nowValue,limit:r.limit,query:{pmRoot:n,view:r.view,range:r.rangeBounds,filters:{...Eo(e,a),limit:void 0},recurringWindow:m,occurrenceLimit:r.occurrenceLimit}}),_=ac(g),w=[...new Set(c)].sort((I,b)=>I.localeCompare(b));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:pc(e,r.rangeBounds),filters:Eo(e,a),...y,summary_scope:"returned_rows",summary:cc(g),events:g,days:_,...w.length>0?{warnings:w}:{}}}import gc from"node:fs/promises";import No from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var In={version:1,aliases:{}};function Ct(e=[]){let t=new Set(xe),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function $o(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function xn(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 hc(e,t=xe){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,f.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,f.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,f.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function It(e,t=In,n={}){let r=xn(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 xt(e,t=In,n=xe){let r=$o(e.harness),i=$o(e.agentInstance),o=hc(e,n);return s=>{let a=xn(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[d,c]of o){let u=s.agent_provenance?.[d];if(!u||!c.has(u.value))return!1}return!0}}function Tt(e,t=In,n=xe){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);xn(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let u=c.agent_provenance?.[s];u===null?d+=1:u!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aa1ede64-e578-57da-9194-1cd646cee915")}catch{}})();var yc=20,_c=5,wc=15,bc="-24h";function fp(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 vc={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Tn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,f.USAGE);return n}function Oo(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",f.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(i,new Date(t),n)}function kc(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function $e(e,t=""){return typeof e=="string"?e:t}function Sc(e,t){return{...t,id:e,ts:$e(t.ts),author:$e(t.author,"unknown"),op:$e(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:$e(t.before_hash),after_hash:$e(t.after_hash)}}function Ec(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function Cc(e){try{return(await gc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(qr(t))return[];throw t}}function Ic(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 xc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?wc:n==="compact"?yc:_c}function Tc(e,t,n){let r=t==="digest",i=Oo(e.to??(r||e.unbounded!==!0?n:void 0),n,"--to"),o=Oo(e.from??(r?bc:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&S(o,i)>=0)throw new p("Activity --from must be before --to",f.USAGE);let s=me(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",f.USAGE);return{id:Tn(e.id,"Activity --id"),op:Tn(e.op,"Activity --op"),author:Tn(e.author,"Activity --author"),from:o,to:i,limit:xc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function Rc(e){let t=T(process.cwd(),e.path);return await U(t),{pmRoot:t,settings:await A(t)}}async function Ac(e){let t=R(e.settings,E()),n=await he(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Ri({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=No.join(e.pmRoot,"history");return await Ie({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function Dc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:kc(t,n.from,n.to)}async function Fc(e,t){let n=[];for(let r of await Cc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await te(No.join(e,r),i);for(let s of o){let a=Sc(i,s);Dc(s,a,t)&&n.push(a)}}return n}function Mc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function $c(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function Oc(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,S(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),S(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:$c(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function Nc(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function Lc(e,t,n,r,i){if(e==="digest"){let{rows:a,...d}=Me(Oc(t,r),n);return{rows:{activity_digest:a},compact:!1,page:d}}let{rows:o,...s}=Me(t,n);return e==="compact"?{rows:{compact_activity:Mc(o)},compact:!0,page:s}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,page:s}:{rows:{activity:o},compact:!1,page:s}}async function Lo(e,t){let n=await Rc(t),r=Ic(e),i=vt("activity",e.after),o=Tc(e,r,i),s=await Ac(n),a=Ct(n.settings.agent_identity.harness_signals),d=n.settings.agent_identity.identity_vocabulary,c=xt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},d,a),u=Ec(await Fc(s.historyDir,o)).filter(c),l=Lc(r,u,{command:"activity",after:e.after,clock:i,limit:o.limit,query:{pmRoot:n.pmRoot,projectionMode:r,filters:{...o,limit:void 0,limitSource:void 0},matching_activity_digest:r==="digest"?yn(u):void 0,vocabulary:d,provenanceDimensions:a}},s.itemsById,m=>It(m,d,{itemId:m.id}));return{...l.rows,compact:l.compact,projection:{mode:r,row_key:vc[r]},omission_receipt:it("activity",r),...l.page,window:{anchor:i,from:o.from??null,to:o.to??null},limit:o.limit??null,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:u.length,item_count:l.page.total_count,author_count:new Set(u.map(m=>m.author)).size,operation_counts:Nc(u)}}:{},...e.provenanceSummary===!0?{provenance_summary:Tt(u,d,a)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var Po="1970-01-01T00:00:00.000Z";function Oe(e){if(typeof e!="string")return null;let t=e.trim();if(!mi(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return H(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]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var Rn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Pc=Symbol("no-context-author"),jc=Symbol("no-item-assignee");function jo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Uc(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]),i=Number(t[3]),o=new Date(Date.UTC(n,r-1,i));return o.getUTCFullYear()===n&&o.getUTCMonth()===r-1&&o.getUTCDate()===i?o.toISOString():void 0}function Bc(e){let t=Uc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Oe(e.created_at)??Po}}function Gc(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=Oe(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 Hc(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 qc(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 Wc(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 Rt(e,t,n){return e?.[t]??n}function At(e,t){let n=new Map(e.map(c=>{let u=t.recencyEvidence?.[c.id];return[c.id,u===void 0?Bc(c):Gc(u)]})),r=[...e].sort((c,u)=>{let l=n.get(c.id).coordinate,m=n.get(u.id).coordinate;return S(m,l)||c.id.localeCompare(u.id)}),i=new Map(r.map((c,u)=>[c.id,u])),o=Math.max(e.length-1,1),s=jo(t.author,Pc),a=F("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let u=jo(c.assignee,jc)===s,l=(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-i.get(c.id)/o,activity_density:t.activityDensity?.[c.id],graph_proximity:Rt(t.graphProximity,c.id,c.parent?.3:0),claim_focus:Rt(t.claimFocus,c.id,C(c.status,t.statusRegistry)===a?1:u?.75:0),priority_pressure:Hc(c.priority,4),risk_pressure:Wc(c.risk),deadline_pressure:qc(c.deadline,d),knowledge_density:Rt(t.knowledgeDensity,c.id,Math.min(l/5,1)),author_affinity:Rt(t.authorAffinity,c.id,u?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var zc="context_relevance",Kc={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},Vc=new TextEncoder;function Xc(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!Rn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Yc(e){let t={...Kc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Rn.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 Bo(e,t={}){Xc(e);let n=Yc(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&i.add(d);let o=Rn.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},u={},l=0,m=0;for(let h of o){let g=c[h];if(g===void 0)continue;let y=g*n[h];u[h]=y,l+=y,m+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:m===0?0:l/m,contributions:u}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function Qc(e,t={}){let n=Bo(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function Dt(e,t,n={}){let r=Bo(t,n),i=await ei(zc,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await Qc(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var Jc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Uo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Zc(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,u)=>u-c).slice(0,n.length||1),i=c=>c.reduce((u,l,m)=>u+(2**l-1)/Math.log2(m+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:Uo(e.required_ids??[],a),continuity_coverage:Uo(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function ed(e){return Math.ceil(Vc.encode(JSON.stringify(e)).byteLength/4)}function td(e){return Math.round(e*1e4)/1e4}function nd(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function rd(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"});if(si(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new p(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,f.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=nd(n,e.surface),o={...n,ranking:void 0},s=ed(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Zc({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function id(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Jc;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,td(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function Ep(e,t,n){let r=[];for(let i of e)r.push(await rd(i,t));return id(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var od={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},sd=["identity","summary","full"];function ad(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=sd.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 cd(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=od[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function dd(e){let t=new Set;for(let n of e){if(ad(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 ld(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=o<0?void 0:e[o],u=n(d)/d.token_costs.identity,l=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(u>l||u===l&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function ud(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let u=c.lineage??c.cluster,l=u&&t.has(u)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*l)},o=c=>{let u=c.token_costs.identity;n.push({...c,projection:"identity",tokens:u,marginal_value:i(c)}),r-=u;let l=c.lineage??c.cluster;l&&t.add(l)};for(let c of e.ordered.filter(u=>u.required))c.token_costs.identity<=r&&o(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=ld(s,r,i,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;o(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function md(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[i],c=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function Go(e,t){let n=cd(t),r=dd(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=ud({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=md(a,s.remaining);a.sort((u,l)=>u.rank-l.rank||u.id.localeCompare(l.id));let c=new Set(a.map(u=>u.id));return{included:a,omitted_ids:r.filter(u=>!c.has(u.id)).map(u=>u.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,complete:s.selectionComplete&&a.length===e.length&&a.every(u=>u.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 Ne from"node:fs/promises";import Le from"node:path";import{createHash as Ho,randomUUID as fd}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]="179e487f-baf9-59d1-a438-3ae0c12b00eb")}catch{}})();var An=3,Dn=2,qo=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],pd=new Set(["substantive_history","release_cohort","created_at"]),hd={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 ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Wo(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function gd(e){let t={};for(let n of qo){let r=e[n];if(r!==void 0){if(!Wo(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function yd(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function _d(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function zo(e,t){return{...t,activityDensity:t.activityDensity??yd(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??_d(e)}}function $n(e){let t=Ho("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((i,o)=>i.id.localeCompare(o.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function wd(e){if(!ge(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",ge(e.signals),ge(t)].every(Boolean))return null;let n=t.recency;if(!ge(n))return null;let r=Oe(n.coordinate);if(r===null)return null;let i=new Set(qo),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Wo(a))||![typeof n.source=="string"&&pd.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(o),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function bd(e,t){let n=Array.from(e,wd);if(n.some(i=>i===null))return null;let r=n;return new Set(r.map(i=>i.id)).size!==r.length||r.some(i=>i.id.trim().length===0)||t!==$n(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function vd(e){if(!ge(e)||e.format_version!==An||e.signal_set_version!==Dn||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=bd(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:An,signal_set_version:Dn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function Ko(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 Vo(e,t,n=$n(e)){let r=e.map(({id:o})=>o);if(new Set(r).size!==r.length||r.some(o=>o.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let i=e.map(({id:o,signals:s,signal_provenance:a})=>({id:o,signals:gd(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:An,signal_set_version:Dn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(i.map(o=>Object.freeze(o)))})}function Op(e,t){return Ko(t),Vo(At(e,zo(e,t)),t)}var Fn=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=Le.resolve(t)}async read(){try{return JSON.parse(await Ne.readFile(this.filePath,"utf8"))}catch(t){if(ge(t)&&et(t))return null;throw t}}async write(t){let n=Le.dirname(this.filePath);await Ne.mkdir(n,{recursive:!0});let r=Le.join(n,`.${Le.basename(this.filePath)}.${fd()}.tmp`);try{await Ne.writeFile(r,`${JSON.stringify(t)}
|
|
5
|
+
`,{encoding:"utf8",flag:"wx"}),await Ne.rename(r,this.filePath)}finally{try{await Ne.rm(r,{force:!0})}catch{}}}},Mn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Ko(n);let r=[],i=null;try{let m=await this.adapter.read();i=vd(m),m!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(m=>m.id).sort((m,h)=>m.localeCompare(h)),s=i?.items.map(m=>m.id)??[],a=At(t,zo(t,n)),d=$n(a),c=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===d&&i.source===n.source&&s.length===o.length&&s.every((m,h)=>m===o[h]),u;if(c&&i!==null)u=i;else{u=Vo(a,n,d);try{await this.adapter.write(u)}catch{r.push("context_signal_store_write_failed")}}let l=new Map(u.items.map(m=>[m.id,m]));return{snapshot:u,candidates:a.map(m=>({...m,signals:{...m.signals,...l.get(m.id)?.signals},signal_provenance:l.get(m.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(m=>hd[m])}}};function kd(e){let t=Ho("sha256");for(let n of[...e].sort((r,i)=>r.id.localeCompare(i.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 Ft(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 i=n?null:await ht(t.pmRoot),o=t.sourceCursor??i?.source_cursor??kd(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Mn(new Fn(Le.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await Ei(t.pmRoot,e.map(c=>c.id))).map(([c,u])=>[c,{source:"substantive_history",coordinate:u.entry.ts,history_op:u.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:d,sourceCursor:o,source:s})}import Sd from"node:path";import{createHash as Ed}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Xo(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 Cd from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var Yo=1,Id=1e4,Qo=12;function xd(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Td(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let i=t.get(r);if(!i)return;if(i.type.toLowerCase()==="epic")return i;r=i.parent}}function Rd(e){let t=[...e.items].sort((i,o)=>o.completion.timestamp.localeCompare(i.completion.timestamp)||i.item.id.localeCompare(o.item.id)),n=new Set,r=0;for(let{item:i}of t){let o=i.resolution??i.close_reason;o?.trim()&&n.add(o.trim()),r+=(i.notes?.length??0)+(i.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:i,title:o}})=>({id:i,title:o})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function Ad(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(o=>t.statusRegistry.terminal_done_statuses.has(C(o.status,t.statusRegistry))).map(o=>{let s=Xo(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,d=xd(a.timestamp),c=`epoch:${d}`,u=i.get(c)??{kind:"epoch",key:d,label:d,items:[]};u.items.push(o),i.set(c,u);let l=Td(s,r);if(l){let m=`epic:${l.id}`,h=i.get(m)??{kind:"epic",key:l.id,label:l.title,items:[]};h.items.push(o),i.set(m,h)}}return{format_version:Yo,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((o,{completion:s})=>(o[s.source]+=1,o),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...i.values()].map(Rd).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function Dd(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 Fd(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(i=>typeof i=="string"&&i.length>0),r=[t.first_closed_at,t.last_closed_at].every(i=>typeof i=="string"&&Number.isFinite(Date.parse(i)));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(Dd)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Md(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Yo||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(Fd)?t:null}function $d(e){return`scan:${Ed("sha256").update(rt(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function Od(e,t,n){return n!==void 0?n:(await ht(t))?.source_cursor??$d(e)}async function Nd(e){try{let t=Md(JSON.parse(await Cd.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&et(t))}}}async function Mt(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Id));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await Od(e,t.pmRoot,t.sourceCursor),i=Sd.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Nd(i),a=s.snapshot;if(s.invalid&&o.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:o};a&&o.push("workspace_memory_stale");let d=Ad(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Wr(i,`${JSON.stringify(d)}
|
|
6
|
+
`)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function Ld(e,t,n=Qo){let r=Math.max(0,Math.floor(t)),i=0,o=[];for(let s of e.rollups){if(o.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);i+a>r||(o.push(s),i+=a)}return o}function Jo(e,t,n=Qo){if(e.snapshot===null)return;let r=Ld(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 Pd(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(i=>({rollup:i,score:r.filter(o=>[i.key,i.label,...i.outcomes,...i.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(o)).length})).filter(({score:i})=>i>0).sort((i,o)=>o.score-i.score||o.rollup.last_closed_at.localeCompare(i.rollup.last_closed_at)||i.rollup.key.localeCompare(o.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:i})=>i)}function Zo(e,t,n=5){let r=Pd(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]="4596ea7d-70be-5d61-bccb-66989e1555c0")}catch{}})();var jd=["markdown","toon","json","ndjson"],Nt=new Set(["Epic","Feature"]),Nn=10,is=1e4,os=["hierarchy","activity","progress","recently_created","unparented","workload"],Ud=[...os,"blockers","files","staleness","tests"],Bd=/^(\d{4})-(\d{2})-(\d{2})/,Gd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Hd=/^(\d{4})(\d{2})(\d{2})$/,qd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Wd(e){if(!e)return;let t=e.trim().toLowerCase();if(!jd.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",f.USAGE);return t}var es=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 zd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!es.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...es].join(", ")})`,f.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",f.USAGE);return t}function Pe(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function fh(e,t){let n=Wd(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Kd(e,t){return q(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Nn)}function Ln(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",f.USAGE);return n}function Vd(e,t){return t>=is&&e===Number.MAX_SAFE_INTEGER?Nn:e}function Xd(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!tn.includes(n))throw new p(`Context --depth must be one of ${tn.join("|")}`,f.USAGE);return n}function Yd(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!Ze.includes(o))throw new p(`Context --section must be one of ${Ze.join("|")}`,f.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...Ze]:(t==="deep"?Ud:os).filter(r=>n.sections[r])}function Qd(e,t){return e?q(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Jd(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)",f.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new p("--stale-threshold must be positive",f.USAGE);return i}function ts(e,t){let n=C(e,t),r=F("blocked",t),i=F("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:i&&n===i?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function je(e,t){let n=F("closed",t);return C(e,t)===n}function Pn(e,t){return C(e,t)===t.in_progress_status}function ss(e,t){let n=C(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Zd(e,t){return t.blocked_statuses.has(C(e,t))}var el=["compact","brief","fields","includeBody","include_body","parent"];function tl(e){let t={...e};for(let n of el)delete t[n];return t}function jn(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=ye(e),o=Ue(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function nl(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",f.USAGE);return t}function rl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function il(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:S(n,r)}function ol(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function sl(e){let t=Bd.exec(e)??Gd.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),i=Number.parseInt(t[3],10);return r>=1&&r<=12&&i>=1&&i<=ol(n,r-1)}function al(e){let t=Hd.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=qd.exec(e);if(n){let[,r,i,o,s,a,d,c]=n,u=d?`:${d}`:"",l=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${i}-${o}T${s}:${a}${u}${l}`}return e}function as(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!sl(t))return Number.NaN;let n=Date.parse(al(t));return Number.isFinite(n)?n:Number.NaN}function On(e){let t=as(e);return Number.isFinite(t)?new Date(t).toISOString():""}function cl(e){let t=as(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Un(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ne(e,t,n){let r=ts(e.status,n)-ts(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=rl(e.order,t.order);if(o!==0)return o;let s=il(e.deadline,t.deadline);if(s!==0)return s;let a=S(On(t.updated_at),On(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function $t(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function Bn(e,t,n=new Set,r="context"){return Go(e.ranked.map(i=>({id:i.id,item:i.item,rank:i.rank,score:i.score,required:n.has(i.id),cluster:i.item.parent?.trim()||i.item.type,token_costs:{identity:$t({id:i.id,title:i.item.title}),summary:$t({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:$t(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function Gn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Hn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions,...i.signal_provenance===void 0?{}:{recency:i.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 Ot(e,t){return t>0?Math.round(e*100/t):0}function ye(e){let t=new Map;for(let n of e){let r=Un(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Be(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:Un(e.parent)};if(t&&n){let i=Ue(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>je(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Ot(s,o)}}return r}function dl(e){let t=0,n=0,r=0,i=new Set;for(let o of e){if(i.add(o.item_id),o.kind==="deadline"){t+=1;continue}if(o.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:i.size,deadlines:t,reminders:n,scheduled:r}}function Lt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function ll(e,t){return e.filter(n=>!t.terminal_statuses.has(C(n.item_status,t)))}function ul(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=ye(e),s=new Set(t.filter(d=>Nt.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=i.get(d);if(!c)continue;let u=Ue(d,o),l=o.get(d)??[],m=0,h=0,g=0,y=0;for(let w of u)je(w.status,n)?m++:Pn(w.status,n)?g++:Zd(w.status,n)?y++:ss(w.status,n)&&h++;let _=l.sort((w,I)=>ne(w,I,n)).slice(0,r).map(w=>{let I=Ue(w.id,o),b=I.filter(k=>je(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:I.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:u.length,children_closed:m,children_open:h,children_in_progress:g,children_blocked:y,children:_})}return a.sort((d,c)=>{let u=i.get(d.id),l=i.get(c.id);return ne(u,l,n)}).slice(0,r)}function Ue(e,t){let n=[],r=[e],i=new Set;for(;r.length>0;){let o=r.pop();if(i.has(o))continue;i.add(o);let s=t.get(o)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function ml(e,t){return(await Lo({compact:!0,limit:String(e)},t)).compact_activity??[]}function fl(e,t,n,r,i){let o=new Map;for(let d of e){if(!d.parent)continue;let c=o.get(d.parent)??[];c.push(d),o.set(d.parent,c)}let s=t.filter(d=>Nt.has(d.type)),a=[];for(let d of s){let c=Ue(d.id,o),u=c.length;if(u===0)continue;let l=0,m=0,h=0,g=0;for(let y of c)je(y.status,r)?l++:n.has(y.id.trim().toLowerCase())?g++:Pn(y.status,r)?h++:ss(y.status,r)&&m++;a.push({id:d.id,title:d.title,type:d.type,total:u,closed:l,open:m,in_progress:h,blocked:g,completion_pct:Ot(l,u)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function pl(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=mn(o,i,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function hl(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function gl(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>Pn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function yl(e,t,n,r){let i=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(o=>new Date(o.updated_at).getTime()<i).map(o=>({id:o.id,title:o.title,status:o.status,updated_at:o.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(o.updated_at).getTime())/(1440*60*1e3))})).sort((o,s)=>s.stale_days-o.stale_days).slice(0,r)}function _l(e,t,n,r){return e.map(i=>({item:i,sortKey:On(i.created_at)})).sort((i,o)=>{let s=S(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...Be(i,t,n),created_at:i.created_at}))}function wl(e,t,n,r){return e.filter(i=>!Un(i.parent)&&!Nt.has(i.type)).sort((i,o)=>ne(i,o,t)).slice(0,r).map(i=>Be(i,t,n))}function bl(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let u of d)r+=u.passed??0,i+=u.failed??0,o+=u.skipped??0,(u.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{scope:"matching_active_items",total_items:e.length,items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function ns(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function cs(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",i=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}%`:"",o=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${i}${o} ${e.title}`}function vl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function kl(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`${ns(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${ns(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 rs(e,t,n,r,i){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let o of n)e.push(`- ${i(o)}`);e.push("")}function Sl(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 El(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(`- ${kl(n)}`);e.push("")}function Cl(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=Ot(n.children_closed,n.children_total);e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=Ot(i.children_closed,i.children_total);e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function Il(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 xl(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${cl(i.created_at)} ${cs(i)}`);e.push("")}}function Tl(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 Rl(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 Al(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:-",i=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",o=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${i}${o}`)}e.push("")}}function Dl(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 Fl(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 Ml(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 $l(e,t,n){let r=[],i=0;for(let o of e.items_failing){if(r.length>=t)break;let s=$t(o);if(i+s>n)break;r.push(o),i+=s}return r}function Ol(e,t){if(!t.tests)return;e.push("## Test health"),e.push(`- ${t.tests.scope}: ${t.tests.total_items}`),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}`);let n=$l(t.tests,t.applied_limit??Nn,t.filters.token_budget);n.length>0&&e.push(`- items_failing: [${n.join(",")}]`);let r=t.tests.items_failing.length-n.length;r>0&&e.push(`- items_failing_omitted: ${r}`),e.push("")}function Nl(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 ph(e){let t=[],n=e.focus_fields,r=o=>n?vl(o,n):cs(o);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 o=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${o.length>0?` (${o.join(", ")})`:""}`)}let i=e.sections_included.filter(o=>o!=="blockers"||(e.blockers?.length??0)>0);if(i.length>0&&t.push(`- sections: ${i.join(", ")}`),t.push(""),rs(t,"High-level focus",e.high_level,"No high-level active items.",r),rs(t,"Low-level focus",e.low_level,"No low-level active items.",r),Sl(t,e,r),El(t,e),e.workspace_memory){t.push("## Workspace memory");for(let o of e.workspace_memory.rollups)t.push(`- ${o.kind}:${o.key} \u2014 ${o.label} (${o.item_count} completed, latest ${o.last_closed_at})`);t.push("")}return Cl(t,e),Il(t,e),xl(t,e,n,r),Tl(t,e,r),Rl(t,e),Al(t,e),Dl(t,e),Fl(t,e),Ml(t,e),Ol(t,e),Nl(t,e),t.join(`
|
|
7
|
+
`)}var Ll=new Set(["status","no_truncate","limit","sort","order"]);function Pl(e){let{runtime_filters:t,...n}=e;return Object.keys(n).some(r=>!Ll.has(r))||Object.keys(Object(t)).length>0}async function jl(e,t){return Pl(t.filters)?(await B(void 0,ds({},{excludeTerminal:!1}),e)).items:t.items}async function Ul(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=r.context??Gr.context,o=N(r.schema),s=Xd(e.depth,i),a=Kd(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Yd(e.section,s,i),activityLimit:Qd(e.activityLimit,i),staleThresholdDays:Jd(e.staleThreshold,i),parentScope:nl(e.parent),focusFields:zd(e.fields),baseListOptions:tl(e)}}function Bl(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function ds(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Gl(e,t){let n=await B(void 0,ds(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=await jl(e,n),o=r.filter(d=>!J(d.status,t.statusRegistry)),s=r,a=Hl(t.parentScope,i);return a&&(o=o.filter(d=>a.has(d.id.trim().toLowerCase())),s=s.filter(d=>a.has(d.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:s,fullCorpus:r,edgeCorpus:i,subtreeIds:a}}function Hl(e,t){if(e===void 0)return;let n=jn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,f.NOT_FOUND);return n.ids}function ql(e,t,n,r){let i=new Set(bt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>Nt.has(o.type)||i.has(o.id)||Te(o.type,r)!=="agent").map(o=>o.id))}async function Wl(e,t,n,r,i,o,s,a,d,c,u,l,m,h,g,y){let _=[...e].sort((v,Ee)=>ne(v,Ee,i)),w=await lt({pmRoot:m,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),I=await Ft(_,{pmRoot:m,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:w.affinity,claimFocus:g}),b=await Dt("context",I.candidates),k=b.ranked.map(v=>v.item),G=i.active_statuses,M=k.filter(v=>G.has(C(v.status,i))),ie=l?ui(M,c,u,v=>v.id):0,L=l?M.slice(ie,ie+s):M,oe=l&&L.length>0&&ie+L.length<M.length,Ye=oe&&L.length>0?ai(u,L[L.length-1].id,ie+L.length-1):void 0,Jt=k.filter(v=>r.has(v.id.trim().toLowerCase())),Zt=new Set([...L.map(v=>v.id),...Jt.filter(v=>!G.has(C(v.status,i))).slice(0,s).map(v=>v.id)]),Qe=Bn({...b,ranked:b.ranked.filter(v=>Zt.has(v.id))},h,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),V=Qe.included.map(v=>v.item),X=V.filter(v=>G.has(C(v.status,i))),se=V.filter(v=>r.has(v.id.trim().toLowerCase())),Z=ye(t),ke=Bl(o)?Z:void 0,Se=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),Y=v=>{let Ee=Be(v,i,ke);return r.has(v.id.trim().toLowerCase())&&(Ee.blocked=!0,Ee.blocker_ids=mn(v,Se,i).filter(en=>!en.resolved).map(en=>en.id)),Ee},Je=ql(X,n,i,y),$=X.filter(v=>Je.has(v.id)).slice(0,l?L.length:s).map(Y),O=X.filter(v=>!Je.has(v.id)).slice(0,l?L.length:s).map(Y),jr=M.length===0;return{activeItems:X,blockedItems:se,highLevel:$,lowLevel:O,blockedFallback:jr?se.slice(0,s).map(Y):[],blockedFallbackUsed:jr,ranking:b,packing:Qe,featureStore:I,pageExtras:{...l?{applied_limit:s}:{},...oe?{has_more:!0,truncated:!0}:{},...Ye?{next_cursor:Ye}:{}}}}function zl(e,t){return ue("context",{pmRoot:t,options:ot(e,Jr)})}function Kl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=is}async function Vl(e,t,n,r){let i={...t.baseListOptions,after:void 0,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await Mo(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=ll(s,t.statusRegistry).slice(0,t.limit),d=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:o,agendaEvents:d,agendaSummary:dl(a)}}function ls(e,t,n){let r=String(t);return e.filter(i=>C(i.status,n)===r).length}async function Xl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=ye(n),c=n.filter(l=>!J(l.status,t.statusRegistry)),u=l=>t.sectionsIncluded.includes(l);return{hierarchy:u("hierarchy")?ul(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:u("activity")?await ml(t.activityLimit,a):void 0,progress:u("progress")?fl(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:u("blockers")?pl(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:u("recently_created")?_l(c,t.statusRegistry,d,t.limit):void 0,unparented:u("unparented")?wl(c,t.statusRegistry,d,t.limit):void 0,filesSection:u("files")?hl(o.activeItems,t.limit):void 0,workload:u("workload")?gl(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:u("staleness")?yl(c,t.staleThresholdDays,s,t.limit):void 0,tests:u("tests")?bl(n.filter(l=>t.statusRegistry.active_statuses.has(C(l.status,t.statusRegistry)))):void 0}}function Yl(e,t,n){let r=F("canceled",t),i=e.filter(s=>t.active_statuses.has(C(s.status,t))),o=ls(i,t.in_progress_status,t);return{scope:"matching_items",active_items:i.length,open:i.length-o,in_progress:o,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>je(s.status,t)).length,canceled:e.filter(s=>C(s.status,t)===r).length}}function Ql(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 Jl(e,t){t&&(e.focus_fields=t,e.high_level=Pe(e.high_level,t),e.low_level=Pe(e.low_level,t),e.blocked_fallback=Pe(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Pe(e.recently_created,t)),e.unparented&&(e.unparented=Pe(e.unparented,t)))}function Zl(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let o of n)delete o.tags,delete o.tags_inherited;return}let r=new Map(n.map(o=>[o.id,o])),i=new Map(n.map(o=>[o.id,o.tags?[...o.tags].sort().join("\0"):void 0]));for(let o of n){if(!o.parent||!o.tags)continue;let s=r.get(o.parent);s&&i.get(o.id)===i.get(s.id)&&(delete o.tags,o.tags_inherited=s.id)}}function eu(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 tu(e,t,n,r){try{let i=new Set(t.packing.included.map(d=>d.id)),o=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:i.has(d.id)})),s=new Set(o.map(d=>d.id));for(let d of ct(e,"context"))s.has(d)||(o.push({id:d,rank:o.length+1,included:!1}),s.add(d));let a=await dt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});at(e,a)}catch{e.warnings=Lt(e.warnings,["context_usage_feedback_write_failed"])}}async function nu(e,t,n){if(e)return{};let r=(await Xr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(o=>({name:o.name??o.directory,status:o.status==="ok"?"ok":"degraded"})).sort((o,s)=>o.name.localeCompare(s.name)),i=r.filter(o=>o.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-i,degraded:i,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function ru(e,t){let n=Si(),r=await _i(e),i=n.instance||wi(t);return yo(r.semantic_attribution?.[i])}async function hh(e,t){let n=T(process.cwd(),t.path),r=await Ul(e,t),i=await Gl(t,r),o=Vd(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Ln(e.tokenBudget,Math.max(256,o*160))},a=ee(void 0,s.settings.author_default),d=await ru(n,a),c=nu(e.noExtensionHealth===!0,n,s.settings),u=qi(i.edgeCorpus,s.statusRegistry),l=await Wl(i.listedItemMetadata,i.allItems,i.edgeCorpus,u,s.statusRegistry,s.sectionsIncluded,s.limit,D(),a,e.after,zl(e,n),Kl(e,i.fullCorpus.length),n,s.tokenBudget,d,R(s.settings,E())),m=await Vl(t,s,i.subtreeIds,new Set([...l.highLevel,...l.lowLevel,...l.blockedFallback].map(k=>k.id))),h=await Mt(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Lt(i.listed.warnings,m.agenda.warnings,l.ranking.warnings,[...l.featureStore.warnings],h.warnings),y=ls(l.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),_=l.activeItems.length-y,w=await Xl({runtime:s,allItems:i.allItems,fullCorpus:i.edgeCorpus,blockedIds:u,focusGroups:l,now:m.agenda.now,global:t}),I=Yl(i.allItems,s.statusRegistry,u),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??m.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:l.activeItems.length,in_progress:y,open:_,blocked:l.blockedItems.length},blocked_fallback_used:l.blockedFallbackUsed,high_level:l.highLevel.length,low_level:l.lowLevel.length,agenda_events:m.agendaSummary.events,...I},high_level:l.highLevel,low_level:l.lowLevel,blocked_fallback:l.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...l.pageExtras};return b.workspace_memory=Jo(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),Ql(b,w,l.featureStore.warning_details),Zl(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Hn(l.ranking,l.featureStore,new Set([...l.highLevel,...l.lowLevel,...l.blockedFallback].map(k=>k.id))),b.packing=Gn(l.packing)),ri(b,[...l.highLevel,...l.lowLevel,...l.blockedFallback].map(k=>({id:k.id,status:C(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),Jl(b,s.focusFields),ii(b),g.length>0&&(b.warnings=g),eu(b,l.activeItems,l.blockedItems),await tu(b,l,n,a),b}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function us(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(cn(r,"json"),cn(r,"toon")),o=r.ready.length+ +(r.recommended!==null),s=i(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=i()),s>t&&a<=t){let l=0,m=d.length;for(;l<m;){let h=Math.ceil((l+m)/2);r.ready=d.slice(0,h),i()<=t?l=h:m=h-1}r.ready=d.slice(0,l),a=i()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=i()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let u=o-r.ready.length-+(r.recommended!==null);n&&u===0&&a<=t||(e.truncation={...e.truncation,...u>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:u,recommendation_omitted:c,restore_budget_tokens:s}},c&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b01faffe-d88f-5095-8d28-167943ec5067")}catch{}})();var iu=["markdown","toon","json"],ou=5,su=1440*60*1e3;function au(e,t){let n=e??t;if(typeof n=="string"&&Fe.includes(n))return n;throw new p(`Unknown next ranking policy ${JSON.stringify(n)}. Accepted values: ${Fe.join(", ")}.`,f.USAGE,{code:"invalid_argument_value",value:String(n),recovery:{allowed_values:[...Fe]}})}function cu(e){if(!e)return;let t=e.trim().toLowerCase();if(!iu.includes(t))throw new p("Next format must be one of markdown|toon|json",f.USAGE);return t}function Dh(e,t){let n=cu(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"toon"}function ms(e,t,n){let r=q(e,t);return r===void 0||r<=0?n:r}function Ge(e,t,n,r){return{...Be(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(i=>({id:i.id,title:i.title,status:i.status,...i.external?{external:!0}:{},...i.blocked_since?{blocked_since:i.blocked_since}:{},...i.external?{resolver:i.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function du(e,t,n,r){let i=e.item,o=[],s=F("in_progress",t);return o.push(C(i.status,t)===s?"resume work":"ready"),r&&o.push("completed container \u2014 governance closeout"),o.push(`p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(lu(i.deadline,n)),o.push(Re(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s)`),o}function fs(e,t,n){let r=ee(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var Fh={partitionCallerOwnedReady:fs,resolveNextCallerAuthor:(e,t)=>ps(e,t)};function Mh(e,t,n){let r=e.filter(i=>Te(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Te(i.item.type,n)!=="human"),decisions:t?[]:r}}function lu(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),i=new Date(Date.parse(t)).toISOString().slice(0,10),o=Math.round((Date.parse(r)-Date.parse(i))/su);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function uu(e,t){let n=F("in_progress",t);return e.filter(r=>C(r.status,t)===n).length}function qn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function mu(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 Pt(e,t,n){return[...e].sort((r,i)=>{let o=qn(r.item,t),s=qn(i.item,t);return o!==s?Number(o)-Number(s):ne(r.item,i.item,n)})}function fu(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:[...du(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer),...e.policyReason?[e.policyReason]:[]]}}function pu(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 i=t.find(o=>o.blockers.length>0);return[...r,i?`${t.length} item(s) are blocked; unblock the top one by closing ${i.blockers.map(o=>o.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 hu(e,t,n,r){let i={};return e>r&&(i.decision_needed_total=e),t>r&&(i.held_by_others_total=t),n>r+1&&(i.ready_total=n),Object.keys(i).length>0?i:void 0}async function gu(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(o=>o.id)]),n=e.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:t.has(o.id)})),r=new Set(n.map(o=>o.id));for(let o of ct(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await dt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});at(e.result,i)}catch{e.result.warnings=Lt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function yu(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.result.suggestions=pu(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==null&&us(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Hn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=Gn(Bn(e.readyRanking,e.packingBudget,new Set,"next"))),await gu({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function _u(e,t,n){if(!n)return e;let r=jn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,f.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function wu(e,t,n,r,i,o,s,a){let d=e.filter(y=>!qn(y.item,t)),c=s||d.length===0?e:d,u=await lt({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await Ft(c.map(y=>y.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:u.affinity}),m=await Dt("next",l.candidates),h=_o(m.ranked,n,a,m.model),g=new Map(c.map(y=>[y.item.id,y]));return{projectedReady:m.ranked.map(y=>g.get(y.id)).filter(y=>y!==void 0),ranking:m,completedContainer:d.length===0&&!s,featureStore:l,relevanceRank:h}}function ps(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}function bu(e,t){return e.tokenBudget===void 0?null:t}async function $h(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=ps(e,r.author_default),o=N(r.schema),s=au(e.rankingPolicy,r.context.next_ranking_policy),a=R(r,E()),d=D(),c=ms(e.limit,"--limit",ou),u=Ln(e.tokenBudget,Math.max(192,c*128)),l=bu(e,u),m=ms(e.blockedLimit,"--blocked-limit",c),h=e.readyOnly===!0,g=typeof e.parent=="string"?e.parent.trim():"",y=await B(void 0,mu(e,{excludeTerminal:!0}),t),_=await B(void 0,{excludeTerminal:!1,noTruncate:!0},t),w=_u(y.items,_.items,g),I=_.items,b=bt(w,I,o,a),k=ye(I),G=Wi(b,o,e,a),M=fs(G.ready,r.author_default,i),ie=Pt(M.available,k,o),L=[...b.blocked].sort(($,O)=>ne($.item,O.item,o)),{projectedReady:oe,ranking:Ye,completedContainer:Jt,featureStore:Zt,relevanceRank:Qe}=await wu(ie,k,o,d,i,n,e.includeContainers===!0,s),V=oe.map(($,O)=>Ge($,o,k,O+1)),X=L.map(($,O)=>Ge($,o,k,O+1)),se=Pt(G.decisions,k,o).map(($,O)=>Ge($,o,k,O+1)),Z=Pt(G.gates,k,o).map(($,O)=>Ge($,o,k,O+1)),ke=Pt(b.containers,k,o).map(($,O)=>Ge($,o,k,O+1)),Se=fu({projectedReady:oe,readyRows:V,statusRegistry:o,now:d,completedContainer:Jt,policyReason:wo(oe,Qe,o,s)}),Y=hu(se.length,M.held.length,V.length,c)??{};Z.length>c&&(Y.gate_needed_total=Z.length),ke.length>c&&(Y.containers_total=ke.length);let Je={output_default:"toon",now:d,recommended:Se,ready:V.slice(1,c+1),decision_needed:se.slice(0,c),gate_needed:Z.slice(0,c),containers:ke.slice(0,c),blocked:h?[]:X.slice(0,m),held_by_others:M.held.slice(0,c),summary:{recommended:Se!==null,ready:V.length,blocked:X.length,in_progress:uu(V,o),candidates:b.active_count,containers:b.container_count,decision_needed:se.length,gate_needed:Z.length,held_by_others:M.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:g.length>0?g:null,limit:c,blocked_limit:m,ready_only:h,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:l,ranking_policy:s},truncation:Object.keys(Y).length>0?Y:void 0};return yu({result:Je,recommended:Se,blockedRows:X,gateCount:Z.length,candidatesWarnings:y.warnings,corpusWarnings:_.warnings,readyRanking:Ye,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:u,featureStore:Zt,tokenBudget:l,hasIntentBudget:typeof e.for=="string"})}function Oh(e){let t=["# pm next","",...vu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...He(n,r.map(i=>`- ${qe(i)}`),""));if(t.push(...He("Recommended",ku(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...He("Decision needed",(e.decision_needed??[]).map(n=>`- ${qe(n)}`),"No human-gated decisions.")),t.push(...He("Ready",e.ready.map(n=>`- ${qe(n)}`),"No ready items.")),e.filters.ready_only||t.push(...He("Blocked",e.blocked.map(n=>`- ${Su(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 vu(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 ku(e){return e?[`- ${qe(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function He(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Su(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${qe(e)} blocked_by:${t}`}function qe(e){let t=e.deadline??"-",n=e.parent?` parent:${e.parent}`:"",r=e.unblocks.length>0?` unblocks:${e.unblocks.length}`:"";return`${Number.isInteger(e.rank)?`#${e.rank} `:""}${e.id} p${e.priority} ${e.status} ${e.type} deadline:${t}${n}${r} ${e.title}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var Eu=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],Cu=["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 Iu(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Lh(e,t,n={}){let r=n.includePagination!==!1;return[t,...Eu.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(Iu)||Cu.some(i=>e?.[i]===!0)}function hs(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var gs=["parent","type","priority","status","assignee","tags","sprint","release"];function _s(e,t){let n=mt(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function ws(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new p("Aggregate --sum and --avg must target the same numeric field",f.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,f.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function bs(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",f.USAGE);let n=Hi(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",f.USAGE);for(let r of n)if(!gs.includes(r))throw new p(`Aggregate group fields must be one of ${gs.join("|")}; received "${r}"`,f.USAGE);return n}function vs(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 ks(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 vs(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Ss(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 jt(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var xu={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function ys(e,t){return t==null||t===""?xu[e]:String(t)}function Tu(e,t){return e.length===1?ys(e[0],t[e[0]]):e.map(n=>`${n}=${ys(n,t[n])}`).join(" | ")}function Es(e,t,n){for(let r of n){let i=Ss(e.group[r],t.group[r]);if(i!==0)return i}return 0}function Cs(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let i=Number(r);if(Number.isFinite(i))return i}return null}function Is(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Wn(e,t,n){let r=F(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 Ru(e,t){return{row:{group:e,count:1},numeric_count:t===null?0:1,numeric_sum:t??0,null_count:t===null?1:0,open_count:0,in_progress_count:0,closed_count:0,other_count:0}}function Au(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Du(e){e.accumulator.row.count+=1,e.includeCompletion&&Wn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Au(e.accumulator,e.numericValue)}function Fu(e,t,n,r){for(let i of t){let o=jt(n,i),s=e.get(o);if(s){Du({...r,accumulator:s});continue}let a=Ru(i,r.numericValue);r.includeCompletion&&Wn(a,r.item.status,r.statusRegistry),e.set(o,a)}}function Mu(e,t){let n={};for(let r of e)n[r]=ks(r,t);return n}function $u(e,t,n){let r=[Mu(e,t)];if(n==="tuple")return r;for(let i of e){let o=t[i];if(!Array.isArray(o))continue;let s=[...new Set(o.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[i]:d}))))}return r}function Ou(e,t,n,r){let i={...e.row,group_label:Tu(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=Is(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function Nu(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 Hh(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",f.USAGE);let n=T(process.cwd(),t.path),r=await A(n),i=N(r.schema),o=["estimate","estimated_minutes","priority",...Q(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=bs(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",f.USAGE);let d=_s(e.status,i),c=ws(e,[...new Set(o)].sort((b,k)=>b.localeCompare(k))),u=e.completion===!0,l=e.includeUnparented===!0,m=await B(void 0,{...hs(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,g=0,y=0,_=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!l){g+=1;continue}let G=c===null?null:Cs(k,c.field),M=$u(s,k,a);Fu(h,M,s,{item:k,statusRegistry:i,includeCompletion:u,numericAggregation:c,numericValue:G}),_+=M.length,y+=1}let w=[...h.values()].map(b=>Ou(b,s,u,c)).sort((b,k)=>Es(b,k,s)),I=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...Lu(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:y,items_skipped_unparented:g,group_memberships:_},filters:Nu({groupBy:s,setMode:a,includeCompletion:u,includeUnparented:l,status:d,options:e,numericAggregation:c}),now:D(),...I?{warnings:I}:{}}}function Lu(e,t,n){let r=lo(n.limit,"limit")??50,i=n.after===void 0?-1:e.findIndex(a=>jt(t,a.group)===n.after);if(n.after!==void 0&&i<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",f.USAGE);let o=e.slice(i+1,i+1+r),s=i+1+o.length<e.length;return{groups:o,returned_count:o.length,truncated:s,next_after:s?jt(t,o.at(-1).group):null}}var qh={buildGroupKey:jt,compareAggregateRows:Es,compareNullableGroupValue:Ss,completionPct:Is,normalizeTagGroupValue:vs,parseGroupBy:bs,parseNumericAggregation:ws,parseStatus:_s,readNumericAggregateValue:Cs,resolveGroupValue:ks,updateCompletionCounts:Wn};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var xs=1e6,Ts=20;function Rs(e,t,n,r=Ts){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",f.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0;for(let _ of t){if(a+=1,a>xs)throw new p(`Child projection exceeded the ${xs.toLocaleString("en-US")} item safety bound.`,f.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(_)}let d=new Map(s.map(_=>[_.id.trim().toLowerCase(),_])),c=ro(no(s,to())),u=new Set(c.children_by_parent.get(i)??[]);for(let _ of s)_.parent?.trim().toLowerCase()===i&&u.add(_.id.trim().toLowerCase());let l=[...u].map(_=>d.get(_)),m=0;for(let _ of l){let w=_.status.trim().toLowerCase();o[w]=(o[w]??0)+1,J(w,n)||(m+=1)}l.sort((_,w)=>_.id.localeCompare(w.id));let h=l.slice(0,r).map(_=>({id:_.id,title:_.title,type:_.type,status:_.status,priority:_.priority})),g=l.length>h.length,y=r===0?Ts:r;return{count:l.length,active:m,by_status:Object.fromEntries(Object.entries(o).sort(([_],[w])=>_.localeCompare(w))),sample:h,sample_limit:r,truncated:g,next_offset:g?h.length:null,continuation:g?`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]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var Pu=new Set(["event","meeting","reminder"]);function ju(e){return Pu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function zn(e){if(!ju(e))return;let t=[...e.events??[]].sort((r,i)=>r.start_at.localeCompare(i.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]="97bd0220-e19e-5466-b989-5e0f95c8b937")}catch{}})();var Bu=new Set(["epic","feature","milestone","plan"]),Gu=new Set(Object.keys(Br).map(e=>e.toLowerCase()));function Vn(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function Hu(e,t,n,r,i){let o=Vn(e);return[...t.length>0?["body"]:[],...Object.entries(o).flatMap(([s,a])=>a>0?[s]:[]),...o.files+o.tests+o.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...zn(e)?["schedule"]:[],...r&&Re(e).length>0?["blockers"]:[],...!i.full&&e.dependencies?.some(({id:s,kind:a,...d})=>Object.values(d).some(c=>c!==void 0))?["dependency_provenance"]:[]]}function Ds(e){let t=e.trim().toLowerCase();return t.length>0&&(Bu.has(t)||!Gu.has(t))}function As(e){return{ts:e.ts,author:e.author,message:e.message??null}}function qu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,i=[...t].reverse().find(s=>s.op==="claim"),o=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:i?As(i):null,last_release:o?As(o):null}}function Wu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(on.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",f.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...sn]}})}function zu(e,t,n){let r=Vn(e),i={...e};if(!n&&e.dependencies!==void 0&&(i.dependencies=e.dependencies.map(({id:g,kind:y})=>({id:g,kind:y}))),t==="deep")return{...i,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:r.notes,tests_count:r.tests,collection_counts:r};let{comments:o,notes:s,learnings:a,files:d,tests:c,docs:u,reminders:l,events:m,...h}=i;return{...h,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Ku(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",f.USAGE);return t}function Ut(e){return e.startsWith("item.")?e.slice(5):e}function Vu(e,t,n){if(e===null)return;let r=an(t),i=new Set(r),o=e.filter(s=>{let a=Ut(s);return!i.has(s)&&!i.has(a)});if(o.length>0){let s=["get",n,"--fields",e.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new p(`Unknown get --fields value(s): ${o.join(", ")}`,f.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:le(s),suggested_retry_args:s}})}}var Xu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Yu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Xu.has(n)?[]:void 0}var Qu=new Set(["body","item_hash","linked","claim_state","children","schedule","blockers"]),Ju=new Set(["linked","claim_state","children","schedule"]);function Zu(e,t){if(e==="item.item_hash")return!1;let n=t.indexOf(".");return n===-1?Qu.has(t):Ju.has(t.slice(0,n))}function em(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:Vn(e)},i={id:e.id};for(let o of t){let s=Ut(o);Zu(o,s)||(i[s]=Yu(n,r,s))}return i}function We(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function _e(e,t){return e.some(n=>{let r=Ut(n);return r===t||r.startsWith(`${t}.`)})}function tm(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.",f.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:le(["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",f.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.",f.USAGE);return{depth:e.full?"deep":Wu(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?q(e.treeDepth,"--tree-depth"):void 0,fields:Ku(e.fields),fieldProjection:e.fields!==void 0}}async function nm(e,t,n){let r=T(process.cwd(),t.path);await U(r);let i=await A(r),o=R(i,E());if(n!==void 0){let d=await co(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await fe(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await Ni(r,e,i.id_prefix,o.type_to_folder);let a=await pe(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function rm(e,t,n,r){let i=[...Q(t.schema).definitions.map(o=>o.metadata_key),...ce(E())];if(Vu(e,i,r),n&&_e(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",f.USAGE);if(n&&_e(e??[],"blockers"))throw new p("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",f.USAGE)}function Kn(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?We(r,i):_e(r,i):n!=="brief"}async function im(e,t){if(!t)return;let n=nt(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return qu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function om(e,t,n){t.historical===void 0&&(n.fieldProjection&&!n.fields.includes("item_hash")||(e.item_hash=Ci({metadata:t.metadata,body:t.body})))}function sm(e,t,n,r){let i=r||We(n,"linked.files"),o=r||We(n,"linked.tests"),s=r||We(n,"linked.docs");!r&&!i&&!o&&!s||(e.linked={files:i?t.metadata.files??[]:[],tests:o?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function am(e,t){if(!t)return;let n=N(e.settings.schema),r=await he(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return Rs(e.locatedId,r,n)}async function cm(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?_e(n.fields,"blockers"):n.depth!=="brief")||Re(t.metadata).length===0)return;let r=await fo({pmRoot:t.pmRoot,settings:t.settings,typeToFolder:t.typeToFolder,metadata:t.metadata});e.blockers={scope:"declared",open:r.filter(i=>!i.resolved).map(({resolved:i,...o})=>o),closed_count:r.filter(i=>i.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function dm(e,t,n,r){if(!r)return;let i=zn(t.metadata);if(i){if(n===null||We(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Ut(s)===`schedule.${o}`)))}}async function lm(e,t,n,r){if(t.tree!==!0)return;let i=await B(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:i.count,items:i.items.map(o=>o)}}async function gg(e,t,n={}){let r=tm(n,e),i=await nm(e,t,n.at);rm(r.fields,i.settings,i.historical!==void 0,i.locatedId);let o=Kn({...r,field:"body"}),s=Kn({...r,field:"linked"}),a=Kn({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?_e(r.fields,"children"):r.depth==="deep"&&(r.full||Ds(i.metadata.type))),c=r.fieldProjection?_e(r.fields,"schedule"):r.depth!=="brief",u=await im(i,a),l={item:r.fieldProjection?em(i.metadata,r.fields):zu(i.metadata,r.depth,r.full)};o&&(l.item.body=i.body),om(l,i,r),sm(l,i,r.fields,s),u&&(l.claim_state=u),dm(l,i,r.fields,c),await cm(l,i,r);let m=await am(i,d);m!==void 0&&(l.children=m);let h=await lm(i,n,r.treeDepth,t);if(h!==void 0&&(l.tree=h),i.historical&&(l.reconstructed=!0,l.as_of_version=i.historical.as_of_version,l.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await pi({pmRoot:i.pmRoot,author:ee(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return ti(l,r.fieldProjection?[]:Hu(i.metadata,i.body,m,i.historical===void 0,r)),l}var yg={shouldAutoIncludeGetChildren:Ds};(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]="284b91be-bd4e-5345-969b-0304834b0da8")}catch{}})();function um(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function mm(e,t){return e.map(({entry:n,version:r})=>{let i=new Set,o=Ii(n.patch);for(let s of o)i.add(dn(s.path)),s.from&&i.add(dn(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:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}function fm(e){if(e[0]?.op!=="history_compact_baseline")return;let t=ln(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function pm(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=R(r,E()),o=e.trim()===ut,s=o?ut:Fi(e,r.id_prefix),a=await fe(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?Ai(n):nt(n,d);if(!a&&!await Hr(c))throw new p(`Item ${e} not found`,f.NOT_FOUND);return a&&await Ti({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}function hm(e){let{resolvedId:t,selectedHistory:n,options:r,limit:i,addressing:o,vocabulary:s,total:a}=e,d=r.compact===!0,c=(r.order??(d||r.provenance===!0?"newest_first":"oldest_first"))==="newest_first",u=c?[...n].reverse():n,l=u.map(({entry:_})=>_),m=d?mm(u,o):void 0,h=r.provenance===!0?u.map(({entry:_,durableVersion:w})=>It(_,s,{itemId:t,version:w})):void 0,g=r.provenance===!0?"provenance":d?"compact":"full",y={compact:{compact_history:m},provenance:{provenance_history:h},full:{history:l}}[g];return{id:t,...y,compact:d,projection:{mode:g,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[g]},omission_receipt:it("history",g),count:l.length,total:a,order:c?"newest_first":"oldest_first",limit:i??null,version_addressing:o}}async function Tg(e,t,n){if(t.order!==void 0&&t.order!=="oldest_first"&&t.order!=="newest_first")throw new p("--order must be oldest_first or newest_first",f.USAGE);let r=me(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await pm(e,n),d=await te(i,s),c=fm(d),u=a.agent_identity.identity_vocabulary,l=Ct(a.agent_identity.harness_signals),m=xt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},u,l),h=gm(d).filter(({entry:_})=>m(_)),g=um(h,r),y=hm({resolvedId:s,selectedHistory:g,options:t,limit:r,addressing:c,vocabulary:u,total:h.length});if(t.provenanceSummary===!0&&(y.provenance_summary=Tt(h.map(({entry:_})=>_),u,l)),t.diff||t.field!==void 0){let _=new Set(g.map(({version:w})=>w));y.diff=xi(d,{windowStartIndex:(g[0]?.version??d.length+1)-1,field:t.field}).filter(w=>_.has(w.index)),y.order==="newest_first"&&y.diff.reverse()}if(t.verify){let _=o?(await pe(o,{schema:a.schema})).document:void 0;if(y.verification=ao(d,_),s===ut&&y.verification.ok){let w=await Di(T(process.cwd(),n.path));y.verification={...y.verification,ok:w.ok,errors:w.ok?y.verification.errors:[...y.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:w.ok,workspace_state_mismatches:w.mismatched_documents,workspace_state_missing:w.missing_documents,workspace_state_unreadable:w.unreadable_documents}}}return y}function gm(e){let t=ln(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]="28cc85af-b7e7-5069-97a9-18844352cc59")}catch{}})();function ym(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",f.USAGE);return t}function Bt(e){return e===!0}function Fs(e){return Kr(e,0,1)??void 0}function Ms(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",f.USAGE);return t}function $s(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",f.USAGE);return t}function re(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function P(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Xn(e,t){if(e!==void 0)return H(e,new Date,t)}function _m(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",f.USAGE);return[...new Set(t)]}function Gt(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,i=_m(e.fields);if(Number(n)+Number(r)+ +(i!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:le(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Yr]}:r?{mode:"full",fields:[]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function Yn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Qr([...t.definitions.flatMap(s=>[s.key,s.metadata_key]),...ce(E())]),i=new Set(r),o=e.fields.filter(s=>{let a=s.trim();return!i.has(a)});if(o.length>0){let s=["search",n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status,score"];throw new p(`Unknown search --fields value(s): ${o.join(", ")}`,f.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:le(s),suggested_retry_args:s}})}}function Ht(e){let t=P(e);if(!t)throw new p("Search query must not be empty",f.USAGE);return t.split(/\s+/u).filter(Boolean)}function Qn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var wm=["auto","keyword","semantic","hybrid"];function bm(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return wm.includes(n)?n:"auto"}function Jn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:ym(e.requested),source:"explicit"};let t=bm(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function Zn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function er(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function tr(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=(i,o)=>typeof i=="number"&&Number.isFinite(i)&&i>=0?i:o;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 vm from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function nr(e){return ue("search",{pmRoot:e.pmRoot===void 0?void 0:vm.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:ot(e.searchOptions,Zr)})}function Os(e){let t=st(e.sorted,{cursor:e.searchOptions.after,fingerprint:nr(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function Ns(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 km=[{optionKey:"status",summaryKey:"status",normalize:e=>Ns(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 we(e){let{mode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,u={};return so(u,r,km),Object.assign(u,pn(r)),Object.assign(u,fn(r)),n!==void 0&&n!=="or"&&(u.match_mode=n),i&&(u.include_linked=!0),o&&(u.title_exact=!0),s&&(u.phrase_exact=!0),a>0&&(u.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(u.hybrid_semantic_weight=d),r.limit!==void 0&&(u.limit=r.limit),c&&Object.keys(c).length>0&&(u.runtime_filters=c),u}function be(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:u,runtimeFieldFilters:l}=e,m=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Ns(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...pn(r),...fn(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:u.enabled,rerank_model:u.model,rerank_top_k:u.top_k,limit:m(r.limit),runtime_filters: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]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var Sm=1.2,Em=.75;function rr(e){return de(e)}function Cm(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function Ps(e){let t=[],n=new Map,r=0;for(let o of e){let s=rr(o.text),a=Cm(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:o.id,termFrequencies:a,length:s.length})}let i=t.length;return{documents:t,documentFrequency:n,documentCount:i,averageDocumentLength:i>0?r/i:0}}function Im(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function js(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let i=[...new Set(t.filter(s=>s.length>0))];if(i.length===0)return r;let o=new Map;for(let s of i){let a=e.documentFrequency.get(s);a!==void 0&&o.set(s,Im(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of o){let u=s.termFrequencies.get(d);if(u===void 0)continue;let l=1-n.b+n.b*s.length/e.averageDocumentLength,m=u+n.k1*l;a+=c*(u*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function Ls(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Us(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 Bs(e){let t=e?.search?.bm25;return{k1:Ls(t?.k1,Sm,0,1e3),b:Ls(t?.b,Em,0,1)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var ir=4,xm=20,Tm=200,Rm=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function or(e,t){let n=[],r=new Set;for(let i of e){let o=i.trim().replaceAll(/\s+/g," ");if(o.length===0)continue;let s=o.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(o),n.length>=t))break}return n}function Am(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 Dm(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 Gs(e,t=ir){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=de(n);if(r.length===0)return[n];let i=r.filter(a=>!Rm.has(a.toLowerCase())),o=r.map(a=>Am(a)),s=i.map(a=>Dm(a));return or([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function Hs(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?or(t.filter(n=>typeof n=="string"),ir):[]}function qs(e,t,n){return or([...e,...t],Math.max(1,n))}function Ws(e,t){let n=e.search?.query_expansion,r=Ce(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:ir}}function zs(e,t){let n=e.search?.rerank,r=Ce(n?.model),i=zr(n?.top_k)??xm;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(Tm,i)}}function Ks(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let i of t){if(typeof i!="object"||i===null)continue;let o=Ce(i.id),s=i.score;if(!o||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(o);(a===void 0||s>a)&&n.set(o,s)}let r=[...n.entries()].map(([i,o])=>({id:i,score:o}));return r.sort((i,o)=>i.score!==o.score?o.score-i.score:i.id.localeCompare(o.id)),r}function Fm(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function Vs(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Mm(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Fm(e,t),i=Vs(t),o=n*i;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(o)||o===0?0:Math.max(-1,Math.min(1,r/o))}async function Xs(e,t,n,r,i){if(r.length===0)return new Map;let o=Ce(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(m=>m.text)],d=await gt(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let u=Vs(c),l=new Map;for(let m=0;m<r.length;m+=1){let h=r[m],g=d[m+1];if(!g)continue;let y=Mm(c,g,u);l.set(h.id,Math.max(0,Math.min(1,(y+1)/2)))}return 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]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}catch{}})();function ve(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function ze(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function sr(e){let t=e.metadata;return[t.title,t.description,t.status,ve(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),yt(t).join(" "),_t(t).join(" "),ze(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),wt(t)]}function ar(e,t){return sr(e).some(n=>P(n).includes(t))}function cr(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&P(r.metadata.title)!==t||n.phraseExact&&!ar(r,t)))}function $m(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',f.USAGE)}function Om(e,t,n){let r=Ae(e.assignee,{label:"--assignee"});$m(r);let i=io(e),o=oo(e);return{typeFilter:Vi(e.type,t),tagFilter:Ae(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Xi(e.priority),deadlineBefore:Xn(e.deadlineBefore,"deadline-before"),deadlineAfter:Xn(e.deadlineAfter,"deadline-after"),updatedAfter:re(e.updatedAfter,"updated-after"),updatedBefore:re(e.updatedBefore,"updated-before"),createdAfter:re(e.createdAfter,"created-after"),createdBefore:re(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Ae(e.sprint,{label:"--sprint"}),releaseFilter:Ae(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:Qi(i),contentFieldFilters:o,contentFiltersActive:Zi(o)}}function Nm(e,t){return Lm(e,t)&&fi(e,t)&&Pm(e,t)}function Lm(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&&!ve(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function Pm(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 jm(e,t,n,r){let i=e.metadata;return!(!Nm(i,t)||!pt(i,n)||t.missingMetadataActive&&!Ji(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!eo(i,t.contentFieldFilters))}function dr(e,t,n,r,i,o){let s=Om(t,n,i);return e.filter(a=>jm(a,s,r,o))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var Um=2,Bm=120,Gm=6,Hm=40,qm=1e3,Wm=900,zm="\xAB",Km="\xBB",Ys=60;function qt(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}var Qs=[{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=>ve(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>yt(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>_t(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>ze(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>wt(e.metadata)}],Vm=new Map(Qs.map(e=>[e.name,e]));function lr(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${zm}${i}${Km}`)}function ur(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let u of t){if(u.length===0)continue;let l=n.indexOf(u);l>=0&&(r<0||l<r)&&(r=l,i=u.length)}if(r<0)return null;let o=Math.max(0,r-Ys),s=Math.min(e.length,r+i+Ys),a=lr(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function Wt(e,t,n){let r=[];for(let i of t){let o=Vm.get(i);if(o===void 0)continue;let s=ur(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function Xm(e,t,n){return[...Qs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Ym(e,t,n){let r=P(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=P(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?qm:Wm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Qm(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let d=qt(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function Jm(e,t,n,r){P(e.title)===t&&(r.score+=Bm,r.matched.add("title"));for(let i of n){let o=qt(P(i.value),t);o>0&&(r.score+=o*i.weight*Gm,r.matched.add(i.name))}}function mr(e,t,n,r,i,o,s=!1){let a=e.metadata,d=Ym(a,n,o);if(d)return d;let c=new Map;for(let g of de(a.title))c.set(g,(c.get(g)??0)+1);let u=Xm(e,r,i),l={score:0,matched:new Set,matchedTokens:new Set};Qm(t,c,u,i,l);let m=new Set(t),h=m.size>0&&l.matchedTokens.size===m.size;return s&&m.size>1&&h&&(l.score+=Hm),t.length>=Um&&n.includes(" ")&&Jm(a,n,u,l),l.score<=0?null:{item:a,score:l.score,matched_fields:[...l.matched].sort((g,y)=>g.localeCompare(y)),matched_all_terms:h}}function fr(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=J(n.item.status,t),s=J(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=S(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function pr(e,t,n,r,i,o,s,a=!1){return mr(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function Ke(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let i of e.values())t=Math.min(t,i),n=Math.max(n,i);if(n===t)return new Map([...e.keys()].map(i=>[i,1]));let r=new Map;for(let[i,o]of e)r.set(i,(o-t)/(n-t));return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function Kt(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let i=n.code;typeof i=="string"&&t.push(i.toLowerCase()),n=n.cause}return t.join(" ")}function Vt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Kt(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 hr(e,t){let n=Vt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Js(e){return e?.commands?.some(t=>t.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function gr(e,t,n){try{let r=await Gi(e);r.warnings.length>0&&n.push(...r.warnings);let i=mo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(i.length===0)return;let o=Js(E());n.push(...Zs(i.length,o)),process.stderr.write(`[pm] warning: ${i.length} item${i.length===1?" is":"s are"} new or modified since the last reindex and ${i.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${o.command}'${o.follow_up_command?`, then '${o.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 Zs(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}function Xt(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`,f.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`,f.USAGE);return{provider:t.active,vectorStore:n.active??null}}var j=tt;function Ve(e){let t=E(),n=hi(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,i=r.query,o=r.queryExpansion??r.query_expansion,s=r.rerank,a=j(r.name)??j(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof i=="function"?{query:i}:{},...typeof o=="function"?{queryExpansion:o}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function yr(e){let t=j(e.search?.provider),n=Ve(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function _r(e){let t=E(),n=j(e.vector_store?.adapter),r=gi(t,n);if(!r)return null;let i=r.runtime_definition??r.definition,o=i.query;if(typeof o!="function")return null;let s=i.upsert;return{adapterName:j(i.name)??j(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function wr(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: [...] }`,f.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=j(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||i.has(a))continue;let c=n.get(a);if(!c)continue;let u=s.matched_fields,l=Array.isArray(u)&&u.every(m=>typeof m=="string")?[...new Set(u.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,h)=>m.localeCompare(h)):[`provider:${e}`];i.add(a),o.push({item:c.metadata,score:d,matched_fields:l})}return o}function br(e,t){let n=[],r=new Map;for(let i of e){if(r.has(i.id))continue;let o=t.get(i.id);o&&(r.set(i.id,i.score),n.push({item:o.metadata,score:i.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function zt(e,t){let n=t.filter(d=>d.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(d=>d.item.id)),i=e.filter(d=>!r.has(d.item.id)),o=i.reduce((d,c)=>Math.max(d,c.score),0),s=n.sort((d,c)=>c.score-d.score),a=o+s.length+1;return[...s.map((d,c)=>({...d,score:a-c,matched_fields:["id"]})),...i]}function Yt(e,t,n,r,i="semantic"){let o=new Map(n.map(l=>[l.item.id,l.score])),s=new Map(n.map(l=>[l.item.id,l.matched_fields])),a=Ke(t),d=Ke(o),c=new Set([...t.keys(),...o.keys()]),u=1-r;return[...c].map(l=>{let m=e.get(l),h=a.get(l)??0,g=d.get(l)??0,y=h*r+g*u;if(y<=0)return null;let _=new Set;t.has(l)&&_.add(i);for(let w of s.get(l)??[])_.add(w);return{item:m.metadata,score:y,matched_fields:[..._].sort((w,I)=>w.localeCompare(I))}}).filter(l=>l!==null)}function vr(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function kr(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Us(Ui(s,{fields:e.corpusFields}))})),n=Ps(t),r=js(n,rr(e.query),e.bm25Params),i=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:i.get(a).metadata,score:d,matched_fields:["bm25"]}));return zt(s,e.keywordHits)}let o=Yt(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return zt(o,e.keywordHits)}function Sr(e){let t=new Map;for(let r of e)for(let i of r){let o=t.get(i.id);(!o||i.score>o.score)&&t.set(i.id,i)}let n=[...t.values()];return n.sort((r,i)=>r.score!==i.score?i.score-r.score:r.id.localeCompare(i.id)),n}function Er(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
|
|
10
|
+
`)}async function Zm(e,t){let n=e.queryExpansion.enabled?Gs(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let i=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return qs(r,Hs(i),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function ef(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(i){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${i instanceof Error?i.message:String(i)})`,f.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await un(e.vectorStore,t,n,r)}if(e.vectorStore)return await un(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",f.USAGE)}function tf(e,t,n){return[...e].sort((r,i)=>r.score!==i.score?i.score-r.score:r.item.id.localeCompare(i.item.id)).slice(0,n).map(r=>{let i=t.get(r.item.id);return i?{hit:r,text:Er(i)}:null}).filter(r=>r!==null)}async function nf(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=Ks(r);return i.length>0?new Map(i.map(o=>[o.id,o.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function rf(e,t,n){let r=await nf(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await Xs(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function of(e,t){let n=new Set(t.keys()),r=e.map(i=>{let o=t.get(i.item.id);if(o===void 0)return i;let s=new Set(i.matched_fields);return s.add("rerank"),{...i,score:o,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((i,o)=>{let s=n.has(i.item.id),a=n.has(o.item.id);return s!==a?s?-1:1:i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)}),r}async function sf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=tf(n,r,e.rerank.top_k),o=await rf(e,t,i);return o&&o.size>0?of(n,o):n}async function Cr(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},i=e.query.trim(),o=await Zm(e,i),s=await gt(e.provider,o,n),a=await Promise.all(s.map(async g=>await ef(e,g,t,r))),d=Sr(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:u,semanticScores:l}=br(d,c),m=l.size;if(e.requestedMode==="semantic")return{hits:zt(u,e.keywordHits),vectorMatchCount:m};let h=await sf(e,i,Yt(c,l,e.keywordHits,e.hybridSemanticWeight),c);return{hits:zt(h,e.keywordHits),vectorMatchCount:m}}function ea(e){let t=Ve(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function ta(e){let t=Ve(j(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import Qt from"node:fs/promises";import Ir from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de9a1cbd-f277-52ef-adc6-66225f2d2f4f")}catch{}})();function xr(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),i=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),o=new Map;for(let s of i)o.set(`${s.scope}:${s.path}`,s);return[...o.values()]}async function na(e){let t=Ir.resolve(e);try{let n=await Qt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function Tr(e,t){let[n,r]=await Promise.all([na(e),na(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function Rr(e,t){let n=xr(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=Ir.resolve(o.resolved,i.path);if(!nn(o.resolved,s))continue;let a;try{a=await Qt.realpath(s)}catch{continue}if(nn(o.realpath,a))try{await Ie({path:s,scope:i.scope}),r.push(await Qt.readFile(s,"utf8"))}catch{}}return r.join(`
|
|
11
|
+
`)}async function Ar(e,t,n,r){let i=ce(E()),o=async(c,u,l)=>{let m=async(h,g)=>{await Ie({path:h,scope:"project"});let y=await Qt.readFile(h,"utf8");return yi(y,{format:g,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await m(u,l)}catch{let h=l==="toon"?"json_markdown":"toon",g=rn(e,c.type,c.id,h,n);try{return await m(g,h)}catch{return s.push(`item_list_item_read_failed:${Ir.relative(e,g)}`),""}}},s=[],a=await $i(e,t,n,s,r),d=[];if(a.length===0){let c=await Oi(e,t,n,s,r);for(let u of c){let l=rn(e,u.type,u.id,t,n),m=await o(u,l,t);d.push({metadata:u,body:m})}return{documents:d,warnings:[...new Set(s)].sort((u,l)=>u.localeCompare(l))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let u=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:u})}return{documents:d,warnings:[...new Set(s)].sort((c,u)=>c.localeCompare(u))}}async function ra(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await Tr(i,Vr(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await Rr(a,o)]));for(let[a,d]of s)r.set(a,d);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var ia=["tag","status","type","priority"];function Dr(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=ia.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function Fr(e,t,n){let r={...e};for(let i of ia){let o=t[i];if(o!==void 0){if(tt(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function oa(e,t){let n=[],r=Dr(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",f.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=Fr(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Bt(s.includeLinked),titleExact:Bt(s.titleExact),phraseExact:Bt(s.phraseExact),matchMode:Ms(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:$s(s.minScore),countOnly:s.count===!0,tokens:Ht(o),normalizedQuery:P(o),limit:me(s.limit),projection:Gt(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function sa(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",f.USAGE)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function $r(e,t,n,r,i,o,s,a,d,c,u,l,m,h){let g=m?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let _=we({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:l});return{query:e.trim(),mode:t,...Pr(h),items:[],count:0,...g,filters:_,...u.length>0?{warnings:u}:{}}}let y=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,...g,filters:be({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:l??{}}),projection:{mode:c.mode,fields:y},now:D(),...u.length>0?{warnings:u}:{}}}function Or(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function Nr(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=Or(n,i);return r})}function Lr(e,t){return $r(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t,e.modeSource)}function aa(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return Mr({query:e.query.trim(),mode:e.effectiveMode,...Pr(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:we({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 Mr({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:be({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:D()},e.warnings)}function Pr(e){return e==="settings"?{mode_source:e}:{}}function Mr(e,t){return t.length===0?e:{...e,warnings:t}}function Xe(e,t){return t?{...e,workspace_memory:t}:e}function ca(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:Wt(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function da(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return Mr({query:e.query.trim(),mode:e.effectiveMode,...Pr(e.modeSource),items:t,count:t.length,...s,...o,filters:we({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...o,filters:be({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:i.mode,fields:a},now:D(),...e.warnings.length>0?{warnings:e.warnings}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var I_={applyFilters:dr,applyExactQueryFilters:cr,applyInlineQueryFilters:Fr,buildHitHighlights:Wt,buildVerboseSearchFilters:be,buildExplicitSemanticFallbackWarning:hr,buildCompactSearchFilterSummary:we,buildHybridLexicalScore:pr,buildRerankCorpus:Er,buildSemanticHits:br,classifyImplicitSemanticFallbackReason:Vt,collectErrorCauseCodes:Kt,collectExactPhraseFields:sr,collectLinkedPaths:xr,combineHybridHits:Yt,computeBuiltInBm25Hits:kr,computeSemanticOrHybridHits:Cr,resolveBuiltInBm25Mode:vr,countOccurrences:qt,dependencyEntries:ze,documentContainsExactPhrase:ar,emptySearchResult:$r,highlightFieldSnippet:ur,loadDocuments:Ar,markTokenRuns:lr,parseInlineQueryFilters:Dr,maybeEmitVectorIndexStaleWarning:gr,loadLinkedCorpus:Rr,mergeVectorHitsById:Sr,normalizeExtensionProviderHits:wr,normalizeScoreMap:Ke,parseProjectionConfig:Gt,parseTimestampWindow:re,parseTokens:Ht,projectSearchHits:Nr,readSearchFieldValue:Or,requireSemanticDependencies:Xt,resolveExtensionSearchProvider:yr,resolveExtensionSearchProviderByName:Ve,resolveExtensionVectorAdapter:_r,resolveLinkedCorpusRoots:Tr,scoreDocument:mr,sortHits:fr,stringArray:ve,textEntries:K,validateSearchProjectionFields:Yn};async function af(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=Mi(r).settings,o=N(i.schema),s=Q(i.schema);Yn(e.projection,s,e.query);let a=ft(e.options,s,"search"),d=R(i,E()),c=Pi(i),u=Bi(i,n),l=yr(i),m=_r(i),h=Fs(e.options.semanticWeight),g=Ws(i,c.active?.name??null),y=zs(i,c.active?.model??j(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:Qn(i),scoreThreshold:e.minScoreOverride??Zn(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??er(i),tuning:tr(i),providerResolution:c,vectorResolution:u,extensionSearchProvider:l,extensionVectorAdapter:m,bm25Mode:vr({configuredProvider:j(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:l!==null}),queryExpansion:g,queryExpansionExtension:ea(g),rerank:y,rerankExtension:ta(i),...cf({requested:e.options.mode,settings:i,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:u,extensionSearchProvider:l,extensionVectorAdapter:m})}}function cf(e){let t=Li(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=Jn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function df(e,t){let n=await Ar(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=mt(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=Yi(t.statusRegistry),o=dr(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:cr(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function lf(e,t,n){let r=await ra(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>pr(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}async function uf(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=kr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:ji(t.settings),bm25Params:Bs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function mf(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return wr(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,f.GENERIC_FAILURE);return null}}function ff(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 pf(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await gr(e.pmRoot,n,r),e.extensionSearchProvider||Xt(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function hf(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await uf(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await pf(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let u=new Map(r.map(l=>[l.metadata.id,l]));if(a=await mf(t,n,r,u)??a,a===i){let{provider:l,vectorStore:m}=Xt(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Cr({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:l,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=ff(c,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(u){return o.push(hr(n.effectiveMode,u)),{effectiveMode:"keyword",hits:i}}}function la(e){e.searchOptions.after!==void 0&&li(e.searchOptions.after,nr(e))}async function x_(e,t,n){sa(t);let r=oa(e,t),i=await af(r,n),o=await df(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await Mt(o.allDocuments.map(k=>k.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:D()});s.push(...a.warnings);let d=Zo(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:i.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return la({query:r.query,mode:i.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Xe(Lr({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let u=await lf(r,i,o.filteredDocuments),l=await hf({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:u,warnings:s,modeWasExplicit:r.modeWasExplicit});if(l.effectiveMode!=="keyword"&&l.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return la({query:r.query,mode:l.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Xe(Lr({...c,effectiveMode:l.effectiveMode},r.countOnly),d);let m=l.hits.filter(k=>k.exact_id_match===!0||k.score>=i.scoreThreshold),h=fr(m,i.statusRegistry),g=h.length,y=Os({pmRoot:i.pmRoot,sorted:h,query:r.query,mode:l.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),_={...c,effectiveMode:l.effectiveMode};if(r.countOnly)return Xe(aa(_,g),d);let{hits:w,projection:I}=ca(r,o.filteredDocuments,y.limited),b=Nr(w,I);return Xe(da(_,b,g,y.limited.length,I,y.pageExtras),d)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var ua=["ndcg","mrr","precision","recall"];function gf(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!ua.some(i=>i===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function R_(e,t){let n=gf(t),r=[];for(let i of ua){let o=n[i];if(o===void 0)continue;let s=e[i];!Number.isFinite(s)||s<0||s>1?r.push(`${i}:invalid`):s<o&&r.push(`${i}:${s}<${o}`)}return r}export{De as a,_f as b,fa as c,gn as d,vf as e,ba as f,va as g,kf as h,If as i,Lh as j,go as k,Ff as l,Mf as m,$f as n,Of as o,yo as p,Fe as q,Xf as r,Yf as s,Qf as t,Mo as u,Ct as v,hc as w,It as x,Tt as y,fp as z,Lo as A,Rn as B,At as C,zc as D,Bo as E,Qc as F,Dt as G,Jc as H,Zc as I,rd as J,id as K,Ep as L,od as M,Go as N,An as O,Dn as P,hd as Q,vd as R,Op as S,Fn as T,Mn as U,Ft as V,Id as W,Ad as X,Mt as Y,Ld as Z,Jo as _,Pd as $,Zo as aa,jd as ba,zd as ca,Pe as da,fh as ea,Ln as fa,Xd as ga,Yd as ha,jn as ia,ne as ja,Bn as ka,Gn as la,Hn as ma,ye as na,Be as oa,Lt as pa,ph as qa,Zl as ra,hh as sa,iu as ta,Dh as ua,Fh as va,Mh as wa,$h as xa,Oh as ya,Hh as za,qh as Aa,xs as Ba,Ts as Ca,Rs as Da,gg as Ea,yg as Fa,Tg as Ga,Qn as Ha,Jn as Ia,Zn as Ja,er as Ka,tr as La,nr as Ma,Os as Na,we as Oa,be as Pa,Kt as Qa,Vt as Ra,Js as Sa,Zs as Ta,I_ as Ua,x_ as Va,ua as Wa,gf as Xa,R_ as Ya};
|
|
12
|
+
//# sourceMappingURL=chunk-UPJUTP2V.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{hc as K,i as O,j as N,k as U,l as R,m as j}from"./chunk-M6V7UMWL.js";import{C as q,F as W,n as C,o as P}from"./chunk-G6ERMFJ5.js";import x from"node:path";import{link as Q,mkdir as ee,mkdtemp as te,rm as re,writeFile as se}from"node:fs/promises";import D 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]="71c2fed9-81e1-5723-8e34-e6327c07a130")}catch{}})();async function V(e,t){let r=D.dirname(e);await ee(r,{recursive:!0});let s=await te(D.join(r,".pm-seed-")),o=D.join(s,"value");try{await se(o,t,"utf8");try{return await Q(o,e),!0}catch(i){if(i.code==="EEXIST")return!1;throw i}}finally{await re(s,{recursive:!0,force:!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]="2075887b-6d4b-582f-9da2-bab13198f9a5")}catch{}})();var oe=2e3,v=new Map;function S(e){if(typeof e!="string")return"";let t=v.get(e);if(t!==void 0)return t;let r=e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_");return v.size>=oe&&K(v),v.set(e,r),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]="6e07b1b6-1757-54dd-8833-9d3f984ccf79")}catch{}})();var m=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),$=P,M=C,ne=["create","update"],ie=new Set(N),ae=new Set(U),le=new Set(R),de=new Set(j),ue=new Set(["string","number","boolean","array","object"]),ce=16;function J(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fe=[e=>e.type===void 0||typeof e.type=="string"&&ue.has(e.type),e=>!Object.hasOwn(e,"const")||I(e.const),e=>e.enum===void 0||Array.isArray(e.enum)&&e.enum.every(t=>I(t)),e=>e.min_length===void 0||Number.isInteger(e.min_length)&&e.min_length>=0,e=>e.min_items===void 0||Number.isInteger(e.min_items)&&e.min_items>=0,e=>e.format===void 0||e.format==="date-time",e=>e.required===void 0||Array.isArray(e.required)&&e.required.every(t=>typeof t=="string"&&t.length>0),e=>e.additional_properties===void 0||typeof e.additional_properties=="boolean",e=>e.properties===void 0||J(e.properties),e=>e.one_of===void 0||Array.isArray(e.one_of)&&e.one_of.length>0];function I(e,t=new Set){if(e===null||typeof e=="string"||typeof e=="boolean")return!0;if(typeof e=="number")return Number.isFinite(e);if(typeof e!="object"||t.has(e))return!1;t.add(e);let r=Array.isArray(e)?e.every(s=>I(s,t)):Object.values(e).every(s=>I(s,t));return t.delete(e),r}function F(e,t=0,r=new Set){if(!J(e)||t>ce||r.has(e))return;r.add(e);let s=e,o=s.type,i=s.enum,a=s.one_of,l=s.properties,n=s.items,u=s.required,f=s.min_length,d=s.min_items,p=s.format,w=s.additional_properties;if(!fe.every(c=>c(s))){r.delete(e);return}let g=l===void 0?void 0:Object.fromEntries(Object.entries(l).map(([c,b])=>[c,F(b,t+1,r)])),h=n===void 0?void 0:F(n,t+1,r),A=a===void 0?void 0:a.map(c=>F(c,t+1,r));if([...Object.values(g??{}),...n===void 0?[]:[h],...A??[]].some(c=>c===void 0)){r.delete(e);return}return r.delete(e),Object.fromEntries(Object.entries({type:o,const:Object.hasOwn(s,"const")?s.const:void 0,enum:i,min_length:f,min_items:d,format:p,properties:g,required:u===void 0?void 0:[...new Set(u)],additional_properties:w,items:h,one_of:A}).filter(([,c])=>c!==void 0))}function T(e){let t=Array.isArray(e)?e:[];return[...new Set(t.map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0))].sort((r,s)=>r.localeCompare(s))}function _(e){if(typeof e!="string"||e.length===0)return;let t=S(e);return t.length>0?t:void 0}function _e(e){return e.startsWith("--")?e.slice(2):e}function H(e){return typeof e=="string"?_e(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function B(e){return e.replaceAll("_","-")}function me(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g," ").trim().split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[r,...s]=t;return`${r}${s.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function z(e,t){let r=_(e.id);if(!r)return null;let s=[...new Set(T(e.aliases).map(S).filter(l=>l.length>0))].sort((l,n)=>l.localeCompare(n)),o=T(e.roles).filter(l=>ie.has(l)),i=e.description?.trim(),a=typeof e.order=="number"&&Number.isFinite(e.order)?e.order:t;return{id:r,aliases:s,roles:o,description:i&&i.length>0?i:void 0,order:a}}function pe(e){return{draft_status:_(e?.draft_status),open_status:_(e?.open_status),in_progress_status:_(e?.in_progress_status),blocked_status:_(e?.blocked_status),close_status:_(e?.close_status),canceled_status:_(e?.canceled_status)}}function X(e,t){if(!Array.isArray(t)||t.length!==2)return;let r=S(t[0]),s=S(t[1]);r.length===0||s.length===0||e.pairs.some(o=>o[0]===r&&o[1]===s)||e.pairs.push([r,s])}function ye(e){let t=typeof e?.type=="string"?e.type.trim():"";if(t.length===0||!Array.isArray(e?.allowed_transitions))return null;let r={type:t,pairs:[],denyAll:e.allowed_transitions.length===0};for(let s of e.allowed_transitions)X(r,s);return{typeKey:t.toLowerCase(),record:r}}function we(e){if(!Array.isArray(e)||e.length===0)return;let t=new Map;for(let s of e){let o=ye(s);if(o===null)continue;let i=t.get(o.typeKey)??o.record;i.denyAll||=o.record.denyAll;for(let a of o.record.pairs)X(i,a);t.set(o.typeKey,i)}let r=[];for(let s of t.values())(s.pairs.length>0||s.denyAll)&&r.push({type:s.type,allowed_transitions:s.pairs});return r.sort((s,o)=>s.type.localeCompare(o.type)),r.length>0?r:void 0}function Z(e){let t=S(e.key??"");if(!t)return null;let r=S(e.metadata_key??e.front_matter_key??t),s=H(e.cli_flag??B(t));if(!s)return null;let o=T(e.cli_aliases).map(d=>H(d)).filter(d=>d.length>0&&d!==s),i=typeof e.type=="string"?e.type.trim().toLowerCase():"string",a=ae.has(i)?i:"string",l=(()=>{let d=T(e.commands).filter(p=>le.has(p));return d.length>0?d:[...ne]})(),n=e.description?.trim(),u=T(e.required_types),f=e.value_schema===void 0?void 0:F(e.value_schema);return e.value_schema!==void 0&&f===void 0?null:{key:t,metadata_key:r,cli_flag:s,cli_aliases:o,description:n&&n.length>0?n:void 0,type:a,commands:l,repeatable:[e.repeatable===!0,a==="string_array"].includes(!0),required:e.required===!0,required_on_create:e.required_on_create===!0,required_types:u,allow_unset:e.allow_unset!==!1,value_schema:f}}function Se(e){let t=new Map;for(let[s,o]of e.entries()){let i=z(o,s);i&&t.set(i.id,i)}let r=Y([...t.values()]);return r.length>0?r:Y(M.map((s,o)=>z(s,o)).filter(s=>s!==null))}function Y(e){return e.sort((t,r)=>t.order===r.order?t.id.localeCompare(r.id):t.order-r.order)}function ge(e){let t=new Map;for(let r of e??[]){let s=Z(r);s&&t.set(s.key,s)}return[...t.values()].sort((r,s)=>r.key.localeCompare(s.key))}function he(e){return{id:e.id,aliases:e.aliases.length>0?[...e.aliases]:void 0,roles:e.roles.length>0?[...e.roles]:void 0,description:e.description,order:e.order}}function Ae(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==B(e.key)?e.cli_flag:void 0,cli_aliases:e.cli_aliases.length>0?[...e.cli_aliases]:void 0,description:e.description,type:e.type,commands:[...e.commands],repeatable:e.repeatable===!0?!0:void 0,required:e.required===!0?!0:void 0,required_on_create:e.required_on_create===!0?!0:void 0,required_types:e.required_types.length>0?[...e.required_types]:void 0,allow_unset:e.allow_unset===!1?!1:void 0,value_schema:e.value_schema}}function be(e){let t=typeof e=="string"?e.trim().toLowerCase():"allow";return de.has(t)?t:"allow"}function E(e){let t={...m,...e?.files},r=e?.statuses&&e.statuses.length>0?e.statuses:M,s=Se(r),o=ge(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:t,statuses:s.map(he),fields:o.map(Ae),workflow:{...$,...pe(e?.workflow)},type_workflows:we(e?.type_workflows),unknown_field_policy:be(e?.unknown_field_policy)}}function ke(e,t,r){try{return JSON.parse(e)}catch{r.push(t);return}}function Te(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.definitions))return t.definitions;if(typeof t.item_types=="object"&&t.item_types!==null){let r=t.item_types;if(Array.isArray(r.definitions))return r.definitions}}function Ee(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.statuses))return t.statuses;if(Array.isArray(t.definitions))return t.definitions}function ve(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.fields))return t.fields;if(Array.isArray(t.definitions))return t.definitions}function Fe(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;return typeof t.workflow=="object"&&t.workflow!==null&&!Array.isArray(t.workflow)?t.workflow:typeof t.workflows=="object"&&t.workflows!==null&&!Array.isArray(t.workflows)?t.workflows:t}function Ie(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(Array.isArray(t.type_workflows))return t.type_workflows}function y(e,t,r){let s=t?.trim()||r;return x.isAbsolute(s)?s:x.join(e,s)}function Ve(e,t){return y(e,t.files.types,m.types)}async function xe(e,t){let r=E(t),s=[{path:y(e,r.files.types,m.types),seed:{definitions:[]}},{path:y(e,r.files.statuses,m.statuses),seed:{statuses:M}},{path:y(e,r.files.fields,m.fields),seed:{fields:[]}},{path:y(e,r.files.workflows,m.workflows),seed:{workflow:$}}],o=[];for(let i of s)await q(i.path)||await V(i.path,`${JSON.stringify(i.seed,null,2)}
|
|
2
2
|
`)&&o.push(i.path);return{created_paths:o}}async function He(e,t){let r=E(t),s=[],o=y(e,r.files.types,m.types),i=y(e,r.files.statuses,m.statuses),a=y(e,r.files.fields,m.fields),l=y(e,r.files.workflows,m.workflows),n,u,f,d,p,w=async(b,G)=>{let L=await W(b);if(L!==null)return ke(L,G,s)},g=await w(o,"runtime_schema_types_invalid_json");g!==void 0&&(n=Te(g),n===void 0&&s.push("runtime_schema_types_invalid_shape"));let h=await w(i,"runtime_schema_statuses_invalid_json");h!==void 0&&(u=Ee(h),u===void 0&&s.push("runtime_schema_statuses_invalid_shape"));let A=await w(a,"runtime_schema_fields_invalid_json");A!==void 0&&(f=ve(A),f===void 0&&s.push("runtime_schema_fields_invalid_shape"));let c=await w(l,"runtime_schema_workflows_invalid_json");return c!==void 0&&(d=Fe(c),d===void 0&&s.push("runtime_schema_workflows_invalid_shape"),p=Ie(c)),{schema:E({...r,statuses:[...r.statuses,...u??[]],fields:[...r.fields,...f??[]],workflow:{...r.workflow,...d},type_workflows:[...r.type_workflows??[],...p??[]]}),type_definitions_from_file:n,warnings:s,created_paths:[]}}function k(e,t,r,s=!1){let o=r.map(a=>_(a)).filter(a=>typeof a=="string").find(a=>e.some(l=>l.id===a));if(s&&o!==void 0)return o;let i=e.find(a=>a.roles.includes(t));return i!==void 0?i.id:o??e[0]?.id}function De(e){let t=new Map,r=new Map;for(let s of e){r.set(s.id,s),t.set(s.id,s.id),t.set(s.id.replaceAll("_","-"),s.id),t.set(s.id.replaceAll("_"," "),s.id);for(let o of s.aliases)t.set(o,s.id),t.set(o.replaceAll("_","-"),s.id),t.set(o.replaceAll("_"," "),s.id)}return{aliasToId:t,byId:r}}function ze(e){let t={activeStatuses:new Set,blockedStatuses:new Set,draftStatuses:new Set,terminalCanceledStatuses:new Set,terminalDoneStatuses:new Set,terminalStatuses:new Set};for(let r of e){let s=new Set(r.roles);(s.has("terminal")||s.has("terminal_done")||s.has("terminal_canceled"))&&t.terminalStatuses.add(r.id),s.has("terminal_done")&&t.terminalDoneStatuses.add(r.id),s.has("terminal_canceled")&&t.terminalCanceledStatuses.add(r.id),s.has("active")&&t.activeStatuses.add(r.id),s.has("blocked")&&t.blockedStatuses.add(r.id),s.has("draft")&&t.draftStatuses.add(r.id)}return t}function Ye(e){let t=E(e),r=t.statuses.map((c,b)=>z(c,b)).filter(c=>c!==null),{aliasToId:s,byId:o}=De(r),{activeStatuses:i,blockedStatuses:a,draftStatuses:l,terminalCanceledStatuses:n,terminalDoneStatuses:u,terminalStatuses:f}=ze(r),d=t.workflow,p=_(d.open_status)??k(r,"default_open",["open","in_progress",O[0]]),w=_(d.in_progress_status)??k(r,"active",["in_progress","in-progress",p],!0),g=_(d.blocked_status)??k(r,"blocked",["blocked"]),h=_(d.close_status)??k(r,"default_close",["closed","done","complete"]),A=_(d.canceled_status)??k(r,"default_cancel",["canceled","cancelled"]);return{definitions:r,by_id:o,alias_to_id:s,terminal_statuses:f,terminal_done_statuses:u,terminal_canceled_statuses:n,active_statuses:i,blocked_statuses:a,draft_statuses:l,open_status:p,in_progress_status:w,blocked_status:g,close_status:h,canceled_status:A}}function Me(e,t){let r=S(e);if(r)return t.alias_to_id.get(r)}function $e(e){let t=E(e),r=new Map,s=t.fields.map(n=>Z(n)).filter(n=>n!==null);for(let n of s)r.set(n.key,n);let o=[...r.values()].sort((n,u)=>n.key.localeCompare(u.key)),i=new Map,a=new Map,l=new Map;for(let n of o){i.set(n.key,n),a.set(n.cli_flag,n);for(let u of n.cli_aliases)a.set(u,n);for(let u of n.commands){let f=l.get(u)??[];f.push(n),l.set(u,f)}}for(let[n,u]of l.entries())u.sort((f,d)=>f.key.localeCompare(d.key)),l.set(n,u);return{definitions:o,by_key:i,by_cli_token:a,command_to_fields:l}}function Je(e){return me(e.key)}function Be(e,t){let r=Me(e,t);return r?t.terminal_statuses.has(r):!1}export{S as a,V as b,m as c,M as d,E as e,y as f,Ve as g,xe as h,He as i,Ye as j,Me as k,$e as l,Je as m,Be as n};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-VWWTIX5L.js.map
|