@unbrained/pm-cli 2026.10.24 → 2026.10.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +48 -0
- package/dist/cli/error-guidance.d.ts +5 -0
- package/dist/cli/error-guidance.js +2 -2
- package/dist/cli/extension-command-help.js +2 -2
- package/dist/cli/register-history-activity.js +1 -1
- package/dist/cli/register-mutation.js +2 -2
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/{chunk-3S5FLCG7.js → chunk-25MTQAHX.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-57YPOOED.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-YEI4N4A6.js → chunk-7UDQAINZ.js} +22 -22
- package/dist/cli-bundle/chunks/{chunk-ZDVTXLA6.js → chunk-ER7RLJW5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-CSE47ZAN.js → chunk-MWCG25PO.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-N6FTEILW.js +20 -0
- package/dist/cli-bundle/chunks/{chunk-CDR5ES7Q.js → chunk-NGKTROAO.js} +90 -86
- package/dist/cli-bundle/chunks/chunk-OCDRHIVQ.js +6 -0
- package/dist/cli-bundle/chunks/{chunk-R7KWBFM2.js → chunk-ONC4BBQP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-URZB3USE.js → chunk-OUDR2HWR.js} +42 -42
- package/dist/cli-bundle/chunks/{chunk-FASDGYQC.js → chunk-T7T4WLUY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-Z62RXNHW.js → chunk-TGOG5BFM.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-UF6EXZSP.js +2 -0
- package/dist/cli-bundle/chunks/chunk-VS2IIV3F.js +128 -0
- package/dist/cli-bundle/chunks/chunk-XAIR53QZ.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-VSSHB6XI.js → chunk-Y42DYMZX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MA7SNKYK.js → chunk-YJBIPNDL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4PNAUT2E.js → chunk-Z35XAHUN.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-ZLVFUZI4.js +30 -0
- package/dist/cli-bundle/chunks/{chunk-3VI4XDP2.js → chunk-ZT64RDMF.js} +2 -2
- package/dist/cli-bundle/chunks/{indexed-receipt-blobs-XANVELIV.js → indexed-receipt-blobs-NWQIDTH7.js} +2 -2
- package/dist/cli-bundle/chunks/{mutation-admission-NVTBZ7DH.js → mutation-admission-VTNV6JV2.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-2FE6K7FQ.js → register-list-query-LZDWUZS4.js} +3 -3
- package/dist/cli-bundle/chunks/register-mutation-M2A7PH42.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-E7P2JTXM.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-P3VLCTDY.js → register-setup-DOV7KGSH.js} +2 -2
- package/dist/cli-bundle/chunks/{settlement-hook-YUVCO65H.js → settlement-hook-SVD6CO7U.js} +2 -2
- package/dist/cli-bundle/chunks/stage-LYLEOAQB.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-226XKW3W.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-ABMNYWV6.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-RSEGFZTY.js → chunk-ADSBGYLW.js} +54 -54
- package/dist/cli-bundle/focused-chunks/{chunk-JYXA4JIP.js → chunk-B266DDBJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-R536272H.js → chunk-BH7RE2ZY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-BL77VCRB.js +22 -0
- package/dist/cli-bundle/focused-chunks/chunk-CSCZYSNZ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-6HJCSHBG.js → chunk-D5YQ4KAE.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TAHSXKAT.js → chunk-E5C24MCV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-SHUPX6G2.js → chunk-I7H3XF25.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-IF6C43IP.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-KERJNFXY.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-BUZ2Z4P3.js → chunk-KTXU5WU6.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-NE27VCU7.js +91 -0
- package/dist/cli-bundle/focused-chunks/chunk-NFN2P4TW.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-7RQOFHMH.js → chunk-NLZUI234.js} +4 -4
- package/dist/cli-bundle/focused-chunks/chunk-PK5FJIVA.js +12 -0
- package/dist/cli-bundle/focused-chunks/{chunk-IUAYTD2S.js → chunk-UHWTPOM4.js} +24 -24
- package/dist/cli-bundle/focused-chunks/{chunk-ES2NGVHZ.js → chunk-UP765R2V.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-POLMFGPQ.js → chunk-WDWHUJQW.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-NX7TVNUM.js → chunk-YQKLKRMW.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-YTEC2EPM.js +3 -0
- package/dist/cli-bundle/focused-chunks/{chunk-RVUGTIIU.js → chunk-YW5GHQN2.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-FVOA3XMI.js → indexed-receipt-blobs-YFDNGHCM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{mutation-admission-PB6YFY7S.js → mutation-admission-L42E3U5U.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{settlement-hook-2VXEB6PP.js → settlement-hook-3CADO4XZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/stage-TUQHWU7N.js +2 -0
- package/dist/cli-bundle/main.js +19 -19
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +2 -2
- package/dist/cli-bundle/sdk-core.js +23 -23
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +57 -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 +9 -9
- package/dist/core/diagnostics/remediation.js +1 -1
- package/dist/core/extensions/extension-types.d.ts +3 -0
- package/dist/core/extensions/extension-types.js +1 -1
- package/dist/core/output/mutation-projection.js +1 -1
- package/dist/core/policy/workflow-policy-store.js +1 -1
- package/dist/core/shared/errors.d.ts +22 -0
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/shared/secret-rules.d.ts +17 -0
- package/dist/core/shared/secret-rules.js +2 -1
- package/dist/core/store/item-mutation-precondition.d.ts +8 -0
- package/dist/core/store/item-mutation-precondition.js +1 -1
- package/dist/core/store/item-store.js +1 -1
- package/dist/core/store/settings.js +2 -2
- package/dist/sdk/agent/command-recovery.js +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +1 -1
- package/dist/sdk/cli-contracts/completeness.js +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
- package/dist/sdk/cli-contracts/registration-helpers.d.ts +3 -1
- package/dist/sdk/cli-contracts/registration-helpers.js +2 -2
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +4 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.js +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/completion/fish.js +3 -1
- package/dist/sdk/completion/zsh.js +3 -1
- package/dist/sdk/context-signal-store.js +2 -2
- package/dist/sdk/core.d.ts +1 -1
- package/dist/sdk/core.js +1 -1
- package/dist/sdk/extension-command-context.js +2 -2
- 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-merge-evidence.d.ts +5 -0
- package/dist/sdk/governance/health-merge-evidence.js +1 -1
- package/dist/sdk/governance/health.js +1 -1
- package/dist/sdk/index.d.ts +3 -2
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/item-transaction.js +1 -1
- package/dist/sdk/lifecycle/close-many.d.ts +3 -0
- package/dist/sdk/lifecycle/close-many.js +1 -1
- package/dist/sdk/lifecycle/close.d.ts +3 -1
- package/dist/sdk/lifecycle/close.js +1 -1
- package/dist/sdk/lifecycle/create.d.ts +2 -0
- package/dist/sdk/lifecycle/create.js +1 -1
- package/dist/sdk/lifecycle/plan.d.ts +2 -0
- package/dist/sdk/lifecycle/plan.js +1 -1
- package/dist/sdk/lifecycle/restore.js +1 -1
- package/dist/sdk/lifecycle-policy.d.ts +11 -0
- package/dist/sdk/lifecycle-policy.js +1 -1
- package/dist/sdk/merge/history-scalar-rebase.d.ts +9 -0
- package/dist/sdk/merge/history-scalar-rebase.js +2 -0
- package/dist/sdk/merge/ignored-artifacts.d.ts +13 -0
- package/dist/sdk/merge/ignored-artifacts.js +2 -0
- package/dist/sdk/merge/stage.js +1 -1
- package/dist/sdk/merge/three-way.js +1 -1
- package/dist/sdk/mutation-guard.d.ts +6 -1
- package/dist/sdk/mutation-guard.js +1 -1
- package/dist/sdk/output/fit-envelope.d.ts +98 -0
- package/dist/sdk/output/fit-envelope.js +2 -0
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/activity.d.ts +14 -2
- package/dist/sdk/query/activity.js +1 -1
- package/dist/sdk/query/calendar.d.ts +16 -0
- package/dist/sdk/query/calendar.js +3 -3
- package/dist/sdk/query/context.js +2 -2
- package/dist/sdk/query/get.js +1 -1
- package/dist/sdk/query/list.js +1 -1
- package/dist/sdk/query/search-contracts.js +1 -1
- package/dist/sdk/query/window-pagination.d.ts +20 -0
- package/dist/sdk/query/window-pagination.js +2 -0
- package/dist/sdk/query.d.ts +1 -0
- package/dist/sdk/query.js +1 -1
- package/dist/sdk/read-output-contracts.js +1 -1
- package/dist/sdk/read-output-session.d.ts +1 -1
- package/dist/sdk/read-output-session.js +1 -1
- package/dist/sdk/runtime-input.js +1 -1
- package/dist/sdk/runtime-primitives.d.ts +1 -1
- package/dist/sdk/runtime-primitives.js +1 -1
- package/dist/sdk/runtime.d.ts +3 -3
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/scheduling-shortcuts.d.ts +2 -0
- package/dist/sdk/scheduling-shortcuts.js +1 -1
- package/dist/sdk/schema-migration.js +2 -2
- package/dist/sdk/templates.d.ts +7 -1
- package/dist/sdk/templates.js +2 -2
- package/dist/sdk/workspace-transaction.d.ts +3 -1
- package/dist/sdk/workspace-transaction.js +2 -2
- package/docs/COMMANDS.md +21 -2
- package/docs/EXTENSIONS.md +1 -1
- package/docs/MERGE_SAFETY.md +28 -0
- package/docs/MUTATION_INTEGRITY.md +33 -0
- package/docs/QUALITY_EVIDENCE.md +9 -0
- package/docs/READ_OUTPUT_CONTRACTS.md +55 -1
- package/docs/SDK.md +173 -12
- package/docs/WORKFLOW_POLICIES.md +14 -1
- package/docs/agent-task-token-baseline.json +1 -1
- package/docs/agent-task-transcripts.json +1 -1
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +4 -4
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +6 -3
- package/marketplace.json +1 -1
- package/package.json +1 -1
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/extensions/calendar/index.ts +6 -0
- package/packages/pm-calendar/extensions/calendar/shortcuts.ts +2 -2
- 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/extensions/templates/runtime.ts +3 -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-CNEUJHA4.js +0 -2
- package/dist/cli-bundle/chunks/chunk-HZNFNETE.js +0 -127
- package/dist/cli-bundle/chunks/chunk-KGZGXC7T.js +0 -30
- package/dist/cli-bundle/chunks/chunk-TZYQ4JDZ.js +0 -6
- package/dist/cli-bundle/chunks/chunk-UY5UHI4I.js +0 -2
- package/dist/cli-bundle/chunks/chunk-VPMQEVU6.js +0 -20
- package/dist/cli-bundle/chunks/register-mutation-KZXQUZUH.js +0 -20
- package/dist/cli-bundle/chunks/register-operations-BOCBWNKJ.js +0 -2
- package/dist/cli-bundle/chunks/stage-WRDTMCCF.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-3QYTS4OY.js +0 -12
- package/dist/cli-bundle/focused-chunks/chunk-5MKNVJCM.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-AGCEWJ27.js +0 -21
- package/dist/cli-bundle/focused-chunks/chunk-CEEOWDB7.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-GXAXDPD4.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-NFFPNMTH.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-SBJ2IKTH.js +0 -3
- package/dist/cli-bundle/focused-chunks/chunk-X5YRJMAY.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-XTYEASIY.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZMWLV2CE.js +0 -91
- package/dist/cli-bundle/focused-chunks/stage-MQE4PFWT.js +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{Ub as K,i as O,j as N,k as U,l as R,m as j}from"./chunk-
|
|
1
|
+
import{Ub as K,i as O,j as N,k as U,l as R,m as j}from"./chunk-NLZUI234.js";import{B as q,E as W,m as C,n as P}from"./chunk-KTXU5WU6.js";import x from"node:path";import{link as Q,mkdir as ee,mkdtemp as te,rm as re,writeFile as se}from"node:fs/promises";import D from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="71c2fed9-81e1-5723-8e34-e6327c07a130")}catch{}})();async function V(e,t){let r=D.dirname(e);await ee(r,{recursive:!0});let s=await te(D.join(r,".pm-seed-")),o=D.join(s,"value");try{await se(o,t,"utf8");try{return await Q(o,e),!0}catch(i){if(i.code==="EEXIST")return!1;throw i}}finally{await re(s,{recursive:!0,force:!0})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2075887b-6d4b-582f-9da2-bab13198f9a5")}catch{}})();var oe=2e3,v=new Map;function S(e){if(typeof e!="string")return"";let t=v.get(e);if(t!==void 0)return t;let r=e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_");return v.size>=oe&&K(v),v.set(e,r),r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6e07b1b6-1757-54dd-8833-9d3f984ccf79")}catch{}})();var m=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),$=P,M=C,ne=["create","update"],ie=new Set(N),ae=new Set(U),le=new Set(R),de=new Set(j),ue=new Set(["string","number","boolean","array","object"]),ce=16;function J(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fe=[e=>e.type===void 0||typeof e.type=="string"&&ue.has(e.type),e=>!Object.hasOwn(e,"const")||I(e.const),e=>e.enum===void 0||Array.isArray(e.enum)&&e.enum.every(t=>I(t)),e=>e.min_length===void 0||Number.isInteger(e.min_length)&&e.min_length>=0,e=>e.min_items===void 0||Number.isInteger(e.min_items)&&e.min_items>=0,e=>e.format===void 0||e.format==="date-time",e=>e.required===void 0||Array.isArray(e.required)&&e.required.every(t=>typeof t=="string"&&t.length>0),e=>e.additional_properties===void 0||typeof e.additional_properties=="boolean",e=>e.properties===void 0||J(e.properties),e=>e.one_of===void 0||Array.isArray(e.one_of)&&e.one_of.length>0];function I(e,t=new Set){if(e===null||typeof e=="string"||typeof e=="boolean")return!0;if(typeof e=="number")return Number.isFinite(e);if(typeof e!="object"||t.has(e))return!1;t.add(e);let r=Array.isArray(e)?e.every(s=>I(s,t)):Object.values(e).every(s=>I(s,t));return t.delete(e),r}function F(e,t=0,r=new Set){if(!J(e)||t>ce||r.has(e))return;r.add(e);let s=e,o=s.type,i=s.enum,a=s.one_of,l=s.properties,n=s.items,u=s.required,f=s.min_length,d=s.min_items,p=s.format,w=s.additional_properties;if(!fe.every(c=>c(s))){r.delete(e);return}let g=l===void 0?void 0:Object.fromEntries(Object.entries(l).map(([c,b])=>[c,F(b,t+1,r)])),h=n===void 0?void 0:F(n,t+1,r),A=a===void 0?void 0:a.map(c=>F(c,t+1,r));if([...Object.values(g??{}),...n===void 0?[]:[h],...A??[]].some(c=>c===void 0)){r.delete(e);return}return r.delete(e),Object.fromEntries(Object.entries({type:o,const:Object.hasOwn(s,"const")?s.const:void 0,enum:i,min_length:f,min_items:d,format:p,properties:g,required:u===void 0?void 0:[...new Set(u)],additional_properties:w,items:h,one_of:A}).filter(([,c])=>c!==void 0))}function T(e){let t=Array.isArray(e)?e:[];return[...new Set(t.map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0))].sort((r,s)=>r.localeCompare(s))}function _(e){if(typeof e!="string"||e.length===0)return;let t=S(e);return t.length>0?t:void 0}function _e(e){return e.startsWith("--")?e.slice(2):e}function H(e){return typeof e=="string"?_e(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function B(e){return e.replaceAll("_","-")}function me(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g," ").trim().split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[r,...s]=t;return`${r}${s.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function z(e,t){let r=_(e.id);if(!r)return null;let s=[...new Set(T(e.aliases).map(S).filter(l=>l.length>0))].sort((l,n)=>l.localeCompare(n)),o=T(e.roles).filter(l=>ie.has(l)),i=e.description?.trim(),a=typeof e.order=="number"&&Number.isFinite(e.order)?e.order:t;return{id:r,aliases:s,roles:o,description:i&&i.length>0?i:void 0,order:a}}function pe(e){return{draft_status:_(e?.draft_status),open_status:_(e?.open_status),in_progress_status:_(e?.in_progress_status),blocked_status:_(e?.blocked_status),close_status:_(e?.close_status),canceled_status:_(e?.canceled_status)}}function X(e,t){if(!Array.isArray(t)||t.length!==2)return;let r=S(t[0]),s=S(t[1]);r.length===0||s.length===0||e.pairs.some(o=>o[0]===r&&o[1]===s)||e.pairs.push([r,s])}function ye(e){let t=typeof e?.type=="string"?e.type.trim():"";if(t.length===0||!Array.isArray(e?.allowed_transitions))return null;let r={type:t,pairs:[],denyAll:e.allowed_transitions.length===0};for(let s of e.allowed_transitions)X(r,s);return{typeKey:t.toLowerCase(),record:r}}function we(e){if(!Array.isArray(e)||e.length===0)return;let t=new Map;for(let s of e){let o=ye(s);if(o===null)continue;let i=t.get(o.typeKey)??o.record;i.denyAll||=o.record.denyAll;for(let a of o.record.pairs)X(i,a);t.set(o.typeKey,i)}let r=[];for(let s of t.values())(s.pairs.length>0||s.denyAll)&&r.push({type:s.type,allowed_transitions:s.pairs});return r.sort((s,o)=>s.type.localeCompare(o.type)),r.length>0?r:void 0}function Z(e){let t=S(e.key??"");if(!t)return null;let r=S(e.metadata_key??e.front_matter_key??t),s=H(e.cli_flag??B(t));if(!s)return null;let o=T(e.cli_aliases).map(d=>H(d)).filter(d=>d.length>0&&d!==s),i=typeof e.type=="string"?e.type.trim().toLowerCase():"string",a=ae.has(i)?i:"string",l=(()=>{let d=T(e.commands).filter(p=>le.has(p));return d.length>0?d:[...ne]})(),n=e.description?.trim(),u=T(e.required_types),f=e.value_schema===void 0?void 0:F(e.value_schema);return e.value_schema!==void 0&&f===void 0?null:{key:t,metadata_key:r,cli_flag:s,cli_aliases:o,description:n&&n.length>0?n:void 0,type:a,commands:l,repeatable:[e.repeatable===!0,a==="string_array"].includes(!0),required:e.required===!0,required_on_create:e.required_on_create===!0,required_types:u,allow_unset:e.allow_unset!==!1,value_schema:f}}function Se(e){let t=new Map;for(let[s,o]of e.entries()){let i=z(o,s);i&&t.set(i.id,i)}let r=Y([...t.values()]);return r.length>0?r:Y(M.map((s,o)=>z(s,o)).filter(s=>s!==null))}function Y(e){return e.sort((t,r)=>t.order===r.order?t.id.localeCompare(r.id):t.order-r.order)}function ge(e){let t=new Map;for(let r of e??[]){let s=Z(r);s&&t.set(s.key,s)}return[...t.values()].sort((r,s)=>r.key.localeCompare(s.key))}function he(e){return{id:e.id,aliases:e.aliases.length>0?[...e.aliases]:void 0,roles:e.roles.length>0?[...e.roles]:void 0,description:e.description,order:e.order}}function Ae(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==B(e.key)?e.cli_flag:void 0,cli_aliases:e.cli_aliases.length>0?[...e.cli_aliases]:void 0,description:e.description,type:e.type,commands:[...e.commands],repeatable:e.repeatable===!0?!0:void 0,required:e.required===!0?!0:void 0,required_on_create:e.required_on_create===!0?!0:void 0,required_types:e.required_types.length>0?[...e.required_types]:void 0,allow_unset:e.allow_unset===!1?!1:void 0,value_schema:e.value_schema}}function be(e){let t=typeof e=="string"?e.trim().toLowerCase():"allow";return de.has(t)?t:"allow"}function E(e){let t={...m,...e?.files},r=e?.statuses&&e.statuses.length>0?e.statuses:M,s=Se(r),o=ge(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:t,statuses:s.map(he),fields:o.map(Ae),workflow:{...$,...pe(e?.workflow)},type_workflows:we(e?.type_workflows),unknown_field_policy:be(e?.unknown_field_policy)}}function ke(e,t,r){try{return JSON.parse(e)}catch{r.push(t);return}}function Te(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.definitions))return t.definitions;if(typeof t.item_types=="object"&&t.item_types!==null){let r=t.item_types;if(Array.isArray(r.definitions))return r.definitions}}function Ee(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.statuses))return t.statuses;if(Array.isArray(t.definitions))return t.definitions}function ve(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.fields))return t.fields;if(Array.isArray(t.definitions))return t.definitions}function Fe(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;return typeof t.workflow=="object"&&t.workflow!==null&&!Array.isArray(t.workflow)?t.workflow:typeof t.workflows=="object"&&t.workflows!==null&&!Array.isArray(t.workflows)?t.workflows:t}function Ie(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(Array.isArray(t.type_workflows))return t.type_workflows}function y(e,t,r){let s=t?.trim()||r;return x.isAbsolute(s)?s:x.join(e,s)}function Ve(e,t){return y(e,t.files.types,m.types)}async function xe(e,t){let r=E(t),s=[{path:y(e,r.files.types,m.types),seed:{definitions:[]}},{path:y(e,r.files.statuses,m.statuses),seed:{statuses:M}},{path:y(e,r.files.fields,m.fields),seed:{fields:[]}},{path:y(e,r.files.workflows,m.workflows),seed:{workflow:$}}],o=[];for(let i of s)await q(i.path)||await V(i.path,`${JSON.stringify(i.seed,null,2)}
|
|
2
2
|
`)&&o.push(i.path);return{created_paths:o}}async function He(e,t){let r=E(t),s=[],o=y(e,r.files.types,m.types),i=y(e,r.files.statuses,m.statuses),a=y(e,r.files.fields,m.fields),l=y(e,r.files.workflows,m.workflows),n,u,f,d,p,w=async(b,G)=>{let L=await W(b);if(L!==null)return ke(L,G,s)},g=await w(o,"runtime_schema_types_invalid_json");g!==void 0&&(n=Te(g),n===void 0&&s.push("runtime_schema_types_invalid_shape"));let h=await w(i,"runtime_schema_statuses_invalid_json");h!==void 0&&(u=Ee(h),u===void 0&&s.push("runtime_schema_statuses_invalid_shape"));let A=await w(a,"runtime_schema_fields_invalid_json");A!==void 0&&(f=ve(A),f===void 0&&s.push("runtime_schema_fields_invalid_shape"));let c=await w(l,"runtime_schema_workflows_invalid_json");return c!==void 0&&(d=Fe(c),d===void 0&&s.push("runtime_schema_workflows_invalid_shape"),p=Ie(c)),{schema:E({...r,statuses:[...r.statuses,...u??[]],fields:[...r.fields,...f??[]],workflow:{...r.workflow,...d},type_workflows:[...r.type_workflows??[],...p??[]]}),type_definitions_from_file:n,warnings:s,created_paths:[]}}function k(e,t,r,s=!1){let o=r.map(a=>_(a)).filter(a=>typeof a=="string").find(a=>e.some(l=>l.id===a));if(s&&o!==void 0)return o;let i=e.find(a=>a.roles.includes(t));return i!==void 0?i.id:o??e[0]?.id}function De(e){let t=new Map,r=new Map;for(let s of e){r.set(s.id,s),t.set(s.id,s.id),t.set(s.id.replaceAll("_","-"),s.id),t.set(s.id.replaceAll("_"," "),s.id);for(let o of s.aliases)t.set(o,s.id),t.set(o.replaceAll("_","-"),s.id),t.set(o.replaceAll("_"," "),s.id)}return{aliasToId:t,byId:r}}function ze(e){let t={activeStatuses:new Set,blockedStatuses:new Set,draftStatuses:new Set,terminalCanceledStatuses:new Set,terminalDoneStatuses:new Set,terminalStatuses:new Set};for(let r of e){let s=new Set(r.roles);(s.has("terminal")||s.has("terminal_done")||s.has("terminal_canceled"))&&t.terminalStatuses.add(r.id),s.has("terminal_done")&&t.terminalDoneStatuses.add(r.id),s.has("terminal_canceled")&&t.terminalCanceledStatuses.add(r.id),s.has("active")&&t.activeStatuses.add(r.id),s.has("blocked")&&t.blockedStatuses.add(r.id),s.has("draft")&&t.draftStatuses.add(r.id)}return t}function Ye(e){let t=E(e),r=t.statuses.map((c,b)=>z(c,b)).filter(c=>c!==null),{aliasToId:s,byId:o}=De(r),{activeStatuses:i,blockedStatuses:a,draftStatuses:l,terminalCanceledStatuses:n,terminalDoneStatuses:u,terminalStatuses:f}=ze(r),d=t.workflow,p=_(d.open_status)??k(r,"default_open",["open","in_progress",O[0]]),w=_(d.in_progress_status)??k(r,"active",["in_progress","in-progress",p],!0),g=_(d.blocked_status)??k(r,"blocked",["blocked"]),h=_(d.close_status)??k(r,"default_close",["closed","done","complete"]),A=_(d.canceled_status)??k(r,"default_cancel",["canceled","cancelled"]);return{definitions:r,by_id:o,alias_to_id:s,terminal_statuses:f,terminal_done_statuses:u,terminal_canceled_statuses:n,active_statuses:i,blocked_statuses:a,draft_statuses:l,open_status:p,in_progress_status:w,blocked_status:g,close_status:h,canceled_status:A}}function Me(e,t){let r=S(e);if(r)return t.alias_to_id.get(r)}function $e(e){let t=E(e),r=new Map,s=t.fields.map(n=>Z(n)).filter(n=>n!==null);for(let n of s)r.set(n.key,n);let o=[...r.values()].sort((n,u)=>n.key.localeCompare(u.key)),i=new Map,a=new Map,l=new Map;for(let n of o){i.set(n.key,n),a.set(n.cli_flag,n);for(let u of n.cli_aliases)a.set(u,n);for(let u of n.commands){let f=l.get(u)??[];f.push(n),l.set(u,f)}}for(let[n,u]of l.entries())u.sort((f,d)=>f.key.localeCompare(d.key)),l.set(n,u);return{definitions:o,by_key:i,by_cli_token:a,command_to_fields:l}}function Je(e){return me(e.key)}function Be(e,t){let r=Me(e,t);return r?t.terminal_statuses.has(r):!1}export{S as a,V as b,m as c,M as d,E as e,y as f,Ve as g,xe as h,He as i,Ye as j,Me as k,$e as l,Je as m,Be as n};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-B266DDBJ.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{D as p,y as h,z as u}from"./chunk-
|
|
1
|
+
import{D as p,y as h,z as u}from"./chunk-KTXU5WU6.js";import{readFile as b,realpath as y,stat as _,writeFile as $}from"node:fs/promises";import l from"node:path";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="38df9536-d87a-52ac-958d-091a17c9da9c")}catch{}})();var d="# pm-cli:runtime-cache:start",f="# pm-cli:runtime-cache:end",E=".agents/pm";async function m(n){let e=l.resolve(n),t=[];for(;;)try{let i=await y(e);if(!(await _(i)).isDirectory())throw Object.assign(new Error("Initialization path ancestry must be a directory."),{code:"ENOTDIR"});return l.join(i,...t)}catch(i){if(!p(i)||l.dirname(e)===e)throw i;t.unshift(l.basename(e)),e=l.dirname(e)}}var R=["runtime/","search/","locks/","transactions/","checkpoints/"],T=["search/eval-queries.json"];async function w(n){try{return await n()}catch(e){throw e instanceof Error&&"code"in e&&typeof e.code=="string"&&["EACCES","EPERM","EROFS"].includes(e.code)?new u("The workspace .gitignore is not writable.",h.GENERIC_FAILURE,{code:"init_gitignore_unwritable",reason:e.code.toLowerCase(),required:"Grant the current user read and write access to the workspace .gitignore before initialization.",why:"pm init must publish its managed runtime-cache ignore fence without replacing unrelated entries.",nextSteps:["Grant read and write access to the workspace .gitignore and rerun pm init.","If the workspace is intentionally read-only, initialize pm in a writable workspace or clone."]}):e}}function I(n){let e=n.split(l.sep).join("/").replace(/^\.\/+/,""),t=e.length;for(;t>0&&e[t-1]==="/";)t-=1;return e.slice(0,t)}function k(n){let e=n.replaceAll("\\","/");return l.isAbsolute(n)||e===".."||e.startsWith("../")}function G(n=E){let e=I(n);if(/[\r\n]/u.test(e))throw new u("A tracker path containing a line break cannot be represented safely in .gitignore.",h.USAGE,{code:"invalid_argument_value",required:"a tracker path without line breaks",nextSteps:["Choose a tracker path without carriage returns or newlines and rerun pm init."]});let t=e.replace(/[\\*?[\]#! \t]/gu,"\\$&");return[d,...R.map(i=>i==="search/"?`${t}/${i}*`:`${t}/${i}`),...T.map(i=>`!${t}/${i}`),f].join(`
|
|
2
2
|
`)}function O(n,e,t){let i=e.replace(/[\\*?[\]#! \t]/gu,"\\$&"),o=[...new Set([e,i])].flatMap(s=>R.flatMap(c=>[`${s}/${c}`,`!${s}/${c}`])),a=[],r=!1;for(let s of n)o.some(c=>s.startsWith(c))?(r||a.push(...t),r=!0):a.push(s);return r||a.push(...t),a}function P(n){let e=[],t=-1,i=0,o=0;for(let a of n.split(`
|
|
3
3
|
`)){let r=a.endsWith("\r")?a.slice(0,-1):a;r===d?(t=o,i=o+a.length+1):r===f&&t>=0&&(e.push({index:t,end:o+r.length,lines:n.slice(i,o).split(/\r?\n/u).filter(s=>s.length>0)}),t=-1),o+=a.length+1}return e}function v(n,e){let t=n.includes(`\r
|
|
4
4
|
`)?`\r
|
|
@@ -6,4 +6,4 @@ import{D as p,y as h,z as u}from"./chunk-BUZ2Z4P3.js";import{readFile as b,realp
|
|
|
6
6
|
`,i=G(e).split(`
|
|
7
7
|
`).slice(1,-1),o=P(n),a=o.flatMap(c=>c.lines),r=[d,...O(a,e,i),f].join(t);if(o.length===0){let c=n.length===0?"":n.endsWith(`
|
|
8
8
|
`)?t:`${t}${t}`;return`${n}${c}${r}${t}`}let s=n;for(let[c,g]of[...o.entries()].reverse())s=`${s.slice(0,g.index)}${c===0?r:""}${s.slice(g.end)}`;return s}async function S(n,e={}){let t=l.join(n,".gitignore"),i=E;if(e.pmRoot!==void 0){let r=I(l.relative(await m(n),await m(e.pmRoot)));if(k(r))return{path:t,changed:!1};i=r}let o="";try{o=await w(()=>b(t,"utf8"))}catch(r){if(!(r instanceof Error&&"code"in r&&p(r)))throw r}let a=v(o,i);return a===o?{path:t,changed:!1}:(await w(()=>$(t,a,"utf8")),{path:t,changed:!0})}export{R as a,k as b,S as c};
|
|
9
|
-
//# sourceMappingURL=chunk-
|
|
9
|
+
//# sourceMappingURL=chunk-BH7RE2ZY.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{E as Ze,F as et,f as pe}from"./chunk-NE27VCU7.js";import{$a as he,Ea as Bt,Ta as Gt,Ua as Qe,Va as Wt,Za as _e,_a as te,ca as Je,g as We,h as Ht,r as Ke,x as fe,xa as Yt,y as Xe}from"./chunk-UHWTPOM4.js";import{b as Vt}from"./chunk-B266DDBJ.js";import{$ as E,$b as qt,Aa as Ye,Ba as Ft,Dc as jt,Ga as Be,Ja as Ut,Kd as me,a as Ve,ba as Z,ca as K,da as b,fa as zt,ic as Ge,mc as le,qa as je,uc as ue,wd as M,ya as ee,za as He}from"./chunk-NLZUI234.js";import{B as G,D as W,E as T,H as v,J as de,s as qe,y as u,z as m}from"./chunk-KTXU5WU6.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b84fee06-5bbd-57f9-9643-f283d6c87afa")}catch{}})();function An(e,t="--limit"){if(e===void 0)return;let r=Number(e);if(!Number.isFinite(r)||r<0)throw new m(`${t} must be a non-negative number`,u.USAGE);return Math.floor(r)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9b58b44d-819c-5115-b011-f9dfa8e2ab41")}catch{}})();var In=3e4,re=class extends Error{status;constructor(t,r){super(t),this.name="SearchHttpError",this.status=r}};function P(e,t,r=In){let n=e??r;if(!Number.isFinite(n)||n<=0)throw new Error(`${t} timeout must be a positive finite number`);return Math.floor(n)}function $(e,t){if(e)return e;if(typeof globalThis.fetch=="function")return globalThis.fetch.bind(globalThis);throw new Error(`${t} execution requires a fetch implementation`)}async function Cn(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${b(t)})`}}async function ge(e){let t=new AbortController,r=setTimeout(()=>{t.abort()},e.timeoutMs);try{let n;try{n=await e.fetcher(e.endpoint,{method:e.method,headers:e.headers,body:JSON.stringify(e.body),signal:t.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?new Error(`${e.requestLabel} timed out after ${e.timeoutMs}ms`):new Error(`${e.requestLabel} execution failed: ${b(o)}`)}if(!n.ok){let o=await Cn(n),i=o.length>0?`: ${o}`:"";throw new re(`${e.requestLabel} failed with status ${n.status} ${n.statusText}${i}`,n.status)}try{return await n.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${b(o)}`)}}finally{clearTimeout(r)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8e3bb919-c8f9-50b5-8e41-b6719d17bd21")}catch{}})();function Xa(e,t){let r=E(e);if(!r)return"unconfigured";let n=E(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function xn(e){let t=Z(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function Xt(e){let t=e.search?.embedding_model;return E(t)||null}function Rn(e){let t=E(e.providers?.openai?.base_url),r=E(e.providers?.openai?.model);if(!t||!r)return null;let n=Xt(e),o=E(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function kn(e){let t=E(e.providers?.ollama?.base_url),r=E(e.providers?.ollama?.model);if(!t||!r)return null;let n=Xt(e);return{name:"ollama",base_url:t,model:n??r}}function Jt(e){let t=(Array.isArray(e)?e:[e]).map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new Error("Embedding input must include at least one non-empty string");return t}function Ln(e){let t=[],r=[],n=new Map;for(let o of e){let i=n.get(o);if(i===void 0){let s=t.length;t.push(o),n.set(o,s),r.push(s);continue}r.push(i)}return{uniqueInputs:t,originalToUniqueIndex:r}}function On(e){let t=e.map((r,n)=>({embedding:r.embedding,index:r.index,position:n}));if(t.some(r=>r.index!==void 0)){for(let r of t)if(!Number.isInteger(r.index))throw new TypeError(`OpenAI embedding response entry at position ${r.position} is missing a valid integer index`);return[...t].sort((r,n)=>{let o=r.index-n.index;return o!==0?o:r.position-n.position})}return t}function tt(e){let t=Rn(e),r=kn(e),n=[t,r].filter(s=>s!==null),o=E(e.search?.provider),i=o?o.toLowerCase():null;return{active:(i?n.find(s=>s.name===i):void 0)??n[0]??null,available:n}}function Kt(e){let t=Z(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:xn(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Dn(e,t){let r=Jt(t);return e.name==="openai"?{target:Kt(e),method:"POST",headers:{"content-type":"application/json",...e.api_key?{authorization:`Bearer ${e.api_key}`}:{}},body:{model:e.model,input:r.length===1?r[0]:r}}:{target:Kt(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function Mn(e,t){if(e.name==="openai"){let o=t.data;if(!Array.isArray(o)||o.length===0)throw new Error("OpenAI embedding response must include a non-empty data array");return On(o).map((i,s)=>{let a=i.embedding;if(!K(a))throw new Error(`OpenAI embedding response entry at index ${s} is missing a numeric embedding vector`);return[...a]})}let r=t.embedding;if(K(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((o,i)=>{if(!K(o))throw new Error(`Ollama embedding response entry at index ${i} is missing a numeric embedding vector`);return[...o]});throw new Error("Ollama embedding response must include embedding or embeddings vectors")}async function Qt(e,t,r={}){let n=P(r.timeout_ms,"Embedding request"),o=$(r.fetcher,"Embedding request"),i=Jt(t),s=Ln(i),a=Dn(e,s.uniqueInputs),c=await ge({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:n,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),d=Mn(e,c);if(d.length!==s.uniqueInputs.length)throw new Error(`Embedding response cardinality mismatch: expected ${s.uniqueInputs.length} vector(s), received ${d.length}`);return s.originalToUniqueIndex.map(l=>[...d[l]])}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c86afdf-6d8d-5851-82c1-ae5bcc9f0196")}catch{}})();var ye=["title","description","tags","status","type","priority","assignee","parent","goal","value","why_now","risk","confidence","estimated_minutes","acceptance_criteria","resolution","expected_result","actual_result","body","comments","notes","learnings","reminders","events","dependencies","plan"];function rt(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...ye];let r=new Set(ye),n=Array.from(new Set(t.filter(o=>typeof o=="string").map(o=>o.trim()).filter(o=>o.length>0&&r.has(o))));return n.length>0?n:[...ye]}var Nn=8e3,Pn=3200,z="...[semantic corpus truncated]",$n="search_embedding_corpus_max_characters_invalid:using_provider_default";function x(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function zn(e){return(e.reminders??[]).map(t=>x([t.at,t.text]))}function Fn(e){return(e.events??[]).map(t=>x([t.start_at,t.end_at,t.title,t.description,t.location,t.all_day===!0?"all day":void 0,t.timezone,t.recurrence?.freq,t.recurrence?.interval,t.recurrence?.count,t.recurrence?.until,t.recurrence?.by_weekday?.join(" "),t.recurrence?.by_month_day?.join(" "),t.recurrence?.exdates?.join(" ")]))}function Un(e,t){e.push(t.title,t.body,t.status,t.owner,t.evidence,t.blocked_reason,t.superseded_by);for(let r of t.linked_items??[])e.push(`${r.kind} ${r.id}`,r.note);for(let r of t.files??[])e.push(r.path,r.note);for(let r of t.tests??[])e.push(r.command,r.path,r.note);for(let r of t.docs??[])e.push(r.path,r.note)}function Vn(e,t){for(let r of t.plan_decisions??[])e.push(r.decision,r.rationale,r.evidence);for(let r of t.plan_discoveries??[])e.push(r.text);for(let r of t.plan_validation??[])e.push(r.text,r.command,r.expected)}function Za(e){let t=[];t.push(e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context);for(let r of e.plan_steps??[])Un(t,r);return Vn(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function qn(e){let t=(e.plan_steps??[]).map(i=>x([i.order,i.id,i.title,i.body,i.status,i.owner,i.evidence,i.blocked_reason,i.superseded_by,(i.linked_items??[]).map(s=>x([s.kind,s.id,s.note])).join(" "),(i.files??[]).map(s=>x([s.path,s.note])).join(" "),(i.tests??[]).map(s=>x([s.command,s.path,s.note])).join(" "),(i.docs??[]).map(s=>x([s.path,s.note])).join(" ")])),r=(e.plan_decisions??[]).map(i=>x([i.decision,i.rationale,i.evidence,i.step_id])),n=(e.plan_discoveries??[]).map(i=>x([i.text,i.step_id])),o=(e.plan_validation??[]).map(i=>x([i.text,i.command,i.expected]));if([e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context,...t,...r,...n,...o].some(i=>i!==void 0))return{mode:e.plan_mode,scope:e.plan_scope,harness:e.plan_harness,resume_context:e.plan_resume_context,steps:t,decisions:r,discoveries:n,validation:o}}function C(e){return typeof e=="string"&&e.trim().length>0}var jn={title:e=>e.metadata.title,description:e=>e.metadata.description,tags:e=>e.metadata.tags,status:e=>e.metadata.status,type:e=>e.metadata.type,priority:e=>typeof e.metadata.priority=="number"?e.metadata.priority:void 0,assignee:e=>C(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>C(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>C(e.metadata.goal)?e.metadata.goal:void 0,value:e=>C(e.metadata.value)?e.metadata.value:void 0,why_now:e=>C(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>C(e.metadata.risk)?e.metadata.risk:void 0,confidence:e=>e.metadata.confidence!==void 0&&e.metadata.confidence!==null?e.metadata.confidence:void 0,estimated_minutes:e=>typeof e.metadata.estimated_minutes=="number"?e.metadata.estimated_minutes:void 0,acceptance_criteria:e=>C(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>C(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>C(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>C(e.metadata.actual_result)?e.metadata.actual_result:void 0,body:e=>e.body,comments:e=>(e.metadata.comments??[]).map(t=>t.text),notes:e=>(e.metadata.notes??[]).map(t=>t.text),learnings:e=>(e.metadata.learnings??[]).map(t=>t.text),reminders:e=>zn(e.metadata),events:e=>Fn(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>qn(e.metadata)};function Zt(e,t={}){let r=t.fields??ye,n={};for(let o of r){let i=jn[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Hn(e){return e?.trim().toLowerCase()==="ollama"?Pn:Nn}function X(e,t){let r=Hn(e),n=zt(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:$n}}function nt(e,t={}){let r=JSON.stringify(Zt(e,{fields:t.fields})),n=X(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=z.length)return z.slice(0,n);let o=Math.max(0,n-z.length);return`${r.slice(0,o)}${z}`}(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]="67bae1a1-19d1-50ea-816f-4b68e6bb69d9")}catch{}})();function Yn(e,t,r){let n=e.search.embedding_batch_size,o=e.search.embedding_timeout_ms,i=e.search.scanner_max_batch_retries,s=Number.isFinite(n)&&n>0?Math.max(1,Math.floor(n)):1,a=Number.isFinite(o)&&o>0?Math.max(1,Math.floor(o)):3e4,c=Number.isFinite(i)&&i>=0?Math.floor(i):0;return{batchSize:s,timeoutMs:a,maxRetries:c,maxRequestBytes:r,maxInputCharacters:t}}function Bn(e,t,r,n){let o=[],i=[],s=Buffer.byteLength(JSON.stringify({model:e.model,input:[]})),a=s;for(let c of t){let d=Buffer.byteLength(JSON.stringify(c.trim()));if(s+d>n)throw new RangeError(`Embedding input exceeds request byte ceiling ${n}; lower search.embedding_corpus_max_characters or raise maxRequestBytes`);let l=i.length>0?1:0;(i.length>=r||a+l+d>n)&&(o.push(i),i=[],a=s),a+=d+(i.length>0?1:0),i.push(c)}return o.push(i),o}function Gn(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-z.length);return`${e.slice(0,r)}${z}`.slice(0,t)}function er(e){let t=b(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function Wn(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${b(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return er(i)?`${s} (${a}; guidance=check provider availability or lower search.embedding_batch_size, raise search.embedding_timeout_ms, or run keyword search while semantic indexing catches up)`:`${s} (${a})`}function Kn(e){return e instanceof re?e.status===413?"payload_too_large":null:er(e)?"timeout":null}async function ot(e,t,r,n,o,i,s){let a=null;for(let c=0;c<=o;c+=1)try{s.requests+=1;let d=await Qt(e,t,{timeout_ms:n});return c>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${r}:attempt=${c+1}:size=${t.length}`),s.successful_batches+=1,s.batch_size_histogram[t.length]=(s.batch_size_histogram[t.length]??0)+1,d}catch(d){a=d;let l=Kn(d);if(l!==null&&t.length>1){s.split_batches+=1;let p=Math.ceil(t.length/2),_=t.slice(0,p),f=t.slice(p);return i.push(`search_embedding_batch_split_after_${l}:batch=${r}:size=${t.length}:parts=${_.length}|${f.length}`),[...await ot(e,_,`${r}.1`,n,o,i,s),...await ot(e,f,`${r}.2`,n,o,i,s)]}if(c<o){s.retries+=1;let p=Math.min(1e3*2**c,8e3);await new Promise(_=>setTimeout(_,p))}}throw new Error(Wn(e,r,t.length,n,o+1,a))}async function it(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let o=performance.now(),i=n.maxRequestBytes??262144;if(!Number.isSafeInteger(i)||i<=0)throw new RangeError("maxRequestBytes must be a positive safe integer");let s={provider:e.name,model:e.model,max_request_bytes:i,limit_source:n.maxRequestBytes===void 0?"default":"caller",planned_batches:0,requests:0,successful_batches:0,split_batches:0,retries:0,batch_size_histogram:{},elapsed_ms:0,inputs_per_second:0},a=[],c=X(e.name,t.search.embedding_corpus_max_characters);c.warning&&a.push(c.warning);let d=Yn(t,c.maxCharacters,i),l=0,p=r.map(h=>{if(h.trim().length===0)throw new TypeError("Embedding inputs must be non-empty strings");let y=Gn(h,d.maxInputCharacters);return y.length<h.length&&(l+=1),y});l>0&&a.push(`search_embedding_input_truncated:count=${l}:max_characters=${d.maxInputCharacters}`);let _=Bn(e,p,d.batchSize,d.maxRequestBytes);s.planned_batches=_.length;let f=[],g=0;for(let h=0;h<_.length;h+=1){let y=_[h];n.onProgress?.({batch_index:h+1,batch_total:_.length,batch_size:y.length,completed_inputs:g,total_inputs:p.length,phase:"start"}),f.push(...await ot(e,y,String(h+1),d.timeoutMs,d.maxRetries,a,s)),g+=y.length,n.onProgress?.({batch_index:h+1,batch_total:_.length,batch_size:y.length,completed_inputs:g,total_inputs:p.length,phase:"complete"})}return s.elapsed_ms=Math.max(1,performance.now()-o),s.inputs_per_second=r.length*1e3/s.elapsed_ms,{vectors:f,warnings:a,receipt:s}}(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]="88eb8555-e098-5279-801e-3b76d0dd0eae")}catch{}})();var F=`[^\\s/\\\\<>"'\\x60()\\[\\]{},;?=:#*]+`,S="[/\\\\]+",Xn="[\\p{L}\\p{N}._@-]+",U=Xn+"(?:"+S+F+")*",Ee="(?:(?:home|users)"+S+U+"|root"+S+U+")",Jn="[/\\\\]"+Ee,Qn="[/\\\\]{2,}"+Ee,Zn="/?[a-z]:"+S+"users"+S+U,eo=F+"(?: +"+F+")*",st="(?:"+eo+S+")?users"+S+U,to="[/\\\\]{2,}"+F+S+st,ro="(?:[a-z]:|volume\\{[a-f0-9-]+\\}|"+F+")",rr="[/\\\\]{2}[?.]"+S+"(?:unc"+S+F+S+st+"|"+ro+S+"users"+S+U+")",no="file:(?:"+rr+"|(?:[/\\\\](?![/\\\\])|[/\\\\]{3,}|[/\\\\]{2}localhost"+S+")(?:"+Ee+"|[a-z]:"+S+"users"+S+U+")|[/\\\\]{2}(?:[a-z]:"+S+"users"+S+U+"|"+F+S+"(?:"+Ee+"|"+st+")))",oo=new RegExp("(?:^|[^\\p{L}\\p{N}_./\\\\~])(?:"+Jn+"|"+Zn+"|"+no+")|(?:^|[^\\p{L}\\p{N}_:./\\\\~])(?:"+Qn+"|"+to+"|"+rr+")","giu"),tr=4,io=/%[a-f0-9]{2}|\\(?:u[a-f0-9]{4}|x[a-f0-9]{2}|\/)/iu,so=new TextDecoder("utf-8");function ao(e){return e.replace(/(?:%[a-f0-9]{2})+/giu,t=>so.decode(Uint8Array.from(t.matchAll(/%([a-f0-9]{2})/giu),r=>Number.parseInt(r[1],16)))).replace(/%(?![a-f0-9]{2})[a-z0-9]{0,2}/giu,"\uFFFD")}function co(e){return e.replace(/\\+(?:u([a-f0-9]{4})|x([a-f0-9]{2})|(\/))?/giu,(t,r,n,o)=>{let i=r??n;return i===void 0?o??t:String.fromCharCode(Number.parseInt(i,16))})}function lo(e){return e.normalize("NFKC").replace(/[\p{Bidi_Control}\u200b-\u200f\u2060-\u206f\ufeff]/gu,"").replace(/[\u2215\u2044]/gu,"/").replace(/[\u043e\u041e]/gu,"o").replace(/[\u0455\u0405]/gu,"s")}function uo(e,t){for(let[r,n]of[["percent_decode",ao],["json_unescape",co],["unicode_fold",lo]]){let o=n(e);o!==e&&!t.includes(r)&&t.push(r),e=o}return e}function*mo(e,t,r){let n=e,o=[];for(let i=0;i<tr;i+=1){let s=n;if(n=uo(n,o),!r){t.lastIndex=0;for(let a of n.matchAll(t))r=!0,yield{index:0,normalizations:[...o]}}if(n===s)break;i===tr-1&&io.test(n)&&(yield{index:0,normalizations:[...o],normalization_incomplete:!0})}}function*fo(e,t){let r=0;for(let n of e.split(`
|
|
2
|
+
`)){t.lastIndex=0;let o=!1;for(let i of n.matchAll(t))o=!0,yield{index:r+i.index};for(let i of mo(n,t,o))yield{...i,index:r};r+=n.length+1}}var nr=[{name:"private-key",mutationRule:"private_key",regex:/-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/g},{name:"github-token",mutationRule:"github_token",regex:/\b(?:gh[opsru]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/g},{name:"npm-token",mutationRule:"npm_token",regex:/\bnpm_[A-Za-z0-9]{20,}\b/g},{name:"aws-access-key",mutationRule:"aws_access_key",regex:/\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g},{name:"google-api-key",mutationRule:"google_api_key",regex:/\bAIza[0-9A-Za-z_-]{35}\b/g},{name:"slack-token",mutationRule:"slack_token",regex:/\bxox[baprs]-[A-Za-z0-9-]{10,}\b/g},{name:"anthropic-api-key",mutationRule:"anthropic_api_key",regex:/\bsk-ant-[A-Za-z0-9_-]{20,}\b/g},{name:"openai-api-key",mutationRule:"openai_api_key",regex:/\bsk-(?!ant-)[A-Za-z0-9_-]{20,}\b/g},{name:"gitlab-token",mutationRule:"gitlab_token",regex:/\bglpat-[A-Za-z0-9_.-]{20,}\b/g},{name:"jwt-like-token",mutationRule:"jwt_like_token",regex:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g},{name:"npm-auth-token-assignment",mutationRule:"npm_auth_token_assignment",regex:/_authToken\s*=\s*\S+/g},{name:"sentry-user-token",mutationRule:"sentry_user_token",regex:/\bsntryu_[A-Za-z0-9]{20,}\b/g},{name:"sentry-org-token",mutationRule:"sentry_org_token",regex:/\bsntrys_[A-Za-z0-9_-]{20,}\b/g},{name:"private-ip",mutationRule:"private_ip",regex:/\b(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g},{name:"private-ssh-target",mutationRule:"private_ssh_target",regex:/\b(?:ssh|scp|rsync)\s+[A-Za-z0-9._-]+@(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g},{name:"sshpass-inline-password",mutationRule:"sshpass_inline_password",regex:/\bsshpass\s+-p\s+["'][^"']{6,}["']/g},{name:"password-assignment",mutationRule:"password_assignment",regex:/\b(?:password|passphrase)\s*[:=]\s*(?:(?!<|\$\{|\$\(|config\.auth\.password\s*(?:\|\|\s*(?:''|"")|\?\s*unescape\(encodeURIComponent\(config\.auth\.password\)\)\s*:\s*(?:''|""))(?=[ \t]*(?:\/\*(?:[^*]|\*(?!\/))*\*\/[ \t]*)*(?:;|$|\/\/[^\r\n\u2028\u2029]*(?:\r\n)?$)))[A-Za-z0-9!@#$%^&*._+\-=]{8,}|"(?!<|\$\{|\$\()[^"]{8,}"|'(?!<|\$\{|\$\()[^']{8,}')/gi},{name:"absolute-home-path",mutationRule:"absolute_home_path",regex:oo,excludeFiles:/^(?:tests\/|examples\/)/},{name:"user-at-private-host",mutationRule:"user_at_private_host",regex:/\b[A-Za-z0-9._-]+@(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g,excludeFiles:/^(?:tests\/|examples\/)/},{name:"high-entropy-assignment",mutationRule:"high_entropy_assignment",regex:/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,mutationOnlyReason:"Generic assignments in source code are not credentials; preserve the existing mutation heuristic without treating source identifiers as secrets.",minimumEntropy:3.5}];function*or(e,t){if(e.mutationRule==="absolute_home_path"){yield*fo(t,e.regex);return}e.regex.lastIndex=0;for(let r of t.matchAll(e.regex))po(e,r)&&(yield{index:r.index})}function po(e,t){if(e.minimumEntropy===void 0)return!0;let r=t[1],n=new Map;for(let i of r)n.set(i,(n.get(i)??0)+1);let o=0;for(let i of n.values()){let s=i/r.length;o-=s*Math.log2(s)}return o>=e.minimumEntropy}(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]="d6059407-bf03-5ae8-8b01-e3e7c5b28030")}catch{}})();var _o=[{action:"append",history_scope:"item"},{action:"claim",history_scope:"item"},{action:"close",history_scope:"item"},{action:"close-many",history_scope:"item"},{action:"close-task",history_scope:"item"},{action:"comments",history_scope:"conditional"},{action:"config",history_scope:"conditional"},{action:"copy",history_scope:"item"},{action:"create",history_scope:"item"},{action:"delete",history_scope:"item"},{action:"deps",history_scope:"conditional"},{action:"discover",history_scope:"item"},{action:"docs",history_scope:"conditional"},{action:"files",history_scope:"conditional"},{action:"focus",history_scope:"conditional"},{action:"gc",history_scope:"conditional"},{action:"history-compact",history_scope:"history"},{action:"history-author-acknowledge",history_scope:"workspace"},{action:"history-redact",history_scope:"history"},{action:"history-repair",history_scope:"history"},{action:"init",history_scope:"workspace"},{action:"install",history_scope:"conditional"},{action:"learnings",history_scope:"conditional"},{action:"notes",history_scope:"conditional"},{action:"package",history_scope:"conditional"},{action:"pause-task",history_scope:"item"},{action:"plan",history_scope:"conditional"},{action:"profile",history_scope:"conditional"},{action:"release",history_scope:"item"},{action:"restore",history_scope:"item"},{action:"schema",history_scope:"conditional"},{action:"start-task",history_scope:"item"},{action:"templates",history_scope:"conditional"},{action:"test",history_scope:"conditional"},{action:"test-all",history_scope:"conditional"},{action:"update",history_scope:"item"},{action:"update-many",history_scope:"item"},{action:"upgrade",history_scope:"conditional"}],ct=new Map(_o.map(e=>[e.action,e]));function at(e,t="$",r=new WeakSet){return typeof e=="string"?[{path:t,value:e}]:typeof e!="object"||e===null?[]:r.has(e)?[]:(r.add(e),Array.isArray(e)?e.flatMap((n,o)=>at(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>at(o,`${t}.${n}`,r)))}function ho(e,t){let r=or(e,t),n=r.next().value;if(!n||e.mutationRule!=="absolute_home_path"||n.normalization_incomplete)return n;for(let o of r)if(o.normalization_incomplete)return{...n,normalizations:[...new Set([n.normalizations,o.normalizations].flatMap(i=>i??[]))],normalization_incomplete:!0};return n}function ir(e){let t=[];for(let r of at(e))for(let n of nr){let o=ho(n,r.value);if(o){let i={rule:n.mutationRule,path:r.path};o.normalizations&&(i.normalizations=o.normalizations),o.normalization_incomplete&&(i.normalization_incomplete=!0),t.push(i)}}return t.filter((r,n,o)=>o.findIndex(i=>i.rule===r.rule&&i.path===r.path)===n)}function go(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new m("Mutation author is required by workspace policy.",u.USAGE,{code:"mutation_author_required",required:"Pass --author <id>, set PM_AUTHOR, or configure author_default.",nextSteps:["Retry with --author <stable-agent-id>.","Set PM_AUTHOR for this agent session."]});if(e.settings.secret_guard==="off")return{author:t,findings:[],warnings:[],override_applied:!1};let r;try{r=ir(e.payload)}catch{return{author:t,findings:[],warnings:["secret_guard_scan_failed_open"],override_applied:!1}}if(r.length===0)return{author:t,findings:r,warnings:[],override_applied:!1};let n=[...new Set(r.map(o=>o.rule))].sort().join(",");if(e.settings.secret_guard==="block"&&e.force!==!0)throw new m(`Mutation blocked by secret guard (${n}). No detected value was logged.`,u.CONFLICT,{code:"mutation_secret_guard_blocked",required:"Remove the credential-shaped content or retry with --force after explicit review.",nextSteps:["Replace the value with a secret-manager reference.","Use pm history-redact if equivalent content already entered history."],recovery:{recovery_mode:"compact",attempted_command:"pm <mutation> [REDACTED]",normalized_args:["[REDACTED]"],suggested_retry:"Remove credential-shaped content, then retry the mutation."}});return{author:t,findings:r,warnings:[`secret_guard_detected:${r.length}:rules=${n}`,...e.settings.secret_guard==="block"&&e.force===!0?["secret_guard_force_override"]:[]],override_applied:e.settings.secret_guard==="block"&&e.force===!0}}function yo(e){return ct.has(e.trim().toLowerCase())}function Eo(){return[...ct.keys()].sort((e,t)=>e.localeCompare(t))}function lc(e){return ct.get(e.trim().toLowerCase())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5767332d-8094-55cd-96e9-47c5d20cd7df")}catch{}})();var wo=/\b([a-z][a-z0-9]*)-(\d+)(?:-[a-z0-9]+)*\b/giu,bo=/^(?:utf|iso|sha|tls|http|covid|match)$/iu;function dt(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ar(e){return[...new Set(dt(e).match(/[\p{L}\p{N}]+/gu)??[])]}function sr(e){let t=dt(e);return{normalized:t,tokens:ar(t),issueCodes:[...new Set([...e.matchAll(wo)].filter(r=>{let n=r[1],o=r.index,i=e.slice(o+r[0].length);return!bo.test(n)&&(n===n.toUpperCase()||n.length<=2||o===0&&/^\s*(?::|—|–|\])/u.test(i))}).map(r=>r[0].toLowerCase()))]}}function So(e,t){return To(sr(e),sr(t))}function To(e,t){if(e.normalized===t.normalized)return{score:1,reason:"exact_title"};let r=new Set(e.issueCodes);return t.issueCodes.some(n=>r.has(n))?{score:.99,reason:"issue_code"}:{score:ue(e.tokens,t.tokens),reason:"title_token_jaccard"}}import vo 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]="a7cd1d62-16fe-5e5b-b382-64335fc5e403")}catch{}})();function we(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function Ao(e,t){return[e.updated_at,t].map(r=>({value:r,time:Date.parse(r??"")})).filter(r=>typeof r.value=="string"&&Number.isFinite(r.time)).sort((r,n)=>n.time-r.time)[0]?.value??e.updated_at}function cr(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=we(t.in_progress_status),i=[];for(let s of e){if(we(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=Ao(s,t.last_history_activity?.(s)),c=Date.parse(a);if(!Number.isFinite(c))continue;let d=Math.max(0,Math.floor((n-c)/36e5));d>=r&&i.push({id:s.id,last_activity_at:a,age_hours:d})}return i.sort((s,a)=>a.age_hours-s.age_hours||s.id.localeCompare(a.id)),{threshold_hours:r,count:i.length,items:i,remediation:"Claim active work with `pm claim <id>` or return abandoned work to open with `pm update <id> --status open`."}}async function Io(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>we(String(o.status))===we(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await Je(vo.join(e,"history",`${o.id}.jsonl`),o.id)}catch{return}let s=i.map(a=>a.ts).filter(a=>Number.isFinite(Date.parse(a))).sort((a,c)=>Date.parse(c)-Date.parse(a))[0];s&&n.set(o.id,s)})),cr(t,{...r,last_history_activity:o=>n.get(o.id)})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42b217a3-31c0-561a-b7cb-b1a584b2edd5")}catch{}})();var Co=new Set(["rename-type","rename-field","remap-status",...Ut]);function xo(e,t){if(t&&!Co.has(e))throw new m(`schema ${e} does not support --dry-run. Preview is supported for rename-type, rename-field, remap-status and workflow-policy actions. Remove --dry-run only when you intend to apply changes.`,u.USAGE,{code:"invalid_argument_value",examples:["pm schema rename-type Spike --to Experiment --dry-run"]})}(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]="4ce8635f-ea61-5443-abfc-092219a82396")}catch{}})();var O="-",lr=new Set(["actual_result","body","cmd","command","customer_impact","description","environment","expected_result","impact","location","message","note","outcome","repro_steps","resolution","text","title","unblock_note","value","why_now"]);function ur(e,t){if(e.startsWith("```")||e.includes(`
|
|
3
|
+
`))return!0;let r=t.map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(`^(?:[-*+]\\s+)?(?:${r})\\s*[:=]`,"i").test(e)}function mr(e){let t=e.trim();if(t==="")return[];let r=(Do(t)??t.split(",")).map(n=>n.trim()).filter(Boolean).map(n=>n.toLowerCase());return Array.from(new Set(r)).sort((n,o)=>n.localeCompare(o))}function fr(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of mr(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function pr(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function Ro(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function ko(e,t,r){let n=e.map(s=>s.trim()).filter(Boolean);for(let s of t??[]){let a=s.trim();if(a.includes(";"))throw new m('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',u.USAGE,{code:"acceptance_criteria_semicolon_forbidden",required:"Pass one semicolon-free criterion per --add-ac value",why:"A semicolon inside one criterion would be re-read as multiple criteria",nextSteps:["Split the text into repeated --add-ac values, or replace the semicolon with punctuation that is not the storage delimiter"]});a.length>0&&!n.includes(a)&&n.push(a)}let o=[],i=n;for(let s of r??[]){let a=s.trim();if(a.length!==0){if(!i.includes(a)){o.push(a);continue}i=i.filter(c=>c!==a)}}return{criteria:i,unmatchedRemovals:o}}function Lo(e,t){let r=pr(e);if(!t||t.length===0)return Array.from(new Set(r)).sort((o,i)=>o.localeCompare(i));let n=new Set(r);for(let o of fr(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Oo(e,t){let r=Array.from(new Set(pr(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(fr(t));return n.size===0?r:r.filter(o=>!n.has(o))}function Do(e){if(!e.startsWith("["))return null;let t;try{t=JSON.parse(e)}catch{return null}return t.map(r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean"?String(r):"").filter(r=>r.length>0)}function lt(e){return e.replace(/\r\n/g,`
|
|
4
|
+
`)}function _r(e){let t=lt(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
|
|
5
|
+
`);return r.length<2||r.at(-1)?.trim()!=="```"?e:r.slice(1,-1).join(`
|
|
6
|
+
`)}function Mo(e){let t=[],r="",n=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(i==="\\"&&e[o+1]===","){r+=",",o+=1;continue}if(i==="\\"&&e[o+1]!==void 0){r+=`${i}${e[o+1]}`,o+=1;continue}if(i==='"'){n=!n,r+=i;continue}if(i===","&&!n){t.push(r),r="";continue}r+=i}return r.trim()&&t.push(r),t}function hr(e){let t=e.trim();if(t.startsWith('"')&&t.endsWith('"')){try{let r=JSON.parse(t);if(typeof r=="string")return r}catch{}return t.slice(1,-1).replace(/\\"/g,'"')}return e}function No(e){let t=e.indexOf("="),r=e.indexOf(":"),n=t>=0,o=r>=0;return n&&o?Math.min(t,r):n?t:o?r:-1}function Po(e,t){if((t==="--add"||t==="--add-glob")&&(/[./\\]/.test(e)||/\.[a-z]{1,6}$/i.test(e.trim())))return"For file/doc paths use: path=<file-path>[,scope=project|global]. The scope field is optional and defaults to project (example: path=src/api.ts or path=README.md,scope=project). ";if(t!=="--event")return"";let r=e.toLowerCase(),n=r.includes("recur_")||r.includes("recurrence")?' Recurrence list values must stay in one field and use "|" delimiters (for example recur_by_weekday=mon|wed or recur_by_month_day=1|15).':"",o=r.includes("recur_byweekday")?" Use recur_by_weekday (with underscores) for weekday recurrence filters.":"";return`${n}${o}`}function dr(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=Po(e,t);return`Invalid ${t} value "${n}". Expected key=value entries separated by commas. `+o+`Also accepts markdown-style key/value lines (for example "- path: README.md"). Use ${t} ${O} to read piped stdin input.`}function $o(e){let t=_r(e).trim();if(t.length===0||!t.includes(`
|
|
7
|
+
`)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,o=lt(t).split(`
|
|
8
|
+
`).map(i=>i.trim()).filter(i=>i.length>0);for(let i of o){let s=i.match(/^(?:[-*+]\s+)?([a-zA-Z0-9_.-]+)\s*(=|:)\s*(.*)$/);if(s){let a=s[1].trim();r[a]=hr(s[3].trim()),n=a;continue}if(n&&lr.has(n.toLowerCase())){r[n]=`${r[n]}
|
|
9
|
+
${i}`;continue}return null}return r}function gr(e,t){let r=_r(e).trim();if(!r)throw new m(`${t} cannot be empty`,u.USAGE);let n=$o(r);if(n)return n;let o={},i,s=Mo(r);for(let a of s){let c=No(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new m(dr(e,t),u.USAGE);let l=hr(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&lr.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new m(dr(e,t),u.USAGE)}return o}var zo=/^[A-Za-z]:[\\/]/,Fo=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function Uo(e){let t=e.trim();return zo.test(t)?!1:Fo.test(t)}function vc(e,t,r,n){if(!(n||!e.includes(",")))throw new m(`${t} received an ambiguous comma-bearing bare ${r}. Repeat ${t} for multiple values, or quote or escape literal commas in a structured key=<value> entry.`,u.USAGE,{code:"bare_comma_entry_ambiguous",required:`Use one ${t} per bare ${r}, or quote or escape literal commas in a structured key=<value> entry.`})}function Vo(e,t,r){let n=new Set(r.map(i=>i.toLowerCase())),o=Object.keys(e).filter(i=>!n.has(i.toLowerCase()));if(o.length>0)throw new m(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,u.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new m(`${t} provides key "${i}" more than once after case normalization.`,u.USAGE);e[s]=e[i],delete e[i]}}}async function qo(e){if(process.stdin.isTTY===!0)throw new m(`${e} value "${O}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,u.USAGE);return process.stdin.setEncoding("utf8"),await new Promise((t,r)=>{let n="";process.stdin.on("data",o=>{n+=o}),process.stdin.on("end",()=>{t(lt(n))}),process.stdin.on("error",o=>{r(o)})})}var V=Symbol("all-mutation-stdin-fields"),A=new WeakMap;function yr(e){return A.set(e,V),e}function jo(e,t){let r=A.get(e);return r===V||A.set(e,new Set([...r??[],...t])),e}function Ho(e,t){let r=A.get(e);return r===void 0||A.set(t,r===V?r:new Set(r)),t}function Ac(e,t){let r=A.get(e),n=A.get(t);return r===void 0||n===V?t:r===V?(A.set(t,r),t):(A.set(t,new Set([...n??[],...r])),t)}function Yo(e){return A.get(e)!==V}function be(e,t){let r=A.get(e);return r!==V&&!r?.has(t)}function Bo(e){let t;for(let r of e){if(r.resolveToken===!1||r.value===void 0)continue;let n=(Array.isArray(r.value)?r.value:[r.value]).filter(o=>o.trim()===O).length;if(n>1)throw new m(`${r.optionName} accepts "${O}" stdin token at most once per command invocation`,u.USAGE);if(n!==0){if(t!==void 0&&t!==r.optionName)throw new m(`Only one option may use "${O}" stdin token per command invocation. Already used by ${t}.`,u.USAGE);t=r.optionName}}}async function Ic(e,t,r){let n=e,o=[...t,...r];Bo(o.map(([a,c])=>({value:n[a],optionName:c,resolveToken:be(e,a)})));let i=Se(),s={...n};for(let[a,c]of t)s[a]=await i.resolveValue(n[a],c,be(e,a));for(let[a,c]of r)s[a]=await i.resolveList(n[a],c,be(e,a));return yr(s)}function Se(){let e,t,r=async n=>{if(t&&t!==n)throw new m(`Only one option may use "${O}" stdin token per command invocation. Already used by ${t}.`,u.USAGE);return t=n,e||(e=qo(n)),await e};return{resolveValue:async(n,o,i=!0)=>{if(!i)return n;if(n!==void 0)return n.trim()!==O?n:await r(o)},resolveList:async(n,o,i=!0)=>{if(!i)return n;if(!n)return;let s=n.map((d,l)=>d.trim()===O?l:-1).filter(d=>d>=0);if(s.length===0)return n;if(s.length>1)throw new m(`${o} accepts "${O}" stdin token at most once per command invocation`,u.USAGE);let a=await r(o),c=[...n];return c[s[0]]=a,c}}}function Go(e,t){let r=Number(e);if(!Number.isFinite(r))throw new m(`Invalid ${t} value "${e}"`,u.USAGE);return r}function Wo(e,t){let r=e.trim(),n=Number(r);if(r===""||!Number.isInteger(n)||n<0)throw new m(`Invalid ${t} value "${e}". Expected a non-negative integer.`,u.USAGE);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]="8d14cb04-d740-5fb7-ad97-f9a39490eb87")}catch{}})();function Oc(e){try{return e()}catch(t){throw!(t instanceof m)||t.exitCode!==u.USAGE?t:new m(`${t.message} No changes were made.`,u.USAGE,{...t.context,code:t.code==="linked_test_command_not_executable"?t.code:"invalid_argument_value",reason:"test_option_invalid",changed:!1,required:t.context.required??t.message})}}function Ko(e,t){if(e[t]==="'"){let r=e.indexOf("'",t+1);return r<0?void 0:r+1}for(let r=t+1;r<e.length;r+=1){if(e[r]==='"')return r+1;if(e[r]==="\\"){r+=1;continue}if(e[r]==="`"||e.startsWith("$(",r))return}}function Xo(e,t){let r=t;for(;r<e.length;){let n=e[r];if(/\s/u.test(n)||";&|".includes(n))return r;if(n==="\\"){r+=2;continue}if(n==="'"||n==='"'){let o=Ko(e,r);if(o===void 0)return;r=o;continue}if("<>()`".includes(n))return;r+=1}return r===e.length?r:void 0}function ut(e,t){let r=t;for(;r<e.length;){if(/\s/u.test(e[r])){r+=1;continue}if(e[r]!=="#")return r;let n=e.indexOf(`
|
|
10
|
+
`,r);if(n<0)return e.length;r=n+1}return r}function Jo(e,t){let r=ut(e,t),n=e[r];return n===void 0||!";&|".includes(n)?r:(r+=1,n!==";"&&e[r]===n&&(r+=1),ut(e,r))}function Qo(e){let t=e.trim(),r=ut(t,0);if(t.length===0)return!1;for(;r<t.length;){if(!/[A-Za-z_]/u.test(t[r]))return!1;let n=r+1;for(;n<t.length&&/[A-Za-z0-9_]/u.test(t[n]);)n+=1;if(t[n]!=="=")return!1;let o=Xo(t,n+1);if(o===void 0)return!1;r=Jo(t,o)}return!0}function Er(e){if(!(e===void 0||!Qo(e)))throw new m("Linked-test command contains only variable assignments or comments and has no executable command.",u.USAGE,{code:"linked_test_command_not_executable",required:'Supply an actual test command with --add "command=<actual command>" or --add-json. Environment assignments may precede that command.',examples:['pm test <id> --add "command=node --version"'],nextSteps:["Remove any already-stored assignment-only entry with --remove-index, then register the actual test command."]})}function Dc(e){if(Er(e.command),!(e.pm_context_mode!=="none"||e.workspace_context_mode==="isolated"||e.workspace_context_mode==="snapshot"))throw new m("pm_context_mode=none requires workspace_context_mode=isolated or snapshot so implicit tracker discovery cannot reach the source workspace.",u.USAGE,{code:"linked_test_context_invalid",required:"Set workspace_context_mode to isolated or snapshot when pm_context_mode is none.",examples:[jt(["test","<id>","--add-json",JSON.stringify({command:e.command,pm_context_mode:"none",workspace_context_mode:"isolated"})])]})}var Te=["command","cmd","path","scope","timeout","timeout_seconds","pm_context_mode","workspace_context_mode","env_set","env_clear","shared_host_safe","assert_stdout_contains","assert_stdout_regex","assert_stderr_contains","assert_stderr_regex","assert_stdout_min_lines","assert_json_field_equals","assert_json_field_gte","note"],Zo=new Set(Te);function Mc(e){return ur(e,Te)}function ei(e,t){let r={},n=[];for(let[o,i]of Object.entries(e)){let s=o.toLowerCase();if(!Zo.has(s)){n.push(o);continue}if(Object.hasOwn(r,s))throw new m(`${t} provides key "${o}" more than once after case normalization`,u.USAGE);r[s]=i}if(n.length>0)throw new m(`${t} does not recognize key${n.length>1?"s":""} ${n.map(o=>`"${o}"`).join(", ")}. Allowed keys: ${Te.join(", ")}.`,u.USAGE);if(r.cmd!==void 0){if(r.command!==void 0&&r.command.trim()!==r.cmd.trim())throw new m(`${t} command and cmd must match when both are provided`,u.USAGE);let{cmd:o,...i}=r;return{...i,command:i.command??o}}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b58016fa-9817-5421-a4a3-78d1b1d22937")}catch{}})();import{readFile as ti}from"node:fs/promises";import wr 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]="7cc00705-c03e-5a18-9bec-af2585939ed8")}catch{}})();function Zc(e){if(e!==void 0){if(typeof e!="string")throw new m("--rollback requires a non-empty checkpoint ID string",u.USAGE);return br(e)}}function br(e){let t=e.trim();if(!t)throw new m("--rollback requires a non-empty checkpoint ID",u.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new m("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",u.USAGE);return t}function ri(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function ni(e,t){return wr.join(e,"checkpoints",t)}function Sr(e,t,r){return wr.join(ni(e,t),`${r}.json`)}async function oi(e,t,r,n){let o=Sr(e,t,r),i=`${JSON.stringify(n,null,2)}
|
|
11
|
+
`;if(!await Vt(o,i)&&await T(o)!==i)throw new m(`Checkpoint ${r} already exists with different contents; use a new checkpoint ID.`,u.CONFLICT);return o}function ii(e,t){if(!Array.isArray(e.items))throw new m(`Checkpoint ${t} is missing items`,u.GENERIC_FAILURE);return e.items.map(r=>{if(!r||typeof r!="object")throw new m(`Checkpoint ${t} contains an invalid item entry`,u.GENERIC_FAILURE);let n=r;if(typeof n.id!="string"||n.id.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without ID`,u.GENERIC_FAILURE);if(typeof n.target_updated_at!="string"||n.target_updated_at.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without target_updated_at`,u.GENERIC_FAILURE);return{id:n.id.trim(),target_updated_at:n.target_updated_at.trim()}})}async function si(e,t,r,n){let o=br(r),i=Sr(e,t,o);if(!await G(i))throw new m(`Checkpoint ${o} not found`,u.NOT_FOUND);let s=await ti(i,"utf8"),a;try{a=JSON.parse(s)}catch(l){throw new m(`Checkpoint ${o} contains invalid JSON: ${b(l)}`,u.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new m(`Checkpoint ${o} is invalid`,u.GENERIC_FAILURE);let c=a;if(c.schema_version!==n)throw new m(`Checkpoint ${o} has unsupported schema version. Inspect pm history and use an explicit pm restore only after reviewing later edits.`,u.GENERIC_FAILURE);let d=ii(c,o);return{record:c,items:d,path:i,id:typeof c.id=="string"?c.id:o,created_at:typeof c.created_at=="string"?c.created_at:M(),author:typeof c.author=="string"?c.author:"unknown"}}async function ai(e,t){let r=[],n=[];for(let o of e)try{let i=await t(o.id,o.target_updated_at);r.push({id:o.id,status:i.skipped?"skipped":"restored",changed_fields:i.changed_fields,warnings:i.warnings}),i.skipped||n.push(o.id)}catch(i){r.push({id:o.id,status:"failed",error:b(i)})}return{rows:r,restored_ids:n,failed_count:r.filter(o=>o.status==="failed").length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb883ffc-c431-5bf9-a973-931a8a0a940c")}catch{}})();function N(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function td(e,t){let r=N(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>N(n.definition.id)===r)??null}function ci(e,t){let r=N(t);return!e||!r?null:[...e.search_providers].reverse().find(n=>(N(n.runtime_definition?.name)??N(n.definition?.name))===r)??null}function di(e,t){let r=N(t);return!e||!r?null:[...e.vector_store_adapters].reverse().find(n=>(N(n.runtime_definition?.name)??N(n.definition?.name))===r)??null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4441095d-0acd-5780-8758-7df94396cb8e")}catch{}})();function mt(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function li(e){let t=[];for(let n of e)if(typeof n=="string")t.push(n);else if(typeof n=="number"&&Number.isFinite(n))t.push(String(n));else return"";let r=mt(t.join(`
|
|
12
|
+
`));return r.length>0?r.join(","):""}function ui(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return li(e);if(typeof e!="string")return"";let t=mt(e);return t.length>0?t.join(","):""}(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]="1dcf0d72-10da-51b6-b9f6-ab47bebcbf64")}catch{}})();function Tr(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function ft(e){if(e==="/body"||e.startsWith("/body/"))return"body";if(e==="/metadata"||e.startsWith("/metadata/")||e==="/front_matter"||e.startsWith("/front_matter/")){let r=e.replace(/^\/(?:metadata|front_matter)\/?/,"").split("/")[0];return r?Tr(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?Tr(t):"root"}function ve(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function mi(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=Yt(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=Bt(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let p=new Set;for(let f of a.patch)p.add(ft(f.path)),f.from!==void 0&&p.add(ft(f.from));let _=[...p].sort((f,g)=>f.localeCompare(g));if(s>=r)if(n!==void 0){if(!p.has(n))continue;let f={field:n,before:ve(c,n),after:ve(l,n)};i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:[n],changes:[f]})}else{let f=_.map(g=>({field:g,before:ve(c,g),after:ve(l,g)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:_,changes:f})}}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]="80805c6b-9b9a-5dad-b94b-d7dbd365fe5e")}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]="2fd342e6-06cc-56d4-aa0e-2af269234b59")}catch{}})();var fi=new Set(["none","null","undefined"]);function hd(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",u.USAGE)}function pi(e){if(typeof e!="string")throw new m("--parent must be a string. Use --unset parent to clear this field.",u.USAGE);let t=e.trim();if(t.length===0)throw new m("--parent must not be empty. Use --parent none to unset.",u.USAGE);if(vr(t))throw new m(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,u.USAGE);return t}function vr(e){return fi.has(e.trim().toLowerCase())}function _i(e,t){if(t==="strict_error")throw new m(`Parent item "${e}" was not found. Create it first or use --parent none.`,u.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function hi(e,t,r){let n=pe(e,r),o=pe(t,r);if(n!==o)return;let i=t!==o||e!==n?` (normalized from parent "${t}" and item "${e}")`:"";throw new m(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,u.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]="0257ab6d-3ef8-5b98-adfd-c7dabd537c43")}catch{}})();var pt={critical:0,high:1,medium:2,low:3,minimal:4},gi=Object.keys(pt),yi=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${gi.join(", ")}), case-insensitive`;function Ae(e){return new m(`Invalid priority "${e}". Accepted values: ${yi}.`,u.USAGE)}function Ei(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Ae(String(e))}if(typeof e!="string")throw Ae(String(e));let t=e.trim();if(t.length===0)throw Ae(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(pt,r))return pt[r];if(/^[0-4]$/.test(t))return Number(t);throw Ae(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6206b0e-0cd8-5827-acbd-6ac064dbcad7")}catch{}})();var wi=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,bi=64;function Td(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",u.USAGE)}function Si(e,t,r){let n=t.trim();if(n.length===0)throw new m(`--${e} must not be empty. Use --${e} none to unset.`,u.USAGE);if(n.length<=bi&&wi.test(n))return{value:n,warnings:[]};let o="Expected 1-64 characters matching [A-Za-z0-9][A-Za-z0-9._/-]* (no spaces).";if(r==="strict_error")throw new m(`Invalid --${e} value "${n}". ${o}`,u.USAGE);return{value:n,warnings:[`validation_warning:${e}_format:${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]="14e6c7b4-3161-5f82-b797-f06a879d1370")}catch{}})();var Ar={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},Ir="all";function Rd(e){if(typeof e!="string")return!1;let t=e.split(",").map(r=>r.trim().toLowerCase()).filter(r=>r.length>0);return t.length===1&&t[0]===Ir}function Ti(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Ar[r];return n?t[n]:Ke(e,t)}function vi(e){let t=new Set(Object.keys(Ar));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function Ai(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of vi(t)){let s=Ve(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function Ii(e,t,r){if(typeof e!="string")return;let n=r?.strict===!0,o=r?.flagLabel??"--status",i=e.split(",").map(a=>a.trim()).filter(a=>a.length>0);if(i.length===0)return;if(i.filter(a=>a.trim().toLowerCase()===Ir).length>0){if(i.length===1)return;throw new m(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,u.USAGE)}let s=[];for(let a of i){let c=Ti(a,t);if(c===void 0){if(n){let d=Ai(a,t);throw new m(`Invalid ${o} value "${a}". Use open|closed|canceled or a configured status id${d?`. Did you mean "${d}"?`:"."}`,u.USAGE)}s.push(a);continue}s.push(c)}return[...new Set(s)]}(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]="50f77f3f-b2b0-5ae2-b669-6ed50bbdd530")}catch{}})();var Ci={bug:"Issue",bugfix:"Issue",defect:"Issue",incident:"Issue",enhancement:"Feature",story:"Feature",userstory:"Feature","user-story":"Feature","user story":"Feature",change:"Chore",ticket:"Task",todo:"Task"};function xi(e){if(e!==void 0)return Ci[e.trim().toLowerCase()]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c628dcf9-d98f-566e-9f93-cc81e737691c")}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]="4b79bd02-51ae-5c46-be4c-2f41dd8c9486")}catch{}})();function Cr(e,t){return Be(e,t)}function Ri(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=We(e,o);i!==void 0&&(n[o.metadata_key]=Ht(o,i))}return n}function ki(e,t){for(let[r,n]of Object.entries(t)){let o=e[r];if(Array.isArray(n)){if(Array.isArray(o)){let i=o.map(s=>String(s));if(!n.map(s=>String(s)).every(s=>i.includes(s)))return!1;continue}if(!Cr(o,n[n.length-1]))return!1;continue}if(!Cr(o,n))return!1}return!0}import{spawnSync as Rr}from"node:child_process";(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]="7889f11f-36f9-5384-8429-58d951c342da")}catch{}})();var Li="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",Oi="PM_OLLAMA_MODEL",Di="http://localhost:11434",Mi="qwen3-embedding:0.6b",Ni=".agents/pm/search/lancedb/",Pi=1500,$i=2500,zi=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,Fi=/embed|embedding/i,R=E;function Ui(){let e=R(process.env[Li]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function xr(e){return e.some(t=>R(t)!==null)}function Vi(e){let t=R(e);return!!(t&&t.toLowerCase()!=="ollama")}function qi(e){let t=R(e);return!!(t&&t.toLowerCase()!=="lancedb")}function ji(e){return Vi(e.search?.provider)||qi(e.vector_store?.adapter)||xr([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:xr([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function Hi(){let e=Rr("ollama",["--version"],{encoding:"utf8",timeout:Pi});return e.error?!1:e.status===0}function Yi(e){let t=e.split(/\r?\n/).map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)return null;let r=t.map(n=>n.split(/\s+/)[0]?.trim()).filter(n=>!!(n&&n.length>0)).filter(n=>n.toUpperCase()!=="NAME");return r.length===0?null:r.find(n=>zi.test(n))||(r.find(n=>Fi.test(n))??null)}function Bi(e){let t=R(e.providers?.ollama?.model);if(t)return t;let r=R(process.env[Oi]);if(r)return r;let n=Rr("ollama",["list"],{encoding:"utf8",timeout:$i});if(!n.error&&n.status===0){let o=Yi(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function Gi(e){return{baseUrl:R(e.providers?.ollama?.base_url)===null,model:R(e.providers?.ollama?.model)===null,lancedbPath:R(e.vector_store?.lancedb?.path)===null,embeddingModel:R(e.search?.embedding_model)===null}}function Wi(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function Ki(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=Di),t.model&&(o.model=r)}function Xi(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=Ni}function Ji(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function Ie(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(Ui()||ji(e))return t;let r=Gi(e);if(!Wi(r)||r.model&&!Hi())return t;let n=structuredClone(e),o=Bi(n);return o?(Ki(n,r,o),Xi(n,r),Ji(n,r,o),{settings:n,auto_ollama_defaults_applied:!0}):{...t,auto_ollama_defaults_skipped_reason:"no_installed_embedding_model",auto_ollama_defaults_remediation:`Run ollama pull ${Mi} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`}}(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]="9ecff496-8afa-5cfc-9178-2be8bd403978")}catch{}})();var Zi="reindex";import zr from"node:path";import{mkdir as es,readFile as ts,stat as gt,unlink as rs}from"node:fs/promises";import{basename as Lr,dirname as _t,isAbsolute as ns,join as os,resolve as yt}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]="b5f2e49a-fb72-554b-b0a8-dca0adee71f4")}catch{}})();var Et="pm_items",is=/[^a-zA-Z0-9_-]/g,ss=128,as=".pm-cli-local-vectors",ht=1,q=new Map;function oe(e){return(E(e.collection_name)??Et).replaceAll(is,"_").slice(0,ss)}function Ce(e){if(!K(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Dr(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function cs(e){let t=e.result;if(!Array.isArray(t))throw new TypeError("Qdrant query response must include a result array");let r=t.map((n,o)=>{let i=n.id,s=typeof i=="number"?String(i):i,a=E(s);if(!a)throw new Error(`Qdrant query response entry at index ${o} is missing a non-empty id`);let c=n.score;if(typeof c!="number"||!Number.isFinite(c))throw new TypeError(`Qdrant query response entry at index ${o} is missing a finite numeric score`);let d=n.payload;if(d!==void 0&&(typeof d!="object"||d===null||Array.isArray(d)))throw new Error(`Qdrant query response entry at index ${o} must provide payload as an object when set`);return{id:a,score:c,...d?{payload:d}:{}}});return r.sort((n,o)=>n.score!==o.score?o.score-n.score:n.id.localeCompare(o.id)),r}function wt(e){let t=E(e.result?.status);if(t)return{status:t};let r=E(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function ne(e,t,r,n,o){return await ge({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function ds(e){let t=E(e.vector_store?.qdrant?.url);if(!t)return null;let r=E(e.vector_store?.collection_name),n=E(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Et?{collection_name:r}:{},...n?{api_key:n}:{}}}function ls(e){let t=yt(e),r=_t(t);return Lr(t)==="pm"&&Lr(r)===".agents"?_t(r):t}function us(e,t){return!t||ns(e)?e:yt(ls(t),e)}function ms(e,t){let r=E(e.vector_store?.lancedb?.path);if(!r)return null;let n=E(e.vector_store?.collection_name);return{name:"lancedb",path:us(r,t),...n&&n!==Et?{collection_name:n}:{}}}function fs(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,r)=>{let n=E(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=Ce(t.vector),i=t.payload;if(i!==void 0&&(typeof i!="object"||i===null||Array.isArray(i)))throw new Error(`Vector upsert record at index ${r} must provide payload as an object when set`);return{id:n,vector:o,...i?{payload:i}:{}}})}function ps(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((n,o)=>{let i=E(n);if(!i)throw new Error(`Vector delete id at index ${o} is missing a non-empty value`);return i}).sort((n,o)=>n.localeCompare(o)),r=[];for(let n of t)r.at(-1)!==n&&r.push(n);return r}function _s(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function hs(e){return e.replace(/\/points\?wait=true$/,"")}function xe(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Re(e,t){return J(e,t)}function J(e,t){return os(yt(e),as,`${t}.json`)}function gs(e,t,r){let n=E(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=Ce(e.vector),i=e.payload;if(i!==void 0&&(typeof i!="object"||i===null||Array.isArray(i)))throw new Error(`LanceDB local snapshot '${r}' record '${n}' must provide payload as an object when set`);return{id:n,vector:o,...i?{payload:i}:{}}}function ys(e,t,r){let n;try{n=JSON.parse(r)}catch(a){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${b(a)}`)}if(typeof n!="object"||n===null||Array.isArray(n))throw new Error(`LanceDB local snapshot at '${e}' must be a JSON object`);if(n.version!==ht)throw new Error(`LanceDB local snapshot at '${e}' must include version=${ht}`);let o=E(n.table);if(!o)throw new Error(`LanceDB local snapshot at '${e}' must include a non-empty table value`);if(o!==t)throw new Error(`LanceDB local snapshot at '${e}' table mismatch: expected '${t}', received '${o}'`);let i=n.records;if(!Array.isArray(i))throw new TypeError(`LanceDB local snapshot at '${e}' must include a records array`);let s=new Map;for(let a=0;a<i.length;a+=1){let c=gs(i[a],a,e);s.set(c.id,c)}return s}async function Es(e){try{let t=await gt(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!W(t))throw t;return null}}function ws(e,t){if(!t)return null;if(t.mtimeMs===null&&t.size===null&&t.records.size===0)return t.records;let r=new Map;return q.set(e,{records:r,mtimeMs:null,size:null}),r}function bs(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function bt(e,t){let r=Re(e,t),n=J(e,t),o=await Es(n),i=q.get(r);if(!o){let a=ws(r,i);if(a)return a}if(bs(i,o))return i.records;let s=new Map;try{let a=await ts(n,"utf8");s=ys(n,t,a)}catch(a){if(!W(a))throw a}return q.set(r,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function Ss(e){let t=[...e.values()];return t.sort((r,n)=>r.id.localeCompare(n.id)),t.map(r=>({id:r.id,vector:[...r.vector],...r.payload?{payload:r.payload}:{}}))}async function Mr(e){try{await rs(e)}catch(t){if(!W(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${b(t)}`)}}async function Nr(e,t,r){let n=J(e,t);if(r.size===0){await Mr(n);return}let o=_t(n);try{await es(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${b(s)}`)}let i=`${JSON.stringify({version:ht,table:t,records:Ss(r)})}
|
|
13
|
+
`;try{await v(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${b(s)}`)}}async function Ts(e,t){let r=Re(e,t),n=J(e,t);await Mr(n),q.delete(r)}function Or(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function vs(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=Or(e),o=Or(t);return n===0||o===0?0:r/(n*o)}function St(e,t){let r=ds(e),n=ms(e,t),o=[r,n].filter(a=>a!==null),i=E(e.vector_store?.adapter),s=i?i.toLowerCase():null;return{active:(s?o.find(a=>a.name===s):void 0)??o[0]??null,available:o}}function ke(e){let t=oe(e);if(e.name==="qdrant"){let o=Z(e.url),i=encodeURIComponent(t);return{store:"qdrant",query_target:`${o}/collections/${i}/points/search`,upsert_target:`${o}/collections/${i}/points?wait=true`}}let r=encodeURIComponent(e.path),n=encodeURIComponent(t);return{store:"lancedb",query_target:`lancedb://${r}#${n}`,upsert_target:`lancedb://${r}#${n}`}}function As(e,t,r){let n=ke(e),o=Ce(t),i=Dr(r);return e.name==="qdrant"?{target:n,method:"POST",headers:xe(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:oe(e),vector:o,limit:i}}}function Is(e,t){let r=ke(e),n=fs(t);return e.name==="qdrant"?{target:r,method:"POST",headers:xe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:oe(e),records:n}}}function Cs(e,t){let r=ke(e),n=ps(t);return e.name==="qdrant"?{target:r,method:"POST",headers:xe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:oe(e),ids:n}}}async function Qd(e,t,r,n={}){let o=As(e,t,r);if(o.method==="LOCAL"){let c=e,d=o.body,l=await bt(c.path,d.table);if(l.size===0)return[];let p=Ce(d.vector),_=Dr(d.limit),f=[],g=0;for(let h of l.values()){if(h.vector.length!==p.length){g++;continue}f.push({id:h.id,score:vs(p,h.vector),...h.payload?{payload:h.payload}:{}})}return g>0&&n.warnings&&n.warnings.push(`vector_dimension_mismatch:${g} records skipped (expected ${p.length} dimensions)`),f.sort((h,y)=>h.score!==y.score?y.score-h.score:h.id.localeCompare(y.id)),f.slice(0,_)}let i=P(n.timeout_ms,"Vector request"),s=$(n.fetcher,"Vector request"),a=await ne(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return cs(a)}async function Tt(e,t,r={}){let n=Is(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Re(a.path,c.table),l=await bt(a.path,c.table);for(let f of c.records)l.set(f.id,f);await Nr(a.path,c.table,l);let p=J(a.path,c.table),_=await gt(p);return q.set(d,{records:l,mtimeMs:_.mtimeMs,size:_.size}),{status:"ok"}}let o=P(r.timeout_ms,"Vector request"),i=$(r.fetcher,"Vector request"),s=await ne(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},o,i,"upsert");return wt(s)}async function Le(e,t,r={}){let n=Cs(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Re(a.path,c.table),l=await bt(a.path,c.table);if(l.size===0)return{status:"ok"};for(let p of c.ids)l.delete(p);if(await Nr(a.path,c.table,l),l.size===0)q.delete(d);else{let p=J(a.path,c.table),_=await gt(p);q.set(d,{records:l,mtimeMs:_.mtimeMs,size:_.size})}return{status:"ok"}}let o=P(r.timeout_ms,"Vector request"),i=$(r.fetcher,"Vector request"),s=await ne(_s(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return wt(s)}async function Pr(e,t=[],r={},n){if(e.name==="lancedb")return await Ts(e.path,oe(e)),{status:"ok"};if(n!==void 0){if(!Number.isInteger(n)||n<=0)throw new Error("Vector reset dimension must be a positive integer when provided");let i=ke(e),s=hs(i.upsert_target),a=P(r.timeout_ms,"Vector request"),c=$(r.fetcher,"Vector request"),d=xe(e);try{await ne(s,{method:"DELETE",headers:d,body:{}},a,c,"delete")}catch(p){if(!b(p).includes("failed with status 404"))throw p}let l=await ne(s,{method:"PUT",headers:d,body:{vectors:{size:n,distance:"Cosine"}}},a,c,"upsert");return wt(l)}let o=t.map(i=>i.trim()).filter(i=>i.length>0);return o.length===0?{status:"ok"}:await Le(e,o,r)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f8acaac5-64f7-5e22-987e-4eb12a1aa1cf")}catch{}})();function Oe(e,t){let r=E(e),n=E(t);return!r||!n?null:{provider:r,model:n}}function $r(e){if(e==null)return null;if(typeof e!="object"||Array.isArray(e))throw new Error("Vectorization embedding metadata must be an object when set");let t=Oe(e.provider,e.model),r=e.vector_dimension;if(!t||typeof r!="number"||!Number.isInteger(r)||r<=0)throw new Error("Vectorization embedding metadata must include provider, model, and positive vector_dimension");return{...t,vector_dimension:r}}function vt(e,t){if(!Number.isInteger(t)||t<=0)throw new Error("Vectorization embedding metadata requires a positive vector dimension");return{provider:e.provider,model:e.model,vector_dimension:t}}function At(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function It(e,t){return!!(e&&e.vector_dimension!==t)}function Ct(e,t){if(e.length===0)throw new Error(`${t} returned no vectors`);let r=e[0].length;if(!Number.isInteger(r)||r<=0)throw new Error(`${t} returned an empty vector`);for(let n=1;n<e.length;n+=1)if(e[n]?.length!==r)throw new Error(`${t} returned mixed vector dimensions`);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7113dff5-c8e0-5ba6-b0ae-2ff849ed94df")}catch{}})();var Fr="search/vectorization-status.json";function se(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function Ur(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function Vr(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!Ur(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function qr(e){let t=zr.join(e,Fr),r=await T(t);if(r===null||r.trim().length===0)return{entries:{},embedding:null,warnings:[]};let n;try{n=JSON.parse(r)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}if(typeof n!="object"||n===null||n.version!==1||!Array.isArray(n.items))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let o=new Map;for(let s of n.items){if(typeof s!="object"||s===null)return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let a=s.id,c=s.updated_at;if(typeof a!="string"||a.trim().length===0||!Ur(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=$r(n.embedding)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}return{entries:Object.fromEntries([...o.entries()].sort((s,a)=>s[0].localeCompare(a[0]))),embedding:i,warnings:[]}}async function jr(e,t,r){let n=Vr(t),o=zr.join(e,Fr),i=`${JSON.stringify({version:1,generated_at:M(),...r?{embedding:r}:{},items:Object.entries(n).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
|
|
14
|
+
`;await v(o,i)}function xs(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function Rs(e){let t=Oe(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function ie(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function ks(e,t,r){if(!r.settings&&!await G(He(e)))return ie(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await _e(e),c=a.warnings.find(d=>d.startsWith("settings_read_"));if(c)return ie(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=a.settings}}catch(a){return ie(t,`search_semantic_refresh_skipped:settings_read_failed:${b(a)}`)}let o=r.apply_runtime_defaults?Ie(n).settings:n,i=tt(o).active;if(!i)return ie(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=St(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:ie(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function Ls(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let p=await Ze(e,l,t,r,o);if(!p){c.add(l);continue}try{let _=await et(p,{schema:i});d.push({id:_.document.metadata.id,document:_.document})}catch(_){a.add(p.id),s.push(`search_semantic_refresh_item_read_failed:${p.id}:${b(_)}`)}}return d.sort((l,p)=>l.id.localeCompare(p.id)),{documents:d,missingIds:se(c),skippedIds:se(a),warnings:s}}async function Os(e,t,r){let n=X(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=rt(e),i=r.map(a=>nt(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await it(t,e,i);return{vectors:s.vectors,vector_dimension:Ct(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function Ds(e,t,r){return await Tt(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:xs(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function Ms(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await Le(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${b(r)}`]}}}async function El(e,t,r={}){let n=se(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await ks(e,n,r);if(!("settings"in o))return o;let i=je(o.settings,Ge()),s=await Ls(e,o.settings.id_prefix,o.settings.item_format,n,i.type_to_folder,o.settings.schema),a=s.documents.length>0||s.missingIds.length>0?await qr(e):{entries:{},embedding:null,warnings:[]},c=Rs(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},p=a.embedding;if(s.documents.length>0)if(a.embedding&&At(a.embedding,c))l={refreshed:[],skipped:s.documents.map(y=>y.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let y=await Os(o.settings,o.provider,s.documents);if(It(a.embedding,y.vector_dimension))l={refreshed:[],skipped:s.documents.map(w=>w.id),warnings:[...y.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{p=vt(c,y.vector_dimension);let w=await Ds(o.vectorStore,s.documents,y.vectors);l={refreshed:w.refreshed,skipped:w.skipped,warnings:[...y.warnings,...w.warnings]}}}catch(y){l={refreshed:[],skipped:s.documents.map(w=>w.id),warnings:[`search_semantic_refresh_failed:${b(y)}`]}}let _=await Ms(o.vectorStore,s.missingIds),f=new Set(l.refreshed),g=Object.fromEntries(s.documents.filter(y=>f.has(y.id)).map(y=>[y.id,y.document.metadata.updated_at])),h=[];if(Object.keys(g).length>0||s.missingIds.length>0){let y={...d,...Vr(g)};for(let w of s.missingIds)delete y[w];try{await jr(e,y,p)}catch(w){h.push(`search_vectorization_status_ledger_write_failed:${b(w)}`)}h.push(...a.warnings)}return{refreshed:se([...l.refreshed,..._.refreshed]),skipped:se([...s.skippedIds,...l.skipped,..._.skipped]),warnings:[...s.warnings,...l.warnings,..._.warnings,...h]}}import{createRequire as zs}from"node:module";(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]="eae1b641-d6ed-5c32-899e-fe534a17aafd")}catch{}})();var Ns=new Set(["1","true","yes","on"]),Me=["user","automation","test","dogfood"],Ps=new Set(Me);function Hr(e=process.env){return typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||typeof e.NODE_TEST_CONTEXT=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test"}function De(e,t){return Ns.has((t[e]??"").trim().toLowerCase())}function ae(e=process.env){let t=De("DO_NOT_TRACK",e),r=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),n=Hr(e)&&!Ps.has(r)&&!De("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||n||De("PM_TELEMETRY_DISABLED",e)||De("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed: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]="64589e00-25ef-5d74-a94a-7d40455e1929")}catch{}})();var Br=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,Sl=new RegExp(`(?:\\b|(?<=_))(${Br.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var Yr="(?:\\s|\\\\+u(?:0009|000a|000d|0020))*",Tl=new RegExp("^"+Yr+"(?::|=|\\\\+u(?:003a|003d))"+Yr,"iu");(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]="07b08f80-aa60-5ffa-b969-2859839f3f2d")}catch{}})();var kl=zs(import.meta.url);(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]="bd65294f-dfa5-53d2-9691-c630884f2a5f")}catch{}})();var Dl=new Map([[u.USAGE,"invalid_command_usage"],[u.NOT_FOUND,"item_not_found"],[u.CONFLICT,"lock_conflict"],[u.DEPENDENCY_FAILED,"dependency_failed"]]);(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]="0d9d54cd-bd42-5958-83df-15316ea520c7")}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]="ab644545-f072-53c0-9ebf-72a62c237a2f")}catch{}})();var Vl=Object.freeze({"<":"<",">":">",""":'"',"'":"'","&":"&"});(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]="e7deff0d-d9c9-5250-b172-ab752ddd64a4")}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]="bc9e1b59-21cb-5dda-91c0-36e123734cd3")}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]="4b566486-120f-5aed-8d92-9e62ed996210")}catch{}})();function Us(e,t){if(e==null)return[];let r=t?.separators??/,/,n=e.split(r).map(i=>i.trim()).filter(i=>i.length>0),o=t?.unique!==!1?Array.from(new Set(n)):n;return t?.sort===!0?[...o].sort():o}import xt from"node:fs/promises";import Ne 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]="12ee7de1-dff4-53f1-8d0d-d8b1c1ebea42")}catch{}})();function Vs(e){return"json_markdown"}function Wr(e,t){return Ne.relative(e,t).replaceAll("\\","/")}function qs(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function js(e,t,r){e!==t&&fe(await xt.readFile(t,"utf8"),{format:"json_markdown",requireSupportedFormat:!0,schema:r})}async function Hs(e,t,r="item_format:migrate",n=qe,o){if(t!=="toon")throw new Error("Only toon item-format migration targets are supported. Markdown item files are legacy read-only input.");let i=new Set,s=new Set,a=[],c=0,d=Vs(t),l=Object.entries(n);for(let[p,_]of l){let f=Ne.join(e,_),g=[];try{g=await xt.readdir(f)}catch{continue}let h=new Map;for(let w of g){let D=Ne.join(f,w),L=Ft(D);if(!L)continue;let Y=Ne.extname(w),Q=w.slice(0,w.length-Y.length).trim();if(Q.length===0)continue;let B=h.get(Q)??{};B[L]=D,h.set(Q,B)}let y=[...h.keys()].sort((w,D)=>w.localeCompare(D));for(let w of y){let D=h.get(w);c+=1;let L=D[d];if(!L)continue;let Y=D[t]??L,Q=Y===D[t]?t:d;try{let B=await xt.readFile(Y,"utf8"),Tn=fe(B,{format:Q,requireSupportedFormat:!0,schema:o,onWarning:vn=>a.push(`item_format_migration_parse_warning:${w}:${vn}`)});await js(Y,L,o);let Ue=Ye(e,p,w,t,n),$t=Xe(Tn,{format:t,schema:o});await T(Ue)!==$t&&(await v(Ue,$t),a.push(...await le({path:Ue,scope:"project",op:r})),i.add(w)),await de(L),s.add(Wr(e,L)),a.push(...await le({path:L,scope:"project",op:`${r}:remove`})),i.add(w)}catch(B){a.push(`item_format_migration_skipped:${Wr(e,Y)}:${qs(B)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((p,_)=>p.localeCompare(_)),removed:[...s].sort((p,_)=>p.localeCompare(_)),warnings: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]="12c59406-7e00-5fe1-bd93-c1f9d8537f01")}catch{}})();var Ys=new Set(["completed","superseded"]);function Bs(e){return e!==void 0&&Ys.has(e)}function Gs(e){if(e.type.trim().toLowerCase()!=="plan")return!1;let t=e.plan_steps??[];return t.length>0&&t.every(r=>r.status==="completed")}import ru from"node:readline/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]="7c005413-4db4-58ce-a8ec-96ebc91a54f9")}catch{}})();import Ot from"node:crypto";import{mkdirSync as Eu,rmSync as Xs,statSync as wu}from"node:fs";import{mkdir as Rt,readdir as Js,rm as Dt,stat as tn}from"node:fs/promises";import{request as Qs}from"node:http";import{request as Zs}from"node:https";import I 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]="4f455b67-536a-59be-8f25-1dc9c9c0b917")}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]="1496ef0f-a192-5491-b84b-ea7da6cce65e")}catch{}})();var ea=I.join("runtime","telemetry","events.jsonl"),ta=I.join("runtime","telemetry","state.json"),ra=I.join("runtime","telemetry","otel-spans.jsonl"),na=8,Kr=500,oa=1;var ia=100,sa=36e5,aa=3e4,Xr=2e4,ca=1e3,da=25e3;var la=864e5,rn=65536;var nn=15;var on=[25,50,100,200],ua=3600*1e3,ma=6e4;var j="PM_TELEMETRY_FLUSH_CHILD";var fa="PM_TELEMETRY_HTTP_TIMEOUT_MS",pa=globalThis.fetch;var Fu=Promise.resolve(),Jr=Promise.resolve();var Uu=new Set(Me),_a=new Set(["1","true","yes","on"]);var Vu=Ot.randomUUID();var sn="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",ha=new RegExp(`\\b(${sn})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),ga=new RegExp(`(--${sn})(=|\\s+)([^\\s,;]+)`,"giu"),ya=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,Ea=/bearer\s+[a-z0-9._=-]+/giu,wa=/\b(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g;function Pe(e){return I.join(e,ea)}function $e(e){return I.join(e,ra)}function ba(e){return I.dirname(Pe(e))}function an(e){return I.join(e,ta)}function cn(e){return I.join(e,"runtime","telemetry","flush.lock")}function Sa(e){return I.join(e,"runtime","telemetry","flush.spawn.lock")}async function Ta(e){let t=await T(an(e));if(!t||t.trim().length===0)return{};try{let r=JSON.parse(t);return typeof r!="object"||r===null||Array.isArray(r)?{}:r}catch{return{}}}async function k(e,t){try{await ce(async()=>{let r={...await Ta(e),...t},n=Object.fromEntries(Object.entries(r).filter(([,o])=>o!==void 0).sort((o,i)=>o[0].localeCompare(i[0])));await v(an(e),`${JSON.stringify(n,null,2)}
|
|
15
|
+
`,{createParentDirectories:!H(process.env[j])})},e)}catch{}}function dn(e){return e.replaceAll(ha,(t,r,n)=>`${r}${n}[redacted]`).replaceAll(ga,(t,r,n)=>`${r}${n}[redacted]`)}function ln(e){return e.replaceAll(ya,(t,r)=>`${r}[redacted_path]`)}function un(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function mn(e){if(!e)return!1;let t=e.charCodeAt(0);return un(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function fn(e){if(!e)return!1;let t=e.charCodeAt(0);return un(t)?!0:e==="."||e==="-"}function va(e){let t=e.indexOf("@");if(t<=0||t!==e.lastIndexOf("@")||t===e.length-1)return!1;let r=e.slice(0,t),n=e.slice(t+1),o=n.lastIndexOf(".");if(o<=0||o===n.length-1||n.length-(o+1)<2)return!1;for(let i of r)if(!mn(i))return!1;for(let i of n)if(!fn(i))return!1;return!0}function Aa(e){let t="",r=0;for(;r<e.length;){let n=e.indexOf("@",r);if(n<0){t+=e.slice(r);break}let o=n-1;for(;o>=r&&mn(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&fn(e[i]);)i+=1;let s=e.slice(o,i);if(va(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function pn(e){return Aa(e).replaceAll(Ea,"bearer [redacted_token]").replaceAll(wa,"[redacted_ip]")}function Ia(e){let t=pn(e),r=dn(t),n=ln(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function Ca(e){let t=pn(e),r=dn(t),n=ln(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>2048?`${n.slice(0,2045)}...`:n}function Lt(e,t="redacted"){return t==="max"?Ca(e):Ia(e)}function xa(e){let t=e?.trim().toLowerCase();return t==="minimal"||t==="redacted"||t==="max"?t:"redacted"}function H(e){return _a.has((e??"").trim().toLowerCase())}function Qr(){let e=process.env[fa]?.trim();if(!e)return Xr;let t=Number(e);return Number.isFinite(t)?Math.min(da,Math.max(ca,Math.trunc(t))):Xr}async function _n(e,t,r){let n=new URL(e);if(globalThis.fetch!==pa){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},Qr())});try{return(await Promise.race([globalThis.fetch(e,{method:"POST",headers:t,body:r,signal:i.signal}),a])).status}finally{clearTimeout(s)}}let o=n.protocol==="https:"?Zs:n.protocol==="http:"?Qs:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=Qr(),c={method:"POST",headers:{...t,"content-length":Buffer.byteLength(r)},signal:AbortSignal.timeout(a),autoSelectFamilyAttemptTimeout:Math.min(5e3,a)},d=o(n,c,l=>{l.once("error",s),l.once("end",()=>i(l.statusCode)),l.resume()});d.once("error",s),d.end(r)})}async function Ra(e){let t=await te(e);if(!t.telemetry.enabled||ae().telemetry_disabled)return null;if(t.telemetry.installation_id.trim().length===0){if(Wt(e))return null;t.telemetry.installation_id=Ot.randomUUID(),await he(e,t,"telemetry:install_id")}return{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days)),captureLevel:xa(t.telemetry.capture_level)}}function hn(e){let t=[];for(let r of e.split(`
|
|
16
|
+
`)){let n=r.trim();if(n.length!==0)try{let o=JSON.parse(n);o&&typeof o=="object"&&o.event&&typeof o.event=="object"&&typeof o.attempts=="number"&&(o.client_schema_version===void 0||typeof o.client_schema_version=="number"&&Number.isFinite(o.client_schema_version))&&t.push(o)}catch{}}return t}function gn(e){let t=Math.min(aa*2**Math.max(e-1,0),sa);return new Date(Date.now()+t).toISOString()}function Mt(e){if(typeof e!="string"||e.trim().length===0)return!0;let t=Date.parse(e);return Number.isNaN(t)?!0:t<=Date.now()}function yn(e){return Mt(e.next_attempt_after)}function En(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*la}function ka(e,t){let r=e.event?.occurred_at;if(typeof r!="string"||r.trim().length===0)return!1;let n=Date.parse(r);return Number.isNaN(n)?!1:n<t}function ze(e,t){let r=En(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>rn||ka(i,r)||i.attempts>=nn){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function wn(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
|
|
17
|
+
`),n=r.length>0?`${r}
|
|
18
|
+
`:"";for(let o=0;;o+=1)try{await v(Pe(e),n,{createParentDirectories:!H(process.env[j])});return}catch(i){let s=on[o];if(s===void 0||!bn(i))throw i;await Sn(s)}}function bn(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function Sn(e){return new Promise(t=>{setTimeout(t,e)})}function La(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return Ot.createHash("sha256").update(t).digest("hex").slice(0,32)}function Nt(e){let t=[];for(let r of e.split(`
|
|
19
|
+
`)){let n=r.trim();if(n.length!==0)try{let o=JSON.parse(n);o&&typeof o=="object"&&typeof o.endpoint=="string"&&o.endpoint.trim().length>0&&"payload"in o&&typeof o.attempts=="number"&&Number.isFinite(o.attempts)&&((typeof o.id!="string"||o.id.length===0)&&(o.id=La(o)),t.push(o))}catch{}}return t}function Oa(e,t){if(typeof e.enqueued_at!="string"||e.enqueued_at.trim().length===0)return!1;let r=Date.parse(e.enqueued_at);return Number.isNaN(r)?!1:r<t}function Pt(e,t){let r=En(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>rn||Oa(i,r)||i.attempts>=nn){o+=1;continue}n.push(i)}if(n.length>Kr){let i=n.length-Kr;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function Da(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
|
|
20
|
+
`),n=r.length>0?`${r}
|
|
21
|
+
`:"";for(let o=0;;o+=1)try{await v($e(e),n,{createParentDirectories:!H(process.env[j])});return}catch(i){let s=on[o];if(s===void 0||!bn(i))throw i;await Sn(s)}}async function Zr(e,t,r,n){return ce(async()=>{let o=await T($e(e)),i=o===null?[]:Nt(o),s=[];for(let c of i){if(r.has(c.id))continue;let d=n.get(c.id);s.push(d?{...c,attempts:d.attempts,next_attempt_after:d.next_attempt_after}:c)}let{entries:a}=Pt(s,t);return await Da(e,a),a.length},e)}async function Ma(e,t){let r=await T($e(e));if(r===null||r.trim().length===0){await k(e,{pending_otel_spans:0});return}let n=Nt(r),{entries:o,prunedCount:i}=Pt(n,t),s=o.filter(g=>Mt(g.next_attempt_after)).slice(0,na);if(s.length===0){let g=i>0?await Zr(e,t,new Set,new Map):o.length;await k(e,{pending_otel_spans:g});return}let a=M(),c=new Set,d=new Map,l=0,p;await Promise.all(s.map(async g=>{try{let h=await _n(g.endpoint,{"content-type":"application/json"},JSON.stringify(g.payload));if(h<200||h>=300)throw new Error(`local_otel_export_http_${h}`);c.add(g.id),l+=1}catch(h){p=h instanceof Error?Lt(h.message,"redacted"):"local_otel_export_failed";let y=g.attempts+1;d.set(g.id,{attempts:y,next_attempt_after:gn(y)})}}));let _=await Zr(e,t,c,d),f={pending_otel_spans:_,last_otel_attempt_at:a};l>0&&(f.last_otel_success_at=a),p!==void 0?(f.last_otel_failure_at=a,f.last_otel_failure_error=p):_===0&&(f.last_otel_failure_at=void 0,f.last_otel_failure_error=void 0),await k(e,f)}async function Na(e,t,r){try{await za(e,t,r)}catch{}try{await Ma(e,r)}catch{}}async function Pa(e,t=ua){try{let r=ba(e),n=await Js(r,{withFileTypes:!0}),o=Date.now()-Math.max(0,t);await Promise.all(n.filter(i=>i.isFile()&&/^\.events\.jsonl\.\d+\.\d+\.[a-f0-9]+\.tmp$/.test(i.name)).map(async i=>{let s=I.join(r,i.name);(await tn(s)).mtimeMs<o&&await Dt(s,{force:!0})}))}catch{}}async function ce(e,t=ee(process.cwd()),r=5e3){let n=Jr.catch(()=>{}).then(()=>qt(async()=>{let o=await me(t,"telemetry-queue",60,"telemetry",!1,!1,r,{createParentDirectories:!H(process.env[j])});try{return Gt(t),await e()}finally{await o()}}));return Jr=n.catch(()=>{}),n}async function Fe(e){let t=await T(Pe(e));return t===null||t.trim().length===0?[]:hn(t)}async function kt(e,t,r){return ce(async()=>{let n=await Fe(e),{entries:o}=ze(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await wn(e,i),i},e)}async function $a(e,t,r,n){return ce(async()=>{let o=await Fe(e),{entries:i}=ze(o,n),s=i.map(a=>{if(!t.has(a.event.event_id))return a;let c=a.attempts+1;return{...a,attempts:c,last_attempt_at:r,next_attempt_after:gn(c)}});return await wn(e,s),s},e)}async function za(e,t,r){await Pa(e);let n=t.trim();if(n.length===0)return;let o=await T(Pe(e));if(o===null||o.trim().length===0){await k(e,{endpoint:n,queue_entries:0});return}let i=hn(o);if(i.length===0){await k(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=ze(i,r);if(s.length===0){let f=await kt(e,new Set,r);await k(e,{endpoint:n,queue_entries:f.length});return}let c=s.filter(f=>yn(f)).slice(0,ia);if(c.length===0){let f=a>0?await kt(e,new Set,r):s;await k(e,{endpoint:n,queue_entries:f.length});return}let d=new Set(c.map(f=>f.event.event_id)),l=M(),p={"content-type":"application/json"},_=process.env.PM_TELEMETRY_INGEST_KEY?.trim();_&&(p["x-pm-telemetry-key"]=_);try{let f=await _n(n,p,JSON.stringify({schema_version:oa,events:c.map(g=>g.event)}));if(f<200||f>=300)throw new Error(`telemetry_flush_http_${f}`)}catch(f){let g=await $a(e,d,l,r),h=f instanceof Error?Lt(f.message,"redacted"):"telemetry_flush_failed";await k(e,{endpoint:n,queue_entries:g.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:h});return}try{let f=await kt(e,d,r);await k(e,{endpoint:n,queue_entries:f.length,last_attempted_flush_at:l,last_successful_flush_at:l,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(f){let g=f instanceof Error?Lt(f.message,"redacted"):"telemetry_flush_failed",h=await Fe(e).catch(()=>s);await k(e,{endpoint:n,queue_entries:h.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:g})}}async function Fa(e){let t=cn(e);H(process.env[j])||await Rt(I.dirname(t),{recursive:!0});try{return await Rt(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await tn(t);return Date.now()-r.mtimeMs<ma?!1:(await Dt(t,{recursive:!0,force:!0}),await Rt(t),!0)}catch{return!1}}function Ua(e){try{Xs(e,{recursive:!0,force:!0})}catch{}}function Va(e){Ua(Sa(e))}async function qa(e,t,r){let n=await Fa(e);if(Va(e),!n)return!1;try{await Na(e,t,r)}finally{try{await Dt(cn(e),{recursive:!0,force:!0})}catch{}}return!0}async function en(e,t){let r=new Set;try{let{entries:n}=ze(await Fe(e),t);for(let o of n.filter(yn))r.add(`event:${o.event.event_id}`)}catch{}try{let n=await T($e(e));if(n!==null)for(let o of Pt(Nt(n),t).entries)Mt(o.next_attempt_after)&&r.add(`span:${o.id}`)}catch{}return r}async function qu(e=ee(process.cwd())){if(!ae().telemetry_disabled)try{await Qe(e,async()=>{let t=H(process.env[j]),r=!0;for(;r;){if(!(await te(e)).telemetry.enabled)return;let n=await ce(()=>Ra(e),e);if(!n)return;let o=t?await en(e,n.retentionDays):new Set;if(!await qa(e,n.endpoint,n.retentionDays)||!t)return;let i=await en(e,n.retentionDays);r=i.size>0&&(i.size!==o.size||[...i].some(s=>!o.has(s)))}},()=>H(process.env[j]))}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]="71950155-4b15-5dc0-8cf8-b980fb12cb4d")}catch{}})();export{Zc as a,ri as b,oi as c,si as d,ai as e,xo as f,ur as g,mr as h,Ro as i,ko as j,Lo as k,Oo as l,gr as m,Uo as n,vc as o,Vo as p,yr as q,jo as r,Ho as s,Ac as t,Yo as u,be as v,Ic as w,Se as x,Go as y,Wo as z,Oc as A,Er as B,Dc as C,Te as D,Mc as E,ei as F,td as G,ci as H,di as I,mt as J,ui as K,ft as L,mi as M,hd as N,pi as O,vr as P,_i as Q,hi as R,Ei as S,Td as T,Si as U,Rd as V,Ii as W,xi as X,An as Y,Ri as Z,ki as _,Ie as $,Zi as aa,Xa as ba,tt as ca,Qt as da,rt as ea,zn as fa,Fn as ga,Za as ha,Zt as ia,X as ja,nt as ka,it as la,St as ma,Qd as na,Tt as oa,Le as pa,Pr as qa,Oe as ra,vt as sa,At as ta,It as ua,Ct as va,qr as wa,jr as xa,El as ya,Me as za,ae as Aa,_o as Ba,ir as Ca,go as Da,yo as Ea,Eo as Fa,lc as Ga,dt as Ha,ar as Ia,sr as Ja,So as Ka,To as La,cr as Ma,Io as Na,Us as Oa,Hs as Pa,Bs as Qa,Gs as Ra,oa as Sa,nn as Ta,ce as Ua,qu as Va};
|
|
22
|
+
//# sourceMappingURL=chunk-BL77VCRB.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Ia as X,Ja as Y,Ka as Q,La as J,V as ke,W as Ke,Z as xe,_ as Oe}from"./chunk-BL77VCRB.js";import{t as ye}from"./chunk-ABMNYWV6.js";import{g as He,m as qe,n as Ve,q as We}from"./chunk-D5YQ4KAE.js";import{B as D,E as Ge,H as $e,I as k,J as ze,e as q,f as De,h as Ne,i as Pe,k as Ue,l as je,v as V,x as W,z as Be}from"./chunk-NE27VCU7.js";import{Ba as Ae,Fa as Re,_a as w,ca as Te,d as Fe,db as C,r as Ee,ra as Ce,sa as Le,t as T,ta as Me}from"./chunk-UHWTPOM4.js";import{b as fe}from"./chunk-YW5GHQN2.js";import{j as A,l as ge}from"./chunk-B266DDBJ.js";import{Ad as R,Bd as ve,Ca as N,Cd as G,Dc as he,aa as h,ge as $,he as z,ic as F,je as H,md as be,nd as we,od as B,pc as _e,qa as I,ra as O,sd as Ie,wa as b,wd as Se}from"./chunk-NLZUI234.js";import{B as pe,y as m,z as f}from"./chunk-KTXU5WU6.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="738a98bc-eaf0-578d-88e3-1c5f83c8894b")}catch{}})();function P(e,t="--limit"){if(e===void 0)return;let r=String(e).trim(),i=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(i)||i<0)throw new f(`${t} must be a non-negative integer`,m.USAGE);return i}function Xe(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),i=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(i)||i<0||i>4)throw new f(`${t} filter must be 0..4`,m.USAGE);return i}function oi(e,t,r="--type"){if(e===void 0)return;let i=O(e,t);if(!i)throw new f(`${r} filter must be one of ${t.types.join("|")}`,m.USAGE);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]="75ecca0c-fac8-5a9b-9043-c65731daad4a")}catch{}})();function Z(e,t){if(e===void 0)return;let r=[],i="";for(let o=0;o<e.length;o+=1){let a=e[o];if(a==="\\"){let l=e[o+1];if(l===","||l==="\\"){i+=l,o+=1;continue}i+=a;continue}if(a===","){r.push(i),i="";continue}i+=a}r.push(i);let n=r.map(o=>o.trim());if(n.some(o=>o.length===0))throw new f(`${t.label} requires at least one non-empty value`,m.USAGE);let s=n.map(o=>t.normalize?.(o)??o);return[...new Set(s)]}function K(e,t){let r=Z(e,t);return r===void 0?void 0:new Set(r)}function Ye(e,t,r="--type"){let i=Z(e,{label:r});if(i===void 0)return;let n=i.map(s=>{let o=O(s,t);if(!o)throw new f(`${r} filter token "${s}" must be one of ${t.types.join("|")}`,m.USAGE);return o});return new Set(n)}function Qe(e,t="--priority"){let r=Z(e,{label:t});if(r!==void 0)return new Set(r.map(i=>Xe(i,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]="f9d73d74-7c4e-5ea9-b34c-c984b4c15ab3")}catch{}})();function Je(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function rt(e){return{isTerminal(t){return e.terminal_statuses.has(Je(t,e))},classify(t){let r=Je(t,e);return e.terminal_canceled_statuses.has(r)?"canceled":e.terminal_statuses.has(r)?"closed":e.blocked_statuses.has(r)?"blocked":e.draft_statuses.has(r)?"draft":r===e.open_status?"open":e.active_statuses.has(r)?"in_progress":"other"}}}function ee(e){return h(e.acceptance_criteria)===void 0}function te(e){return!Number.isFinite(e.estimated_minutes)}function it(e,t){return t.isTerminal(e.status)?h(e.resolution)===void 0:!1}function Qt(e){return h(e.reviewer)===void 0}function Jt(e){return h(e.risk)===void 0}function Zt(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):h(e.confidence)===void 0}function er(e){return h(e.sprint)===void 0}function tr(e){return h(e.release)===void 0}function re(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function rr(e,t,r){return[[t.acMissing,ee(e)],[t.estimatesMissing,te(e)],[t.resolutionMissing,it(e,r)],[t.reviewerMissing,Qt(e)],[t.riskMissing,Jt(e)],[t.confidenceMissing,Zt(e)],[t.sprintMissing,er(e)],[t.releaseMissing,tr(e)]].every(([i,n])=>i!==!0||n)}function ir(e,t){return ee(e)||te(e)||it(e,t)}function nt(e,t,r){return re(t)?!(!rr(e,t,r)||t.metadataMissing&&!ir(e,r)):!0}var ie=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function nr(e,t){switch(t){case"acceptance_criteria":return!ee(e);case"estimated_minutes":return!te(e);case"resolution":return h(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return h(e.parent)!==void 0}}function sr(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function or(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Ze(){let e={};for(let t of ie)e[t]={present:0,applicable:0,percent:100};return e}function et(e,t,r){for(let i of ie){if(!sr(t,i,r))continue;let n=e[i];n.applicable+=1,nr(t,i)&&(n.present+=1)}}function tt(e){for(let t of ie){let r=e[t];r.percent=or(r.present,r.applicable)}}function pi(e,t){let r=Ze(),i={};for(let n of e){et(r,n,t);let s=i[n.type]??(i[n.type]=Ze());et(s,n,t)}tt(r);for(let n of Object.values(i))tt(n);return{overall:r,by_type:i}}var ar={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function lr(e){return ar[e]}function dr(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function cr(e,t,r){switch(t){case"assignee":return[h(e.assignee)??null];case"parent":return[h(e.parent)??null];case"type":return[h(e.type)??null];case"status":return[h(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let i=r.tagPrefix?.trim(),n=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!i||s.startsWith(i)));return n.length>0?n:[null]}}}function yi(e,t,r,i={}){let n=new Map,s=0;for(let a of e){s+=1;let l=r.classify(a.status);for(let d of cr(a,t,i)){let c=d??"\0empty",u=n.get(c);u||(u={label:d??lr(t),key:d,buckets:dr(),total:0},n.set(c,u)),u.buckets[l]+=1,u.total+=1}}let o=[...n.values()].sort((a,l)=>l.total!==a.total?l.total-a.total:a.key===null?1:l.key===null?-1:a.label.localeCompare(l.label));return{dimension:t,rows:o,total_items:s}}(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]="67f9184e-08b6-5f21-9f92-e60974adbf1e")}catch{}})();var L=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function E(e){return Array.isArray(e)&&e.length>0}function ur(e){return typeof e=="string"&&e.trim().length>0}function mr(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let r=t.command;return typeof r=="string"&&r.trim().length>0}):!1}function ot(e,t){switch(t){case"notes":return E(e.notes);case"learnings":return E(e.learnings);case"files":return E(e.files);case"docs":return E(e.docs);case"tests":return E(e.tests);case"comments":return E(e.comments);case"deps":return E(e.dependencies);case"body":return ur(e.body);case"linked_command":return mr(e.tests)}}function at(e){return L.some(t=>e[t]!==void 0)}function lt(e,t){for(let r of L){let i=t[r];if(i===void 0)continue;let n=ot(e,r);if(i==="present"&&!n||i==="absent"&&n)return!1}return!0}function dt(e){return L.some(t=>t!=="body"&&e[t]!==void 0)}function ct(e){return e.body!==void 0}function st(e,t){return t===0?100:Math.round(e/t*1e3)/10}function fr(){let e={};for(let t of L)e[t]={present:0,total:0,percent:100};return e}function _i(e){let t=fr(),r=e.length;for(let o of e)for(let a of L)ot(o,a)&&(t[a].present+=1);for(let o of L)t[o].total=r,t[o].percent=st(t[o].present,r);let i=t.body,n=r-i.present,s={present:n,total:r,percent:st(n,r)};return{total_items:r,fields:t,body_populated:i,empty_body:s}}(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]="084aad9c-485f-5bdc-8da7-225c9c4f695c")}catch{}})();var gt=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),ut=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],se=e=>{let t=ut.find(r=>e[r.presentKey]===!0&&e[r.absentKey]===!0);if(t)throw new f(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,m.USAGE);return Object.fromEntries(ut.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},mt=["priority","deadline","updated_at","created_at","title","parent"],ft=["asc","desc"],_t=new Set(Be);function pr(e,t,r){let i=e.filter(o=>o.startsWith("item_list_item_read_failed:")).length,n=e.filter(o=>o.startsWith("item_list_directory_read_failed:")).length,s={status:t?"unchecked":i+n>0?"partial":"complete",unreadable_item_count:i,unreadable_directory_count:n};if(r&&s.status==="partial")throw new f(`List source is incomplete: ${i} item document(s) and ${n} item directory/directories could not be read.`,m.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return s}function yr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var gr=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],_r=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function ht(e,t){for(let r of gr)t[r.key]===!0&&(e[r.summaryKey]=!0)}function bt(e,t){for(let r of _r)t[r.key]===!0&&(e[r.summaryKey]=!0)}function hr(e,t,r){for(let i of r){let n=t[i.optionKey];n!==void 0&&(e[i.summaryKey]=i.normalize?i.normalize(n):n)}}function wt(e){let t={};return ht(t,e),t}function It(e){let t={};return bt(t,e),t}var br=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],wr=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],Ir=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Sr="-7d";function St(e){let{filtersStatus:t,options:r,treeEnabled:i,treeDepth:n,sortField:s,sortOrder:o,runtimeFieldFilters:a}=e,l={};return t!==null&&(l.status=t),r.dependencyBlocked===!0&&(l.blocked_semantics="status_or_dependency"),hr(l,r,br),Ft(l,r),r.filterAcMissing===!0&&(l.filter_ac_missing=!0),r.filterEstimatesMissing===!0&&(l.filter_estimates_missing=!0),r.filterResolutionMissing===!0&&(l.filter_resolution_missing=!0),r.filterMetadataMissing===!0&&(l.filter_metadata_missing=!0),bt(l,r),ht(l,r),r.limit!==void 0&&(l.limit=r.limit),r.offset!==void 0&&(l.offset=r.offset),r.includeBody===!0&&(l.include_body=!0),r.fields!==void 0&&(l.fields=r.fields),i&&(l.tree=!0,n!==void 0&&(l.tree_depth=n)),s!==void 0&&(l.sort=s,l.order=o),yr(a)&&(l.runtime_filters=a),l}function oe(e,t,r){let i=T(e.status,r),n=T(t.status,r);if(i!==n)return i?1:-1;let s=e.priority-t.priority;if(s!==0)return s;let o=R(t.updated_at,e.updated_at);return o!==0?o:(e.id??"").localeCompare(t.id??"")}function vr(e,t){return[...e].sort((r,i)=>oe(r,i,t))}function pt(e,t){if(e!==void 0)return G(e,new Date,t)}function x(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return G(r,new Date,t)}function vt(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new f("Choose only one updated_at window: --today, --recent, or --updated-after.",m.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?x(Sr,"recent"):x(e.updatedAfter,"updated-after")}function Ft(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function Et(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new f("--ids requires at least one non-empty item ID",m.USAGE);let r=t.split(",").map(i=>i.trim()).filter(i=>i.length>0);if(r.length===0)throw new f("--ids requires at least one non-empty item ID",m.USAGE);return new Set(r)}function ae(e){if(e===void 0)return;let t=String(e).trim(),r=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(r)||r<0)throw new f("Offset filter must be a non-negative integer",m.USAGE);return r}function Tt(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 f("List --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function Ct(e,t=e.projectionCommand??"list"){let r=e.compact===!0,i=e.brief===!0,n=e.full===!0,s=Tt(e.fields);if(Number(r)+Number(i)+Number(n)+ +(s!==void 0)>1)throw new f("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});if(n)return{mode:"full",fields:[]};if(i){let o=le(e.sort);return{mode:"brief",fields:[...new Set([...z,o??"priority"])]}}return r?{mode:"compact",fields:[...$]}:s?{mode:"fields",fields:[...new Set(s.map(o=>v(o)))]}:{mode:"full",fields:[]}}function v(e){return e.startsWith("item.")?e.slice(5):e}function Fr(e,t,r){if(e.mode!=="fields")return;let i=H(t),n=new Set(i.map(o=>v(o))),s=e.fields.filter(o=>!n.has(v(o)));if(s.length>0){let o=[r,"--fields",e.fields.filter(a=>!s.includes(a)).join(",")||"id,title,status"];throw new f(`Unknown list --fields value(s): ${s.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm list --status open --fields id,title,status","pm list --fields id,title,parent,priority --limit 10","pm list --all --fields id,title,body --limit 5"],recovery:{allowed_values:i,suggested_retry:he(o),suggested_retry_args:o}})}}var Er=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function le(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Er.get(t);if(r)return r;if(!mt.includes(t))throw new f(`Sort field must be one of ${mt.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function Lt(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!ft.includes(t))throw new f(`Sort order must be one of ${ft.join("|")}`,m.USAGE);return t}function Tr(e){return P(e,"--tree-depth")}function Mt(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new f("Assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new f(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function yt(e,t){return Ke(e,t,{strict:!0})}function At(e){return K(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Cr(e,t,r){let i=At(t);if(i===void 0)return;let n=new Set(e.flatMap(o=>o.tags.map(a=>a.trim().toLowerCase()))),s=[...i].filter(o=>!n.has(o));s.length>0&&r.push(`unknown_tags:${s.join(",")}`)}function Lr(e,t){if(e&&[...e].some(r=>r.toLowerCase()==="none"||r.toLowerCase()==="null"))throw new f('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(e!==void 0&&t==="unassigned")throw new f("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE)}function Mr(e,t,r,i){let n=K(t.assignee,{label:"--assignee"}),s=Mt(t.assigneeFilter);Lr(n,s);let o=gt(t),a=se(t);return{idsFilter:Et(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Ye(t.type,r),tagFilters:At(t.tag),priorityFilter:Qe(t.priority),deadlineBefore:pt(t.deadlineBefore,"deadline-before"),deadlineAfter:pt(t.deadlineAfter,"deadline-after"),updatedAfter:vt(t),updatedBefore:x(t.updatedBefore,"updated-before"),createdAfter:x(t.createdAfter,"created-after"),createdBefore:x(t.createdBefore,"created-before"),assigneeFilter:n,assigneeModeFilter:s,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:K(t.sprint,{label:"--sprint"}),releaseFilter:K(t.release,{label:"--release"}),missingMetadataFilters:o,missingMetadataActive:re(o),lifecycleClassifier:rt(i),contentFieldFilters:a,contentFiltersActive:at(a)}}function Ar(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&T(e.status,r)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(i=>(e.tags??[]).some(n=>n.trim().toLowerCase()===i))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Rr(e,t){return ve(e,t)}function Dr(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function kr(e,t,r){let i=e.parent?.trim().toLowerCase(),n=[...new Set([...r?.get(e.id.trim().toLowerCase())??[],...i?[i]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!n.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function Kr(e,t,r,i,n){return!(!Ar(e,t,r)||!Rr(e,t)||!Dr(e,t)||!kr(e,t,n)||t.missingMetadataActive&&!nt(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!lt(e,t.contentFieldFilters)||!Oe(e,i))}function Rt(e,t,r,i,n,s,o){let a=Mr(t,r,i,n);return e.filter(l=>Kr(l,a,n,s,o))}function M(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ne(e,t,r,i){let n=e,s=typeof n.title=="string"?n.title:"",o=i??M(typeof n.parent=="string"?n.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:o,tree_children:r,tree_title:`${" ".repeat(t)}${s}`}}function xr(e,t){let r=new Map,i=new Map;for(let n of e){let s=n.id.trim().toLowerCase();r.set(s,n);let o=t?t.parents_by_child.get(s)??[]:[M(n.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of o){let l=i.get(a)??[];l.push(n),i.set(a,l)}}return{byId:r,childrenByParent:i}}function Or(e,t,r,i,n){return t?[...i.get(t.toLowerCase())??[]]:e.filter(s=>(n?n.parents_by_child.get(s.id.trim().toLowerCase())??[]:[M(s.parent)?.toLowerCase()].filter(o=>o!==void 0)).every(o=>!r.has(o)))}function Dt(e,t,r,i,n=e){let{byId:s,childrenByParent:o}=xr(e,i),a=Or(e,t,s,o,i),l=[],d=new Set,c=new Map(n.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),u=[...a].reverse().map(p=>({node:p,depth:0,parentId:t===void 0?void 0:c.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:p,depth:y,parentId:g}=u.pop(),_=p.id.trim().toLowerCase();if(d.has(_))continue;d.add(_);let S=o.get(_)??[];if(l.push(ne(p,y,S.length,g)),!(r!==void 0&&y>=r))for(let j of[...S].reverse())u.push({node:j,depth:y+1,parentId:c.get(_)})}if(t===void 0&&r===void 0)for(let p of e){let y=p.id.trim().toLowerCase();d.has(y)||(d.add(y),l.push(ne(p,0,o.get(y)?.length??0)))}return l}function kt(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Kt(e,t){return e===t?0:e===null?1:t===null?-1:R(e,t)}function xt(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return Kt(e.deadline??null,t.deadline??null);case"updated_at":return R(e.updated_at,t.updated_at);case"created_at":return R(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return kt(e.parent??null,t.parent??null);default:return 0}}function Ot(e,t,r,i){return t?[...e].sort((n,s)=>{let o=xt(n,s,t);if(o!==0)return r==="desc"?-o:o;let a=oe(n,s,i);return r==="desc"?-a:a}):vr(e,i)}function Nt(e,t,r=!1){let i=v(t.trim());if(i.length===0)return null;let n=e;return r&&i==="title"&&typeof n.tree_title=="string"?n.tree_title:Object.prototype.hasOwnProperty.call(n,i)?n[i]??null:null}function de(e,t,r=!1){return t.mode==="full"?e:e.map(i=>{let n={};for(let s of t.fields)n[s]=Nt(i,s,r);return n})}function Pt(e){let t=[];for(let r of e)t.push(r.metadata_key);return[...t,...fe(F())]}function Ut(e,t){let r=P(e.limit);if(r!==void 0)return r;if(e.noTruncate!==!0)return t>=1e4?20:void 0}function Nr(e,t,r){return t.after===void 0?ae(t.offset)??0:Ie(e,t.after,r,i=>i.id)}function jt(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function Pr(e,t){let r=b(process.cwd(),t.path);await C(r);let i=await w(r),n=A(i.schema),s=ge(i.schema),o=e.projectionCommand??"list",a=Ct(e,o);return Fr(a,Pt(s.definitions),o),{pmRoot:r,settings:i,statusRegistry:n,runtimeFieldFilters:xe(e,s,"list"),typeRegistry:I(i,F()),projection:a}}async function Ur(e,t,r){let i=t.projection.fields.some(l=>v(l)==="body"),n=t.projection.mode==="full"||t.projection.fields.some(l=>_t.has(v(l))),s=se(e),o=dt(s),a=ct(s);return e.includeBody||i||a?await ze(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):n||o?await $e(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await k(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function jr(e){let t=le(e.sort),r=Lt(e.order)??"asc",i=e.tree===!0;if(!i&&e.treeDepth!==void 0)throw new f("List --tree-depth requires --tree",m.USAGE);if(!t&&e.order!==void 0)throw new f("List --order requires --sort",m.USAGE);return{sortField:t,sortOrder:r,treeEnabled:i,treeDepth:i?Tr(e.treeDepth):void 0,parentRoot:i?M(e.parent):void 0}}function Br(e,t,r){let i=yt(t.status,r),n;t.lifecycleBucket==="in_progress"?n=[r.in_progress_status]:t.lifecycleBucket==="open"&&(n=[...r.active_statuses].filter(d=>d!==r.in_progress_status).sort((d,c)=>d.localeCompare(c)));let s=i??n??yt(e,r),o=ke(t.status),a=i||o?{...t,excludeTerminal:!1}:t,l="all";return o?l="all":i!==void 0?l=i.length===1?i[0]:i:t.lifecycleBucket!==void 0?l=t.lifecycleBucket:s!==void 0?l=s.length===1?s[0]:s:a.excludeTerminal===!0&&(l=null),{resolvedStatus:s,explicitAllStatuses:o,effectiveOptions:a,filtersStatus:l}}function Gr(e,t,r,i,n){if(t.after!==void 0&&t.offset!==void 0)throw new f("List --after cannot be combined with --offset.",m.USAGE);let s=Ut(t,e.length),o=Nr(e,t,n),a=s===void 0?e.slice(o):e.slice(o,o+s),l=de(a,r,i),d=e.length,c=a.length>0&&o+a.length<d,u=c&&a.length>0?B(n,a[a.length-1].id,o+a.length-1):void 0;return{projected:l,totalMatched:d,pageExtras:jt(s,c,u)}}function Bt(e,t,r,i){return we("list",{pmRoot:i,status:e,options:be(t,ye),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function $r(e){let{options:t,runtime:r,statusSelection:i,ordering:n}=e,s=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","lifecycleBucket","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),o=[r.projection.mode==="full",r.projection.fields.some(y=>{let g=v(y);return g==="body"||_t.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,n.treeEnabled,n.sortField!==void 0,o,_e(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([y,g])=>g!==void 0&&!s.has(y))].includes(!0))return null;let a=await D(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!a)return null;let l=P(t.limit),d=ae(t.offset)??0,c=await V({pmRoot:r.pmRoot,expectedSourceCursor:a.source_cursor,query:{statuses:i.resolvedStatus,excludeStatuses:i.resolvedStatus===void 0&&i.effectiveOptions.excludeTerminal===!0?[...r.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...r.statusRegistry.terminal_statuses],limit:l,offset:d}});if(!c)return null;let u=c.items.length>0&&d+c.items.length<c.total,p=u?B(Bt(i.filtersStatus,t,n,r.pmRoot),c.items.at(-1).id,d+c.items.length-1):void 0;return{projected:de(c.items,r.projection,!1),totalMatched:c.total,pageExtras:jt(l,u,p)}}function zr(e){let{filtersStatus:t,options:r,noTruncate:i,treeEnabled:n,treeDepth:s,sortField:o,sortOrder:a,runtimeFieldFilters:l}=e,d={};t!==null&&(d.status=t),r.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let c=r;for(let u of wr){let p=c[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of Ir)c[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,It(r),wt(r)),Ft(d,r),i&&(d.no_truncate=!0),r.strictRead===!0&&(d.strict_read=!0),n&&(d.tree=!0,s!==void 0&&(d.tree_depth=s)),o!==void 0&&(d.sort=o,d.order=a),d.runtime_filters=l,d}async function Yi(e,t,r){let i=await Pr(t,r),n=[],s=jr(t),o=Br(e,t,i.statusRegistry),a=t.noTruncate===!0,l=await $r({options:t,runtime:i,statusSelection:o,ordering:s}),d=l;if(!d){let g=await Ur(t,i,n),_=s.treeEnabled||M(t.parent)!==void 0?We(Ve(g,qe())):void 0;Cr(g,t.tag,n);let S=Rt(g,o.resolvedStatus,o.effectiveOptions,i.typeRegistry,i.statusRegistry,i.runtimeFieldFilters,_?.parents_by_child),j=t.dependencyBlocked===!0?(()=>{let Xt=He(g,i.statusRegistry);return S.filter(Yt=>Xt.has(Yt.id.trim().toLowerCase()))})():S,me=Ot(j,s.sortField,s.sortOrder,i.statusRegistry),Wt=s.treeEnabled?Dt(me,s.parentRoot,s.treeDepth,_,g):me;d=Gr(Wt,t,i.projection,s.treeEnabled,Bt(o.filtersStatus,t,s,i.pmRoot))}let c=Se(),u=[...new Set(n)].sort((g,_)=>g.localeCompare(_)),p=pr(u,l!==null,t.strictRead===!0),y=i.projection.mode==="full"?null:[...i.projection.fields];if(i.projection.mode==="compact"&&t.compact===!0){let g=St({filtersStatus:o.filtersStatus,options:t,treeEnabled:s.treeEnabled,treeDepth:s.treeDepth,sortField:s.sortField,sortOrder:s.sortOrder,runtimeFieldFilters:i.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:g,projection:{mode:"compact",fields:y},...u.length>0?{warnings:u}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:zr({filtersStatus:o.filtersStatus,options:t,noTruncate:a,treeEnabled:s.treeEnabled,treeDepth:s.treeDepth,sortField:s.sortField,sortOrder:s.sortOrder,runtimeFieldFilters:i.runtimeFieldFilters}),projection:{mode:i.projection.mode,fields:y},sorting:{sort:s.sortField??"default",order:s.sortField?s.sortOrder:"asc",...s.sortField===void 0&&!s.treeEnabled?{effective_keys:[["status_registry:nonterminal_before_terminal","asc"],["priority","asc"],["updated_at","desc"],["id","asc"]]}:{}},now:c,...u.length>0?{warnings:u}:{}}}var Qi={applyFilters:Rt,buildCompactListFilterSummary:St,buildContentFilterEcho:wt,buildGovernanceMissingFilterEcho:It,resolveContentFieldFilters:se,resolveMissingMetadataFilters:gt,compareBySortField:xt,compareDefaultSort:oe,compareNullableString:kt,compareNullableTimestamp:Kt,normalizeProjectionField:v,parseAssigneeFilter:Mt,parseFieldSelectors:Tt,parseIdsFilter:Et,parseOffset:ae,parseProjectionConfig:Ct,resolveListUpdatedAfter:vt,resolveListPageLimit:Ut,parseSortField:le,parseSortOrder:Lt,orderItemsAsTree:Dt,projectListItems:de,readListFieldValue:Nt,runtimeMetadataKeysForProjection:Pt,sortItems:Ot,trimNonEmpty:M,withTreeMetadata:ne};(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]="59842825-3a81-53f4-845d-db2257ec6286")}catch{}})();async function un(e){let t=b(process.cwd(),e);await C(t);let r=await w(t),i=I(r,F());return{pmRoot:t,settings:r,typeRegistry:i}}async function Gt(e,t,r,i){N(e,q(t));let n=await Ge(e,t,r.id_prefix,r.item_format,i);if(n)return{id:n.id,historyPath:N(e,n.id),located:n};let s=De(t,r.id_prefix),o=q(t),a=s===o?[s]:[s,o];for(let l of a){let d=N(e,l);if(await pe(d))return{id:l,historyPath:d,located:null}}throw new f(`Item ${t} not found`,m.NOT_FOUND)}(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]="eb2e6046-156c-56ee-a03a-ecaa1cccfb45")}catch{}})();function Rn(e,t){let r=Re(e),i=e.length>0?e[e.length-1].after_hash:Me(),n=t===void 0||r.item_hash_version===void 0?void 0:Le(t,r.item_hash_version,Fe(e.at(-1)?.hash_algorithm)),s=t===void 0?void 0:n===void 0?Ce(t):n[Math.max(0,n.indexOf(i))],o=s===void 0?void 0:s===i,a=[...r.errors];return o===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:s,current_matches_latest:o}}async function Dn(e,t,r={}){let i=b(r.cwd??process.cwd(),r.pmRoot);await C(i);let n=await w(i),s=I(n,F()),o=await Gt(i,e,n,s.type_to_folder),a=await Te(o.historyPath,o.id);if(a.length===0)throw new f(`No history exists for ${o.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let l=Pe(t,a),d=je(Ue(a,l.historyIndex),l),c=Ae(d,{schema:n.schema});if(c.metadata.id!==o.id)throw new f(`History target resolved to item ${c.metadata.id}, expected ${o.id}.`,m.GENERIC_FAILURE);let u=a[l.historyIndex],p=Ne(a,!0);return{document:c,reconstructed:!0,as_of_version:p===null?null:p+l.historyIndex+1,as_of_timestamp:u.ts,target:l,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e524f0ad-faad-5d89-b8f5-1283979919ad")}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]="67d97df8-6551-52ed-9307-8b573a087831")}catch{}})();var U=1e6;function ce(e,t=U,r=.8,i=!1){let n=new Set,s=(c,u)=>{if(n.add(`${c}:${u}`),n.size>t)throw new f(`Duplicate sweep exceeded ${t} candidate pairs; narrow it with statuses or since.`,m.CONFLICT,{code:"duplicate_sweep_cost_limit",required:"Narrow the duplicate query or increase its similarity threshold. No partial result was returned."})};if(i||r===0){for(let c=0;c<e.length;c+=1)for(let u=0;u<c;u+=1)s(u,c);return n}let o=new Map;for(let{prepared:c}of e)for(let u of c.tokens)o.set(u,(o.get(u)??0)+1);let a=new Map,l=new Map,d=new Map;for(let[c,{prepared:u}]of e.entries()){let p=[...u.tokens].sort((_,S)=>o.get(_)-o.get(S)||_.localeCompare(S)),y=p.length-Math.ceil(r*p.length-1e-12)+1,g=[{index:a,keys:[u.normalized],lengthFilter:!1},{index:l,keys:r<=.99?u.issueCodes:[],lengthFilter:!1},{index:d,keys:p.length===0?[""]:p.slice(0,y),lengthFilter:!0}];for(let _ of g)Hr(e,c,_,r,s)}return n}function Hr(e,t,r,i,n){let s=e[t].prepared.tokens.length;for(let o of r.keys){let a=r.index.get(o)??[];for(let l of a){let d=e[l].prepared.tokens.length;r.lengthFilter&&Math.min(d,s)/Math.max(d,s)+1e-12<i||n(l,t)}a.push(t),r.index.set(o,a)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5f450bd-8970-5b1b-8250-b76b7818e6e1")}catch{}})();var qr=3,$t=20,Vr=.8,Wr=100,zt=1e3;function ss(e){return e===void 0?[]:[`likely_duplicates:${e.result.items.map(t=>t.id).join(",")}`,`likely_duplicate_recovery:${e.recovery.action}:${e.recovery.item_id}`]}async function Xr(e,t){let r=e.items[0],i=b(t.cwd??process.cwd(),t.pmRoot),n=A((await w(i)).schema);return T(r.status,n)?{action:"reopen",item_id:r.id,command:`pm item reopen ${r.id} "<recurrence reason>"`,args:["item","reopen",r.id,"<recurrence reason>"]}:{action:"reuse",item_id:r.id,command:`pm get ${r.id} --full`,args:["get",r.id,"--full"]}}function ue(e){let t=e.limit??qr,r=e.threshold??Vr;if(!Number.isSafeInteger(t)||t<0||t>$t)throw new f(`Similarity limit must be an integer from 0 to ${$t}.`,m.USAGE);if(!Number.isFinite(r)||r<0||r>1)throw new f("Similarity threshold must be a number from 0 to 1.",m.USAGE);return{limit:t,threshold:r}}function Ht(e){let t=e.limit??Wr;if(!Number.isSafeInteger(t)||t<0||t>zt)throw new f(`Duplicate cluster limit must be an integer from 0 to ${zt}.`,m.USAGE);let r=e.since===void 0?void 0:new Date(e.since);if(r&&Number.isNaN(r.getTime()))throw new f("Duplicate cluster --since must be a valid ISO timestamp.",m.USAGE);return{limit:t,since:r}}async function Yr(e,t){let r=b(e.cwd??process.cwd(),e.pmRoot),i=await w(r),n=I(i),s=e.statuses?.map(u=>u.trim().toLowerCase()).filter(Boolean);if(e.statuses!==void 0&&s?.length===0)throw new f("Duplicate cluster statuses must include at least one lifecycle status or all.",m.USAGE);let o=A(i.schema),a=s?.map(u=>{if(u==="all")return u;let p=Ee(u,o);if(!p)throw new f(`Unknown duplicate-cluster status "${u}". Allowed: all, ${o.definitions.map(y=>y.id).join(", ")}.`,m.USAGE);return p}),l=a?.includes("all")===!0;if(l&&a?.some(u=>u!=="all"))throw new f('The "all" status cannot be combined with other statuses.',m.USAGE);let d=l?void 0:a,c=d?new Set(d):void 0;return{items:(await k(r,i.item_format,n.type_to_folder,void 0,i.schema)).filter(u=>(!c||c.has(u.status))&&(!t||new Date(u.created_at).getTime()>=t.getTime())),statuses:d}}var os={buildDuplicateClusters:Vt,collectDuplicateCandidatePairs:ce,createDuplicateUnionFind:qt};function qt(e){let t=Array.from({length:e},(r,i)=>i);return{parent:t,findRoot:r=>{let i=r;for(;t[i]!==i;)i=t[i];for(;t[r]!==r;){let n=t[r];t[r]=i,r=n}return i}}}function Qr(e,t,r,i){let n=[];for(let s of t){let[o,a]=s.split(":").map(u=>Number.parseInt(u,10)),l=J(e[o].prepared,e[a].prepared);if(l.score<r)continue;let d=i.findRoot(o),c=i.findRoot(a);d!==c&&(i.parent[c]=d),n.push({left_id:e[o].item.id,right_id:e[a].item.id,...l})}return n}function Vt(e,t,r,i){let n=new Map;for(let a of e.keys()){let l=r.findRoot(a),d=n.get(l)??[];d.push(a),n.set(l,d)}let s=new Map(e.map(({item:a},l)=>[a.id,r.findRoot(l)])),o=new Map;for(let a of t){let l=s.get(a.left_id),d=o.get(l)??[];d.push(a),o.set(l,d)}return[...n.values()].filter(a=>a.length>1).map(a=>{let l=(o.get(r.findRoot(a[0]))??[]).sort((d,c)=>c.score-d.score||d.left_id.localeCompare(c.left_id)||d.right_id.localeCompare(c.right_id));return{id:e[a[0]].item.id,items:a.map(d=>{let c=e[d].item;return{id:c.id,title:c.title,status:c.status,type:c.type}}),matches:l,max_score:l[0]?.score??0}}).sort((a,l)=>l.max_score-a.max_score||a.id.localeCompare(l.id)).slice(0,i)}function Jr(e,t,r,i,n){return t.filter(s=>!r.has(s.id)).map(s=>({id:s.id,title:s.title,status:s.status,type:s.type,...Q(e,s.title)})).filter(s=>s.score>=i).sort((s,o)=>o.score-s.score||s.id.localeCompare(o.id)).slice(0,n)}async function Zr(e,t={}){let r=e.title.trim();if(r.length===0)throw new f("Similarity candidate title must not be empty.",m.USAGE);let{limit:i,threshold:n}=ue(t),s=b(t.cwd??process.cwd(),t.pmRoot),o=await w(s),a=I(o),l=await D(s,Object.values(a.type_to_folder)),d=X(r),c=l&&d.length>0?await W({pmRoot:s,expectedSourceCursor:l.source_cursor,query:d.map(y=>`"${y.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(i*10,50)}):null,u=c===null?await k(s,o.item_format,a.type_to_folder,void 0,o.schema):c.items,p=Jr(r,u,new Set(e.excludeIds??[]),n,i);return{items:p,count:p.length,threshold:n,source:c?"persistent_index":"metadata_fallback"}}function ei(e,t={}){let{threshold:r}=ue({...t,limit:void 0}),{limit:i}=Ht(t),n=new Set;for(let c of e){if(!c.id.trim()||n.has(c.id))throw new f("Duplicate analysis requires unique non-empty item ids.",m.USAGE);n.add(c.id)}let s=[...e].sort((c,u)=>c.id.localeCompare(u.id)).map(c=>({item:c,prepared:Y(c.title)})),o=ce(s,U,r,t.exhaustive===!0),a=qt(s.length),l=Qr(s,o,r,a),d=Vt(s,l,a,i);return{clusters:d,count:d.length,threshold:r,cost:{item_count:s.length,algorithm:t.exhaustive===!0||r===0?"exhaustive":"prefix_exact",possible_pairs:s.length*(s.length-1)/2,pair_limit:U,recall_guarantee:"exact",candidate_pairs:o.size,scored_pairs:o.size}}}async function as(e={}){ue({...e,limit:void 0});let{since:t}=Ht(e),{items:r,statuses:i}=await Yr(e,t);return{...ei(r,e),source:"metadata_scan",filters:{statuses:i??null,since:e.since??null}}}async function ls(e,t){if(t.mode==="off")return;let r=await Zr(e,t);if(r.count===0)return;let i=await Xr(r,t),n=t.mode==="strict"&&t.allowDuplicate===!0;if(t.mode==="strict"&&!n){let s=r.items.map(a=>`${a.id} (${a.status}): ${a.title}`).join("; "),o=i.action==="reopen"?"Reopen the canonical item":"Reuse the canonical item";throw new f(`Likely duplicate item(s) found: ${s}. ${o} or pass --allow-duplicate with explicit intent.`,m.CONFLICT,{code:"likely_duplicate",required:`${o}, or explicitly acknowledge the duplicate with --allow-duplicate.`,recovery:{suggested_flags:["--allow-duplicate"],suggested_retry:i.command,suggested_retry_args:i.args}})}return{mode:t.mode,bypassed:n,result:r,recovery: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]="f091d0c3-f2a7-5d76-8656-4aebe82e9798")}catch{}})();function cs(e,t){let r=t??{};return e.filter(i=>r[i.id]!==i.updated_at).map(i=>i.id).sort((i,n)=>i.localeCompare(n))}export{P as a,Xe as b,oi as c,Z as d,K as e,Ye as f,Qe as g,rt as h,re as i,nt as j,pi as k,yi as l,at as m,lt as n,_i as o,gt as p,se as q,mt as r,ft as s,hr as t,wt as u,It as v,Yi as w,Qi as x,un as y,Gt as z,Rn as A,Dn as B,ss as C,os as D,Zr as E,ei as F,as as G,ls as H,cs as I};
|
|
2
|
+
//# sourceMappingURL=chunk-CSCZYSNZ.js.map
|