@unbrained/pm-cli 2026.10.22 → 2026.10.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +38 -0
- package/dist/cli/error-guidance.d.ts +12 -0
- package/dist/cli/error-guidance.js +2 -2
- package/dist/cli/register-setup.js +1 -1
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/{chunk-2B5HAZFK.js → chunk-3S5FLCG7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PCPOTFJP.js → chunk-3VI4XDP2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UYYTV2TX.js → chunk-4PNAUT2E.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-E3JC3WQL.js → chunk-CDR5ES7Q.js} +54 -54
- package/dist/cli-bundle/chunks/chunk-CNEUJHA4.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-AOAQDCXX.js → chunk-CSE47ZAN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MV3KYY2A.js → chunk-FASDGYQC.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-HZNFNETE.js +127 -0
- package/dist/cli-bundle/chunks/{chunk-7OTYULIJ.js → chunk-KGZGXC7T.js} +29 -29
- package/dist/cli-bundle/chunks/{chunk-HC2DCGFA.js → chunk-MA7SNKYK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GWIGZDRS.js → chunk-R7KWBFM2.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TZYQ4JDZ.js +6 -0
- package/dist/cli-bundle/chunks/chunk-URZB3USE.js +113 -0
- package/dist/cli-bundle/chunks/chunk-UY5UHI4I.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-TNU3XVPC.js → chunk-VPMQEVU6.js} +14 -14
- package/dist/cli-bundle/chunks/{chunk-URV4VHQ4.js → chunk-VSSHB6XI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-LIC5EUQS.js → chunk-YEI4N4A6.js} +48 -48
- package/dist/cli-bundle/chunks/chunk-Z62RXNHW.js +3 -0
- package/dist/cli-bundle/chunks/chunk-ZDVTXLA6.js +9 -0
- package/dist/cli-bundle/chunks/{indexed-receipt-blobs-L3BOTMZN.js → indexed-receipt-blobs-XANVELIV.js} +2 -2
- package/dist/cli-bundle/chunks/{mutation-admission-TATOFEXF.js → mutation-admission-NVTBZ7DH.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-GULR2IYO.js → register-list-query-2FE6K7FQ.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-HLSQ4WVW.js → register-mutation-KZXQUZUH.js} +2 -2
- package/dist/cli-bundle/chunks/{register-operations-FE3GGA7O.js → register-operations-BOCBWNKJ.js} +2 -2
- package/dist/cli-bundle/chunks/register-setup-P3VLCTDY.js +2 -0
- package/dist/cli-bundle/chunks/{settlement-hook-UVFYSBMU.js → settlement-hook-YUVCO65H.js} +2 -2
- package/dist/cli-bundle/chunks/{stage-QCPZBZRC.js → stage-WRDTMCCF.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-UQ5JPBY2.js → chunk-3QYTS4OY.js} +4 -4
- package/dist/cli-bundle/focused-chunks/{chunk-46HBJC6J.js → chunk-5MKNVJCM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-QGDKWULS.js → chunk-6HJCSHBG.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-7RQOFHMH.js +26 -0
- package/dist/cli-bundle/focused-chunks/chunk-AGCEWJ27.js +21 -0
- package/dist/cli-bundle/focused-chunks/{chunk-3LWH2RJC.js → chunk-BUZ2Z4P3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-2GFTVXKZ.js → chunk-CEEOWDB7.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-25NQRZ7J.js → chunk-ES2NGVHZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-GXAXDPD4.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-VYAZND5Q.js → chunk-IUAYTD2S.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TMN3RAXZ.js → chunk-JYXA4JIP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-A52W6GLA.js → chunk-NFFPNMTH.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-KM77WU5U.js → chunk-NX7TVNUM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-CX5FNEFC.js → chunk-POLMFGPQ.js} +3 -3
- package/dist/cli-bundle/focused-chunks/chunk-R536272H.js +9 -0
- package/dist/cli-bundle/focused-chunks/{chunk-W2CND3BD.js → chunk-RSEGFZTY.js} +54 -54
- package/dist/cli-bundle/focused-chunks/{chunk-EHPRSWJE.js → chunk-RVUGTIIU.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-CB7TSZ7P.js → chunk-SBJ2IKTH.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-SXVJRLLP.js → chunk-SHUPX6G2.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-GVKYTDOH.js → chunk-TAHSXKAT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-X5YRJMAY.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-XTYEASIY.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-ZMWLV2CE.js +91 -0
- package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-AAQOKO5B.js → indexed-receipt-blobs-FVOA3XMI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{mutation-admission-TBKR4KRM.js → mutation-admission-PB6YFY7S.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{settlement-hook-MNCHFCAX.js → settlement-hook-2VXEB6PP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{stage-RM6MJIMT.js → stage-MQE4PFWT.js} +2 -2
- package/dist/cli-bundle/main.js +21 -21
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +5 -2
- package/dist/cli-bundle/sdk-core.js +33 -33
- 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 +58 -58
- 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 +12 -9
- package/dist/core/checkpoint/mutation-checkpoint.d.ts +6 -3
- package/dist/core/checkpoint/mutation-checkpoint.js +2 -2
- package/dist/core/checkpoint/mutation-context.d.ts +10 -0
- package/dist/core/checkpoint/mutation-context.js +2 -0
- package/dist/core/config/nested-settings.js +1 -1
- package/dist/core/extensions/loader.js +1 -1
- package/dist/core/extensions/version-diagnostics.d.ts +2 -0
- package/dist/core/extensions/version-diagnostics.js +2 -0
- package/dist/core/lock/lock.d.ts +40 -6
- package/dist/core/lock/lock.js +3 -3
- package/dist/core/shared/errors.d.ts +28 -0
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/store/item-store.js +1 -1
- package/dist/mcp/http-server.js +2 -2
- package/dist/mcp/server.js +2 -2
- package/dist/sdk/agent/command-recovery.d.ts +1 -0
- package/dist/sdk/agent/command-recovery.js +1 -1
- package/dist/sdk/agent/linked-resource-recovery.d.ts +13 -0
- package/dist/sdk/agent/linked-resource-recovery.js +2 -0
- package/dist/sdk/cli-contracts/agent-output-contracts.js +1 -1
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +3 -2
- package/dist/sdk/contracts.d.ts +1 -0
- package/dist/sdk/contracts.js +1 -1
- package/dist/sdk/core.d.ts +1 -1
- package/dist/sdk/core.js +1 -1
- package/dist/sdk/extension/doctor.js +1 -1
- package/dist/sdk/extension/install-receipts.js +1 -1
- package/dist/sdk/extension/install-snapshot.d.ts +11 -0
- package/dist/sdk/extension/install-snapshot.js +1 -1
- package/dist/sdk/extension.d.ts +12 -0
- package/dist/sdk/extension.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/health.d.ts +1 -0
- package/dist/sdk/governance/health.js +2 -2
- package/dist/sdk/index.d.ts +4 -2
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/lifecycle/checkpoint-rollback.d.ts +7 -0
- package/dist/sdk/lifecycle/checkpoint-rollback.js +2 -0
- package/dist/sdk/lifecycle/close-many.d.ts +1 -1
- package/dist/sdk/lifecycle/close-many.js +1 -1
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
- package/dist/sdk/lifecycle/restore.js +1 -1
- package/dist/sdk/lifecycle/update-many.d.ts +1 -1
- package/dist/sdk/lifecycle/update-many.js +1 -1
- package/dist/sdk/mcp/executable.d.ts +13 -0
- package/dist/sdk/mcp/executable.js +5 -0
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/context.d.ts +2 -1
- package/dist/sdk/query/context.js +1 -1
- package/dist/sdk/query/get.d.ts +2 -1
- package/dist/sdk/query/get.js +1 -1
- package/dist/sdk/query/list.d.ts +2 -1
- package/dist/sdk/query/list.js +1 -1
- package/dist/sdk/query/search/types.d.ts +2 -1
- package/dist/sdk/query.d.ts +1 -0
- package/dist/sdk/query.js +1 -1
- package/dist/sdk/read-output-contracts.d.ts +10 -2
- package/dist/sdk/read-output-contracts.js +1 -1
- package/dist/sdk/runtime-input.js +1 -1
- package/dist/sdk/runtime-primitives.d.ts +2 -1
- package/dist/sdk/runtime-primitives.js +1 -1
- package/dist/sdk/runtime.d.ts +11 -11
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/test/batch.js +2 -2
- package/dist/sdk/test/entry.d.ts +5 -1
- package/dist/sdk/test/entry.js +2 -1
- package/dist/sdk/test/execution.js +2 -2
- package/dist/sdk/workspace-snapshot.d.ts +5 -1
- package/dist/sdk/workspace-snapshot.js +3 -3
- package/dist/sdk/workspace.js +2 -2
- package/docs/COMMANDS.md +21 -2
- package/docs/CONFIGURATION.md +19 -3
- package/docs/EXTENSION_AUTHOR_CONTRACTS.md +2 -1
- package/docs/EXTENSION_LIFECYCLE.md +47 -0
- package/docs/MCP_REMOTE_TRANSPORT_SECURITY.md +16 -1
- package/docs/READ_OUTPUT_CONTRACTS.md +15 -0
- package/docs/RELEASING.md +9 -0
- package/docs/SDK.md +84 -5
- package/docs/SDK_STORAGE_LIFECYCLE.md +2 -1
- package/docs/TESTING.md +39 -7
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +8 -3
- 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/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/package.json +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-35ISFIPC.js +0 -113
- package/dist/cli-bundle/chunks/chunk-5LSN7K4N.js +0 -2
- package/dist/cli-bundle/chunks/chunk-BAIVTLJM.js +0 -6
- package/dist/cli-bundle/chunks/chunk-C37RDYZI.js +0 -3
- package/dist/cli-bundle/chunks/chunk-J444ZX23.js +0 -126
- package/dist/cli-bundle/chunks/chunk-O67N62DT.js +0 -2
- package/dist/cli-bundle/chunks/chunk-VO3KDIU7.js +0 -9
- package/dist/cli-bundle/chunks/register-setup-XUIKAIZA.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-25L3L2PF.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-DVNUHTVK.js +0 -9
- package/dist/cli-bundle/focused-chunks/chunk-GC4VMLXL.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-QWKCQ5PW.js +0 -91
- package/dist/cli-bundle/focused-chunks/chunk-SOVXHW6Z.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-UUPJ6OZL.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-XX5JQCLF.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Sb as y}from"./chunk-J444ZX23.js";import{Cd as V,Db as T,If as z,Oe as $,Pe as R,Ue as B,f as N,g as m,hh as G,i as E,ih as v,j as L,k as C,ud as I,vd as k,wd as D,xb as M,xd as A,yb as F,yd as _,zd as w}from"./chunk-35ISFIPC.js";import{A as g,C as b}from"./chunk-GWIGZDRS.js";import{Command as se}from"commander";(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]="df7f766c-1121-5712-b562-423d2cda95ce")}catch{}})();function Ye(e){return new se().name("pm").description("Universal, flexible, extensible, agent-optimized project management CLI for any project or programming language.").version(e).showHelpAfterError(!1).allowExcessArguments(!1).allowUnknownOption(!1).configureOutput({writeOut:t=>{z(t)},writeErr:()=>{}}).option("--json","Output JSON instead of TOON; mutations emit a flat receipt with top-level id/status/changed_field_count while reads use documented entity or collection envelopes").option("--lean","Omit null and empty containers from JSON output").option("--token-accounting","Attach a bounded per-section token-cost receipt to command output").option("--output-include <fields>","Retain comma-separated fields or sections in read output").option("--output-limit <count>","Bound rows in read output").option("--output-budget <tokens|unbounded>","Bound estimated tokens in read output or explicitly disable the default ceiling").option("--output-format <toon|json>","Select the result encoding for reads and mutations").option("--output-session <state>","Carry a JSON session budget and served-item ledger across read calls").option("--output-cursor <cursor>","Resume continuation_kind=output_cursor").option("--output-row-contract","Include row selectors, encoding metadata, and read-output receipts").option("--quiet","Suppress stdout output").option("--no-changed-fields","Omit the changed_fields array from mutation output (keeps changed_field_count)").option("--full-changed-fields","Restore the legacy full mutation envelope and changed_fields array").option("--id-only","Print only id and status for single-item mutation output").option("--pm-path <dir>","Explicit tracker storage path for this command (preferred over --path)").option("--path <dir>","Backward-compatible alias for --pm-path; this is the tracker storage path, not a workspace cwd").option("--no-extensions","Disable extension loading").option("--no-pager","Disable pager integration for help and long output").option("--explain","Render extended rationale and examples in help output").option("--all","Reveal every public command and compatibility alias").option("--profile","Print deterministic timing diagnostics").option("--author <id>","Override mutation author for this invocation").exitOverride()}(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]="8efedca0-725e-520f-ad06-825a0cccddaa")}catch{}})();var W=new Set(["append","claim","close","close-task","comments","copy","delete","deps","docs","files","focus","get","history","history-compact","history-redact","history-repair","learnings","notes","pause-task","release","restore","start-task","test","update"]),U=new Map([["files","discover"],["item","complete"]]),re=new Map([["append",1],["close",1],["close-task",1],["comments",1],["item complete",1],["learnings",1],["notes",1],["restore",1]]);function j(e){let t=m(e?.trim().toLowerCase()??"");return W.has(t)||U.has(t)}function ae(e,t,n){let o=W.has(n)?t+1:void 0,i=_(e.slice(t+1));if(i===void 0)return o;let r=t+1+i,a=`${n} ${e[r]}`,s=m(a);return s===a?n==="item"&&e[r]==="complete"?r+1:o:j(s)?P(e,r,s):void 0}function P(e,t,n){if(["history","context","ctx","update","close","item"].includes(n))return ae(e,t,n);let o=U.get(n);if(o===void 0)return t+1;let i=e[t+1]?.toLowerCase()===o;return t+(i?2:1)}function le(e){let t=new Map;for(let n of y(e))for(let o of[n.flag,n.short,...n.aliases??[]])o&&t.set(o,n);return t}function ce(e){let t=[];for(let n=0;n<e.length;n+=1){let o=e[n];if(o==="--")break;o==="--id"?(t.push({index:n,consumed:2,value:e[n+1]}),n+=1):o.startsWith("--id=")&&t.push({index:n,consumed:1,value:o.slice(5)})}return t}function ue(e,t,n){if(e.indexOf("=")>=0||t===void 0||t.startsWith("-"))return!1;let o=n.get(e);return o!==void 0&&o.value_type!=="boolean"}function de(e,t,n,o,i){let r=0;for(let a=t;a<e.length;a+=1){let s=e[a];if(s==="--")break;if(s==="--id"){a+=1;continue}if(!s.startsWith("--id=")){if(!s.startsWith("-")){if(a<o)return!0;r+=1;continue}ue(s,e[a+1],i)&&(a+=1)}}return r>(re.get(m(n))??0)}function q(e){let t=_(e),n=t===void 0?void 0:e[t]?.toLowerCase();if(n!=="context"&&n!=="ctx"&&!j(n))return{argv:[...e],changed:!1,conflict:!1};let o=P(e,t,n);if(o===void 0)return{argv:[...e],changed:!1,conflict:!1};let i=o>t+1?`${m(e.slice(t,o-1).join(" "))} ${e[o-1]}`:n,r=le(i),a=ce(e),s=a[0];if(!s||!s.value?.trim())return{argv:[...e],changed:!1,conflict:!1};if(a.length>1||de(e,o,i,s.index,r))return{argv:[...e],changed:!1,conflict:!0,itemId:s.value};let l=[...e.slice(0,s.index),...e.slice(s.index+s.consumed)],c=_(l),u=P(l,c,n);return l.splice(u,0,s.value),{argv:l,changed:!0,conflict:!1,itemId:s.value}}(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]="f05cec18-5e48-5151-8ada-577c9df5885d")}catch{}})();var fe=new Set(["--output-include","--output-limit","--output-budget","--output-format","--output-session","--output-cursor"]),pe=new Set(["toon","json"]);function me(e,t,n){let o=e[t];if(k.has(o))return n.booleanFlags.add(o),1;let i=o.indexOf("="),r=i>0?o.slice(0,i):o;if(!I.has(r))return 1;let a=i>0?o.slice(i+1):void 0,s=a===void 0&&A(r,e[t+1]),l=a??(s?e[t+1]:void 0);return r==="--author"?n.author=l??"":typeof l=="string"&&l.length>0&&(fe.has(r)?n.outputValues:n.pathValues).set(r,l),s?2:1}function he(e){let t={booleanFlags:new Set,outputValues:new Map,pathValues:new Map},n=0;for(;n<e.length&&e[n]!=="--";)n+=me(e,n,t);return{path:t.pathValues.get("--pm-path")??t.pathValues.get("--path"),noExtensions:t.booleanFlags.has("--no-extensions")||["history attest","history-attest"].includes(J(e)??""),noPager:t.booleanFlags.has("--no-pager"),json:t.booleanFlags.has("--json")?t.outputValues.get("--output-format")!=="toon":t.outputValues.get("--output-format")==="json",quiet:t.booleanFlags.has("--quiet"),lean:t.booleanFlags.has("--lean"),tokenAccounting:t.booleanFlags.has("--token-accounting"),...t.booleanFlags.has("--output-row-contract")?{outputRowContract:!0}:{},...t.outputValues.get("--output-include")===void 0?{}:{outputInclude:t.outputValues.get("--output-include")},...t.outputValues.get("--output-limit")===void 0?{}:{outputLimit:t.outputValues.get("--output-limit")},...t.outputValues.get("--output-budget")===void 0?{}:{outputBudget:t.outputValues.get("--output-budget")},...pe.has(t.outputValues.get("--output-format"))?{outputFormat:t.outputValues.get("--output-format")}:{},...t.outputValues.get("--output-session")===void 0?{}:{outputSession:t.outputValues.get("--output-session")},...t.outputValues.get("--output-cursor")===void 0?{}:{outputCursor:t.outputValues.get("--output-cursor")},...t.author===""?{authorMissingValue:!0}:t.author!==void 0?{author:t.author}:{}}}function X(e){let t=[],n=0;for(;n<e.length;){let o=e[n];if(o==="--")break;if(k.has(o)||o==="--profile"||o==="--id-only"||o==="--full-changed-fields"||o==="--explain"){n+=1;continue}if(I.has(o)){n+=A(o,e[n+1])?2:1;continue}if(D(o)){n+=1;continue}t.push(o),n+=1}return t}function ge(e){let t=X(e);if(t[0]?.trim().toLowerCase()==="help"){let o=[];for(let i=1;i<t.length;i+=1){let r=t[i];if(r.startsWith("-"))break;o.push(r.trim().toLowerCase())}return{requested:!0,commandPathTokens:o}}if(t.findIndex(o=>o==="--help"||o==="-h")<0)return{requested:!1,commandPathTokens:[]};let n=[];for(let o of t){if(o.startsWith("-"))break;n.push(o.trim().toLowerCase())}return{requested:!0,commandPathTokens:n}}function S(e){return _(e)}function be(e){return w(e)}function ye(e,t){return t.noPager?!0:process.stdout.isTTY===!0?!1:ge(e).requested}function ct(e){let t=["PAGER","MANPAGER","GIT_PAGER","LESS"],n=t.map(r=>process.env[r]),o=()=>{for(let[r,a]of t.entries()){let s=n[r];s===void 0?delete process.env[a]:process.env[a]=s}},i=he(e);return ye(e,i)&&(process.env.PAGER="cat",process.env.MANPAGER="cat",process.env.GIT_PAGER="cat",(typeof process.env.LESS!="string"||process.env.LESS.trim().length===0)&&(process.env.LESS="FRX")),o}var _e=new Set(["install","uninstall","explore","manage","doctor","adopt","adopt-all","activate","deactivate"]);function Ie(e){let t=S(e);if(t===void 0||e[t]!=="extension")return[...e];let n=e[t+1];if(!n||n.startsWith("-"))return[...e];if(!_e.has(n))return[...e];if(e.includes("--help")||e.includes("-h"))return[...e];let o=`--${n}`;return e.includes(o)?[...e]:[...e.slice(0,t+1),o,...e.slice(t+2)]}var we=new Set(["pm","pm-cli"]);function Ce(e,t){let n=S(e);if(n===void 0)return e;let o=e[n];return we.has(o.trim().toLowerCase())?(t.push({from:o,to:[],reason:"executable_alias",confidence:"high"}),[...e.slice(0,n),...e.slice(n+1)]):e}function Te(e,t){let n=S(e);if(n!==void 0&&e[n]==="help"){let s=S(e.slice(n+1));n=s===void 0?void 0:n+1+s}if(n===void 0)return e;let o=e[n],i=L[o.trim().toLowerCase()];if(!i)return e;let r=i.split(" "),a=[...e.slice(0,n),...r,...e.slice(n+1)];return t.push({from:o,to:r,reason:"command_alias",confidence:"high"}),a}function x(e){return e.replace(/^--?/,"").replace(/_/g,"-").replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function K(e){return x(e).replace(/-/g,"")}function Y(e,t,n){let o=e.get(t);if(o===void 0){e.set(t,n);return}o!==n&&e.set(t,null)}function ke(e){let t=[],n=o=>{typeof o=="string"&&o.startsWith("--")&&t.push(o)};n(e.flag);for(let o of e.aliases??[])n(o);return t}function ve(e,t){let n=t??y(e),o=new Map,i=new Map,r=new Map,a=new Set;for(let s of n){let l=ke(s);if(l.length===0)continue;let c=`--${x(l[0])}`;for(let d of l)Y(o,x(d),c),Y(i,K(d),c);let u=K(c);r.has(c)||r.set(c,u),s.list===!0&&a.add(c)}return{canonicalByNormalized:o,canonicalByCompact:i,canonicalComparables:[...r.entries()].map(([s,l])=>({canonicalFlag:s,comparable:l})),listCanonicalFlags:a}}function Z(e,t){let n=x(e),o=t.canonicalByNormalized.get(n);if(typeof o=="string")return{flag:o,reason:"flag_alias",confidence:"high"};let i=n.replace(/-/g,""),r=t.canonicalByCompact.get(i);if(typeof r=="string")return{flag:r,reason:"flag_alias",confidence:"high"};let a=i.length>=8?2:1,s=Number.POSITIVE_INFINITY,l,c=!1;for(let u of t.canonicalComparables){let d=T(i,u.comparable,a);if(d!==null){if(d<s){s=d,l=u.canonicalFlag,c=!1;continue}d===s&&l!==u.canonicalFlag&&(c=!0)}}return!l||c||!Number.isFinite(s)||s<=0?null:{flag:l,reason:"flag_typo",confidence:s>=2?"medium":"high"}}function ut(e){let t=[`${e}s`];return e.endsWith("y")&&e.length>1&&t.push(`${e.slice(0,-1)}ies`),t}function Se(e,t=!1){if(t||e.includes("://"))return null;let n=e.match(/^([A-Za-z][A-Za-z0-9_-]{1,63})([:=])(.*)$/);if(!n)return null;let o=n[1],i=n[3];return i.length===0?null:{key:o,value:i}}function xe(e,t,n=!1){if(n||!e.startsWith("--"))return{tokens:[e]};let o=e.indexOf("="),i=o>=0?e.slice(0,o):e,r=o>=0?e.slice(o+1):void 0,a=Z(i,t);if(!a)return{tokens:[e]};let s=r===void 0?a.flag:`${a.flag}=${r}`;return s===e?{tokens:[e]}:{tokens:[s],event:{from:e,to:[s],reason:a.reason,confidence:a.confidence}}}function Oe(e){let t=new Set,n=!1;for(let o=0;o<e.length;o+=1){if(n){t.add(o),n=!1;continue}let i=e[o];n=i==="--path"||i==="--pm-path"}return t}function Ee(e){if(!e.startsWith("--"))return null;let t=e.indexOf("=");return t<0?{flag:e}:{flag:e.slice(0,t),inlineValue:e.slice(t+1)}}function Ae(e,t,n){n.push(e[t]);let o=e[t+1];return typeof o=="string"&&o!=="--"?(n.push(o),t+2):t+1}function Pe(e,t,n,o){if(n.inlineValue!==void 0)return{originalTokens:[e[t]],value:n.inlineValue,consumed:1};let i=[],r=t+1;for(;r<e.length&&e[r]!=="--"&&!e[r].startsWith("-")&&(i.length===0||o.has(n.flag));)i.push(e[r]),r+=1;let a=i.length===0?1:1+i.length;return{originalTokens:e.slice(t,t+a),value:i.length===0?void 0:i.join(","),consumed:a}}function Ne(e,t,n,o){let i=e.get(n);if(i){i.values.push(o.value),i.occurrences+=1;return}e.set(n,{outputIndex:t.length,originalTokens:o.originalTokens,values:[o.value],occurrences:1}),t.push(null)}function Le(e,t){let n=[],o=[];for(let[i,r]of e){if(!(r.occurrences>=2||t.has(i)&&r.originalTokens.length>2)){o.push({outputIndex:r.outputIndex,tokens:r.originalTokens});continue}let a=`${i}=${r.values.join(",")}`;o.push({outputIndex:r.outputIndex,tokens:[a]}),n.push({from:`${i} (x${r.occurrences})`,to:[a],reason:"list_merge",confidence:"high"})}return{events:n,splices:o}}function Me(e,t){t.sort((n,o)=>o.outputIndex-n.outputIndex);for(let n of t)e.splice(n.outputIndex,1,...n.tokens)}function Fe(e,t,n=new Set,o=new Set){if(t.size===0)return{argv:[...e],events:[]};let i=[],r=new Map,a=0;for(;a<e.length;){let c=e[a];if(c==="--"){i.push(...e.slice(a));break}if(n.has(c)){a=Ae(e,a,i);continue}let u=Ee(c);if(!u||!t.has(u.flag)){i.push(c),a+=1;continue}let d=Pe(e,a,u,o);if(d.value===void 0){i.push(c),a+=d.consumed;continue}Ne(r,i,u.flag,{originalTokens:d.originalTokens,value:d.value}),a+=d.consumed}let{events:s,splices:l}=Le(r,o);return Me(i,l),{argv:i,events:s}}var H=new Map([["--add",new Set(["command","cmd","path"])],["--remove",new Set(["command","path"])]]);function De(e,t){if(e!=="test"||t.length<2)return!1;let n=t[t.length-1],o=t[t.length-2],i=H.get(o);return i!==void 0&&i.has(n)}function Ve(e,t,n){if(t!=="test")return e;let o=[],i=0;for(;i<e.length;){let r=e[i];if(r==="--")return o.push(...e.slice(i)),o;let a=H.get(r),s=a?e[i+1]:void 0;if(!a||typeof s!="string"||!a.has(s)){o.push(r),i+=1;continue}let l=i+2;for(;l<e.length&&!e[l].startsWith("-");)l+=1;if(l-(i+2)!==1){o.push(r),i+=1;continue}let c=e[i+2],u=`${s}=${c}`;o.push(r,u),n.push({from:`${r} ${s} ${c}`,to:[r,u],reason:"bare_key_value",confidence:"high"}),i+=3}return o}function $e(e,t,n,o){let i=[],r=Oe(e);for(let a=0;a<e.length;a+=1){let s=e[a];if(s==="--"){i.push(...e.slice(a));break}let l=r.has(a),c=i[i.length-1];if(s.startsWith("--")){let h=xe(s,t,l);i.push(...h.tokens),h.event&&o.push(h.event);continue}let u=Se(s,l);if(!u||typeof c=="string"&&c.startsWith("-")&&!c.includes("=")||["search","comments","notes","learnings"].includes(n)||De(n,i)){i.push(s);continue}let d=Z(u.key,t);if(!d){i.push(s);continue}let p=u.value.startsWith("-")?[`${d.flag}=${u.value}`]:[d.flag,u.value];i.push(...p),o.push({from:s,to:p,reason:"bare_key_value",confidence:d.confidence})}return i}function Re(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(n==="--")break;if(n==="--verify"){let o=e[t+1];if(o===void 0||o==="--")throw new b("history attest --verify requires a bundle file.",g.USAGE);e.splice(t,2,`--verify=${o}`)}else(I.has(n)||n==="--output"||n==="--hash-algorithm")&&(t+=1)}}function Be(e,t){if(!e.some(o=>o==="--help"||o==="-h"))return;let n=new Set(y(t).flatMap(o=>[o.flag,...o.aliases??[],...o.short===void 0?[]:[o.short]]));for(let o=0;o<e.length;o+=1){let i=e[o];if(i==="--")break;i!=="--help"&&i!=="-h"||n.has(e[o-1])&&!k.has(e[o-1])&&(e[o-1]=i)}}function dt(e){let t=[],n=Ce(e,t),o=Ie(n);(o.length!==n.length||o.some((h,ie)=>h!==n[ie]))&&t.push({from:n.join(" "),to:[...o],reason:"legacy_extension_action",confidence:"high"});let i=Te(o,t),r=q(i);if(r.conflict)throw new b("Provide the item id either positionally or with --id, not both.",g.USAGE);r.changed&&t.push({from:`--id ${r.itemId}`,to:[r.itemId],reason:"item_id_alias",confidence:"high"});let a=be(r.argv),s=J(r.argv),l=m(s??a??""),c=ve(s??a),u=$e(r.argv,c,l,t),d=Ve(u,l,t),p=Fe(d,c.listCanonicalFlags,I,a==="create"?new Set(["--tags"]):new Set);for(let h of p.events)t.push(h);return Be(p.argv,s??a),s==="history attest"&&Re(p.argv),{argv:p.argv,commandName:a,trace:t}}function J(e){let t=X(e),n=t[0]?.trim().toLowerCase(),o=t[1]?.trim().toLowerCase(),i=N(t);return i?i.canonical:(n==="extension"||n==="package"||n==="packages")&&typeof o=="string"&&o.length>0&&!o.startsWith("-")?`${n} ${o}`:n}function ft(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(n==="--")break;if(n==="--type"){let o=e[t+1];if(typeof o=="string"&&o.trim().length>0)return o.trim();continue}if(n.startsWith("--type=")){let o=n.slice(7).trim();if(o.length>0)return 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]="fb625cd9-f8a8-56cf-88ab-abef64051497")}catch{}})();function bt(e){if(e===void 0)return()=>{};let t=e.trim();if(t.length===0)throw new b("--author requires a non-empty value.",g.USAGE,{code:"missing_required_argument",nextSteps:["Pass an explicit author identifier with --author <id>."]});let n=G();v(t);let o=!1;return()=>{o||(o=!0,n===void 0?v(void 0):v(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]="d0e60f7e-e0a8-5ef4-9af7-4a1f102ccb7d")}catch{}})();var f=Object.freeze({clock:"PM_CLOCK",tickMs:"PM_CLOCK_TICK_MS",seed:"PM_SEED"});function O(e,t,n,o){return new b(e,g.USAGE,{code:"invalid_reproducible_process_environment",reason:t,field:n,required:`${f.clock} and ${f.seed}; ${f.tickMs} is optional`,nextSteps:[`Set ${f.clock} to an ISO-8601 instant with Z or a numeric UTC offset and ${f.seed} to a non-empty reproducibility seed.`,`Optionally set ${f.tickMs} to a non-negative integer; it defaults to 1.`,"Unset all three variables to retain normal wall-clock and cryptographic-random behavior."],recovery:{recovery_mode:"compact",provided_fields:o,missing_required_fields:t==="incomplete"?[f.clock,f.seed].filter(i=>!o.includes(i)):void 0}})}function ze(e){let t=e[f.clock],n=e[f.tickMs],o=e[f.seed],i=[[f.clock,t],[f.tickMs,n],[f.seed,o]].filter(a=>a[1]!==void 0).map(([a])=>a);if(i.length===0)return;if(t===void 0||o===void 0)throw O("Reproducible process execution requires PM_CLOCK and PM_SEED together.","incomplete",t===void 0?f.clock:f.seed,i);if(o.trim().length===0)throw O(`${f.seed} must not be empty.`,"invalid_value",f.seed,i);if(!B(t))throw O(`${f.clock} must be a valid ISO-8601 instant with Z or a numeric UTC offset.`,"invalid_value",f.clock,i);let r=n===void 0?1:Number(n);if(n?.trim().length===0||!Number.isSafeInteger(r)||r<0)throw O(`${f.tickMs} must be a non-negative integer.`,"invalid_value",f.tickMs,i);return $({clock:t,seed:o,tickMs:r})}function Ge(e){let t=ze(e);return t===void 0?n=>n():R(t)}async function Tt(e,t){return Ge(e)(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]="54d81daa-9e2e-5b4d-b9f2-93f8d11f9fbc")}catch{}})();var Q=new Set([...Object.values(M),...F,"--full","--brief","--compact","--summary","--fields","--section","--token-budget"]),ee=new Set(["--full-changed-fields","--no-changed-fields","--id-only"]);function We(e,t,n,o){if(t==="--full"&&e==="context"&&n===t)return{consumed:1,replacement:["--depth","full"],conflicts:["--depth","--output-include","--fields","--section","--for"]};if(t==="--depth"&&["list","search"].includes(e)){let i=n.includes("=");return(i?n.slice(n.indexOf("=")+1):o)!=="full"?void 0:{consumed:i?1:2,replacement:["--full"],conflicts:["--full","--brief","--compact","--output-include","--fields","--for"]}}return t==="--toon"&&n===t?{consumed:1,replacement:["--output-format","toon"],conflicts:["--json","--format","--output-format","--stream"]}:void 0}function At(e,t,n){let o=e==="ctx"?"context":m(e);if(!["context","list","search","get"].includes(o)||t.includes("--"))return;let i=w(t);if((i==="ctx"?"context":i)!==o)return;let r=n.split("=",1)[0],a=t.flatMap((p,h)=>p===r||p.startsWith(`${r}=`)?[h]:[]);if(a.length!==1)return;let s=a[0],l=We(o,r,t[s],t[s+1]);if(!l)return;let{replacement:c,consumed:u,conflicts:d}=l;if(!t.some(p=>d.includes(p.split("=",1)[0])))return[...t.slice(0,s),...c,...t.slice(s+u)]}function te(e){let t=e.split("=",1)[0].replaceAll("_","-");return Q.has(t)||t.length>=5&&[...Q].some(n=>n.startsWith(t))}function Pt(e,t){let n=e.split("=",1)[0].replaceAll("_","-");return te(n)?!ee.has(t):ee.has(n)?!te(t):!0}function ne(e){return e.trim().match(/--[a-z0-9][a-z0-9_-]*/i)?.[0]?.replaceAll("_","-").toLowerCase()}function Nt(e){if(!(!Array.isArray(e)||e.length===0))return w(e)}function Ue(e,t){let n=ne(t);if(!n)return;let o=y(e).find(i=>i.flag===n||i.aliases?.includes(n));return o?o.value_type==="boolean"?null:`<${o.value_name??"value"}>`:"<value>"}function Lt(e,t,n){let o=[...e],i=o.indexOf("--"),r=i<0?o.length:i;for(let a of n){let s=ne(a);if(!s||o.slice(0,r).some(u=>u===s||u.startsWith(`${s}=`)))continue;let l=Ue(t,s),c=l?[s,l]:[s];o.splice(r,0,...c),r+=c.length}return o.length===e.length?void 0:V(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]="bd9a8d3b-bc6f-5309-a3fb-7e5f41ef9dab")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12066389-daef-5fce-b7a6-0ecffa926d66")}catch{}})();function Bt(e,t){let n=e.trim().split(/\s+/u);if(!(n.length<2||t.includes(n.join(" "))))for(let o=1;o<n.length;o+=1){if(!t.includes(n.slice(0,o).join(" ")))return;let i=n.slice(o).join(" "),r=C(i),a=new Set(t.filter(s=>s===i||s.endsWith(` ${i}`)||s===r?.canonical).map(s=>C(s)?.canonical??s).filter(s=>t.includes(s)));if(a.size>0)return a.size===1?[...a][0]:void 0}}var je={add:["create","append"],fetch:["get"],inspect:["get","health"],log:["history","comments","notes"],ls:["list"],pause:["release"],read:["get"],remove:["delete"],rm:["delete"],show:["get"],start:["start-task"]};function oe(e,t){let n=e.trim().toLowerCase(),o=t.trim().toLowerCase();if(o.length===0)return Number.POSITIVE_INFINITY;let i=n.split(" "),r=je[o]?.indexOf(m(n));if(r!==void 0&&r>=0)return r;if(n===o)return 10;if(i.includes(o))return 11;if(i.some(l=>l.startsWith(o)))return 12;let a=o.length>=5?2:1,s=Number.POSITIVE_INFINITY;for(let l of i){let c=T(l,o,a);c!==null&&(s=Math.min(s,c))}return Number.isFinite(s)?20+s:n.includes(o)?30:Number.POSITIVE_INFINITY}function zt(e,t){return e.map(n=>({path:n,score:oe(n,t)})).filter(n=>Number.isFinite(n.score)).sort((n,o)=>n.score!==o.score?n.score-o.score:n.path===o.path?0:n.path<o.path?-1:1).map(n=>n.path)}function Gt(e,t,n){let o=new Set(t),i=E.filter(s=>s.lifecycle==="deprecated").slice().sort((s,l)=>l.alias.length-s.alias.length),r=[],a=e.flatMap(s=>{let l=i.find(u=>s===u.alias||s.startsWith(`${u.alias} `)),c=s;if(l){let u=s.slice(l.alias.length);if(!o.has(`${l.canonical}${u}`))return[];c=`${l.canonical_argv.join(" ")}${u}`}return n!==void 0&&oe(s,n)<10&&r.push(c),[c]});return[...new Set(r.length>0?r:a)]}export{Ye as a,j as b,q as c,he as d,X as e,ge as f,S as g,be as h,ct as i,Ie as j,ut as k,Fe as l,Ve as m,dt as n,ft as o,bt as p,f as q,ze as r,Ge as s,Tt as t,At as u,te as v,Pt as w,Nt as x,Ue as y,Lt as z,Bt as A,oe as B,zt as C,Gt as D};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{Tb as y}from"./chunk-HZNFNETE.js";import{Cd as R,Db as T,Kf as z,Oe as V,Pe as $,Ue as B,f as N,g as m,i as E,j as L,jh as G,k as C,kh as v,ud as I,vd as k,wd as D,xb as M,xd as A,yb as F,yd as _,zd as w}from"./chunk-URZB3USE.js";import{A as g,C as b}from"./chunk-R7KWBFM2.js";import{Command as se}from"commander";(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]="df7f766c-1121-5712-b562-423d2cda95ce")}catch{}})();function Ye(e){return new se().name("pm").description("Universal, flexible, extensible, agent-optimized project management CLI for any project or programming language.").version(e).showHelpAfterError(!1).allowExcessArguments(!1).allowUnknownOption(!1).configureOutput({writeOut:t=>{z(t)},writeErr:()=>{}}).option("--json","Output JSON instead of TOON; mutations emit a flat receipt with top-level id/status/changed_field_count while reads use documented entity or collection envelopes").option("--lean","Omit null and empty containers from JSON output").option("--token-accounting","Attach a bounded per-section token-cost receipt to command output").option("--output-include <fields>","Retain comma-separated fields or sections in read output").option("--output-limit <count>","Bound rows in read output").option("--output-budget <tokens|unbounded>","Bound estimated tokens in read output or explicitly disable the default ceiling").option("--output-format <toon|json>","Select the result encoding for reads and mutations").option("--output-session <state>","Carry a JSON session budget and served-item ledger across read calls").option("--output-cursor <cursor>","Resume continuation_kind=output_cursor").option("--output-row-contract","Include row selectors, encoding metadata, and read-output receipts").option("--quiet","Suppress stdout output").option("--no-changed-fields","Omit the changed_fields array from mutation output (keeps changed_field_count)").option("--full-changed-fields","Restore the legacy full mutation envelope and changed_fields array").option("--id-only","Print only id and status for single-item mutation output").option("--pm-path <dir>","Explicit tracker storage path for this command (preferred over --path)").option("--path <dir>","Backward-compatible alias for --pm-path; this is the tracker storage path, not a workspace cwd").option("--no-extensions","Disable extension loading").option("--no-pager","Disable pager integration for help and long output").option("--explain","Render extended rationale and examples in help output").option("--all","Reveal every public command and compatibility alias").option("--profile","Print deterministic timing diagnostics").option("--author <id>","Override mutation author for this invocation").exitOverride()}(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]="8efedca0-725e-520f-ad06-825a0cccddaa")}catch{}})();var W=new Set(["append","claim","close","close-task","comments","copy","delete","deps","docs","files","focus","get","history","history-compact","history-redact","history-repair","learnings","notes","pause-task","release","restore","start-task","test","update"]),U=new Map([["files","discover"],["item","complete"]]),re=new Map([["append",1],["close",1],["close-task",1],["comments",1],["item complete",1],["learnings",1],["notes",1],["restore",1]]);function j(e){let t=m(e?.trim().toLowerCase()??"");return W.has(t)||U.has(t)}function ae(e,t,n){let o=W.has(n)?t+1:void 0,i=_(e.slice(t+1));if(i===void 0)return o;let r=t+1+i,a=`${n} ${e[r]}`,s=m(a);return s===a?n==="item"&&e[r]==="complete"?r+1:o:j(s)?P(e,r,s):void 0}function P(e,t,n){if(["history","context","ctx","update","close","item"].includes(n))return ae(e,t,n);let o=U.get(n);if(o===void 0)return t+1;let i=e[t+1]?.toLowerCase()===o;return t+(i?2:1)}function le(e){let t=new Map;for(let n of y(e))for(let o of[n.flag,n.short,...n.aliases??[]])o&&t.set(o,n);return t}function ce(e){let t=[];for(let n=0;n<e.length;n+=1){let o=e[n];if(o==="--")break;o==="--id"?(t.push({index:n,consumed:2,value:e[n+1]}),n+=1):o.startsWith("--id=")&&t.push({index:n,consumed:1,value:o.slice(5)})}return t}function ue(e,t,n){if(e.indexOf("=")>=0||t===void 0||t.startsWith("-"))return!1;let o=n.get(e);return o!==void 0&&o.value_type!=="boolean"}function de(e,t,n,o,i){let r=0;for(let a=t;a<e.length;a+=1){let s=e[a];if(s==="--")break;if(s==="--id"){a+=1;continue}if(!s.startsWith("--id=")){if(!s.startsWith("-")){if(a<o)return!0;r+=1;continue}ue(s,e[a+1],i)&&(a+=1)}}return r>(re.get(m(n))??0)}function q(e){let t=_(e),n=t===void 0?void 0:e[t]?.toLowerCase();if(n!=="context"&&n!=="ctx"&&!j(n))return{argv:[...e],changed:!1,conflict:!1};let o=P(e,t,n);if(o===void 0)return{argv:[...e],changed:!1,conflict:!1};let i=o>t+1?`${m(e.slice(t,o-1).join(" "))} ${e[o-1]}`:n,r=le(i),a=ce(e),s=a[0];if(!s||!s.value?.trim())return{argv:[...e],changed:!1,conflict:!1};if(a.length>1||de(e,o,i,s.index,r))return{argv:[...e],changed:!1,conflict:!0,itemId:s.value};let l=[...e.slice(0,s.index),...e.slice(s.index+s.consumed)],c=_(l),u=P(l,c,n);return l.splice(u,0,s.value),{argv:l,changed:!0,conflict:!1,itemId:s.value}}(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]="f05cec18-5e48-5151-8ada-577c9df5885d")}catch{}})();var fe=new Set(["--output-include","--output-limit","--output-budget","--output-format","--output-session","--output-cursor"]),pe=new Set(["toon","json"]);function me(e,t,n){let o=e[t];if(k.has(o))return n.booleanFlags.add(o),1;let i=o.indexOf("="),r=i>0?o.slice(0,i):o;if(!I.has(r))return 1;let a=i>0?o.slice(i+1):void 0,s=a===void 0&&A(r,e[t+1]),l=a??(s?e[t+1]:void 0);return r==="--author"?n.author=l??"":typeof l=="string"&&l.length>0&&(fe.has(r)?n.outputValues:n.pathValues).set(r,l),s?2:1}function he(e){let t={booleanFlags:new Set,outputValues:new Map,pathValues:new Map},n=0;for(;n<e.length&&e[n]!=="--";)n+=me(e,n,t);return{path:t.pathValues.get("--pm-path")??t.pathValues.get("--path"),noExtensions:t.booleanFlags.has("--no-extensions")||["history attest","history-attest"].includes(J(e)??""),noPager:t.booleanFlags.has("--no-pager"),json:t.booleanFlags.has("--json")?t.outputValues.get("--output-format")!=="toon":t.outputValues.get("--output-format")==="json",quiet:t.booleanFlags.has("--quiet"),lean:t.booleanFlags.has("--lean"),tokenAccounting:t.booleanFlags.has("--token-accounting"),...t.booleanFlags.has("--output-row-contract")?{outputRowContract:!0}:{},...t.outputValues.get("--output-include")===void 0?{}:{outputInclude:t.outputValues.get("--output-include")},...t.outputValues.get("--output-limit")===void 0?{}:{outputLimit:t.outputValues.get("--output-limit")},...t.outputValues.get("--output-budget")===void 0?{}:{outputBudget:t.outputValues.get("--output-budget")},...pe.has(t.outputValues.get("--output-format"))?{outputFormat:t.outputValues.get("--output-format")}:{},...t.outputValues.get("--output-session")===void 0?{}:{outputSession:t.outputValues.get("--output-session")},...t.outputValues.get("--output-cursor")===void 0?{}:{outputCursor:t.outputValues.get("--output-cursor")},...t.author===""?{authorMissingValue:!0}:t.author!==void 0?{author:t.author}:{}}}function X(e){let t=[],n=0;for(;n<e.length;){let o=e[n];if(o==="--")break;if(k.has(o)||o==="--profile"||o==="--id-only"||o==="--full-changed-fields"||o==="--explain"){n+=1;continue}if(I.has(o)){n+=A(o,e[n+1])?2:1;continue}if(D(o)){n+=1;continue}t.push(o),n+=1}return t}function ge(e){let t=X(e);if(t[0]?.trim().toLowerCase()==="help"){let o=[];for(let i=1;i<t.length;i+=1){let r=t[i];if(r.startsWith("-"))break;o.push(r.trim().toLowerCase())}return{requested:!0,commandPathTokens:o}}if(t.findIndex(o=>o==="--help"||o==="-h")<0)return{requested:!1,commandPathTokens:[]};let n=[];for(let o of t){if(o.startsWith("-"))break;n.push(o.trim().toLowerCase())}return{requested:!0,commandPathTokens:n}}function S(e){return _(e)}function be(e){return w(e)}function ye(e,t){return t.noPager?!0:process.stdout.isTTY===!0?!1:ge(e).requested}function ct(e){let t=["PAGER","MANPAGER","GIT_PAGER","LESS"],n=t.map(r=>process.env[r]),o=()=>{for(let[r,a]of t.entries()){let s=n[r];s===void 0?delete process.env[a]:process.env[a]=s}},i=he(e);return ye(e,i)&&(process.env.PAGER="cat",process.env.MANPAGER="cat",process.env.GIT_PAGER="cat",(typeof process.env.LESS!="string"||process.env.LESS.trim().length===0)&&(process.env.LESS="FRX")),o}var _e=new Set(["install","uninstall","explore","manage","doctor","adopt","adopt-all","activate","deactivate"]);function Ie(e){let t=S(e);if(t===void 0||e[t]!=="extension")return[...e];let n=e[t+1];if(!n||n.startsWith("-"))return[...e];if(!_e.has(n))return[...e];if(e.includes("--help")||e.includes("-h"))return[...e];let o=`--${n}`;return e.includes(o)?[...e]:[...e.slice(0,t+1),o,...e.slice(t+2)]}var we=new Set(["pm","pm-cli"]);function Ce(e,t){let n=S(e);if(n===void 0)return e;let o=e[n];return we.has(o.trim().toLowerCase())?(t.push({from:o,to:[],reason:"executable_alias",confidence:"high"}),[...e.slice(0,n),...e.slice(n+1)]):e}function Te(e,t){let n=S(e);if(n!==void 0&&e[n]==="help"){let s=S(e.slice(n+1));n=s===void 0?void 0:n+1+s}if(n===void 0)return e;let o=e[n],i=L[o.trim().toLowerCase()];if(!i)return e;let r=i.split(" "),a=[...e.slice(0,n),...r,...e.slice(n+1)];return t.push({from:o,to:r,reason:"command_alias",confidence:"high"}),a}function x(e){return e.replace(/^--?/,"").replace(/_/g,"-").replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function K(e){return x(e).replace(/-/g,"")}function Y(e,t,n){let o=e.get(t);if(o===void 0){e.set(t,n);return}o!==n&&e.set(t,null)}function ke(e){let t=[],n=o=>{typeof o=="string"&&o.startsWith("--")&&t.push(o)};n(e.flag);for(let o of e.aliases??[])n(o);return t}function ve(e,t){let n=t??y(e),o=new Map,i=new Map,r=new Map,a=new Set;for(let s of n){let l=ke(s);if(l.length===0)continue;let c=`--${x(l[0])}`;for(let d of l)Y(o,x(d),c),Y(i,K(d),c);let u=K(c);r.has(c)||r.set(c,u),s.list===!0&&a.add(c)}return{canonicalByNormalized:o,canonicalByCompact:i,canonicalComparables:[...r.entries()].map(([s,l])=>({canonicalFlag:s,comparable:l})),listCanonicalFlags:a}}function Z(e,t){let n=x(e),o=t.canonicalByNormalized.get(n);if(typeof o=="string")return{flag:o,reason:"flag_alias",confidence:"high"};let i=n.replace(/-/g,""),r=t.canonicalByCompact.get(i);if(typeof r=="string")return{flag:r,reason:"flag_alias",confidence:"high"};let a=i.length>=8?2:1,s=Number.POSITIVE_INFINITY,l,c=!1;for(let u of t.canonicalComparables){let d=T(i,u.comparable,a);if(d!==null){if(d<s){s=d,l=u.canonicalFlag,c=!1;continue}d===s&&l!==u.canonicalFlag&&(c=!0)}}return!l||c||!Number.isFinite(s)||s<=0?null:{flag:l,reason:"flag_typo",confidence:s>=2?"medium":"high"}}function ut(e){let t=[`${e}s`];return e.endsWith("y")&&e.length>1&&t.push(`${e.slice(0,-1)}ies`),t}function Se(e,t=!1){if(t||e.includes("://"))return null;let n=e.match(/^([A-Za-z][A-Za-z0-9_-]{1,63})([:=])(.*)$/);if(!n)return null;let o=n[1],i=n[3];return i.length===0?null:{key:o,value:i}}function xe(e,t,n=!1){if(n||!e.startsWith("--"))return{tokens:[e]};let o=e.indexOf("="),i=o>=0?e.slice(0,o):e,r=o>=0?e.slice(o+1):void 0,a=Z(i,t);if(!a)return{tokens:[e]};let s=r===void 0?a.flag:`${a.flag}=${r}`;return s===e?{tokens:[e]}:{tokens:[s],event:{from:e,to:[s],reason:a.reason,confidence:a.confidence}}}function Oe(e){let t=new Set,n=!1;for(let o=0;o<e.length;o+=1){if(n){t.add(o),n=!1;continue}let i=e[o];n=i==="--path"||i==="--pm-path"}return t}function Ee(e){if(!e.startsWith("--"))return null;let t=e.indexOf("=");return t<0?{flag:e}:{flag:e.slice(0,t),inlineValue:e.slice(t+1)}}function Ae(e,t,n){n.push(e[t]);let o=e[t+1];return typeof o=="string"&&o!=="--"?(n.push(o),t+2):t+1}function Pe(e,t,n,o){if(n.inlineValue!==void 0)return{originalTokens:[e[t]],value:n.inlineValue,consumed:1};let i=[],r=t+1;for(;r<e.length&&e[r]!=="--"&&!e[r].startsWith("-")&&(i.length===0||o.has(n.flag));)i.push(e[r]),r+=1;let a=i.length===0?1:1+i.length;return{originalTokens:e.slice(t,t+a),value:i.length===0?void 0:i.join(","),consumed:a}}function Ne(e,t,n,o){let i=e.get(n);if(i){i.values.push(o.value),i.occurrences+=1;return}e.set(n,{outputIndex:t.length,originalTokens:o.originalTokens,values:[o.value],occurrences:1}),t.push(null)}function Le(e,t){let n=[],o=[];for(let[i,r]of e){if(!(r.occurrences>=2||t.has(i)&&r.originalTokens.length>2)){o.push({outputIndex:r.outputIndex,tokens:r.originalTokens});continue}let a=`${i}=${r.values.join(",")}`;o.push({outputIndex:r.outputIndex,tokens:[a]}),n.push({from:`${i} (x${r.occurrences})`,to:[a],reason:"list_merge",confidence:"high"})}return{events:n,splices:o}}function Me(e,t){t.sort((n,o)=>o.outputIndex-n.outputIndex);for(let n of t)e.splice(n.outputIndex,1,...n.tokens)}function Fe(e,t,n=new Set,o=new Set){if(t.size===0)return{argv:[...e],events:[]};let i=[],r=new Map,a=0;for(;a<e.length;){let c=e[a];if(c==="--"){i.push(...e.slice(a));break}if(n.has(c)){a=Ae(e,a,i);continue}let u=Ee(c);if(!u||!t.has(u.flag)){i.push(c),a+=1;continue}let d=Pe(e,a,u,o);if(d.value===void 0){i.push(c),a+=d.consumed;continue}Ne(r,i,u.flag,{originalTokens:d.originalTokens,value:d.value}),a+=d.consumed}let{events:s,splices:l}=Le(r,o);return Me(i,l),{argv:i,events:s}}var H=new Map([["--add",new Set(["command","cmd","path"])],["--remove",new Set(["command","path"])]]);function De(e,t){if(e!=="test"||t.length<2)return!1;let n=t[t.length-1],o=t[t.length-2],i=H.get(o);return i!==void 0&&i.has(n)}function Re(e,t,n){if(t!=="test")return e;let o=[],i=0;for(;i<e.length;){let r=e[i];if(r==="--")return o.push(...e.slice(i)),o;let a=H.get(r),s=a?e[i+1]:void 0;if(!a||typeof s!="string"||!a.has(s)){o.push(r),i+=1;continue}let l=i+2;for(;l<e.length&&!e[l].startsWith("-");)l+=1;if(l-(i+2)!==1){o.push(r),i+=1;continue}let c=e[i+2],u=`${s}=${c}`;o.push(r,u),n.push({from:`${r} ${s} ${c}`,to:[r,u],reason:"bare_key_value",confidence:"high"}),i+=3}return o}function Ve(e,t,n,o){let i=[],r=Oe(e);for(let a=0;a<e.length;a+=1){let s=e[a];if(s==="--"){i.push(...e.slice(a));break}let l=r.has(a),c=i[i.length-1];if(s.startsWith("--")){let h=xe(s,t,l);i.push(...h.tokens),h.event&&o.push(h.event);continue}let u=Se(s,l);if(!u||typeof c=="string"&&c.startsWith("-")&&!c.includes("=")||["search","comments","notes","learnings"].includes(n)||De(n,i)){i.push(s);continue}let d=Z(u.key,t);if(!d){i.push(s);continue}let p=u.value.startsWith("-")?[`${d.flag}=${u.value}`]:[d.flag,u.value];i.push(...p),o.push({from:s,to:p,reason:"bare_key_value",confidence:d.confidence})}return i}function $e(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(n==="--")break;if(n==="--verify"){let o=e[t+1];if(o===void 0||o==="--")throw new b("history attest --verify requires a bundle file.",g.USAGE);e.splice(t,2,`--verify=${o}`)}else(I.has(n)||n==="--output"||n==="--hash-algorithm")&&(t+=1)}}function Be(e,t){if(!e.some(o=>o==="--help"||o==="-h"))return;let n=new Set(y(t).flatMap(o=>[o.flag,...o.aliases??[],...o.short===void 0?[]:[o.short]]));for(let o=0;o<e.length;o+=1){let i=e[o];if(i==="--")break;i!=="--help"&&i!=="-h"||n.has(e[o-1])&&!k.has(e[o-1])&&(e[o-1]=i)}}function dt(e){let t=[],n=Ce(e,t),o=Ie(n);(o.length!==n.length||o.some((h,ie)=>h!==n[ie]))&&t.push({from:n.join(" "),to:[...o],reason:"legacy_extension_action",confidence:"high"});let i=Te(o,t),r=q(i);if(r.conflict)throw new b("Provide the item id either positionally or with --id, not both.",g.USAGE);r.changed&&t.push({from:`--id ${r.itemId}`,to:[r.itemId],reason:"item_id_alias",confidence:"high"});let a=be(r.argv),s=J(r.argv),l=m(s??a??""),c=ve(s??a),u=Ve(r.argv,c,l,t),d=Re(u,l,t),p=Fe(d,c.listCanonicalFlags,I,a==="create"?new Set(["--tags"]):new Set);for(let h of p.events)t.push(h);return Be(p.argv,s??a),s==="history attest"&&$e(p.argv),{argv:p.argv,commandName:a,trace:t}}function J(e){let t=X(e),n=t[0]?.trim().toLowerCase(),o=t[1]?.trim().toLowerCase(),i=N(t);return i?i.canonical:(n==="extension"||n==="package"||n==="packages")&&typeof o=="string"&&o.length>0&&!o.startsWith("-")?`${n} ${o}`:n}function ft(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(n==="--")break;if(n==="--type"){let o=e[t+1];if(typeof o=="string"&&o.trim().length>0)return o.trim();continue}if(n.startsWith("--type=")){let o=n.slice(7).trim();if(o.length>0)return 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]="fb625cd9-f8a8-56cf-88ab-abef64051497")}catch{}})();function bt(e){if(e===void 0)return()=>{};let t=e.trim();if(t.length===0)throw new b("--author requires a non-empty value.",g.USAGE,{code:"missing_required_argument",nextSteps:["Pass an explicit author identifier with --author <id>."]});let n=G();v(t);let o=!1;return()=>{o||(o=!0,n===void 0?v(void 0):v(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]="d0e60f7e-e0a8-5ef4-9af7-4a1f102ccb7d")}catch{}})();var f=Object.freeze({clock:"PM_CLOCK",tickMs:"PM_CLOCK_TICK_MS",seed:"PM_SEED"});function O(e,t,n,o){return new b(e,g.USAGE,{code:"invalid_reproducible_process_environment",reason:t,field:n,required:`${f.clock} and ${f.seed}; ${f.tickMs} is optional`,nextSteps:[`Set ${f.clock} to an ISO-8601 instant with Z or a numeric UTC offset and ${f.seed} to a non-empty reproducibility seed.`,`Optionally set ${f.tickMs} to a non-negative integer; it defaults to 1.`,"Unset all three variables to retain normal wall-clock and cryptographic-random behavior."],recovery:{recovery_mode:"compact",provided_fields:o,missing_required_fields:t==="incomplete"?[f.clock,f.seed].filter(i=>!o.includes(i)):void 0}})}function ze(e){let t=e[f.clock],n=e[f.tickMs],o=e[f.seed],i=[[f.clock,t],[f.tickMs,n],[f.seed,o]].filter(a=>a[1]!==void 0).map(([a])=>a);if(i.length===0)return;if(t===void 0||o===void 0)throw O("Reproducible process execution requires PM_CLOCK and PM_SEED together.","incomplete",t===void 0?f.clock:f.seed,i);if(o.trim().length===0)throw O(`${f.seed} must not be empty.`,"invalid_value",f.seed,i);if(!B(t))throw O(`${f.clock} must be a valid ISO-8601 instant with Z or a numeric UTC offset.`,"invalid_value",f.clock,i);let r=n===void 0?1:Number(n);if(n?.trim().length===0||!Number.isSafeInteger(r)||r<0)throw O(`${f.tickMs} must be a non-negative integer.`,"invalid_value",f.tickMs,i);return V({clock:t,seed:o,tickMs:r})}function Ge(e){let t=ze(e);return t===void 0?n=>n():$(t)}async function Tt(e,t){return Ge(e)(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]="acba78bd-59c7-5bc2-b0ef-1d9d41ff0975")}catch{}})();var Q=new Set([...Object.values(M),...F,"--full","--brief","--compact","--summary","--fields","--section","--token-budget"]),ee=new Set(["--full-changed-fields","--no-changed-fields","--id-only"]);function We(e,t,n,o){if(t==="--full"&&e==="context"&&n===t)return{consumed:1,replacement:["--depth","full"],conflicts:["--depth","--output-include","--fields","--section","--for"]};if(t==="--depth"&&["list","search"].includes(e)){let i=n.includes("=");return(i?n.slice(n.indexOf("=")+1):o)!=="full"?void 0:{consumed:i?1:2,replacement:["--full"],conflicts:["--full","--brief","--compact","--output-include","--fields","--for"]}}return t==="--toon"&&n===t?{consumed:1,replacement:["--output-format","toon"],conflicts:["--json","--format","--output-format","--stream"]}:void 0}function Nt(e,t,n){let o=e==="ctx"?"context":m(e);if(!["context","list","search","get"].includes(o)||t.includes("--"))return;let i=w(t);if((i==="ctx"?"context":i)!==o)return;let r=n.split("=",1)[0],a=t.flatMap((p,h)=>p===r||p.startsWith(`${r}=`)?[h]:[]);if(a.length!==1)return;let s=a[0],l=We(o,r,t[s],t[s+1]);if(!l)return;let{replacement:c,consumed:u,conflicts:d}=l;if(!t.some(p=>d.includes(p.split("=",1)[0])))return[...t.slice(0,s),...c,...t.slice(s+u)]}function te(e){let t=e.split("=",1)[0].replaceAll("_","-");return Q.has(t)||t.length>=5&&[...Q].some(n=>n.startsWith(t))}function Lt(e,t){let n=e.split("=",1)[0].replaceAll("_","-");return te(n)?!ee.has(t):ee.has(n)?!te(t):!0}function ne(e){return e.trim().match(/--[a-z0-9][a-z0-9_-]*/i)?.[0]?.replaceAll("_","-").toLowerCase()}function Mt(e){if(!(!Array.isArray(e)||e.length===0))return w(e)}function Ue(e,t){let n=ne(t);if(!n)return;let o=y(e).find(i=>i.flag===n||i.aliases?.includes(n));return o?o.value_type==="boolean"?null:`<${o.value_name??"value"}>`:"<value>"}function Ft(e,t,n){let o=[...e],i=o.indexOf("--"),r=i<0?o.length:i;for(let a of n){let s=ne(a);if(!s||o.slice(0,r).some(u=>u===s||u.startsWith(`${s}=`)))continue;let l=Ue(t,s),c=l?[s,l]:[s];o.splice(r,0,...c),r+=c.length}return o.length===e.length?void 0: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]="bd9a8d3b-bc6f-5309-a3fb-7e5f41ef9dab")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12066389-daef-5fce-b7a6-0ecffa926d66")}catch{}})();function Gt(e,t){let n=e.trim().split(/\s+/u);if(!(n.length<2||t.includes(n.join(" "))))for(let o=1;o<n.length;o+=1){if(!t.includes(n.slice(0,o).join(" ")))return;let i=n.slice(o).join(" "),r=C(i),a=new Set(t.filter(s=>s===i||s.endsWith(` ${i}`)||s===r?.canonical).map(s=>C(s)?.canonical??s).filter(s=>t.includes(s)));if(a.size>0)return a.size===1?[...a][0]:void 0}}var je={add:["create","append"],fetch:["get"],inspect:["get","health"],log:["history","comments","notes"],ls:["list"],pause:["release"],read:["get"],remove:["delete"],rm:["delete"],show:["get"],start:["start-task"]};function oe(e,t){let n=e.trim().toLowerCase(),o=t.trim().toLowerCase();if(o.length===0)return Number.POSITIVE_INFINITY;let i=n.split(" "),r=je[o]?.indexOf(m(n));if(r!==void 0&&r>=0)return r;if(n===o)return 10;if(i.includes(o))return 11;if(i.some(l=>l.startsWith(o)))return 12;let a=o.length>=5?2:1,s=Number.POSITIVE_INFINITY;for(let l of i){let c=T(l,o,a);c!==null&&(s=Math.min(s,c))}return Number.isFinite(s)?20+s:n.includes(o)?30:Number.POSITIVE_INFINITY}function Wt(e,t){return e.map(n=>({path:n,score:oe(n,t)})).filter(n=>Number.isFinite(n.score)).sort((n,o)=>n.score!==o.score?n.score-o.score:n.path===o.path?0:n.path<o.path?-1:1).map(n=>n.path)}function Ut(e,t,n){let o=new Set(t),i=E.filter(s=>s.lifecycle==="deprecated").slice().sort((s,l)=>l.alias.length-s.alias.length),r=[],a=e.flatMap(s=>{let l=i.find(u=>s===u.alias||s.startsWith(`${u.alias} `)),c=s;if(l){let u=s.slice(l.alias.length);if(!o.has(`${l.canonical}${u}`))return[];c=`${l.canonical_argv.join(" ")}${u}`}return n!==void 0&&oe(s,n)<10&&r.push(c),[c]});return[...new Set(r.length>0?r:a)]}export{Ye as a,j as b,q as c,he as d,X as e,ge as f,S as g,be as h,ct as i,Ie as j,ut as k,Fe as l,Re as m,dt as n,ft as o,bt as p,f as q,ze as r,Ge as s,Tt as t,Nt as u,te as v,Lt as w,Mt as x,Ue as y,Ft as z,Gt as A,oe as B,Wt as C,Ut as D};
|
|
2
|
+
//# sourceMappingURL=chunk-MA7SNKYK.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
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]="826dab45-600c-58df-a150-eacecfb6ef95")}catch{}})();var b=["commands","renderers","hooks","schema","importers","search","parser","preflight","services"],F=2,v=Object.freeze({migration:"schema",validation:"schema"}),M=Object.freeze({version:2,capabilities:[...b],legacy_aliases:{...v}}),P=["off","warn","enforce"],U=["off","warn","enforce"],Y=["none","restricted","strict"],q=["block","warn"],W=["commands.override","commands.handler","hooks.beforecommand","hooks.beforemutation","hooks.aftercommand","hooks.onwrite","hooks.onread","hooks.onindex","schema.flags","schema.itemfields","schema.itemtypes","schema.relationshipkinds","schema.migrations","schema.profiles","parser.override","preflight.override","services.override","renderers.override","importers.importer","importers.exporter","search.provider","search.vectorstore","services.assuranceprovider"],X=["output_format","error_format","help_format","lock_acquire","lock_release","history_append","item_store_write","item_store_delete","context_relevance","command_result"];function m(){return{mode:"off",trust_mode:"off",require_provenance:!1,trusted_extensions:[],default_sandbox_profile:"none",allowed_extensions:[],blocked_extensions:[],allowed_capabilities:[],blocked_capabilities:[],allowed_surfaces:[],blocked_surfaces:[],allowed_commands:[],blocked_commands:[],allowed_actions:[],blocked_actions:[],allowed_services:[],blocked_services:[],extension_overrides:[]}}(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]="3d6df465-e82e-57d8-a687-6c2e720c99c1")}catch{}})();var E=["goal","objective","value","impact","outcome","why_now","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","unblock_note","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result"],T=["id","title","description","type","pm_format_version","source_type","type_options","status","priority","tags","created_at","updated_at","deadline","reminders","events","closed_at","completed_at","assignee","claim_principal","source_owner","author","estimated_minutes","acceptance_criteria","design","external_ref","definition_of_ready","order",...E,"affected_version","fixed_version","component","regression","customer_impact","dependencies","comments","notes","learnings","files","tests","test_runs","docs","close_reason","duplicate_of","plan_mode","plan_scope","plan_harness","plan_resume_context","plan_validation","plan_decisions","plan_discoveries","plan_steps"],k=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]="9a92abe3-1900-5a69-a35d-6aa592c83da0")}catch{}})();var I=Object.freeze([{id:"draft",roles:["draft"]},{id:"open",roles:["active","default_open"]},{id:"in_progress",aliases:["in-progress"],roles:["active"]},{id:"blocked",roles:["blocked"]},{id:"closed",roles:["terminal","terminal_done","default_close"]},{id:"canceled",aliases:["cancelled"],roles:["terminal","terminal_canceled","default_cancel"]}]),O=Object.freeze({draft_status:"draft",open_status:"open",in_progress_status:"in_progress",blocked_status:"blocked",close_status:"closed",canceled_status:"canceled"}),z=".agents/pm",$="settings.json",V="Closed at creation via pm create",N=["","epics","features","tasks","chores","issues","schema","history","search","extensions","locks"],A=["decisions","events","reminders","milestones","meetings","plans"],J=[...N,...A],Q={Epic:"epics",Feature:"features",Task:"tasks",Chore:"chores",Issue:"issues",Decision:"decisions",Event:"events",Reminder:"reminders",Milestone:"milestones",Meeting:"meetings",Plan:"plans"},D={minimal:{ownership_enforcement:"none",create_mode_default:"progressive",close_validation_default:"off",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"core",force_required_for_stale_lock:!1,duplicate_detection_mode:"off",duplicate_detection_threshold:.8,duplicate_detection_limit:3},default:{ownership_enforcement:"warn",create_mode_default:"progressive",close_validation_default:"warn",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"core",force_required_for_stale_lock:!0,duplicate_detection_mode:"strict",duplicate_detection_threshold:.8,duplicate_detection_limit:3},strict:{ownership_enforcement:"strict",create_mode_default:"strict",close_validation_default:"strict",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"strict",force_required_for_stale_lock:!0,duplicate_detection_mode:"strict",duplicate_detection_threshold:.8,duplicate_detection_limit:3}},S=["no active blocker","ready for planned execution sequencing","work completed","work is closed"],f={blocked_reason:["no active blocker because work is closed","work is closed"],resolution:["closed with implementation evidence","closed with verification evidence","work completed and recorded","work is closed"],actual_result:["closed and recorded","work completed","work completed and recorded"]};function h(e){return e?[...e]:void 0}var Z={version:1,id_prefix:"pm-",ids:{token_length:4},author_default:"",agent_identity:{probes_enabled:!0,identity_vocabulary:{version:1,aliases:{}},harness_signals:[]},mutation_guard:{require_attributed_author:!1,secret_guard:"advise",stale_in_progress_hours:72},item_format:"toon",locks:{ttl_seconds:1800,wait_ms:3e3},checkpoints:{retention_days:14},output:{default_format:"toon"},ux:{deprecation_hints:!0},history:{missing_stream:"auto_create",compact_policy:{enabled:!1,max_entries:500,trigger:"health_warn"}},validation:{sprint_release_format:"warn",parent_reference:"warn",metadata_profile:"core",metadata_required_fields:[],lifecycle_stale_blocker_reason_patterns:[...S],lifecycle_closure_like_blocked_reason_patterns:[...f.blocked_reason],lifecycle_closure_like_resolution_patterns:[...f.resolution],lifecycle_closure_like_actual_result_patterns:[...f.actual_result],estimate_defaults_by_type:{}},governance:{preset:"minimal",...D.minimal},workflow:{definition_of_done:[]},testing:{record_results_to_items:!1,allow_untrusted_linked_tests:!1},telemetry:{enabled:!0,first_run_prompt_completed:!1,capture_level:"redacted",endpoint:"https://pm-cli.unbrained.dev/v1/events",installation_id:"",retention_days:365},agent_guidance:{prompt_completed:!1,declined:!1,declined_at:"",template_version:1,last_checked_files:[]},item_types:{definitions:[]},schema:{version:1,files:{types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"},statuses:I.map(e=>({...e,aliases:h(e.aliases),roles:h(e.roles)})),fields:[],workflow:{...O},unknown_field_policy:"allow"},extensions:{enabled:[],disabled:[],policy:m()},search:{score_threshold:0,hybrid_semantic_weight:.7,max_results:50,embedding_model:"",embedding_batch_size:32,embedding_timeout_ms:3e4,scanner_max_batch_retries:3,provider:"",default_mode:"auto",mutation_refresh_policy:"semantic_configured",query_expansion:{enabled:!1,provider:""},rerank:{enabled:!1,model:"",top_k:20}},providers:{openai:{base_url:"",api_key:"",model:""},ollama:{base_url:"",model:""}},context:{default_depth:"brief",activity_limit:10,stale_threshold_days:7,sections:{hierarchy:!0,activity:!0,progress:!0,recently_created:!0,unparented:!0,blockers:!0,files:!0,workload:!0,staleness:!0,tests:!0}},vector_store:{adapter:"",collection_name:"pm_items",qdrant:{url:"",api_key:""},lancedb:{path:""}}},H={metadata:{},body:""},w={SUCCESS:0,GENERIC_FAILURE:1,USAGE:2,NOT_FOUND:3,CONFLICT:4,DEPENDENCY_FAILED:5,NO_EFFECT:6,PARTIAL_EFFECT:7},R=Object.freeze({unknown_command:"usage",unknown_option:"usage",missing_required_option:"usage",missing_required_argument:"usage",invalid_command_usage:"usage",linked_test_value_not_quoted:"usage",invalid_argument_value:"validation",health_findings:"validation",validation_findings:"validation",close_through_update:"validation",no_update_fields:"validation",unsupported_update_option:"validation",tracker_not_initialized:"validation",item_not_found:"validation",ownership_conflict:"conflict",lock_conflict:"conflict",terminal_state_conflict:"conflict",dependency_failed:"runtime",init_gitignore_unwritable:"runtime",merge_git_config_unwritable:"runtime",command_failed:"runtime",unknown_error:"runtime"});function ee(e){let t=(e??"").trim().toLowerCase();if(t.length===0)return"unknown";let o=R[t];return typeof o=="string"?o:t.includes("conflict")||t.includes("locked")?"conflict":t.startsWith("unknown_")||t.startsWith("missing_required_")?"usage":t.startsWith("invalid_")||t.endsWith("_not_found")||t.includes("validation")?"validation":t.endsWith("_error")||t.endsWith("_failed")?"runtime":"unknown"}(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]="3399082a-aeaf-5235-9524-d0e86253ee95")}catch{}})();var u=class extends Error{exitCode;code;context;constructor(t,o,i={}){super(t),this.name="PmCliError",this.exitCode=o,this.context=i,this.code=i.code}};import*as r from"node:fs/promises";import{constants as p}from"node:fs";import c from"node:path";import C 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]="3792f1fd-ed9d-5252-887d-e4517a55fb9c")}catch{}})();var L=[10,25,50,100];async function y(e){await r.mkdir(e,{recursive:!0})}async function le(e){try{return await r.access(e),!0}catch{return!1}}function g(e){return x(e)||l(e,"ENOTDIR")}function x(e){return l(e,"ENOENT")}async function ce(e){try{return await r.readFile(e,"utf8")}catch(t){if(g(t))return null;throw t}}async function de(e,t){let o=await r.open(e,p.O_RDONLY|p.O_NOFOLLOW|p.O_NONBLOCK);try{if(!(await o.stat()).isFile())throw t;return await o.readFile("utf8")}finally{await o.close()}}function _e(e){let t=e?.replaceAll(c.sep,"/"),o=t!==void 0&&!c.posix.isAbsolute(t)&&!c.win32.isAbsolute(t)&&!t.split("/").includes(".."),i=o?t.split("/")[0]:void 0,s={"settings.json":"settings",runtime:"runtime",schema:"schema",history:"history",transactions:"transactions"},n=i===void 0?"tracker_storage":Object.hasOwn(s,i)?s[i]:"tracker_storage",d=o&&t.length>0&&t.length<=160&&t.split("/").every(a=>a!=="."&&/^[a-zA-Z0-9_.-]+$/u.test(a)),_=d?t:`${n} (entry name redacted)`;return new u(`Transaction preview requires regular files and directories. Inspect ${_} relative to the selected tracker root.`,w.USAGE,{code:"transaction_preview_non_regular_file",preview_storage:{storage_area:n,...d?{relative_entry:t}:{},entry_redacted:!d},required:"regular files and directories within the configured tracker storage",why:"Preview does not follow linked entries or read special files.",nextSteps:[`Inspect ${_} within the selected tracker for links, directories used as files, or special files; do not follow link targets.`,"Restore the intended regular files and directories, then retry the original dry-run command."]})}async function ue(e,t,o={}){let i=c.dirname(e);o.createParentDirectories!==!1&&await y(i);let s=c.join(i,`.${c.basename(e)}.${process.pid}.${Date.now()}.${C.randomBytes(4).toString("hex")}.tmp`);await r.writeFile(s,t,"utf8");try{await r.rename(s,e)}catch(n){if(process.platform==="win32"&&(l(n,"EPERM")||l(n,"EBUSY"))){let d=n;for(let _ of L){await new Promise(a=>setTimeout(a,_));try{await r.rename(s,e);return}catch(a){if(d=a,!l(a,"EPERM")&&!l(a,"EBUSY"))break}}try{await r.unlink(s)}catch{}throw d}if(l(n,"EXDEV")){try{await r.copyFile(s,e)}finally{try{await r.unlink(s)}catch{}}return}try{await r.unlink(s)}catch{}throw n}}async function fe(e,t){let o=c.dirname(e);await y(o);let i=await r.open(e,"a");try{await i.writeFile(`${t}
|
|
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]="826dab45-600c-58df-a150-eacecfb6ef95")}catch{}})();var b=["commands","renderers","hooks","schema","importers","search","parser","preflight","services"],F=2,v=Object.freeze({migration:"schema",validation:"schema"}),M=Object.freeze({version:2,capabilities:[...b],legacy_aliases:{...v}}),P=["off","warn","enforce"],U=["off","warn","enforce"],Y=["none","restricted","strict"],q=["block","warn"],W=["commands.override","commands.handler","hooks.beforecommand","hooks.beforemutation","hooks.aftercommand","hooks.onwrite","hooks.onread","hooks.onindex","schema.flags","schema.itemfields","schema.itemtypes","schema.relationshipkinds","schema.migrations","schema.profiles","parser.override","preflight.override","services.override","renderers.override","importers.importer","importers.exporter","search.provider","search.vectorstore","services.assuranceprovider"],X=["output_format","error_format","help_format","lock_acquire","lock_release","history_append","item_store_write","item_store_delete","context_relevance","command_result"];function m(){return{mode:"off",trust_mode:"off",require_provenance:!1,trusted_extensions:[],default_sandbox_profile:"none",allowed_extensions:[],blocked_extensions:[],allowed_capabilities:[],blocked_capabilities:[],allowed_surfaces:[],blocked_surfaces:[],allowed_commands:[],blocked_commands:[],allowed_actions:[],blocked_actions:[],allowed_services:[],blocked_services:[],extension_overrides:[]}}(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]="3d6df465-e82e-57d8-a687-6c2e720c99c1")}catch{}})();var E=["goal","objective","value","impact","outcome","why_now","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","unblock_note","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result"],T=["id","title","description","type","pm_format_version","source_type","type_options","status","priority","tags","created_at","updated_at","deadline","reminders","events","closed_at","completed_at","assignee","claim_principal","source_owner","author","estimated_minutes","acceptance_criteria","design","external_ref","definition_of_ready","order",...E,"affected_version","fixed_version","component","regression","customer_impact","dependencies","comments","notes","learnings","files","tests","test_runs","docs","close_reason","duplicate_of","plan_mode","plan_scope","plan_harness","plan_resume_context","plan_validation","plan_decisions","plan_discoveries","plan_steps"],k=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]="9a92abe3-1900-5a69-a35d-6aa592c83da0")}catch{}})();var I=Object.freeze([{id:"draft",roles:["draft"]},{id:"open",roles:["active","default_open"]},{id:"in_progress",aliases:["in-progress"],roles:["active"]},{id:"blocked",roles:["blocked"]},{id:"closed",roles:["terminal","terminal_done","default_close"]},{id:"canceled",aliases:["cancelled"],roles:["terminal","terminal_canceled","default_cancel"]}]),O=Object.freeze({draft_status:"draft",open_status:"open",in_progress_status:"in_progress",blocked_status:"blocked",close_status:"closed",canceled_status:"canceled"}),z=".agents/pm",$="settings.json",V="Closed at creation via pm create",N=["","epics","features","tasks","chores","issues","schema","history","search","extensions","locks"],A=["decisions","events","reminders","milestones","meetings","plans"],J=[...N,...A],Q={Epic:"epics",Feature:"features",Task:"tasks",Chore:"chores",Issue:"issues",Decision:"decisions",Event:"events",Reminder:"reminders",Milestone:"milestones",Meeting:"meetings",Plan:"plans"},D={minimal:{ownership_enforcement:"none",create_mode_default:"progressive",close_validation_default:"off",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"core",force_required_for_stale_lock:!1,duplicate_detection_mode:"off",duplicate_detection_threshold:.8,duplicate_detection_limit:3},default:{ownership_enforcement:"warn",create_mode_default:"progressive",close_validation_default:"warn",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"core",force_required_for_stale_lock:!0,duplicate_detection_mode:"strict",duplicate_detection_threshold:.8,duplicate_detection_limit:3},strict:{ownership_enforcement:"strict",create_mode_default:"strict",close_validation_default:"strict",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"strict",force_required_for_stale_lock:!0,duplicate_detection_mode:"strict",duplicate_detection_threshold:.8,duplicate_detection_limit:3}},S=["no active blocker","ready for planned execution sequencing","work completed","work is closed"],f={blocked_reason:["no active blocker because work is closed","work is closed"],resolution:["closed with implementation evidence","closed with verification evidence","work completed and recorded","work is closed"],actual_result:["closed and recorded","work completed","work completed and recorded"]};function h(e){return e?[...e]:void 0}var Z={version:1,id_prefix:"pm-",ids:{token_length:4},author_default:"",agent_identity:{probes_enabled:!0,identity_vocabulary:{version:1,aliases:{}},harness_signals:[]},mutation_guard:{require_attributed_author:!1,secret_guard:"advise",stale_in_progress_hours:72},item_format:"toon",locks:{ttl_seconds:1800,wait_ms:3e3},checkpoints:{retention_days:14},output:{default_format:"toon"},ux:{deprecation_hints:!0},history:{missing_stream:"auto_create",compact_policy:{enabled:!1,max_entries:500,trigger:"health_warn"}},validation:{sprint_release_format:"warn",parent_reference:"warn",metadata_profile:"core",metadata_required_fields:[],lifecycle_stale_blocker_reason_patterns:[...S],lifecycle_closure_like_blocked_reason_patterns:[...f.blocked_reason],lifecycle_closure_like_resolution_patterns:[...f.resolution],lifecycle_closure_like_actual_result_patterns:[...f.actual_result],estimate_defaults_by_type:{}},governance:{preset:"minimal",...D.minimal},workflow:{definition_of_done:[]},testing:{record_results_to_items:!1,allow_untrusted_linked_tests:!1},telemetry:{enabled:!0,first_run_prompt_completed:!1,capture_level:"redacted",endpoint:"https://pm-cli.unbrained.dev/v1/events",installation_id:"",retention_days:365},agent_guidance:{prompt_completed:!1,declined:!1,declined_at:"",template_version:1,last_checked_files:[]},item_types:{definitions:[]},schema:{version:1,files:{types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"},statuses:I.map(e=>({...e,aliases:h(e.aliases),roles:h(e.roles)})),fields:[],workflow:{...O},unknown_field_policy:"allow"},extensions:{enabled:[],disabled:[],policy:m()},search:{score_threshold:0,hybrid_semantic_weight:.7,max_results:50,embedding_model:"",embedding_batch_size:32,embedding_timeout_ms:3e4,scanner_max_batch_retries:3,provider:"",default_mode:"auto",mutation_refresh_policy:"semantic_configured",query_expansion:{enabled:!1,provider:""},rerank:{enabled:!1,model:"",top_k:20}},providers:{openai:{base_url:"",api_key:"",model:""},ollama:{base_url:"",model:""}},context:{default_depth:"brief",activity_limit:10,stale_threshold_days:7,sections:{hierarchy:!0,activity:!0,progress:!0,recently_created:!0,unparented:!0,blockers:!0,files:!0,workload:!0,staleness:!0,tests:!0}},vector_store:{adapter:"",collection_name:"pm_items",qdrant:{url:"",api_key:""},lancedb:{path:""}}},H={metadata:{},body:""},w={SUCCESS:0,GENERIC_FAILURE:1,USAGE:2,NOT_FOUND:3,CONFLICT:4,DEPENDENCY_FAILED:5,NO_EFFECT:6,PARTIAL_EFFECT:7},R=Object.freeze({unknown_command:"usage",unknown_option:"usage",missing_required_option:"usage",missing_required_argument:"usage",invalid_command_usage:"usage",linked_test_value_not_quoted:"usage",invalid_argument_value:"validation",health_findings:"validation",validation_findings:"validation",close_through_update:"validation",no_update_fields:"validation",unsupported_update_option:"validation",tracker_not_initialized:"validation",item_not_found:"validation",ownership_conflict:"conflict",lock_conflict:"conflict",terminal_state_conflict:"conflict",dependency_failed:"runtime",init_gitignore_unwritable:"runtime",merge_git_config_unwritable:"runtime",command_failed:"runtime",unknown_error:"runtime"});function ee(e){let t=(e??"").trim().toLowerCase();if(t.length===0)return"unknown";let o=R[t];return typeof o=="string"?o:t.includes("conflict")||t.includes("locked")?"conflict":t.startsWith("unknown_")||t.startsWith("missing_required_")?"usage":t.startsWith("invalid_")||t.endsWith("_not_found")||t.includes("validation")?"validation":t.endsWith("_error")||t.endsWith("_failed")?"runtime":"unknown"}(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]="5740fcf4-dad8-5bcc-b68d-99fa81c43655")}catch{}})();var u=class extends Error{exitCode;code;context;constructor(t,o,i={}){super(t),this.name="PmCliError",this.exitCode=o,this.context=i,this.code=i.code}};import*as r from"node:fs/promises";import{constants as p}from"node:fs";import c from"node:path";import C 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]="3792f1fd-ed9d-5252-887d-e4517a55fb9c")}catch{}})();var L=[10,25,50,100];async function y(e){await r.mkdir(e,{recursive:!0})}async function le(e){try{return await r.access(e),!0}catch{return!1}}function g(e){return x(e)||l(e,"ENOTDIR")}function x(e){return l(e,"ENOENT")}async function ce(e){try{return await r.readFile(e,"utf8")}catch(t){if(g(t))return null;throw t}}async function de(e,t){let o=await r.open(e,p.O_RDONLY|p.O_NOFOLLOW|p.O_NONBLOCK);try{if(!(await o.stat()).isFile())throw t;return await o.readFile("utf8")}finally{await o.close()}}function _e(e){let t=e?.replaceAll(c.sep,"/"),o=t!==void 0&&!c.posix.isAbsolute(t)&&!c.win32.isAbsolute(t)&&!t.split("/").includes(".."),i=o?t.split("/")[0]:void 0,s={"settings.json":"settings",runtime:"runtime",schema:"schema",history:"history",transactions:"transactions"},n=i===void 0?"tracker_storage":Object.hasOwn(s,i)?s[i]:"tracker_storage",d=o&&t.length>0&&t.length<=160&&t.split("/").every(a=>a!=="."&&/^[a-zA-Z0-9_.-]+$/u.test(a)),_=d?t:`${n} (entry name redacted)`;return new u(`Transaction preview requires regular files and directories. Inspect ${_} relative to the selected tracker root.`,w.USAGE,{code:"transaction_preview_non_regular_file",preview_storage:{storage_area:n,...d?{relative_entry:t}:{},entry_redacted:!d},required:"regular files and directories within the configured tracker storage",why:"Preview does not follow linked entries or read special files.",nextSteps:[`Inspect ${_} within the selected tracker for links, directories used as files, or special files; do not follow link targets.`,"Restore the intended regular files and directories, then retry the original dry-run command."]})}async function ue(e,t,o={}){let i=c.dirname(e);o.createParentDirectories!==!1&&await y(i);let s=c.join(i,`.${c.basename(e)}.${process.pid}.${Date.now()}.${C.randomBytes(4).toString("hex")}.tmp`);await r.writeFile(s,t,"utf8");try{await r.rename(s,e)}catch(n){if(process.platform==="win32"&&(l(n,"EPERM")||l(n,"EBUSY"))){let d=n;for(let _ of L){await new Promise(a=>setTimeout(a,_));try{await r.rename(s,e);return}catch(a){if(d=a,!l(a,"EPERM")&&!l(a,"EBUSY"))break}}try{await r.unlink(s)}catch{}throw d}if(l(n,"EXDEV")){try{await r.copyFile(s,e)}finally{try{await r.unlink(s)}catch{}}return}try{await r.unlink(s)}catch{}throw n}}async function fe(e,t){let o=c.dirname(e);await y(o);let i=await r.open(e,"a");try{await i.writeFile(`${t}
|
|
2
2
|
`,"utf8")}finally{await i.close()}}async function pe(e){try{await r.unlink(e)}catch(t){if(!g(t))throw t}}function l(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}export{b as a,F as b,v as c,M as d,P as e,U as f,Y as g,q as h,W as i,X as j,m as k,E as l,k as m,I as n,O as o,z as p,$ as q,V as r,N as s,J as t,Q as u,D as v,S as w,f as x,Z as y,H as z,w as A,ee as B,u as C,y as D,le as E,g as F,x as G,ce as H,de as I,_e as J,ue as K,fe as L,pe as M};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-R7KWBFM2.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{A as ye,Ab as fo,B as Jn,Bb as Ve,C as Zn,Cc as wo,D as Be,E as eo,F as to,I as ro,J as no,Rb as ho,T as oo,Tb as po,U as io,Vb as yo,Wb as go,X as so,ab as mo,d as _n,da as ao,ea as co,f as pe,g as V,h as Tn,ha as lo,i as Mn,ia as St,ja as It,ka as ze,p as Et,ra as uo,s as Yn,w as Xn,yc as _o}from"./chunk-VPMQEVU6.js";import{Ad as Un,Bd as Gn,Cd as Ue,Dd as $n,E as Le,Ed as Ge,Fd as $e,G as Oe,Gd as We,H as kn,Hd as Wn,I as fe,J as he,K as xn,L as Rn,Ld as Bn,M as je,Mc as Dn,Md as vt,Nb as Fn,Nc as Pn,O as An,P as Cn,Pc as Hn,Qc as Ln,Sc as bt,Tc as On,Vd as zn,a as N,c as wn,cd as qe,d as ee,e as wt,f as bn,gd as Ne,i as vn,if as Kn,jf as Qn,p as En,rd as jn,sd as qn,u as Sn,wd as Nn,x as He,ze as Vn}from"./chunk-HZNFNETE.js";import{$c as ae,$h as hn,Ba as B,Bh as pt,C as se,Cd as J,Cg as nn,D as ke,Da as Re,Dh as an,Ee as zr,Eg as ce,Fe as Vr,Ff as Ce,Fi as In,Gf as ft,H as xe,Hf as en,I as qr,If as tn,Ih as cn,Je as Kr,Jg as on,Jh as ln,Kg as Me,Kh as dn,Le as Qr,Lg as Fe,Lh as un,Oc as C,Pa as P,Rf as H,Rh as z,Se as I,Sh as mn,Uh as yt,Vc as Gr,Ve as Ae,Vh as de,Wc as ut,We as Yr,Wh as ue,Xe as Xr,Xh as gt,Ye as mt,Yh as L,Zc as Y,Zh as fn,_c as $r,_h as me,bg as A,cf as Jr,cg as ht,ci as _t,fi as pn,gd as X,gi as Pe,hi as yn,ii as gn,jd as Wr,mf as Zr,mg as q,og as Z,oh as De,pa as G,pd as Br,ph as sn,qh as le,v as dt,xa as R,xg as Te,ya as Nr,za as Ur,zg as rn,zi as O}from"./chunk-URZB3USE.js";import{A as f,C as h,E as Ie,G as jr,K as j,u as Or}from"./chunk-R7KWBFM2.js";import vo from"node:fs/promises";import Eo 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]="f3603dce-8aeb-5409-80f4-ad3367e35eb9")}catch{}})();function Wi(e,t,r){let n=new Set,o=[];for(let i of e){let s=i.trim();if(s.length===0||n.has(s))continue;n.add(s);let a=t.get(s);if(a===void 0){o.push({id:s,entries:0,selected:!1,skip_reason:"no_stream"});continue}if(a.entries<=r){o.push({id:s,entries:a.entries,selected:!1,skip_reason:"already_compact"});continue}o.push({id:s,entries:a.entries,selected:!0,skip_reason:null})}return o}function Bi(e,t){let r=[...e].sort((o,i)=>i.entries-o.entries||o.id.localeCompare(i.id)),n=[];for(let o of r){if(t.scope==="closed"&&o.bucket!=="closed"){n.push({id:o.id,entries:o.entries,selected:!1,skip_reason:"scope_mismatch"});continue}if(o.entries<=t.minEntries){n.push({id:o.id,entries:o.entries,selected:!1,skip_reason:"already_compact"});continue}if(t.allOver!==void 0&&o.entries<=t.allOver){n.push({id:o.id,entries:o.entries,selected:!1,skip_reason:"below_threshold"});continue}n.push({id:o.id,entries:o.entries,selected:!0,skip_reason:null})}return n}function bo(e,t){if(t.ids!==void 0&&t.ids.length>0){let r=new Map(e.map(n=>[n.id,n]));return Wi(t.ids,r,t.minEntries)}return Bi(e,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]="c6009e5f-840e-5e3a-b8b9-6e9d42d63410")}catch{}})();function zi(e,t){if(e===void 0)return{kind:"default",raw:null,compactCount:t.length,retainedCount:0};let r=e.trim();if(r.length===0)throw new h("history-compact --before requires a non-empty value.",f.USAGE);if(/^\d+$/.test(r)){let i=Number.parseInt(r,10),s=N(t);if(!Number.isSafeInteger(i)||i<s+1||i>s+t.length+1)throw new h(`history-compact --before version must be between ${s+1} and ${s+t.length+1}.`,f.USAGE);let a=i-s-1;return{kind:"version",raw:r,compactCount:a,retainedCount:t.length-a}}let n=Date.parse(r);if(!Number.isFinite(n))throw new h(`Invalid history-compact --before value "${e}". Use a version number or ISO timestamp.`,f.USAGE);let o=0;for(let[i,s]of t.entries()){let a=Date.parse(s.ts);if(!Number.isFinite(a))throw new h(`History for this item contains invalid timestamp at entry ${i+1}.`,f.GENERIC_FAILURE);if(a>=n)break;o+=1}return{kind:"timestamp",raw:r,compactCount:o,retainedCount:t.length-o}}function Vi(e,t){let r=de(),n=de();for(let o=0;o<e.length;o+=1){let i=e[o];r=ee(r,i.patch,o+1,i.op),o+1===t&&(n=structuredClone(r))}return{checkpoint:n,finalReplay:r}}function Ki(e,t){if(!e)return{loadedItem:null,currentItemRawBeforeLock:null,matchedChainBefore:null};let r=t[t.length-1];return{loadedItem:e,currentItemRawBeforeLock:e.raw,matchedChainBefore:an.some(n=>(r.item_hash_version===void 0||r.item_hash_version===n)&>(me(e.document),n,A(r.hash_algorithm)).includes(r.after_hash))}}function Qi(e,t){return typeof e.message=="string"&&e.message.trim().length>0?e.message:t.raw===null?`history-compact compacted full stream (${t.compactCount} entr${t.compactCount===1?"y":"ies"}).`:`history-compact compacted ${t.compactCount} entr${t.compactCount===1?"y":"ies"} before ${t.raw}.`}function Yi(e){return e.raw===null?`history-compact baseline snapshot after compacting ${e.compactCount} entr${e.compactCount===1?"y":"ies"}.`:`history-compact baseline snapshot before ${e.raw}.`}function Xi(e){if(!e.changed)return{rewrittenEntries:e.historyEntries,baselineEntryAdded:!1,auditEntryAdded:!1};let{checkpoint:t,finalReplay:r}=Vi(e.historyEntries,e.boundary.compactCount),n=e.historyEntries.slice(e.boundary.compactCount),o=N(e.historyEntries,!0),i=e.historyEntries[e.boundary.compactCount-1],s=z({hashAlgorithm:A(i.hash_algorithm),nowIso:e.historyEntries[e.boundary.compactCount-1].ts,author:e.author,op:"history_compact_baseline",before:L(de()),after:L(t),message:Yi(e.boundary),context:{history_compaction:{contract_version:1,version_offset:o===null?null:o+e.boundary.compactCount-1,checkpoint_timestamp_semantics:"last_compacted_entry",pruned_entry_count:e.boundary.compactCount,pruned_stream_digest:cn(e.historyEntries.slice(0,e.boundary.compactCount)),retained_proof:"stream_digest_and_checkpoint",limitation:"individual_pruned_entries_require_pre_compaction_stream"}}}),a=[ln({...s,before_hash:gt(de(),i.item_hash_version??1,A(i.hash_algorithm))[0],after_hash:i.after_hash,item_hash_version:i.item_hash_version}),...n];return e.dryRun||a.push(z({nowIso:I(),author:e.author,op:"history_compact",before:L(r),after:L(r),message:Qi(e.options,e.boundary)})),{rewrittenEntries:a,baselineEntryAdded:!0,auditEntryAdded:!e.dryRun}}async function Ji(e,t,r){let{pmRoot:n,settings:o,typeRegistry:i}=await pe(r.path),s=await V(n,e,o,i.type_to_folder);return Ve({pmRoot:n,subject:s,settings:o,typeRegistry:i,operation:"history-compact",options:t,transform:a=>Zi(s,t,a)})}function Zi(e,t,r){let n=e.historyPath,o=r.entries,i=r.verification;if(!i.ok)throw new h(`history-compact requires a valid history chain (${i.errors.join(", ")}). Run pm history-repair ${e.id} first.`,f.CONFLICT);let s=zi(t.before,o),a=s.compactCount>0,c=!!t.dryRun,d=r.author,l=[];a||l.push("history_compact_noop_before_boundary");let u=Ki(r.loadedItem,o);u.matchedChainBefore===!1&&l.push("history_compact_item_chain_mismatch");let{rewrittenEntries:m,baselineEntryAdded:p,auditEntryAdded:g}=Xi({historyEntries:o,boundary:s,changed:a,dryRun:c,author:d,options:t}),_=N(o,!0),y=s.retainedCount>0&&_!==null?_+s.compactCount+1:null;return{changed:a,rewrittenEntries:m,report:({verification:w,warnings:v})=>({id:e.id,dry_run:c,changed:a,compact_boundary:{kind:s.kind,before:s.raw,entries_compacted:s.compactCount,entries_retained:s.retainedCount,first_retained_entry:y},history:{path:n,entries_scanned:o.length,entries_after:m.length,baseline_entry_added:p,audit_entry_added:g,verify_ok:w.ok,verify_errors:w.errors},item:{exists:e.located!==null,path:e.located?.itemPath??null,matched_chain_before:u.matchedChainBefore},warnings:[...new Set([...l,...v])].sort((b,E)=>b.localeCompare(E)),generated_at:I()})}}var es=3;function ts(e){for(let r of["allOver","minEntries"]){let n=e[r];if(n!==void 0&&(!Number.isSafeInteger(n)||n<0))throw new h(`history-compact ${r} must be a non-negative safe integer.`,f.USAGE)}let t=Ln(e.ids);if(e.ids!==void 0&&t==="")throw new h("history-compact ids requires at least one valid item ID.",f.USAGE,{code:"bulk_ids_input_empty",required:"Provide one or more string or finite numeric IDs; non-finite and unsupported selector values are rejected."});return{...e,ids:t===void 0?void 0:Hn(t)}}function il(e,t){let r=t.ids!==void 0&&t.ids.length>0,n=t.allOver!==void 0||t.scope!==void 0;if((e!==void 0?1:0)+(r?1:0)+(n?1:0)==0)throw new h("history-compact: provide an item <id>, or a bulk selector (--ids, --all-over <N>, --closed, or --all-streams).",f.USAGE);if(e!==void 0&&(r||n))throw new h("history-compact: <id> and bulk selectors (--ids/--all-over/--closed/--all-streams) are mutually exclusive; pass one item id, or use bulk mode without a positional id.",f.USAGE);if(r&&n)throw new h("history-compact: --ids is mutually exclusive with --all-over/--closed/--all-streams; pass an explicit id list or a scan selector, not both.",f.USAGE)}function rs(e){let t=0;for(let r of e.split(/\r?\n/))r.trim().length>0&&(t+=1);return t}async function ns(e){let t=q(e.settings.schema),r=Be(t),n=await je(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema),o=new Map(n.map(d=>[d.id,r.classify(d.status)])),i=Eo.join(e.pmRoot,"history"),s=[],a=[];if(!await Ie(i))return{candidates:s,preselectionErrors:a};let c=(await vo.readdir(i)).filter(d=>d.endsWith(".jsonl")).sort((d,l)=>d.localeCompare(l));for(let d of c){let l=Eo.join(i,d),u=d.slice(0,-6);try{let m=await vo.readFile(l,"utf8");await ae({path:l,scope:"project"}),s.push({id:u,entries:rs(m),bucket:o.get(u)??null})}catch(m){a.push({id:u,outcome:"errored",entries_before:0,entries_after:null,skip_reason:null,changed:!1,error:m instanceof Error?m.message:String(m)})}}return{candidates:s,preselectionErrors:a}}async function os(e){if(!e.row.selected)return{selected:!1,compacted:!1,errored:!1,result:{id:e.row.id,outcome:"skipped",entries_before:e.row.entries,entries_after:null,skip_reason:e.row.skip_reason,changed:!1,error:null}};try{let t=await Ji(e.row.id,{dryRun:e.dryRun,author:e.options.author,message:e.options.message,force:e.options.force},e.global);return{selected:!0,compacted:!0,errored:!1,result:{id:e.row.id,outcome:"compacted",entries_before:e.row.entries,entries_after:t.history.entries_after,skip_reason:null,changed:t.changed,error:null}}}catch(t){return{selected:!0,compacted:!1,errored:!0,result:{id:e.row.id,outcome:"errored",entries_before:e.row.entries,entries_after:null,skip_reason:null,changed:!1,error:t instanceof Error?t.message:String(t)}}}}async function sl(e,t){let r=ts(e),{pmRoot:n,settings:o,typeRegistry:i}=await pe(t.path),{candidates:s,preselectionErrors:a}=await ns({pmRoot:n,settings:o,typeToFolder:i.type_to_folder}),c=r.ids!==void 0&&r.ids.length>0?"ids":"scan",d=e.minEntries??es,l=o.history.compact_policy,u=c==="scan"&&e.allOver===void 0&&l.enabled,m=e.allOver??(u?l.max_entries:void 0),p=bo(s,{ids:r.ids,scope:e.scope,minEntries:d,allOver:m}),g=!!e.dryRun,_=[...a],y={streams_considered:s.length+a.length,selected:0,items_compacted:0,items_skipped:0,items_errored:a.length};for(let w of p){let v=await os({row:w,options:r,dryRun:g,global:t});if(_.push(v.result),!v.selected){y.items_skipped+=1;continue}y.selected+=1,v.compacted&&(y.items_compacted+=1),v.errored&&(y.items_errored+=1)}return{bulk:!0,dry_run:g,mode:c,scope:e.scope??null,criteria:{min_entries:d,all_over:m??null,policy_threshold_applied:u},totals:y,results:_,generated_at:I()}}import kt 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]="ebf3254f-1fed-5972-b91a-b8ff101675f4")}catch{}})();function xt(e){return Array.isArray(e)?e:typeof e=="string"?[e]:[]}function Io(e){let t=[];for(let r of e)t.includes(r)||t.push(r);return t.includes("g")||t.push("g"),t.join("")}function ko(e){let t=e.trim();if(t.length===0)throw new h("history-redact --regex requires a non-empty pattern.",f.USAGE);let r=t,n="g";if(t.startsWith("/")&&t.length>1){let o=t.lastIndexOf("/");o>0&&(r=t.slice(1,o),n=Io(t.slice(o+1)))}if(r.length===0)throw new h("history-redact --regex cannot use an empty pattern.",f.USAGE);try{new RegExp(r,n)}catch{throw new h("Invalid --regex value; provide a valid JavaScript regular expression.",f.USAGE)}return{kind:"regex",source:r,flags:n}}function xo(e,t){let r=[...new Set(xt(e).map(i=>i.trim()))].filter(i=>i.length>0).map(i=>({kind:"literal",value:i})),n=[...new Set(xt(t).map(i=>i.trim()))].filter(i=>i.length>0).map(ko),o=[...r,...n];if(o.length===0)throw new h("history-redact requires at least one matcher via --literal or --regex.",f.USAGE,{code:"missing_required_argument",required:"Provide --literal <value> and/or --regex <pattern>.",examples:['pm history-redact pm-a1b2 --literal "[redacted_path_prefix]/private"','pm history-redact pm-a1b2 --regex "/192\\\\.168\\\\.[0-9.]+/g" --replacement "[scrubbed_ip]"']});return o}function Ro(e,t,r){if(t.length===0)return{value:e,replacements:0};let n=0,o=0;for(;n<=e.length;){let i=e.indexOf(t,n);if(i===-1)break;o+=1,n=i+Math.max(1,t.length)}return o===0?{value:e,replacements:0}:{value:e.split(t).join(r),replacements:o}}function Ao(e,t,r){let n=new RegExp(t.source,t.flags),o=[...e.matchAll(n)];return o.length===0?{value:e,replacements:0}:{value:e.replace(n,r),replacements:o.length}}function Rt(e,t,r){let n=e,o=0;for(let i of t){let s=i.kind==="literal"?Ro(n,i.value,r):Ao(n,i,r);n=s.value,o+=s.replacements}return{value:n,replacements:o}}function ge(e,t,r){if(typeof e=="string")return Rt(e,t,r);if(Array.isArray(e)){let n=0;return{value:e.map(o=>{let i=ge(o,t,r);return n+=i.replacements,i.value}),replacements:n}}if(typeof e=="object"&&e!==null){let n=0,o={};for(let[i,s]of Object.entries(e)){let a=ge(s,t,r);n+=a.replacements,o[i]=a.value}return{value:o,replacements:n}}return{value:e,replacements:0}}function So(e,t,r){let n=0;return{patch:e.map(o=>{if(!Object.prototype.hasOwnProperty.call(o,"value"))return o;let i=ge(o.value,t,r);return n+=i.replacements,i.replacements>0?{...o,value:i.value}:o}),replacements:n}}function is(e){let t=structuredClone(yt),r=0,n=0;for(let o=0;o<e.length;o+=1){let i=e[o];ue(t,void 0,A(i.hash_algorithm))!==i.before_hash&&(r+=1),t=ee(t,i.patch,o+1,i.op),ue(t,void 0,A(i.hash_algorithm))!==i.after_hash&&(n+=1)}return{hashMismatchesBefore:r,hashMismatchesAfter:n,finalDocument:t}}function ss(e,t,r){let n=0,o=!1,i=!1,s=e.message;if(typeof e.message=="string"){let d=Rt(e.message,t,r);s=d.value,n+=d.replacements,d.replacements>0&&(o=!0)}let a=So(e.patch,t,r);n+=a.replacements,o||=a.replacements>0;let c=e.reanchor_evidence?.map(d=>{let l=d.patch?So(d.patch,t,r):{patch:void 0,replacements:0},u=d.record?ge(d.record,t,r):{value:void 0,replacements:0};n+=l.replacements,n+=u.replacements;let m=l.replacements>0||u.replacements>0;if(o||=m,!m)return d;i=!0;let{patch:p,record:g,record_hash:_,record_hash_version:y,...w}=d;return l.replacements>0?w:{...w,patch:d.patch}});return{entry:{...e,message:s,patch:a.patch,...c?{reanchor_evidence:c}:{}},replacements:n,changed:o,reanchorEvidenceRedacted:i}}function as(e,t,r){let n=structuredClone(yt),o=0,i=0,s=[];for(let a=0;a<e.length;a+=1){let c=e[a],d=dn(c);if(!d.ok)throw new h(`history-redact refuses invalid immutable record ${a+1} (${d.error}).`,f.GENERIC_FAILURE);let l=ss(c,t,r);i+=l.replacements,l.changed&&(o+=1);let u=ue(n,void 0,A(c.hash_algorithm));n=ee(n,l.entry.patch,a+1,l.entry.op);let m=ue(n,void 0,A(c.hash_algorithm));s.push(un(c,{...l.entry,before_hash:u,after_hash:m},{retainPriorRecord:l.changed,retainPriorRecordHash:!l.changed}))}return{entries:s,finalDocument:n,entriesChanged:o,replacements:i}}function Co(e){return Object.keys(e.metadata).length>0}function cs(e){if(!Co(e.finalDocument))return{raw:null,path:null,document:null};let t=Fe(L(e.finalDocument),{schema:e.settings.schema});if(t.metadata.id!==e.subject.id)throw new h("history-redact would change the item id; narrow your patterns.",f.USAGE);return{document:t,path:B(e.pmRoot,t.metadata.type,e.subject.id,"toon",e.typeToFolder),raw:Me(t,{format:"toon",schema:e.settings.schema})}}function ls(e,t){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-redact replaced ${t.replacements} match(es) across ${t.entriesChanged} entr${t.entriesChanged===1?"y":"ies"}.`}function ds(e){let t=[...e.rewritten.entries];if(e.dryRun||!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let r=e.nextItemDocument??L(e.rewritten.finalDocument);return t.push(z({nowIso:I(),author:e.author,op:"history_redact",before:r,after:r,message:e.message})),{rewrittenEntries:t,auditEntryAdded:!0}}function us(e){let t=[];return{applyRewrite:async({historyRawUnderLock:r})=>{let n=await Le(e.pmRoot,e.author),o=new Set;e.currentItem.path&&o.add(e.currentItem.path),e.nextItem.path&&o.add(e.nextItem.path);let i=new Map;e.currentItem.path&&e.currentItem.raw!==null&&i.set(e.currentItem.path,e.currentItem.raw);let s=()=>{};try{try{e.nextItem.path&&e.nextItem.raw!==null&&e.nextItem.raw!==e.currentItem.raw&&await j(e.nextItem.path,e.nextItem.raw),e.currentItem.path&&(!e.nextItem.path||e.nextItem.path!==e.currentItem.path)&&await kt.rm(e.currentItem.path,{force:!0}),await j(e.subject.historyPath,pn(e.rewrittenEntries))}catch(c){try{await ms(e.subject.historyPath,r,o,i)}finally{await pt(e.subject.historyPath)}throw c}await pt(e.subject.historyPath);let a=e.nextItem.path??e.currentItem.path;a&&(t=await Oe({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:e.typeRegistry.type_to_folder,schema:e.settings.schema,itemPath:a,...e.currentItem.path?{previousItemPath:e.currentItem.path}:{},document:e.nextItem.document}))}finally{await n().catch(a=>{s=()=>{throw a}})}s()},afterWrite:async()=>[...t,...await fs(e.subject.historyPath,[e.nextItem.path,e.currentItem.path])]}}async function ms(e,t,r,n){t===null?await kt.rm(e,{force:!0}):await j(e,t);for(let o of r){let i=n.get(o);i===void 0?await kt.rm(o,{force:!0}):await j(o,i)}}async function fs(e,t){let r=[],n=new Set(t.filter(o=>o!==null));for(let o of n)r.push(...await Y({path:o,scope:"project",op:"history_redact"}));return r.push(...await Y({path:e,scope:"project",op:"history_redact:history"})),r}async function kl(e,t,r){let{pmRoot:n,settings:o,typeRegistry:i}=await pe(r.path),s=t.replacement??"",a=s.length===0,c=a?"[redacted]":s,d=xo(t.literal,t.regex),l=await V(n,e,o,i.type_to_folder);return Ve({pmRoot:n,subject:l,settings:o,typeRegistry:i,operation:"history-redact",options:t,transform:u=>hs({pmRoot:n,subject:l,settings:o,typeRegistry:i,options:t,rules:d,replacement:c,replacementIsDefault:a},u)})}function hs(e,t){let{pmRoot:r,subject:n,settings:o,typeRegistry:i,options:s,rules:a,replacement:c,replacementIsDefault:d}=e,l=t.entries,u=is(l),m=as(l,a,c),p=u.hashMismatchesBefore+u.hashMismatchesAfter,g=!!s.dryRun,_=m.replacements>0,y=[];p>0&&y.push(`history_redact_preexisting_hash_mismatches:${p}`),_||y.push("history_redact_no_matches");let w={raw:t.loadedItem?.raw??null,path:n.located?.itemPath??null,document:t.loadedItem?.document??null},v=cs({pmRoot:r,subject:n,settings:o,typeToFolder:i.type_to_folder,finalDocument:m.finalDocument}),b=(w.path??null)!==(v.path??null)||(w.raw??null)!==(v.raw??null),E=t.author,S=ls(s,m),{rewrittenEntries:k,auditEntryAdded:x}=ds({rewritten:m,dryRun:g,changed:_,nextItemDocument:v.document,author:E,message:S});return{changed:_,rewrittenEntries:k,...us({pmRoot:r,subject:n,settings:o,typeRegistry:i,currentItem:w,nextItem:v,author:E,rewrittenEntries:k}),report:({verification:Q,warnings:ct})=>({id:n.id,dry_run:g,changed:_,patterns:{literal_count:a.filter(T=>T.kind==="literal").length,regex_count:a.filter(T=>T.kind==="regex").length,total_count:a.length,replacement_is_default:d},history:{path:n.historyPath,entries_scanned:l.length,entries_changed:m.entriesChanged,replacements:m.replacements,hash_mismatches_before:u.hashMismatchesBefore,hash_mismatches_after:u.hashMismatchesAfter,preexisting_hash_mismatches:p,audit_entry_added:x,verify_ok:Q.ok,verify_errors:Q.errors},item:{existed_before:w.path!==null,exists_after:v.path!==null,path_before:w.path,path_after:v.path,changed:b},warnings:[...new Set([...y,...ct])].sort((T,lt)=>T.localeCompare(lt)),generated_at:I()})}}var xl={applyLiteralRule:Ro,applyRegexRule:Ao,buildRedactionRules:xo,hasItemMetadata:Co,normalizeRegexFlags:Io,normalizeStringArrayInput:xt,parseRegexRule:ko,redactStringValue:Rt,redactUnknownValue:ge};(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]="63c96190-0df9-5803-aa61-b973493a7277")}catch{}})();var At={format:"pm-history-attestation",version:1,stream_hash:"exact_file_bytes",rollup_hash:"stable_json_without_workspace_digest",ordering:"stream_id_code_unit_ascending",consistency:"per_stream_snapshot_with_change_detection",trust:"independently_retained_bundle"};import{createHash as ps}from"node:crypto";import{isUtf8 as ys}from"node:buffer";import _e from"node:fs/promises";import Ct 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]="a049f799-3807-59b5-96de-51e900798779")}catch{}})();async function To(e){try{return(await _e.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort()}catch(t){if(jr(t))return[];throw t}}function gs(e,t,r,n){let o=t.at(-1),i;for(let c=t.length-1;c>=0;c-=1)if(["history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","merge_reconcile"].includes(t[c].op)){i=t[c];break}let s=t[0]?.context?.history_compaction,a=typeof s=="object"&&s!==null&&"pruned_stream_digest"in s&&typeof s.pruned_stream_digest=="string"?s.pruned_stream_digest:null;return{id:e,entries:t.length,bytes:r,stream_digest:n,latest_after_hash:o?.after_hash??null,latest_record_hash:o?.record_hash??null,latest_hash_algorithm:o?A(o.hash_algorithm):null,rewrite_count:t.reduce((c,d)=>c+(d.reanchor_evidence?.length??0),0),checkpoint_digest:a,last_maintenance:i?{op:i.op,ts:i.ts,record_hash:i.record_hash??null}:null}}function _s(e,t,r){try{if(!/^[A-Za-z0-9_-]+$/u.test(e)||!ys(t))return null;let n=[];for(let o of t.toString("utf8").split(/\r?\n/u)){if(!o.trim())continue;let i=JSON.parse(o);if(typeof i!="object"||i===null||Array.isArray(i))return null;let s=i;if(![s.op,s.author,s.ts,s.before_hash,s.after_hash].every(a=>typeof a=="string")||!Array.isArray(s.patch))return null;n.push(s)}return _t(n).ok?gs(e,n,t.length,r):null}catch{return null}}async function Tt(e,t){if(!(await _e.stat(e)).isDirectory())throw new TypeError("attestation tracker root must be a directory");let r=Ct.join(e,"history"),n=await To(r),o=new Map,i=[];for(let s of n){let a=s.slice(0,-6),c={id:a,digest:null,stream:null};i.push(c);let d=Ct.join(r,s);try{let l=await _e.lstat(d);if(o.set(s,P([l.ino,l.size,l.mtimeMs,l.ctimeMs])),!l.isFile())continue;let u=await _e.readFile(d);c.digest=ps(t).update(u).digest("hex"),c.stream=_s(a,u,c.digest)}catch{}}if(P(n)!==P(await To(r)))throw new TypeError("attestation history inventory changed during read; retry");for(let[s,a]of o){let c=await _e.lstat(Ct.join(r,s));if(a!==P([c.ino,c.size,c.mtimeMs,c.ctimeMs]))throw new TypeError("attestation history stream changed during read; retry")}return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="54d3c0f4-e663-5e31-aa4e-45ea2f6aaf75")}catch{}})();function Mt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ft(e,t){return Object.keys(e).length===t.length&&t.every(r=>Object.hasOwn(e,r))}function te(e,t){return typeof e=="string"&&(t==="sha256"?/^[a-f0-9]{64}$/u:/^[a-f0-9]{128}$/u).test(e)}function ws(e){return e.entries===0?[e.latest_hash_algorithm,e.latest_after_hash,e.latest_record_hash,e.checkpoint_digest,e.last_maintenance].every(t=>t===null)&&e.rewrite_count===0:e.latest_hash_algorithm!=="sha256"&&e.latest_hash_algorithm!=="sha512"?!1:te(e.latest_after_hash,e.latest_hash_algorithm)&&(e.latest_record_hash===null||te(e.latest_record_hash,e.latest_hash_algorithm))}function bs(e){return e===null?!0:!Mt(e)||!Ft(e,["op","ts","record_hash"])?!1:typeof e.op=="string"&&["history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","merge_reconcile"].includes(e.op)&&typeof e.ts=="string"&&Ae(e.ts)&&(e.record_hash===null||te(e.record_hash,"sha256")||te(e.record_hash,"sha512"))}function vs(e,t){return!Mt(e)||!Ft(e,["id","entries","bytes","stream_digest","latest_after_hash","latest_record_hash","latest_hash_algorithm","rewrite_count","checkpoint_digest","last_maintenance"])?!1:typeof e.id=="string"&&/^[A-Za-z0-9_-]+$/u.test(e.id)&&[e.entries,e.bytes,e.rewrite_count].every(r=>typeof r=="number"&&Number.isSafeInteger(r)&&r>=0)&&te(e.stream_digest,t)&&ws(e)&&(e.checkpoint_digest===null||te(e.checkpoint_digest,"sha256"))&&bs(e.last_maintenance)}function Mo(e){if(!Mt(e)||!Ft(e,["format","version","hash_algorithm","generated_at","streams","workspace_digest"]))throw new TypeError("Invalid history attestation bundle");if(e.format!==At.format||e.version!==1||typeof e.generated_at!="string"||!Ae(e.generated_at)||!Array.isArray(e.streams)||e.hash_algorithm!=="sha256"&&e.hash_algorithm!=="sha512")throw new TypeError("Invalid history attestation format");let t=e.hash_algorithm,r;for(let i of e.streams){if(!vs(i,t))throw new TypeError("Invalid history attestation stream");let s=i.id;if(r!==void 0&&s<=r)throw new TypeError("Invalid history attestation stream order");r=s}let{workspace_digest:n,...o}=e;if(ht(P(o),t)!==n)throw new TypeError("History attestation rollup mismatch");return e}async function Fo(e={}){let t=A(e.hashAlgorithm),r=e.generatedAt??I();if(!Ae(r))throw new TypeError("Invalid history attestation timestamp");let n=await Tt(R(e.cwd??process.cwd(),e.pmRoot),t),o=n.filter(s=>s.stream===null);if(o.length>0)throw new TypeError(`Cannot export history attestation: invalid streams ${o.map(s=>s.id).join(", ")}`);let i={format:At.format,version:1,hash_algorithm:t,generated_at:r,streams:n.map(s=>s.stream)};return Mo({...i,workspace_digest:ht(P(i),t)})}async function Do(e,t={}){let r=Mo(e),n=await Tt(R(t.cwd??process.cwd(),t.pmRoot),r.hash_algorithm),o=new Map(n.map(l=>[l.id,l])),i=new Map(r.streams.map(l=>[l.id,l])),s=r.streams.filter(l=>!o.has(l.id)).map(l=>l.id),a=n.filter(l=>!i.has(l.id)).map(l=>l.id),c=n.filter(l=>l.stream===null).map(l=>l.id),d=[];for(let l of r.streams){let u=o.get(l.id);u&&(u.digest!==l.stream_digest||P(u.stream)!==P(l))&&d.push({id:l.id,before_digest:l.stream_digest,after_digest:u.digest,last_maintenance:u.stream?.last_maintenance??null})}return{ok:s.length+a.length+c.length+d.length===0,workspace_digest:r.workspace_digest,streams_checked:n.length,changed_streams:d.map(l=>l.id),missing_streams:s,added_streams:a,invalid_streams:c,transitions:d}}import Po 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]="3bca4afb-f1cc-5627-a377-b30e8005a284")}catch{}})();async function Xl(e,t){for(let n of["verify","output","hashAlgorithm"]){let o=e[n];if(!(n==="verify"&&typeof o=="object"&&o!==null)&&o!==void 0&&(typeof o!="string"||o.trim().length===0))throw new h(`history attest ${n} requires a nonempty string.`,f.USAGE)}if(e.verify!==void 0){if(e.output!==void 0||e.hashAlgorithm!==void 0)throw new h("history attest --verify cannot be combined with --output or --hash-algorithm",f.USAGE);let n;try{n=typeof e.verify=="string"?JSON.parse(await Po.readFile(e.verify,"utf8")):e.verify}catch{throw new h("Cannot read history attestation proof. Provide --verify with a readable JSON proof file.",f.USAGE)}return Do(n,{pmRoot:t.path})}let r=await Fo({pmRoot:t.path,hashAlgorithm:A(e.hashAlgorithm)});if(e.output===void 0)return r;try{await Po.writeFile(e.output,`${JSON.stringify(r,null,2)}
|
|
2
|
+
`,{flag:"wx",mode:384})}catch{throw new h("Cannot create history attestation proof. Choose --output with a new filename in a writable directory; existing files are never overwritten.",f.USAGE)}return{output:e.output,workspace_digest:r.workspace_digest,streams:r.streams.length}}import Es from"fast-json-patch";import Dt 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]="ce212ffb-1f13-5893-9690-31dbb4e0de13")}catch{}})();async function Ho(e,t,r){let n=await xn(e,{schema:t.schema});return n.error===null?{raw:n.raw,document:n.document}:{raw:n.raw,document:Lo(r),recovered:!0}}function Ss(e,t){return wn(e,t,{errorSubject:"restore",allowFutureTimestamp:!0})}function Lo(e){let t=wt(e,e.length-1);return Object.keys(t.metadata).length===0?{metadata:{},body:t.body}:Fe(L(t))}async function Is(e,t,r,n){let o=await V(e,t,r,n),i=o.located?await He({pmRoot:e,settings:r,itemId:o.id,commandLabel:"restore"}):{warnings:[]};return{...o,historyPolicyWarnings:i.warnings}}function ks(e,t){let r=me(e),n=me(t),o=Es.compare(r,n),i=new Set;for(let s of o){if(s.path==="/body"||s.path.startsWith("/body/")){i.add("body");continue}let a=s.path.replace(/^\/(?:metadata|front_matter)\/?/,"").split("/")[0];i.add(a.replaceAll("~1","/").replaceAll("~0","~"))}return Array.from(i).sort((s,a)=>s.localeCompare(a))}async function xs(e){let t=await fo({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:"restore",readItem:r=>Ho(r,e.settings,e.history)});return{loadedItemUnderLock:t.loadedItemUnderLock,existingItemPath:t.locatedUnderLock?.itemPath??null}}function Rs(e,t){return e?{document:e.document,originalRaw:e.raw}:{document:Lo(t),originalRaw:null}}function As(e){let t=e.document.metadata.assignee?.trim();if(!(t&&t!==e.author&&!e.force))return[];if(e.enforcement==="strict")throw new h(`Item ${e.resolvedId} is assigned to ${t}. Use --force to override.`,f.CONFLICT);return e.enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.resolvedId}:${t}`]:[]}async function Cs(e){if(e.existingItemPath&&e.resolvedOriginalRaw!==null&&e.restoredItemPath!==e.existingItemPath){await j(e.existingItemPath,e.resolvedOriginalRaw),await Dt.rm(e.restoredItemPath,{force:!0});return}if(e.existingItemPath&&e.resolvedOriginalRaw!==null){await j(e.existingItemPath,e.resolvedOriginalRaw);return}await Dt.rm(e.restoredItemPath,{force:!0})}async function Ts(e){return[...await Y({path:e.restoredItemPath,scope:"project",op:"restore",item_id:e.after.metadata.id,item_type:e.after.metadata.type,before:e.before,after:e.after,changed_fields:["restored"]}),...await Y({path:e.historyPath,scope:"project",op:"restore:history",item_id:e.after.metadata.id,item_type:e.after.metadata.type,before:e.before,after:e.after,changed_fields:["restored"]})]}async function hd(e,t,r,n){let o=R(process.cwd(),n.path);await H(o);let i=await O(o),s=G(i,C()),a=await Is(o,e,i,s.type_to_folder),c=a.id,{raw:d,entries:l}=await sn(a.historyPath,c);if(l.length===0)throw new h(`No history exists for ${c}; restore is unavailable.`,f.NOT_FOUND);let u=Ss(t,l),m=bn(wt(l,u.historyIndex),u),p=fn(m,{schema:i.schema});if(p.metadata.id!==c)throw new h(`Restore target resolved to item ${p.metadata.id}, expected ${c}.`,f.GENERIC_FAILURE);let g=(a.located?await Ho(a.located,i,l):null)?.raw??null,_=De(r.author,i.author_default),y=await Jr(o,c,i.locks.ttl_seconds,_,!!r.force,i.governance.force_required_for_stale_lock,i.locks.wait_ms,{waitPolicy:"progress"}),w=y.release;try{let{loadedItemUnderLock:v,existingItemPath:b}=await xs({pmRoot:o,subject:a,settings:i,typeRegistry:s,historyRawBeforeLock:d,currentItemRawBeforeLock:g,history:l}),E="toon",S=Rs(v,l);p.metadata.pm_format_version=rn(Math.max(Te(p.metadata),Te(S.document.metadata))),In(Nr(o),Te(p.metadata));let k=As({document:S.document,author:_,force:r.force,enforcement:i.governance.ownership_enforcement,resolvedId:c}),x=ks(S.document,p),Q=await En({pmRoot:o,settings:i,operation:"restore",author:_,before:S.document,after:p});await $r({pm_root:o,operation:"restore",before:S.document,after:p,changed_fields:x,sdk:An({pmRoot:o,settings:i,typeToFolder:s.type_to_folder})});let ct=Me(p,{format:E,schema:i.schema}),T=B(o,p.metadata.type,c,E,s.type_to_folder),lt=await y.fence(async()=>{let Ui=await Le(o,_),Lr;try{await j(T,ct),b&&T!==b&&await Dt.rm(b);let Gi=z({nowIso:I(),author:_,op:"restore",before:S.document,after:p,message:r.message,context:Q.decisions.length===0?void 0:{workflow_policies:Q.decisions}});try{await mn(a.historyPath,Gi)}catch($i){throw await Cs({existingItemPath:b,resolvedOriginalRaw:S.originalRaw,restoredItemPath:T}),$i}Lr=await Oe({pmRoot:o,preferredFormat:i.item_format,typeToFolder:s.type_to_folder,schema:i.schema,itemPath:T,previousItemPath:b??void 0,document:p})}finally{await Ui()}return Lr}),Ni=await Ts({restoredItemPath:T,historyPath:a.historyPath,before:S.document,after:p});Gr({id:p.metadata.id,op:"restore",item_type:p.metadata.type,previous_status:S.document.metadata.status,status:p.metadata.status,previous:ut(S.document.metadata,x),current:ut(p.metadata,x),changed_fields:x});let Pr=l[u.historyIndex],Hr=N(l,!0);return{item:p.metadata,restored_from:{kind:u.kind,target:u.raw,history_index:u.historyIndex+1,version:Hr===null?null:Hr+u.historyIndex+1,entry_ts:Pr.ts,entry_op:Pr.op},changed_fields:x,warnings:[...Q.warnings,...v?.recovered?["restore_unreadable_item_recovered"]:[],...a.historyPolicyWarnings,...k,...lt,...Ni]}}finally{await w()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var Ms=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],Fs=["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 Ds(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function yd(e,t,r={}){let n=r.includePagination!==!1;return[t,...Ms.map(o=>e?.[o]),...n?[e?.limit,e?.offset]:[]].some(Ds)||Fs.some(o=>e?.[o]===!0)}function Oo(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 jo=["parent","type","priority","status","assignee","tags","sprint","release"];function No(e,t){let r=qe(e,t,{strict:!0,flagLabel:"--status"});if(!(!r||r.length===0))return r}function Uo(e,t=["estimate","estimated_minutes","priority"]){let r=e.sum?.trim(),n=e.avg?.trim(),o=r&&r.length>0?r:void 0,i=n&&n.length>0?n:void 0;if(!o&&!i)return null;if(o&&i&&o!==i)throw new h("Aggregate --sum and --avg must target the same numeric field",f.USAGE);let s=o??i;if(!t.includes(s))throw new h(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,f.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function Go(e){let t=e?.trim()??"status";if(t.length===0)throw new h("--group-by requires at least one field name",f.USAGE);let r=Vn(t);if(r.length===0)throw new h("--group-by requires a comma-separated list of fields",f.USAGE);for(let n of r)if(!jo.includes(n))throw new h(`Aggregate group fields must be one of ${jo.join("|")}; received "${n}"`,f.USAGE);return r}function $o(e){let t=[...new Set(e.map(r=>r.trim().toLowerCase()).filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n));return t.length===0?null:t.join(",")}function Wo(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 $o(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Bo(e,t){let r=e??null,n=t??null;return r===n?0:r===null?1:n===null?-1:typeof r=="number"&&typeof n=="number"?r-n:String(r).localeCompare(String(n))}function Ke(e,t){return e.map(r=>`${r}:${JSON.stringify(t[r]??null)}`).join("|")}var Ps={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function qo(e,t){return t==null||t===""?Ps[e]:String(t)}function Hs(e,t){return e.length===1?qo(e[0],t[e[0]]):e.map(r=>`${r}=${qo(r,t[r])}`).join(" | ")}function zo(e,t,r){for(let n of r){let o=Bo(e.group[n],t.group[n]);if(o!==0)return o}return 0}function Vo(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let n=r.trim();if(n.length===0)return null;let o=Number(n);if(Number.isFinite(o))return o}return null}function Ko(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Pt(e,t,r){let n=nn(String(t),r)??t;if(n===r.open_status){e.open_count+=1;return}if(n==="in_progress"||r.active_statuses.has(n)&&n!==r.open_status){e.in_progress_count+=1;return}if(r.terminal_done_statuses.has(n)||n===r.close_status){e.closed_count+=1;return}e.other_count+=1}function Ls(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 Os(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function js(e){e.accumulator.row.count+=1,e.includeCompletion&&Pt(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Os(e.accumulator,e.numericValue)}function qs(e,t,r,n){for(let o of t){let i=Ke(r,o),s=e.get(i);if(s){js({...n,accumulator:s});continue}let a=Ls(o,n.numericValue);n.includeCompletion&&Pt(a,n.item.status,n.statusRegistry),e.set(i,a)}}function Ns(e,t){let r={};for(let n of e)r[n]=Wo(n,t);return r}function Us(e,t,r){let n=[Ns(e,t)];if(r==="tuple")return n;for(let o of e){let i=t[o];if(!Array.isArray(i))continue;let s=[...new Set(i.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(n=n.flatMap(a=>s.map(c=>({...a,[o]:c}))))}return n}function Gs(e,t,r,n){let o={...e.row,group_label:Hs(t,e.row.group)};return r&&(o.open=e.open_count,o.in_progress=e.in_progress_count,o.closed=e.closed_count,o.other=e.other_count,o.completion_pct=Ko(e.closed_count,e.row.count)),n!==null&&(o.null_count=e.null_count,n.sum&&(o.sum=e.numeric_sum),n.avg&&(o.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),o}function $s(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 Ed(e,t){if(e.count===!1)throw new h("Aggregate grouped counts are always enabled; omit count=false.",f.USAGE);let r=R(process.cwd(),t.path),n=await O(r),o=q(n.schema),i=["estimate","estimated_minutes","priority",...Z(n.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=Go(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new h("Aggregate --set-mode must be element or tuple",f.USAGE);let c=No(e.status,o),d=Uo(e,[...new Set(i)].sort((b,E)=>b.localeCompare(E))),l=e.completion===!0,u=e.includeUnparented===!0,m=await ze(void 0,{...Oo(e),status:e.status,noTruncate:!0,strictRead:!0},t),p=new Map,g=0,_=0,y=0;for(let b of m.items){let E=b;if(s.includes("parent")&&E.parent===void 0&&!u){g+=1;continue}let S=d===null?null:Vo(E,d.field),k=Us(s,E,a);qs(p,k,s,{item:E,statusRegistry:o,includeCompletion:l,numericAggregation:d,numericValue:S}),y+=k.length,_+=1}let w=[...p.values()].map(b=>Gs(b,s,l,d)).sort((b,E)=>zo(b,E,s)),v=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...Ws(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:_,items_skipped_unparented:g,group_memberships:y},filters:$s({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:c,options:e,numericAggregation:d}),now:I(),...v?{warnings:v}:{}}}function Ws(e,t,r){let n=uo(r.limit,"limit")??50,o=r.after===void 0?-1:e.findIndex(a=>Ke(t,a.group)===r.after);if(r.after!==void 0&&o<0)throw new h("Aggregate --after cursor is absent from the current grouping; restart without --after.",f.USAGE);let i=e.slice(o+1,o+1+n),s=o+1+i.length<e.length;return{groups:i,returned_count:i.length,truncated:s,next_after:s?Ke(t,i.at(-1).group):null}}var Sd={buildGroupKey:Ke,compareAggregateRows:zo,compareNullableGroupValue:Bo,completionPct:Ko,normalizeTagGroupValue:$o,parseGroupBy:Go,parseNumericAggregation:Uo,parseStatus:No,readNumericAggregateValue:Vo,resolveGroupValue:Wo,updateCompletionCounts:Pt};(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 Qo=1e6,Yo=20;function Xo(e,t,r,n=Yo){if(!Number.isSafeInteger(n)||n<0)throw new h("Child projection sample limit must be a non-negative integer.",f.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let y of t){if(a+=1,a>Qo)throw new h(`Child projection exceeded the ${Qo.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(y)}let c=new Map(s.map(y=>[y.id.trim().toLowerCase(),y])),d=so(io(s,oo())),l=new Set(d.children_by_parent.get(o)??[]);for(let y of s)y.parent?.trim().toLowerCase()===o&&l.add(y.id.trim().toLowerCase());let u=[...l].map(y=>c.get(y)),m=0;for(let y of u){let w=y.status.trim().toLowerCase();i[w]=(i[w]??0)+1,ce(w,r)||(m+=1)}u.sort((y,w)=>y.id.localeCompare(w.id));let p=u.slice(0,n).map(y=>({id:y.id,title:y.title,type:y.type,status:y.status,priority:y.priority})),g=u.length>p.length,_=n===0?Yo:n;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(i).sort(([y],[w])=>y.localeCompare(w))),sample:p,sample_limit:n,truncated:g,next_offset:g?p.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${p.length} --limit ${_}`:null,scanned:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var Bs=new Set(["event","meeting","reminder"]);function zs(e){return Bs.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function Ht(e){if(!zs(e))return;let t=[...e.events??[]].sort((n,o)=>n.start_at.localeCompare(o.start_at)),r=t[0];return{deadline:e.deadline??null,start_at:r?.start_at??null,end_at:r?.end_at??null,location:r?.location??null,reminders:[...e.reminders??[]],events:t}}import{readdir as Ks}from"node:fs/promises";import Lt 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]="623eaead-53e7-57f5-8d05-2cfd1fe062db")}catch{}})();var Qs=new Set(["epic","feature","milestone","plan"]),Ys=new Set(Object.keys(Or).map(e=>e.toLowerCase()));function jt(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function Xs(e,t,r,n,o){let i=jt(e);return[...t.length>0?["body"]:[],...Object.entries(i).flatMap(([s,a])=>a>0?[s]:[]),...i.files+i.tests+i.docs>0?["linked"]:[],...r===void 0?["children"]:r.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...Ht(e)?["schedule"]:[],...n&&Et(e).length>0?["blockers"]:[],...!o.full&&e.dependencies?.some(({id:s,kind:a,...c})=>Object.values(c).some(d=>d!==void 0))?["dependency_provenance"]:[]]}function Zo(e){let t=e.trim().toLowerCase();return t.length>0&&(Qs.has(t)||!Ys.has(t))}function Jo(e){return{ts:e.ts,author:e.author,message:e.message??null}}function Js(e,t){let r=e?.trim(),n=r&&r.length>0?r:null,o=[...t].reverse().find(s=>s.op==="claim"),i=[...t].reverse().find(s=>s.op==="release");return{claimed:n!==null,assignee:n,last_claim:o?Jo(o):null,last_release:i?Jo(i):null}}function Zs(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(Ce.includes(t))return t;throw new h("Get --depth must be one of brief|standard|deep|full",f.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...Ce,"full"]}})}function ea(e,t,r){let n=jt(e),o={...e};if(!r&&e.dependencies!==void 0&&(o.dependencies=e.dependencies.map(({id:g,kind:_})=>({id:g,kind:_}))),t==="deep")return{...o,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:n.notes,tests_count:n.tests,collection_counts:n};let{comments:i,notes:s,learnings:a,files:c,tests:d,docs:l,reminders:u,events:m,...p}=o;return{...p,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function ta(e){if(e===void 0)return null;let t=e.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new h("Get --fields requires a comma-separated list of field names",f.USAGE);return t}function Qe(e){return e.startsWith("item.")?e.slice(5):e}function ra(e,t,r){if(e===null)return;let n=ft(t),o=new Set(n),i=e.filter(s=>{let a=Qe(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",r,"--fields",e.filter(a=>!i.includes(a)).join(",")||"id,title,status"];throw new h(`Unknown get --fields value(s): ${i.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:n,suggested_retry:J(s),suggested_retry_args:s}})}}var na=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function oa(e,t,r){return Object.hasOwn(t,r)?t[r]:e[r]!==void 0?e[r]:na.has(r)?[]:void 0}function ia(e,t){let r=e,n={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:jt(e)},o={id:e.id};for(let i of t){let s=Qe(i);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||s==="blockers"||(o[s]=oa(r,n,s))}return o}function we(e,t){return e?.some(r=>r===t||r===`item.${t}`)??!1}function re(e,t){return e.some(r=>{let n=Qe(r);return n===t||n.startsWith(`${t}.`)})}function sa(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new h("Get projection options are mutually exclusive; remove the extra projection flag and retry.",f.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:J(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new h("Get --tree-depth requires --tree",f.USAGE);if(e.at!==void 0&&e.tree===!0)throw new h("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",f.USAGE);return{depth:e.full?"deep":Zs(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?Xn(e.treeDepth,"--tree-depth"):void 0,fields:ta(e.fields),fieldProjection:e.fields!==void 0}}async function aa(e,t,r){let n=R(process.cwd(),t.path);await H(n);let o=await O(n),i=G(o,C());if(r!==void 0){let c=await Mn(e,r,{pmRoot:t.path});return{pmRoot:n,settings:o,typeToFolder:i.type_to_folder,locatedId:c.document.metadata.id,metadata:c.document.metadata,body:c.document.body,historical:c}}let s=await fe(n,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await Cn(n,e,o.id_prefix,i.type_to_folder);let a=await he(s,{schema:o.schema});return{pmRoot:n,settings:o,typeToFolder:i.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function ca(e,t,r,n){let o=Z(t.schema).definitions.map(i=>i.metadata_key);if(ra(e,o,n),r&&re(e??[],"children"))throw new h("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",f.USAGE);if(r&&re(e??[],"blockers"))throw new h("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",f.USAGE)}function Ot(e){let{fieldProjection:t,depth:r,fields:n,field:o}=e;return t?o==="body"||o==="linked"?we(n,o):re(n,o):r!=="brief"}async function la(e,t){if(!t)return;let r=Re(e.pmRoot,e.locatedId),n=await le(r,e.locatedId);return Js(e.metadata.assignee,e.historical?n.slice(0,e.historical.target.historyIndex+1):n)}function da(e,t,r,n){let o=n||we(r,"linked.files"),i=n||we(r,"linked.tests"),s=n||we(r,"linked.docs");!n&&!o&&!i&&!s||(e.linked={files:o?t.metadata.files??[]:[],tests:i?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function ua(e,t){if(!t)return;let r=q(e.settings.schema),n=await je(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return Xo(e.locatedId,n,r)}function ma(e,t){let r=new Map;for(let n of e){let o=n.external?n.id:t.get(n.id.toLowerCase())?.id??n.id;r.set(n.external?`external:${o}`:`local:${o.toLowerCase()}`,{...n,id:o})}return[...r.values()]}async function fa(e,t){let r=Lt.basename(e),n=(await Ks(Lt.dirname(e)).catch(o=>{throw _n("Cannot verify the blocker's physical file identity",{exitCode:f.GENERIC_FAILURE,context:{code:"blocker_identity_read_failed",required:"Restore access to the blocker item directory, then retry the item read."},cause:o})})).filter(o=>o.toLowerCase()===r.toLowerCase()).sort((o,i)=>+(i===r)-+(o===r)||o.localeCompare(i)).map(o=>Lt.parse(o).name)[0];if(n===void 0)throw new h(`Blocker canonical file disappeared during identity verification: ${t}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker file and validate storage integrity before retrying the item read."});return n}async function ha(e,t,r){if(t.historical!==void 0||!(r.fieldProjection?re(r.fields,"blockers"):r.depth!=="brief"))return;let n=Et(t.metadata);if(n.length===0)return;let o=new Map([t.metadata.blocked_by,...(t.metadata.dependencies??[]).filter(a=>a.kind==="blocked_by").map(a=>a.id)].filter(a=>typeof a=="string").map(a=>[a.trim().toLowerCase(),a.trim()])),i=new Map;for(let a of n){if(Kn(a)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(a)||t.metadata.dependencies?.some(l=>l.id.trim()===a&&l.kind==="blocked_by"&&Qn(l.source_kind)))continue;let c=await fe(t.pmRoot,o.get(a),t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(c===null)continue;let d=await he(c,{schema:t.settings.schema});if(c.id=await fa(c.itemPath,c.id),d.document.metadata.id!==c.id)throw new h(`Blocker identity differs from its canonical file: ${c.id}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});i.set(a.toLowerCase(),d.document.metadata)}let s=ma(Yn({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},i,q(t.settings.schema)),i);e.blockers={scope:"declared",open:s.filter(a=>!a.resolved).map(({resolved:a,...c})=>c),closed_count:s.filter(a=>a.resolved).length},!r.fieldProjection&&!r.full&&delete e.item.blocked_by}function pa(e,t,r,n){if(!n)return;let o=Ht(t.metadata);if(o){if(r===null||we(r,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>r.some(s=>Qe(s)===`schedule.${i}`)))}}async function ya(e,t,r,n){if(t.tree!==!0)return;let o=await ze(void 0,{parent:e.locatedId,tree:!0,treeDepth:r===void 0?void 0:String(r),full:!0},n);return{root_id:e.locatedId,root_title:e.metadata.title,depth_limit:r??null,count:o.count,items:o.items.map(i=>i)}}async function Yd(e,t,r={}){let n=sa(r,e),o=await aa(e,t,r.at);ca(n.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Ot({...n,field:"body"}),s=Ot({...n,field:"linked"}),a=Ot({...n,field:"claim_state"}),c=o.historical===void 0&&(n.fieldProjection?re(n.fields,"children"):n.depth==="deep"&&(n.full||Zo(o.metadata.type))),d=n.fieldProjection?re(n.fields,"schedule"):n.depth!=="brief",l=await la(o,a),u={item:n.fieldProjection?ia(o.metadata,n.fields):ea(o.metadata,n.depth,n.full)};i&&(u.item.body=o.body),da(u,o,n.fields,s),l&&(u.claim_state=l),pa(u,o,n.fields,d),await ha(u,o,n);let m=await ua(o,c);m!==void 0&&(u.children=m);let p=await ya(o,r,n.treeDepth,t);if(p!==void 0&&(u.tree=p),o.historical&&(u.reconstructed=!0,u.as_of_version=o.historical.as_of_version,u.as_of_timestamp=o.historical.as_of_timestamp),o.historical===void 0)try{await Zr({pmRoot:o.pmRoot,author:De(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return Wr(u,n.fieldProjection?[]:Xs(o.metadata,o.body,m,o.historical===void 0,n)),u}var Xd={shouldAutoIncludeGetChildren:Zo};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9c9c1249-e52a-5203-8a84-d54211c30202")}catch{}})();function ga(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function _a(e,t){return e.map(({entry:r,version:n})=>{let o=new Set,i=hn(r.patch);for(let s of i)o.add(bt(s.path)),s.from&&o.add(bt(s.from));return{index:n,...t?{version:t.offset===null?null:t.offset+n}:{},ts:r.ts,op:r.op,author:r.author,patch_ops:i.length,changed_fields:[...o].sort((s,a)=>s.localeCompare(a))}})}function wa(e){if(e[0]?.op!=="history_compact_baseline")return;let t=N(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function ba(e,t){let r=R(process.cwd(),t.path);await H(r);let n=await O(r),o=G(n,C()),i=e.trim()===Pe,s=i?Pe:vn(e,n.id_prefix),a=await fe(r,s,n.id_prefix,n.item_format,o.type_to_folder),c=a?.id??s,d=i?yn(r):Re(r,c);if(!a&&!await Ie(d))throw new h(`Item ${e} not found`,f.NOT_FOUND);return a&&await He({pmRoot:r,settings:n,itemId:a.id,commandLabel:"history"}),{historyPath:d,located:a,resolvedId:c,settings:n}}async function au(e,t,r){let n=Ne(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await ba(e,r),c=await le(o,s),d=wa(c),l=a.agent_identity.identity_vocabulary,u=ho(a.agent_identity.harness_signals),m=yo({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),p=va(c).filter(({entry:k})=>m(k)),g=ga(p,n),_=g.map(({entry:k})=>k),y=t.compact===!0,w=y?_a(g,d):void 0,v=t.provenance===!0?g.map(({entry:k,durableVersion:x})=>po(k,l,{itemId:s,version:x})):void 0,b=t.provenance===!0?"provenance":y?"compact":"full",E={compact:{compact_history:w},provenance:{provenance_history:v},full:{history:_}}[b],S={id:s,...E,compact:y,projection:{mode:b,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[b]},omission_receipt:Br("history",b),count:_.length,limit:n??null,version_addressing:d,...t.provenanceSummary===!0?{provenance_summary:go(p.map(({entry:k})=>k),l,u)}:{}};if((t.diff||t.field!==void 0)&&(S.diff=On(c,{windowStartIndex:Math.max(0,c.length-_.length),field:t.field})),t.verify){let k=i?(await he(i,{schema:a.schema})).document:void 0;if(S.verification=Tn(c,k),s===Pe&&S.verification.ok){let x=await gn(R(process.cwd(),r.path));S.verification={...S.verification,ok:x.ok,errors:x.ok?S.verification.errors:[...S.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:x.ok,workspace_state_mismatches:x.mismatched_documents,workspace_state_missing:x.missing_documents,workspace_state_unreadable:x.unreadable_documents}}}return S}function va(e){let t=N(e,!0);return e.map((r,n)=>({entry:r,version:n+1,durableVersion:t===null?void 0:t+n+1}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f7f0c9be-34c2-55fb-8676-de58e96c382f")}catch{}})();function Ea(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new h("Search mode must be one of keyword|semantic|hybrid",f.USAGE);return t}function Ye(e){return e===!0}function ei(e){return qr(e,0,1)??void 0}function ti(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new h("Search --match-mode must be one of and|or|exact",f.USAGE);return t}function ri(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new h("Search --min-score must be a finite number >= 0",f.USAGE);return t}function K(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return mt(r,new Date,t)}function M(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function qt(e,t){if(e!==void 0)return mt(e,new Date,t)}function Sa(e){if(e===void 0)return;let t=e.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new h("Search --fields requires a comma-separated list of field names",f.USAGE);return[...new Set(t)]}function Xe(e,t="<query>"){let r=e.compact===!0,n=e.full===!0,o=Sa(e.fields);if(Number(r)+Number(n)+ +(o!==void 0)>1)throw new h("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:J(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return r?{mode:"compact",fields:[...en]}:n?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function Nt(e,t,r="<query>"){if(e.mode!=="fields")return;let n=tn(t.definitions.flatMap(s=>[s.key,s.metadata_key])),o=new Set(n),i=e.fields.filter(s=>{let a=s.trim();return!o.has(a)});if(i.length>0){let s=["search",r,"--fields",e.fields.filter(a=>!i.includes(a)).join(",")||"id,title,status,score"];throw new h(`Unknown search --fields value(s): ${i.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:n,suggested_retry:J(s),suggested_retry_args:s}})}}function Je(e){let t=M(e);if(!t)throw new h("Search query must not be empty",f.USAGE);return t.split(/\s+/u).filter(Boolean)}function Ut(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Ia=["auto","keyword","semantic","hybrid"];function ka(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let r=t.trim().toLowerCase();return Ia.includes(r)?r:"auto"}function Gt(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Ea(e.requested),source:"explicit"};let t=ka(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function $t(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Wt(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Bt(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},r=e.search?.tuning;if(!r)return t;let n=(o,i)=>typeof o=="number"&&Number.isFinite(o)&&o>=0?o:i;return{title_exact_bonus:n(r.title_exact_bonus,t.title_exact_bonus),title_weight:n(r.title_weight,t.title_weight),description_weight:n(r.description_weight,t.description_weight),tags_weight:n(r.tags_weight,t.tags_weight),status_weight:n(r.status_weight,t.status_weight),body_weight:n(r.body_weight,t.body_weight),comments_weight:n(r.comments_weight,t.comments_weight),notes_weight:n(r.notes_weight,t.notes_weight),learnings_weight:n(r.learnings_weight,t.learnings_weight),reminders_weight:n(r.reminders_weight,t.reminders_weight),events_weight:n(r.events_weight,t.events_weight),dependencies_weight:n(r.dependencies_weight,t.dependencies_weight),linked_content_weight:n(r.linked_content_weight,t.linked_content_weight)}}import xa 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 zt(e){return Vr("search",{pmRoot:e.pmRoot===void 0?void 0:xa.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:zr(e.searchOptions,Fn)})}function ni(e){let t=Qr(e.sorted,{cursor:e.searchOptions.after,fingerprint:zt(e),limit:e.limit,readId:r=>r.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 oi(e){if(typeof e!="string")return!1;let t=e.split(",").map(r=>r.trim().toLowerCase()).filter(Boolean);return t.length===1&&t[0]==="all"}var Ra=[{optionKey:"status",summaryKey:"status",normalize:e=>oi(e)?"all":e},{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"parent",summaryKey:"parent"}];function ne(e){let{mode:t,matchMode:r,options:n,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:c,runtimeFieldFilters:d}=e,l={};return lo(l,n,Ra),Object.assign(l,It(n)),Object.assign(l,St(n)),r!==void 0&&r!=="or"&&(l.match_mode=r),o&&(l.include_linked=!0),i&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&n.semanticWeight!==void 0&&(l.hybrid_semantic_weight=c),n.limit!==void 0&&(l.limit=n.limit),d&&Object.keys(d).length>0&&(l.runtime_filters=d),l}function oe(e){let{effectiveMode:t,matchMode:r,options:n,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:c,queryExpansion:d,rerank:l,runtimeFieldFilters:u}=e,m=p=>p??null;return{mode:t,match_mode:r,status:n.status===void 0||oi(n.status)?"all":n.status,type:m(n.type),tag:m(n.tag),priority:m(n.priority),deadline_before:m(n.deadlineBefore),deadline_after:m(n.deadlineAfter),updated_after:m(n.updatedAfter),updated_before:m(n.updatedBefore),created_after:m(n.createdAfter),created_before:m(n.createdBefore),assignee:m(n.assignee),sprint:m(n.sprint),release:m(n.release),parent:m(n.parent),...It(n),...St(n),include_linked:o,title_exact:i,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?c:null,query_expansion_enabled:d.enabled,query_expansion_provider:d.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:m(n.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var Aa=1.2,Ca=.75;function Vt(e){return X(e)}function Ta(e){let t=new Map;for(let r of e)t.set(r,(t.get(r)??0)+1);return t}function si(e){let t=[],r=new Map,n=0;for(let i of e){let s=Vt(i.text),a=Ta(s);n+=s.length;for(let c of a.keys())r.set(c,(r.get(c)??0)+1);t.push({id:i.id,termFrequencies:a,length:s.length})}let o=t.length;return{documents:t,documentFrequency:r,documentCount:o,averageDocumentLength:o>0?n/o:0}}function Ma(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function ai(e,t,r){let n=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return n;let o=[...new Set(t.filter(s=>s.length>0))];if(o.length===0)return n;let i=new Map;for(let s of o){let a=e.documentFrequency.get(s);a!==void 0&&i.set(s,Ma(e.documentCount,a))}if(i.size===0)return n;for(let s of e.documents){let a=0;for(let[c,d]of i){let l=s.termFrequencies.get(c);if(l===void 0)continue;let u=1-r.b+r.b*s.length/e.averageDocumentLength,m=l+r.k1*u;a+=d*(l*(r.k1+1)/m)}a>0&&n.set(s.id,a)}return n}function ii(e,t,r,n){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(n,Math.max(r,e))}function ci(e){let t=r=>typeof r=="string"?[r]:typeof r=="number"?[String(r)]:Array.isArray(r)?r.flatMap(t):typeof r=="object"&&r!==null?Object.values(r).flatMap(t):[];return t(Object.values(e)).join(" ")}function li(e){let t=e?.search?.bm25;return{k1:ii(t?.k1,Aa,0,1e3),b:ii(t?.b,Ca,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 Kt=4,Fa=20,Da=200,Pa=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function Qt(e,t){let r=[],n=new Set;for(let o of e){let i=o.trim().replaceAll(/\s+/g," ");if(i.length===0)continue;let s=i.toLowerCase();if(!n.has(s)&&(n.add(s),r.push(i),r.length>=t))break}return r}function Ha(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 La(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 di(e,t=Kt){let r=e.trim().replaceAll(/\s+/g," ");if(r.length===0)return[];let n=X(r);if(n.length===0)return[r];let o=n.filter(a=>!Pa.has(a.toLowerCase())),i=n.map(a=>Ha(a)),s=o.map(a=>La(a));return Qt([r,n.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function ui(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?Qt(t.filter(r=>typeof r=="string"),Kt):[]}function mi(e,t,r){return Qt([...e,...t],Math.max(1,r))}function fi(e,t){let r=e.search?.query_expansion,n=se(r?.provider);return{enabled:r?.enabled===!0,provider:n??t,max_queries:Kt}}function hi(e,t){let r=e.search?.rerank,n=se(r?.model),o=xe(r?.top_k)??Fa;return{enabled:r?.enabled===!0,model:n??t,top_k:Math.min(Da,o)}}function pi(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let r=new Map;for(let o of t){if(typeof o!="object"||o===null)continue;let i=se(o.id),s=o.score;if(!i||typeof s!="number"||!Number.isFinite(s))continue;let a=r.get(i);(a===void 0||s>a)&&r.set(i,s)}let n=[...r.entries()].map(([o,i])=>({id:o,score:i}));return n.sort((o,i)=>o.score!==i.score?i.score-o.score:o.id.localeCompare(i.id)),n}function Oa(e,t){let r=e.length,n=0;for(let o=0;o<r;o+=1)n+=e[o]*t[o];return n}function yi(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function ja(e,t,r){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let n=Oa(e,t),o=yi(t),i=r*o;return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(o)||!Number.isFinite(i)||i===0?0:Math.max(-1,Math.min(1,n/i))}async function gi(e,t,r,n,o){if(n.length===0)return new Map;let i=se(t)??e.model,s=i===e.model?e:{...e,model:i},a=[r.trim(),...n.map(m=>m.text)],c=await Ue(s,a,o?{timeout_ms:o}:{}),d=c[0];if(!d)return new Map;let l=yi(d),u=new Map;for(let m=0;m<n.length;m+=1){let p=n[m],g=c[m+1];if(!g)continue;let _=ja(d,g,l);u.set(p.id,Math.max(0,Math.min(1,(_+1)/2)))}return u}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}catch{}})();function ie(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function U(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function be(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function Yt(e){let t=e.metadata;return[t.title,t.description,t.status,ie(t.tags).join(" "),e.body,U(t.comments).map(r=>r.text).join(" "),U(t.notes).map(r=>r.text).join(" "),U(t.learnings).map(r=>r.text).join(" "),Ge(t).join(" "),$e(t).join(" "),be(t.dependencies).map(r=>`${r.id} ${r.kind}`).join(" "),We(t)]}function Xt(e,t){return Yt(e).some(r=>M(r).includes(t))}function Jt(e,t,r){return!r.titleExact&&!r.phraseExact?e:e.filter(n=>!(r.titleExact&&M(n.metadata.title)!==t||r.phraseExact&&!Xt(n,t)))}function qa(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null".',f.USAGE)}function Na(e,t,r){let n=ye(e.assignee,{label:"--assignee"});qa(n);let o=ao(e),i=co(e);return{typeFilter:Jn(e.type,t),tagFilter:ye(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Zn(e.priority),deadlineBefore:qt(e.deadlineBefore,"deadline-before"),deadlineAfter:qt(e.deadlineAfter,"deadline-after"),updatedAfter:K(e.updatedAfter,"updated-after"),updatedBefore:K(e.updatedBefore,"updated-before"),createdAfter:K(e.createdAfter,"created-after"),createdBefore:K(e.createdBefore,"created-before"),assigneeFilter:n,sprintFilter:ye(e.sprint,{label:"--sprint"}),releaseFilter:ye(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:r&&r.length>0?new Set(r):void 0,missingMetadataFilters:o,missingMetadataActive:eo(o),contentFieldFilters:i,contentFiltersActive:ro(i)}}function Ua(e,t){return Ga(e,t)&&Xr(e,t)&&$a(e,t)}function Ga(e,t){if(t.statusSet&&!t.statusSet.has(e.status)||t.typeFilter&&!t.typeFilter.has(e.type))return!1;let r=t.tagFilter;return!(r&&!ie(e.tags).some(n=>r.has(n))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function $a(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 Wa(e,t,r,n){let o=e.metadata;return!(!Ua(o,t)||!qn(o,r)||t.missingMetadataActive&&!to(o,t.missingMetadataFilters,n)||t.contentFiltersActive&&!no(o,t.contentFieldFilters))}function Zt(e,t,r,n,o,i){let s=Na(t,r,o);return e.filter(a=>Wa(a,s,n,i))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var Ba=2,za=120,Va=6,Ka=40,Qa=1e3,Ya=900,Xa="\xAB",Ja="\xBB",_i=60;function Ze(e,t){let r=0,n=0;for(;;){let o=e.indexOf(t,n);if(o<0)return r;r+=1,n=o+t.length}}var wi=[{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=>ie(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=>U(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>U(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>U(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>Ge(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>$e(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>be(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>We(e.metadata)}],Za=new Map(wi.map(e=>[e.name,e]));function er(e,t){let r=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(r.length===0)return e;let n=new RegExp(r.join("|"),"gi");return e.replace(n,o=>`${Xa}${o}${Ja}`)}function tr(e,t){if(e.length===0)return null;let r=e.toLowerCase(),n=-1,o=0;for(let l of t){if(l.length===0)continue;let u=r.indexOf(l);u>=0&&(n<0||u<n)&&(n=u,o=l.length)}if(n<0)return null;let i=Math.max(0,n-_i),s=Math.min(e.length,n+o+_i),a=er(e.slice(i,s),t),c=i>0?"\u2026":"",d=s<e.length?"\u2026":"";return`${c}${a}${d}`}function et(e,t,r){let n=[];for(let o of t){let i=Za.get(o);if(i===void 0)continue;let s=tr(i.value(e),r);s!==null&&n.push({field:o,snippet:s})}return n}function ec(e,t,r){return[...wi.map(n=>({name:n.name,value:n.value(e),weight:r[n.weightKey]})),{name:"linked_content",value:t,weight:r.linked_content_weight}]}function tc(e,t,r){let n=M(e.id),o=typeof r=="string"?r.trim().toLowerCase():"",i=M(o),s=i.length>0&&n.startsWith(i)?n.slice(i.length).trim():n;return t!==n&&t!==s?null:{item:e,score:t===n?Qa:Ya,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function rc(e,t,r,n,o){for(let i of e){let s=t.get(i)??0;s>0&&(o.score+=s*n.title_exact_bonus,o.matched.add("title"),o.matchedTokens.add(i));for(let a of r){let c=Ze(a.value.toLowerCase(),i);c>0&&(o.score+=c*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function nc(e,t,r,n){M(e.title)===t&&(n.score+=za,n.matched.add("title"));for(let o of r){let i=Ze(M(o.value),t);i>0&&(n.score+=i*o.weight*Va,n.matched.add(o.name))}}function rr(e,t,r,n,o,i,s=!1){let a=e.metadata,c=tc(a,r,i);if(c)return c;let d=new Map;for(let g of X(a.title))d.set(g,(d.get(g)??0)+1);let l=ec(e,n,o),u={score:0,matched:new Set,matchedTokens:new Set};rc(t,d,l,o,u);let m=new Set(t),p=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&p&&(u.score+=Ka),t.length>=Ba&&r.includes(" ")&&nc(a,r,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,_)=>g.localeCompare(_)),matched_all_terms:p}}function nr(e,t){return[...e].sort((r,n)=>{let o=n.score-r.score;if(o!==0)return o;let i=ce(r.item.status,t),s=ce(n.item.status,t);if(i!==s)return i?1:-1;let a=r.item.priority-n.item.priority;if(a!==0)return a;let c=Yr(n.item.updated_at,r.item.updated_at);return c!==0?c:r.item.id.localeCompare(n.item.id)})}function or(e,t,r,n,o,i,s,a=!1){return rr(e,t,r,n?o.get(e.metadata.id)??"":"",i,s,a)}function ve(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;for(let o of e.values())t=Math.min(t,o),r=Math.max(r,o);if(r===t)return new Map([...e.keys()].map(o=>[o,1]));let n=new Map;for(let[o,i]of e)n.set(o,(i-t)/(r-t));return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function rt(e){let t=[],r=e;for(let n=0;n<5&&r&&typeof r=="object";n+=1){let o=r.code;typeof o=="string"&&t.push(o.toLowerCase()),r=r.cause}return t.join(" ")}function nt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),r=rt(e),n=`${t} ${r}`;return n.includes("timed out")||n.includes("timeout")||n.includes("etimedout")?"timeout":n.includes("econnrefused")||n.includes("connection refused")||n.includes("connect ")||n.includes("enotfound")||n.includes("eai_again")||n.includes("econnreset")||n.includes("fetch failed")?"connection":"error"}function ir(e,t){let r=nt(t);return`search_${e}_fallback:${r}:using_keyword_mode`}function bi(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 sr(e,t,r){try{let n=await zn(e);n.warnings.length>0&&r.push(...n.warnings);let o=mo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),n.entries);if(o.length===0)return;let i=bi(C());r.push(...vi(o.length,i)),process.stderr.write(`[pm] warning: ${o.length} item${o.length===1?" is":"s are"} new or modified since the last reindex and ${o.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${i.command}'${i.follow_up_command?`, then '${i.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
|
|
3
|
+
`)}catch{}}function vi(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 ot(e,t,r,n){if(!t.active)throw new h(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,f.USAGE);if(!r.active&&!n)throw new h(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,f.USAGE);return{provider:t.active,vectorStore:r.active??null}}var F=ke;function Ee(e){let t=C(),r=Dn(t,e);if(!r)return null;let n=r.runtime_definition??r.definition,o=n.query,i=n.queryExpansion??n.query_expansion,s=n.rerank,a=F(n.name)??F(r.definition.name)??e;if(!a)return null;let c={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!c.query&&!c.queryExpansion&&!c.rerank?null:c}function ar(e){let t=F(e.search?.provider),r=Ee(t);return r?.query?{providerName:r.providerName,query:r.query}:null}function cr(e){let t=C(),r=F(e.vector_store?.adapter),n=Pn(t,r);if(!n)return null;let o=n.runtime_definition??n.definition,i=o.query;if(typeof i!="function")return null;let s=o.upsert;return{adapterName:F(o.name)??F(n.definition.name)??r??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function lr(e,t,r){let n=Array.isArray(t)?t:t?.hits;if(!Array.isArray(n))throw new h(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,f.GENERIC_FAILURE);let o=new Set,i=[];for(let s of n){if(typeof s!="object"||s===null)continue;let a=F(s.id),c=s.score;if(!a||typeof c!="number"||!Number.isFinite(c)||o.has(a))continue;let d=r.get(a);if(!d)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(m=>typeof m=="string")?[...new Set(l.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,p)=>m.localeCompare(p)):[`provider:${e}`];o.add(a),i.push({item:d.metadata,score:c,matched_fields:u})}return i}function dr(e,t){let r=[],n=new Map;for(let o of e){if(n.has(o.id))continue;let i=t.get(o.id);i&&(n.set(o.id,o.score),r.push({item:i.metadata,score:o.score,matched_fields:["semantic"]}))}return{semanticHits:r,semanticScores:n}}function tt(e,t){let r=t.filter(c=>c.exact_id_match===!0);if(r.length===0)return e;let n=new Set(r.map(c=>c.item.id)),o=e.filter(c=>!n.has(c.item.id)),i=o.reduce((c,d)=>Math.max(c,d.score),0),s=r.sort((c,d)=>d.score-c.score),a=i+s.length+1;return[...s.map((c,d)=>({...c,score:a-d,matched_fields:["id"]})),...o]}function it(e,t,r,n,o="semantic"){let i=new Map(r.map(u=>[u.item.id,u.score])),s=new Map(r.map(u=>[u.item.id,u.matched_fields])),a=ve(t),c=ve(i),d=new Set([...t.keys(),...i.keys()]),l=1-n;return[...d].map(u=>{let m=e.get(u),p=a.get(u)??0,g=c.get(u)??0,_=p*n+g*l;if(_<=0)return null;let y=new Set;t.has(u)&&y.add(o);for(let w of s.get(u)??[])y.add(w);return{item:m.metadata,score:_,matched_fields:[...y].sort((w,v)=>w.localeCompare(v))}}).filter(u=>u!==null)}function ur(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function mr(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:ci(Wn(s,{fields:e.corpusFields}))})),r=si(t),n=ai(r,Vt(e.query),e.bm25Params),o=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...n].map(([a,c])=>({item:o.get(a).metadata,score:c,matched_fields:["bm25"]}));return tt(s,e.keywordHits)}let i=it(o,n,e.keywordHits,e.hybridSemanticWeight,"bm25");return tt(i,e.keywordHits)}function fr(e){let t=new Map;for(let n of e)for(let o of n){let i=t.get(o.id);(!i||o.score>i.score)&&t.set(o.id,o)}let r=[...t.values()];return r.sort((n,o)=>n.score!==o.score?o.score-n.score:n.id.localeCompare(o.id)),r}function hr(e){let t=e.metadata,r=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,r,e.body].map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0).join(`
|
|
4
|
+
`)}async function oc(e,t){let r=e.queryExpansion.enabled?di(t,e.queryExpansion.max_queries):[t],n=r.length>0?r:[t];if(!e.queryExpansion.enabled)return n;if(e.queryExpansionExtension?.expand)try{let o=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return mi(n,ui(o),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),n}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`),n}async function ic(e,t,r,n){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:r,settings:e.settings}))}catch(o){if(!e.vectorStore)throw new h(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,f.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await vt(e.vectorStore,t,r,n)}if(e.vectorStore)return await vt(e.vectorStore,t,r,n);throw new h("Semantic search requires either a configured vector store or an extension vector adapter query handler",f.USAGE)}function sc(e,t,r){return[...e].sort((n,o)=>n.score!==o.score?o.score-n.score:n.item.id.localeCompare(o.item.id)).slice(0,r).map(n=>{let o=t.get(n.item.id);return o?{hit:n,text:hr(o)}:null}).filter(n=>n!==null)}async function ac(e,t,r){if(!e.rerankExtension?.rerank)return null;try{let n=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:r.map(i=>({id:i.hit.item.id,text:i.text,score:i.hit.score}))})),o=pi(n);return o.length>0?new Map(o.map(i=>[i.id,i.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function cc(e,t,r){let n=await ac(e,t,r);if(n)return n;let o=r.map(i=>({id:i.hit.item.id,text:i.text}));try{return await gi(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function lc(e,t){let r=new Set(t.keys()),n=e.map(o=>{let i=t.get(o.item.id);if(i===void 0)return o;let s=new Set(o.matched_fields);return s.add("rerank"),{...o,score:i,matched_fields:[...s].sort((a,c)=>a.localeCompare(c))}});return n.sort((o,i)=>{let s=r.has(o.item.id),a=r.has(i.item.id);return s!==a?s?-1:1:o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)}),n}async function dc(e,t,r,n){if(!e.rerank.enabled||r.length<=1)return r;let o=sc(r,n,e.rerank.top_k),i=await cc(e,t,o);return i&&i.size>0?lc(r,i):r}async function pr(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),r=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},n=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},o=e.query.trim(),i=await oc(e,o),s=await Ue(e.provider,i,r),a=await Promise.all(s.map(async g=>await ic(e,g,t,n))),c=fr(a),d=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=dr(c,d),m=u.size;if(e.requestedMode==="semantic")return{hits:tt(l,e.keywordHits),vectorMatchCount:m};let p=await dc(e,o,it(d,u,e.keywordHits,e.hybridSemanticWeight),d);return{hits:tt(p,e.keywordHits),vectorMatchCount:m}}function Ei(e){let t=Ee(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Si(e){let t=Ee(F(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import st from"node:fs/promises";import yr 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 gr(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),o=[...t,...r,...n].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),i=new Map;for(let s of o)i.set(`${s.scope}:${s.path}`,s);return[...i.values()]}async function Ii(e){let t=yr.resolve(e);try{let r=await st.realpath(t);return{resolved:t,realpath:r}}catch{return null}}async function _r(e,t){let[r,n]=await Promise.all([Ii(e),Ii(t)]);return{projectContainmentRoot:r,globalContainmentRoot:n}}async function wr(e,t){let r=gr(e.metadata),n=[];for(let o of r){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=yr.resolve(i.resolved,o.path);if(!dt(i.resolved,s))continue;let a;try{a=await st.realpath(s)}catch{continue}if(dt(i.realpath,a))try{await ae({path:s,scope:o.scope}),n.push(await st.readFile(s,"utf8"))}catch{}}return n.join(`
|
|
5
|
+
`)}async function br(e,t,r,n){let o=Sn(C()),i=async(d,l,u)=>{let m=async(p,g)=>{await ae({path:p,scope:"project"});let _=await st.readFile(p,"utf8");return on(_,{format:g,schema:n,extensionFieldNames:o,onWarning:y=>s.push(y)}).body};try{return await m(l,u)}catch{let p=u==="toon"?"json_markdown":"toon",g=B(e,d.type,d.id,p,r);try{return await m(g,p)}catch{return s.push(`item_list_item_read_failed:${yr.relative(e,g)}`),""}}},s=[],a=await kn(e,t,r,s,n),c=[];if(a.length===0){let d=await Rn(e,t,r,s,n);for(let l of d){let u=B(e,l.type,l.id,t,r),m=await i(l,u,t);c.push({metadata:l,body:m})}return{documents:c,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let d of a){if(typeof d.body=="string"){c.push({metadata:d.metadata,body:d.body});continue}let l=await i(d.metadata,d.item_path,d.item_format);c.push({metadata:d.metadata,body:l})}return{documents:c,warnings:[...new Set(s)].sort((d,l)=>d.localeCompare(l))}}async function ki(e,t,r){let n=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return n;let o=process.cwd(),i=await _r(o,Ur(o)),s=await Promise.all(r.map(async a=>[a.metadata.id,await wr(a,i)]));for(let[a,c]of s)n.set(a,c);return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var xi=["tag","status","type","priority"];function vr(e){let t={},r=[];for(let n of e.split(/\s+/).filter(o=>o.length>0)){let o=n.indexOf(":"),i=o>0?n.slice(0,o).toLowerCase():"",s=o>0?n.slice(o+1):"",a=xi.includes(i)?i:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}r.push(n)}return{residualQuery:r.join(" "),inlineFilters:t}}function Er(e,t,r){let n={...e};for(let o of xi){let i=t[o];if(i!==void 0){if(ke(n[o])!==void 0){r.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}n[o]=i}}return n}function Ri(e,t){let r=[],n=vr(e),o=Object.keys(n.inlineFilters).length>0;if(o&&n.residualQuery.trim().length===0)throw new h("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 i=o?n.residualQuery:e,s=Er(t,n.inlineFilters,r);return{query:i,options:s,inlineWarnings:r,highlight:s.highlight===!0,includeLinked:Ye(s.includeLinked),titleExact:Ye(s.titleExact),phraseExact:Ye(s.phraseExact),matchMode:ti(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:ri(s.minScore),countOnly:s.count===!0,tokens:Je(i),normalizedQuery:M(i),limit:Ne(s.limit),projection:Xe(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function Ai(e){if(e.after!==void 0&&e.count===!0)throw new h("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 Ir(e,t,r,n,o,i,s,a,c,d,l,u,m,p){let g=m?{total:0,count_only:!0}:{};if(d.mode==="compact"&&n.compact===!0){let y=ne({mode:t,matchMode:r,options:n,includeLinked:o,titleExact:n.titleExact===!0,phraseExact:n.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Ar(p),items:[],count:0,...g,filters:y,...l.length>0?{warnings:l}:{}}}let _=d.mode==="full"?null:[...d.fields];return{query:e.trim(),mode:t,mode_source:p,items:[],count:0,...g,filters:oe({effectiveMode:t,matchMode:r,options:n,includeLinked:o,titleExact:n.titleExact===!0,phraseExact:n.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,queryExpansion:a,rerank:c,runtimeFieldFilters:u??{}}),projection:{mode:d.mode,fields:_},now:I(),...l.length>0?{warnings:l}:{}}}function kr(e,t){let r=t.trim();if(r.length===0)return null;if(r==="score")return e.score;if(r==="matched_fields")return e.matched_fields;if(r.startsWith("item.")){let i=r.slice(5);return i.length===0?null:e.item[i]??null}let n=e,o=e.item;return Object.prototype.hasOwnProperty.call(o,r)?o[r]??null:Object.prototype.hasOwnProperty.call(n,r)?n[r]??null:null}function xr(e,t){return t.mode==="full"?e.map(({matched_all_terms:r,exact_id_match:n,...o})=>o):e.map(r=>{let n={};for(let o of t.fields)n[o]=kr(r,o);return n})}function Rr(e,t){return Ir(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 Ci(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return Sr({query:e.query.trim(),mode:e.effectiveMode,...Ar(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:ne({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 r=e.projection.mode==="full"?null:[...e.projection.fields];return Sr({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:oe({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:r},now:I()},e.warnings)}function Ar(e){return e==="settings"?{mode_source:e}:{}}function Sr(e,t){return t.length===0?e:{...e,warnings:t}}function Se(e,t){return t?{...e,workspace_memory:t}:e}function Ti(e,t,r){if(!e.highlight)return{hits:r,projection:e.projection};let n=new Map(t.map(i=>[i.metadata.id,i])),o=r.map(i=>({...i,highlights:et(n.get(i.item.id),i.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:o,projection:e.projection}:{hits:o,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Mi(e,t,r,n,o,i){let s=n<r?{total:r}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return Sr({query:e.query.trim(),mode:e.effectiveMode,...Ar(e.modeSource),items:t,count:t.length,...s,...i,filters:ne({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=o.mode==="full"?null:[...o.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...i,filters:oe({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:o.mode,fields:a},now:I(),...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 nf={applyFilters:Zt,applyExactQueryFilters:Jt,applyInlineQueryFilters:Er,buildHitHighlights:et,buildVerboseSearchFilters:oe,buildExplicitSemanticFallbackWarning:ir,buildCompactSearchFilterSummary:ne,buildHybridLexicalScore:or,buildRerankCorpus:hr,buildSemanticHits:dr,classifyImplicitSemanticFallbackReason:nt,collectErrorCauseCodes:rt,collectExactPhraseFields:Yt,collectLinkedPaths:gr,combineHybridHits:it,computeBuiltInBm25Hits:mr,computeSemanticOrHybridHits:pr,resolveBuiltInBm25Mode:ur,countOccurrences:Ze,dependencyEntries:be,documentContainsExactPhrase:Xt,emptySearchResult:Ir,highlightFieldSnippet:tr,loadDocuments:br,markTokenRuns:er,parseInlineQueryFilters:vr,maybeEmitVectorIndexStaleWarning:sr,loadLinkedCorpus:wr,mergeVectorHitsById:fr,normalizeExtensionProviderHits:lr,normalizeScoreMap:ve,parseProjectionConfig:Xe,parseTimestampWindow:K,parseTokens:Je,projectSearchHits:xr,readSearchFieldValue:kr,requireSemanticDependencies:ot,resolveExtensionSearchProvider:ar,resolveExtensionSearchProviderByName:Ee,resolveExtensionVectorAdapter:cr,resolveLinkedCorpusRoots:_r,scoreDocument:rr,sortHits:nr,stringArray:ie,textEntries:U,validateSearchProjectionFields:Nt};async function uc(e,t){let r=R(process.cwd(),t.path);await H(r);let n=await O(r),o=Nn(n).settings,i=q(o.schema),s=Z(o.schema);Nt(e.projection,s,e.query);let a=jn(e.options,s,"search"),c=G(o,C()),d=Gn(o),l=Bn(o,r),u=ar(o),m=cr(o),p=ei(e.options.semanticWeight),g=fi(o,d.active?.name??null),_=hi(o,d.active?.model??F(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:r,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:c,maxResults:Ut(o),scoreThreshold:e.minScoreOverride??$t(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:p,hybridSemanticWeight:p??Wt(o),tuning:Bt(o),providerResolution:d,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:ur({configuredProvider:F(o.search?.provider),hasEmbeddingProvider:d.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:Ei(g),rerank:_,rerankExtension:Si(o),...mc({requested:e.options.mode,settings:o,configuredProvider:n.search?.provider??null,providerResolution:d,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m})}}function mc(e){let t=Un(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),r=e.extensionSearchProvider!==null||t,n=Gt({requested:e.requested,settings:e.settings,semanticRunnable:r});return{effectiveMode:n.mode,modeSource:n.source}}async function fc(e,t){let r=await br(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),n=qe(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=Be(t.statusRegistry),i=Zt(r.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,n,o);return{warnings:r.warnings,allDocuments:r.documents,filteredDocuments:Jt(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function hc(e,t,r){let n=await ki(e.includeLinked,t.effectiveMode,r),o=e.matchMode==="or";return r.map(i=>or(i,e.tokens,e.normalizedQuery,e.includeLinked,n,t.tuning,t.settings.id_prefix,o)).filter(i=>i!==null).filter(i=>e.matchMode!=="and"||i.matched_all_terms===!0)}async function pc(e,t,r,n,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=mr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:r,keywordHits:n,corpusFields:$n(t.settings),bm25Params:li(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&o.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),i}async function yc(e,t,r,n){if(!t.extensionSearchProvider)return null;let o=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let i=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:r}));return lr(t.extensionSearchProvider.providerName,i,n)}catch(i){if(!o)throw new h(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,f.GENERIC_FAILURE);return null}}function gc(e,t,r,n){return t.vectorMatchCount>0?t.hits:(n.push(`search_${e}_degraded:no_vector_matches:results_are_lexical`),e==="semantic"?r:t.hits)}async function _c(e,t,r,n,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await sr(e.pmRoot,r,n),e.extensionSearchProvider||ot(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function wc(e){let{prepared:t,runtime:r,filteredDocuments:n,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,c=await pc(t,r,n,o,i),d=r.effectiveMode;if(c!==null||d==="keyword")return{effectiveMode:r.effectiveMode,hits:c??a};try{if(await _c(r,d,n,i,s),n.length===0||t.limit===0)return{effectiveMode:r.effectiveMode,hits:[]};let l=new Map(n.map(u=>[u.metadata.id,u]));if(a=await yc(t,r,n,l)??a,a===o){let{provider:u,vectorStore:m}=ot(d,r.providerResolution,r.vectorResolution,r.extensionVectorAdapter!==null),p=await pr({requestedMode:d,query:t.query,filteredDocuments:n,keywordHits:o,hybridSemanticWeight:r.hybridSemanticWeight,limit:t.limit,maxResults:r.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:r.extensionVectorAdapter,queryExpansion:r.queryExpansion,queryExpansionExtension:r.queryExpansionExtension,rerank:r.rerank,rerankExtension:r.rerankExtension,warnings:i,settings:r.settings});a=gc(d,p,o,i)}return{effectiveMode:r.effectiveMode,hits:a}}catch(l){return i.push(ir(r.effectiveMode,l)),{effectiveMode:"keyword",hits:o}}}function Fi(e){e.searchOptions.after!==void 0&&Kr(e.searchOptions.after,zt(e))}async function Di(e,t,r){Ai(t);let n=Ri(e,t),o=await uc(n,r),i=await fc(n,o),s=i.warnings;s.push(...n.inlineWarnings);let a=await _o(i.allDocuments.map(E=>E.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:I()});s.push(...a.warnings);let c=wo(a,n.query);o.effectiveMode==="hybrid"&&o.semanticWeightProvided&&o.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let d={query:n.query,modeSource:o.modeSource,matchMode:n.matchMode,options:n.options,includeLinked:n.includeLinked,titleExact:n.titleExact,phraseExact:n.phraseExact,scoreThreshold:o.scoreThreshold,hybridSemanticWeight:o.hybridSemanticWeight,queryExpansion:o.queryExpansion,rerank:o.rerank,projection:n.projection,warnings:s,runtimeFieldFilters:o.runtimeFieldFilters};if(o.effectiveMode==="keyword"&&(i.filteredDocuments.length===0||n.limit===0&&!n.countOnly))return Fi({query:n.query,mode:o.effectiveMode,searchOptions:n.options,pmRoot:o.pmRoot}),Se(Rr({...d,effectiveMode:o.effectiveMode},n.countOnly),c);let l=await hc(n,o,i.filteredDocuments),u=await wc({prepared:n,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:n.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||n.limit===0&&!n.countOnly))return Fi({query:n.query,mode:u.effectiveMode,searchOptions:n.options,pmRoot:o.pmRoot}),Se(Rr({...d,effectiveMode:u.effectiveMode},n.countOnly),c);let m=u.hits.filter(E=>E.exact_id_match===!0||E.score>=o.scoreThreshold),p=nr(m,o.statusRegistry),g=p.length,_=ni({pmRoot:o.pmRoot,sorted:p,query:n.query,mode:u.effectiveMode,searchOptions:n.options,limit:n.limit??o.maxResults}),y={...d,effectiveMode:u.effectiveMode};if(n.countOnly)return Se(Ci(y,g),c);let{hits:w,projection:v}=Ti(n,i.filteredDocuments,_.limited),b=xr(w,v);return Se(Mi(y,b,g,_.limited.length,v,_.pageExtras),c)}(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 Pi=["ndcg","mrr","precision","recall"];function Cr(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[r,n]of Object.entries(e)){if(!Pi.some(o=>o===r))throw new TypeError(`Unknown eval minimum metric: ${r}`);if(typeof n!="number"||!Number.isFinite(n)||n<0||n>1)throw new TypeError(`Eval minimum.${r} must be a finite number in [0, 1]`);t[r]=n}return t}function Hi(e,t){let r=Cr(t),n=[];for(let o of Pi){let i=r[o];if(i===void 0)continue;let s=e[o];!Number.isFinite(s)||s<0||s>1?n.push(`${o}:invalid`):s<i&&n.push(`${o}:${s}<${i}`)}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c34cc860-67c7-548b-99ff-f4155ef44bb0")}catch{}})();var Oi=10,$="https://schema.unbrained.dev/pm/eval-query-set/v1",bc={schema:$,accepted_top_level:["array","object"],required_query_fields:["query","relevant_ids"],optional_fields:["mode","description","minimum"],modes:["keyword","semantic","hybrid"]},at={schema:$,queries:[{query:"offline search",relevant_ids:["pm-75k9"],mode:"keyword"}]},D=class extends Error{constructor(t){super(t),this.name="EvalQuerySetError"}},vc=new Set(["keyword","semantic","hybrid"]);function Li(e,t){let r=0,n=Math.min(t,e.length);for(let o=0;o<n;o+=1)r+=e[o]/Math.log2(o+2);return r}function Ec(e,t,r){if(t.size===0)return 0;let n=e.map(a=>t.has(a)?1:0),o=Li(n,r),i=Array.from({length:t.size},()=>1),s=Li(i,r);return s===0?0:o/s}function Sc(e,t,r){let n=Math.min(r,e.length);for(let o=0;o<n;o+=1)if(t.has(e[o]))return 1/(o+1);return 0}function Tr(e,t,r){let n=Math.min(r,e.length),o=0;for(let i=0;i<n;i+=1)t.has(e[i])&&(o+=1);return o}function Ic(e,t,r){return r<=0?0:Tr(e,t,r)/r}function kc(e,t,r){return t.size===0?0:Tr(e,t,r)/t.size}function ji(e,t,r){return{ndcg:Ec(e,t,r),mrr:Sc(e,t,r),precision:Ic(e,t,r),recall:kc(e,t,r),relevant_total:t.size,retrieved_relevant:Tr(e,t,r)}}function qi(e){let t=e.length;if(t===0)return{ndcg:0,mrr:0,precision:0,recall:0,query_count:0};let r=e.reduce((n,o)=>({ndcg:n.ndcg+o.ndcg,mrr:n.mrr+o.mrr,precision:n.precision+o.precision,recall:n.recall+o.recall}),{ndcg:0,mrr:0,precision:0,recall:0});return{ndcg:r.ndcg/t,mrr:r.mrr/t,precision:r.precision/t,recall:r.recall/t,query_count:t}}function xc(e,t){if(typeof e!="object"||e===null)throw new D(`Eval query at index ${t} must be an object`);let r=e,n=typeof r.query=="string"?r.query.trim():"";if(n.length===0)throw new D(`Eval query at index ${t} must have a non-empty "query" string`);if(!Array.isArray(r.relevant_ids))throw new D(`Eval query at index ${t} must have a "relevant_ids" array`);if(r.relevant_ids.some(i=>typeof i!="string"))throw new D(`Eval query at index ${t} must have a "relevant_ids" array of strings`);let o=[...new Set(r.relevant_ids.map(i=>i.trim()).filter(i=>i.length>0))];if(o.length===0)throw new D(`Eval query at index ${t} must list at least one relevant id`);if(r.mode!==void 0&&(typeof r.mode!="string"||!vc.has(r.mode)))throw new D(`Eval query at index ${t} has an invalid mode (expected keyword|semantic|hybrid)`);return{query:n,relevant_ids:o,...r.minimum===void 0?{}:{minimum:Cr(r.minimum)},...r.mode!==void 0?{mode:r.mode}:{},...typeof r.description=="string"&&r.description.trim().length>0?{description:r.description.trim()}:{}}}function Mr(e){let t=typeof e=="object"&&e!==null&&!Array.isArray(e)?e.schema:void 0;if(t!==void 0&&t!==$)throw new D(`Unsupported eval query set schema; expected "${$}"`);let r=Array.isArray(e)?e:typeof e=="object"&&e!==null?e.queries:void 0;if(!Array.isArray(r))throw new D('Eval query set must be an array of queries or an object with a "queries" array');if(r.length===0)throw new D("Eval query set must contain at least one query");return{schema:$,queries:r.map((n,o)=>xc(n,o))}}import Rc from"node:fs/promises";import Fr 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]="5d26721c-719a-5c7e-8baf-72cbf1088988")}catch{}})();var Ac=Fr.join("search","eval-queries.json"),Dr={schema:$,examples:[JSON.stringify(at)],nextSteps:["Create a git-tracked golden-query JSON file that follows the schema, then re-run pm eval."]},Cc=new Set(["keyword","semantic","hybrid"]),Tc=e=>{if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(!Cc.has(t))throw new h("Eval --mode must be one of keyword|semantic|hybrid",f.USAGE);return t},Mc=e=>{if(e===void 0||e==="")return Oi;let t=xe(e);if(t===null)throw new h("Eval --k must be a positive integer",f.USAGE);return t},Fc=e=>{if(e===void 0||e==="")return;let t=String(e).trim(),r=Number(t);if([t.length===0,!Number.isFinite(r),r<0,r>1].includes(!0))throw new h("Eval --fail-under must be a number in the range [0, 1]",f.USAGE);return r},W=e=>Math.round(e*1e4)/1e4,Dc=async e=>{try{return await Rc.readFile(e,"utf8")}catch{throw new h(`Eval query set not found at ${e}`,f.NOT_FOUND,{...Dr,examples:[`echo '${JSON.stringify(at)}' > ${e}`,"pm eval --queries ./my-eval.json"]})}},Pc=(e,t)=>{try{return JSON.parse(e)}catch(r){throw new h(`Eval query set at ${t} is not valid JSON: ${r instanceof Error?r.message:String(r)}`,f.USAGE,Dr)}},Hc=e=>{try{return Mr(e)}catch(t){throw new h(t instanceof Error?t.message:String(t),f.USAGE,Dr)}},Lc=async e=>Hc(Pc(await Dc(e),e)),Oc=async(e,t,r,n)=>{let o=e.mode??t,i=(await Di(e.query,{mode:o,limit:String(r),fields:"id"},n)).items.map(a=>a.id).filter(a=>typeof a=="string"),s=ji(i,new Set(e.relevant_ids),r);return{metrics:s,report:{query:e.query,...e.minimum===void 0?{}:{violations:Hi(s,e.minimum)},mode:o,relevant_total:s.relevant_total,retrieved_relevant:s.retrieved_relevant,ndcg:W(s.ndcg),mrr:W(s.mrr),precision:W(s.precision),recall:W(s.recall)}}},jc=(e,t,r,n)=>{let o=qi(r);return{k:e,query_count:t.length,aggregate:{ndcg:W(o.ndcg),mrr:W(o.mrr),precision:W(o.precision),recall:W(o.recall)},queries:t,...n!==void 0?{fail_under:n}:{},passed:(n===void 0||o.ndcg>=n)&&t.every(i=>(i.violations?.length??0)===0)}},bf=async(e,t)=>{let r=R(process.cwd(),t.path);await H(r);let n=Mc(e.k),o=Tc(e.mode),i=Fc(e.failUnder),s=e.queries?Fr.resolve(process.cwd(),e.queries):Fr.join(r,Ac),a=await Lc(s),c=[],d=[];for(let l of a.queries){let{report:u,metrics:m}=await Oc(l,o,n,t);d.push(m),c.push(u)}return jc(n,c,d,i)};export{Ji as a,es as b,il as c,sl as d,kl as e,xl as f,At as g,Mo as h,Fo as i,Do as j,Xl as k,yd as l,hd as m,Ed as n,Sd as o,Qo as p,Yo as q,Xo as r,zs as s,Ht as t,Yd as u,Xd as v,au as w,Ut as x,Gt as y,$t as z,Wt as A,Bt as B,zt as C,ni as D,ne as E,oe as F,rt as G,nt as H,bi as I,vi as J,nf as K,Di as L,Pi as M,Cr as N,Hi as O,$ as P,bc as Q,at as R,Mr as S,Ac as T,bf as U};
|
|
6
|
+
//# sourceMappingURL=chunk-TZYQ4JDZ.js.map
|