@unbrained/pm-cli 2026.8.7 → 2026.8.8
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 +2 -2
- package/CHANGELOG.md +35 -0
- package/dist/cli/main.js +4 -3
- package/dist/cli/register-annotations.d.ts +11 -0
- package/dist/cli/register-annotations.js +195 -0
- package/dist/cli/register-history-author.js +7 -30
- package/dist/cli/register-mutation.js +25 -206
- package/dist/cli/runtime-compatibility-boundary.d.ts +17 -0
- package/dist/cli/runtime-compatibility-boundary.js +43 -0
- package/dist/cli-bundle/bundle-manifest.json +155 -691
- package/dist/cli-bundle/chunks/chunk-2ZMXX3Q6.js +2068 -0
- package/dist/cli-bundle/chunks/chunk-ALDHXLPS.js +3 -0
- package/dist/cli-bundle/chunks/chunk-CBLA33YK.js +8 -0
- package/dist/cli-bundle/chunks/chunk-GKA54IJM.js +5 -0
- package/dist/cli-bundle/chunks/chunk-KRY7SRUO.js +2 -0
- package/dist/cli-bundle/chunks/chunk-MNJ4NNSY.js +26 -0
- package/dist/cli-bundle/chunks/chunk-NUXRRNAB.js +77 -0
- package/dist/cli-bundle/chunks/chunk-OJPCFDDY.js +13 -0
- package/dist/cli-bundle/chunks/chunk-PFSD3DAN.js +194 -0
- package/dist/cli-bundle/chunks/chunk-QWRRFYK3.js +2 -0
- package/dist/cli-bundle/chunks/chunk-SQ7QZFQ6.js +2 -0
- package/dist/cli-bundle/chunks/{register-list-query-FJZCJ67O.js → register-list-query-WFZAMJHZ.js} +8 -8
- package/dist/cli-bundle/chunks/register-mutation-SOKKOTHQ.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-5XQETS6E.js +2 -0
- package/dist/cli-bundle/chunks/register-setup-2HL5ZHMK.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-54EU2UVO.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-VZFU2R4M.js → chunk-5FLBTZJQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-5GJ57YKN.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-HNL6IFGS.js → chunk-ANTMGYLI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-CMDS3KYT.js +14 -0
- package/dist/cli-bundle/focused-chunks/{chunk-NBJKQP4S.js → chunk-DMKOMTTY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-CIXVQPB7.js → chunk-F5B3HBEZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-R2LEMEV5.js → chunk-FI6DWU2M.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-3K4XV2BF.js → chunk-FNOKJG6N.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-RW5IYD4J.js → chunk-FPDYXZBK.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-QHRTT7WT.js → chunk-GWI6YIKJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-MHMTKV5V.js → chunk-HCUC62AB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-MOTJFQ3F.js → chunk-HGNKPSCB.js} +12 -12
- package/dist/cli-bundle/focused-chunks/{chunk-4VJQTS3P.js → chunk-IAS7PMLG.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TIKDBG4D.js → chunk-PL2EYDJK.js} +27 -27
- package/dist/cli-bundle/focused-chunks/chunk-SM2PJGP3.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-RPNYG5MO.js → chunk-TCSAPH33.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-U646T7Z6.js +18 -0
- package/dist/cli-bundle/focused-chunks/chunk-YKPE4PPY.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-YZEZAPJK.js → chunk-YSAHYUXX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-73JUDYXT.js → chunk-ZOLDTUU7.js} +2 -2
- package/dist/cli-bundle/main.js +13 -13
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +38 -38
- 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 +1 -1
- 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 +2 -1
- package/dist/cli.js +14 -4
- package/dist/core/output/output.js +9 -2
- package/dist/core/sentry/helpers.d.ts +10 -0
- package/dist/core/sentry/helpers.js +59 -4
- package/dist/core/shared/constants.d.ts +2 -0
- package/dist/core/shared/constants.js +4 -2
- package/dist/sdk/annotations.d.ts +40 -0
- package/dist/sdk/annotations.js +61 -9
- package/dist/sdk/author-attribution.d.ts +12 -0
- package/dist/sdk/author-attribution.js +73 -11
- package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +118 -0
- package/dist/sdk/cli-contracts/command-exit-contracts.js +152 -0
- package/dist/sdk/cli-contracts/completeness.js +5 -3
- package/dist/sdk/cli-contracts/flag-contracts.js +5 -2
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +11 -0
- package/dist/sdk/cli-contracts/runtime-contracts.js +29 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +15 -2
- package/dist/sdk/cli-contracts/tool-schema.d.ts +1 -1
- package/dist/sdk/cli-contracts/tool-schema.js +6 -3
- package/dist/sdk/comments.d.ts +7 -0
- package/dist/sdk/comments.js +2 -2
- package/dist/sdk/completion.js +9 -5
- package/dist/sdk/contracts.d.ts +1 -0
- package/dist/sdk/contracts.js +3 -2
- package/dist/sdk/environment/host-environment-errors.d.ts +27 -0
- package/dist/sdk/environment/host-environment-errors.js +124 -0
- package/dist/sdk/environment/project-runtime-compatibility.d.ts +65 -0
- package/dist/sdk/environment/project-runtime-compatibility.js +385 -0
- package/dist/sdk/environment/source-context.d.ts +23 -0
- package/dist/sdk/environment/source-context.js +29 -0
- package/dist/sdk/error-code-catalog.d.ts +6 -0
- package/dist/sdk/error-code-catalog.js +62 -8
- package/dist/sdk/generated-error-code-catalog.js +629 -3
- package/dist/sdk/governance/health.d.ts +11 -3
- package/dist/sdk/governance/health.js +5 -5
- package/dist/sdk/index.d.ts +7 -3
- package/dist/sdk/index.js +9 -5
- package/dist/sdk/learnings.d.ts +15 -0
- package/dist/sdk/learnings.js +2 -2
- package/dist/sdk/lifecycle/close-many.d.ts +6 -1
- package/dist/sdk/lifecycle/close-many.js +43 -5
- package/dist/sdk/lifecycle/update-many.d.ts +2 -1
- package/dist/sdk/lifecycle/update-many.js +29 -5
- package/dist/sdk/merge/index.d.ts +1 -1
- package/dist/sdk/merge/index.js +3 -3
- package/dist/sdk/merge/install.d.ts +21 -0
- package/dist/sdk/merge/install.js +50 -20
- package/dist/sdk/notes.d.ts +7 -0
- package/dist/sdk/notes.js +2 -2
- package/dist/sdk/read-output-contracts.js +83 -4
- package/dist/sdk/runtime.d.ts +1 -1
- package/dist/sdk/runtime.js +9 -25
- package/dist/sdk/test/execution.js +4 -2
- package/dist/sdk/test/parsers.js +5 -2
- package/dist/sdk/workspace-snapshot.d.ts +9 -0
- package/dist/sdk/workspace-snapshot.js +48 -16
- package/docs/AGENT_RUNTIME_PRIMITIVES.md +11 -4
- package/docs/README.md +1 -0
- package/docs/RELEASING.md +27 -2
- package/docs/SCRIPTING.md +27 -1
- package/docs/SDK_CONTEXT_INTEGRITY.md +66 -0
- package/docs/SDK_RUNTIME_BOUNDARIES.md +58 -0
- package/docs/SELF_DESCRIBING_CONTEXT_CONTRACTS.md +13 -0
- package/docs/TESTING.md +17 -0
- package/marketplace.json +2 -2
- package/package.json +5 -3
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/sdk/public-surface.json +529 -34
- package/dist/cli-bundle/chunks/append-7BXBFDGD.js +0 -2
- package/dist/cli-bundle/chunks/chunk-2AXF3VSK.js +0 -2
- package/dist/cli-bundle/chunks/chunk-2XS43CCV.js +0 -2
- package/dist/cli-bundle/chunks/chunk-3A6KWB72.js +0 -8
- package/dist/cli-bundle/chunks/chunk-3ISTDB42.js +0 -8
- package/dist/cli-bundle/chunks/chunk-4MTI7XOV.js +0 -5
- package/dist/cli-bundle/chunks/chunk-6BX5UDCN.js +0 -3
- package/dist/cli-bundle/chunks/chunk-6QPO7KLR.js +0 -2
- package/dist/cli-bundle/chunks/chunk-7MXHZHSQ.js +0 -5
- package/dist/cli-bundle/chunks/chunk-7ZPMJW4U.js +0 -2
- package/dist/cli-bundle/chunks/chunk-A6KGKEWT.js +0 -2
- package/dist/cli-bundle/chunks/chunk-AGYNSNCI.js +0 -2
- package/dist/cli-bundle/chunks/chunk-B4H7FEFH.js +0 -5
- package/dist/cli-bundle/chunks/chunk-B4KLBBMN.js +0 -2
- package/dist/cli-bundle/chunks/chunk-BXCSXK4J.js +0 -2
- package/dist/cli-bundle/chunks/chunk-CALJHNBL.js +0 -23
- package/dist/cli-bundle/chunks/chunk-CFIGP5LY.js +0 -2
- package/dist/cli-bundle/chunks/chunk-CHOQ2VAW.js +0 -2
- package/dist/cli-bundle/chunks/chunk-CS6MRHG7.js +0 -2
- package/dist/cli-bundle/chunks/chunk-CUGNQQKH.js +0 -2
- package/dist/cli-bundle/chunks/chunk-D4FPS43D.js +0 -164
- package/dist/cli-bundle/chunks/chunk-E2ZSLTOP.js +0 -2
- package/dist/cli-bundle/chunks/chunk-FB7G2HY2.js +0 -2
- package/dist/cli-bundle/chunks/chunk-H5Y5YE6A.js +0 -2
- package/dist/cli-bundle/chunks/chunk-H5Y6UV6E.js +0 -2
- package/dist/cli-bundle/chunks/chunk-H7KGWPDF.js +0 -2
- package/dist/cli-bundle/chunks/chunk-HFSD77TQ.js +0 -2
- package/dist/cli-bundle/chunks/chunk-HX2GTA6L.js +0 -2
- package/dist/cli-bundle/chunks/chunk-J2IEKAVR.js +0 -2
- package/dist/cli-bundle/chunks/chunk-JC6FKIFM.js +0 -2
- package/dist/cli-bundle/chunks/chunk-K44PYFXH.js +0 -2
- package/dist/cli-bundle/chunks/chunk-K4KGEEBT.js +0 -2
- package/dist/cli-bundle/chunks/chunk-KFLK5TRH.js +0 -21
- package/dist/cli-bundle/chunks/chunk-KL6IEBV2.js +0 -2
- package/dist/cli-bundle/chunks/chunk-KWQZDZSS.js +0 -2
- package/dist/cli-bundle/chunks/chunk-KZ4X3DGU.js +0 -3
- package/dist/cli-bundle/chunks/chunk-LD77HJMQ.js +0 -13
- package/dist/cli-bundle/chunks/chunk-LEPJJ6QC.js +0 -2
- package/dist/cli-bundle/chunks/chunk-ME2JJ4LA.js +0 -3
- package/dist/cli-bundle/chunks/chunk-NE5VRDAI.js +0 -2
- package/dist/cli-bundle/chunks/chunk-NFLJ3FHD.js +0 -2
- package/dist/cli-bundle/chunks/chunk-NG6OXIBR.js +0 -19
- package/dist/cli-bundle/chunks/chunk-NYIGHWQY.js +0 -8
- package/dist/cli-bundle/chunks/chunk-NZ75GNSA.js +0 -2
- package/dist/cli-bundle/chunks/chunk-PCJWJNC2.js +0 -2
- package/dist/cli-bundle/chunks/chunk-PD3225AM.js +0 -2
- package/dist/cli-bundle/chunks/chunk-PDEGKG7P.js +0 -2
- package/dist/cli-bundle/chunks/chunk-PIE5HBNA.js +0 -2
- package/dist/cli-bundle/chunks/chunk-PW2H7YJR.js +0 -56
- package/dist/cli-bundle/chunks/chunk-RSIC5OPE.js +0 -2
- package/dist/cli-bundle/chunks/chunk-TPKN3S7S.js +0 -2
- package/dist/cli-bundle/chunks/chunk-TPXAXTCO.js +0 -2
- package/dist/cli-bundle/chunks/chunk-UFWUJO4V.js +0 -2
- package/dist/cli-bundle/chunks/chunk-UQLZQVFW.js +0 -55
- package/dist/cli-bundle/chunks/chunk-VT3Z5G7D.js +0 -2
- package/dist/cli-bundle/chunks/chunk-WOD3WWUN.js +0 -2
- package/dist/cli-bundle/chunks/chunk-WSJEIGJF.js +0 -3
- package/dist/cli-bundle/chunks/chunk-WYNUU7ZW.js +0 -2008
- package/dist/cli-bundle/chunks/chunk-YGPNCCXZ.js +0 -2
- package/dist/cli-bundle/chunks/close-CMY3BAUG.js +0 -2
- package/dist/cli-bundle/chunks/close-many-SA4XZCTK.js +0 -2
- package/dist/cli-bundle/chunks/comments-EZ556ZD3.js +0 -2
- package/dist/cli-bundle/chunks/copy-ZSGPA52X.js +0 -2
- package/dist/cli-bundle/chunks/create-I5DVV4YG.js +0 -2
- package/dist/cli-bundle/chunks/delete-RL3JACSW.js +0 -2
- package/dist/cli-bundle/chunks/deps-S7UBCECS.js +0 -2
- package/dist/cli-bundle/chunks/docs-ZZNVBBYO.js +0 -2
- package/dist/cli-bundle/chunks/files-27C337VT.js +0 -2
- package/dist/cli-bundle/chunks/focus-5Z2SG7LU.js +0 -2
- package/dist/cli-bundle/chunks/history-compact-HJQK67CZ.js +0 -2
- package/dist/cli-bundle/chunks/history-redact-PWC6PDWA.js +0 -2
- package/dist/cli-bundle/chunks/history-repair-N3CY4WBF.js +0 -2
- package/dist/cli-bundle/chunks/learnings-4FH23XDT.js +0 -2
- package/dist/cli-bundle/chunks/profile-5Y5XXH5N.js +0 -2
- package/dist/cli-bundle/chunks/register-mutation-YGYPW3BL.js +0 -20
- package/dist/cli-bundle/chunks/register-operations-WMDSUMQF.js +0 -2
- package/dist/cli-bundle/chunks/register-setup-DL7FFABC.js +0 -2
- package/dist/cli-bundle/chunks/restore-6KYBV5BY.js +0 -2
- package/dist/cli-bundle/chunks/schema-EQGKBYXJ.js +0 -2
- package/dist/cli-bundle/chunks/update-QVTYOD6I.js +0 -2
- package/dist/cli-bundle/chunks/update-many-DJSBU525.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2ECLECMK.js +0 -12
- package/dist/cli-bundle/focused-chunks/chunk-4EX25PXM.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-DLTS3IHM.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-DQ6FKGL3.js +0 -14
- package/dist/cli-bundle/focused-chunks/chunk-JLG2C4EQ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZJIMJHDB.js +0 -2
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
var ow=Object.defineProperty;var ZF=(e,t)=>{for(var n in t)ow(e,n,{get:t[n],enumerable:!0})};import*as K from"node:fs/promises";import io from"node:path";import iw from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="74d24458-0685-5354-b62f-5323ee72ffd6")}catch{}})();var sw=[10,25,50,100];async function so(e){await K.mkdir(e,{recursive:!0})}async function Y(e){try{return await K.access(e),!0}catch{return!1}}async function W(e){try{return await K.readFile(e,"utf8")}catch(t){if(Mt(t,"ENOENT"))return null;throw t}}async function P(e,t){let n=io.dirname(e);await so(n);let r=io.join(n,`.${io.basename(e)}.${process.pid}.${Date.now()}.${iw.randomBytes(4).toString("hex")}.tmp`);await K.writeFile(r,t,"utf8");try{await K.rename(r,e)}catch(o){if(process.platform==="win32"&&(Mt(o,"EPERM")||Mt(o,"EBUSY"))){let i=o;for(let s of sw){await new Promise(a=>setTimeout(a,s));try{await K.rename(r,e);return}catch(a){if(i=a,!Mt(a,"EPERM")&&!Mt(a,"EBUSY"))break}}try{await K.unlink(r)}catch{}throw i}if(Mt(o,"EXDEV")){try{await K.copyFile(r,e)}finally{try{await K.unlink(r)}catch{}}return}try{await K.unlink(r)}catch{}throw o}}async function lt(e,t){let n=io.dirname(e);await so(n);let r=await K.open(e,"a");try{await r.writeFile(`${t}
|
|
2
|
+
`,"utf8")}finally{await r.close()}}async function Jn(e){try{await K.unlink(e)}catch(t){if(!Mt(t,"ENOENT"))throw t}}function Mt(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===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]="50ad61f1-6719-541c-b4e0-4a88468725cf")}catch{}})();var ze=["commands","renderers","hooks","schema","importers","search","parser","preflight","services"],ao=2,Ds=Object.freeze({migration:"schema",validation:"schema"}),o$=Object.freeze({version:ao,capabilities:[...ze],legacy_aliases:{...Ds}}),co=["off","warn","enforce"],lo=["off","warn","enforce"],uo=["none","restricted","strict"],Hd=["block","warn"],fo=["commands.override","commands.handler","hooks.beforecommand","hooks.beforemutation","hooks.aftercommand","hooks.onwrite","hooks.onread","hooks.onindex","schema.flags","schema.itemfields","schema.itemtypes","schema.relationshipkinds","schema.migrations","schema.profiles","parser.override","preflight.override","services.override","renderers.override","importers.importer","importers.exporter","search.provider","search.vectorstore"],Qn=["output_format","error_format","help_format","lock_acquire","lock_release","history_append","item_store_write","item_store_delete","context_relevance","command_result"];function po(){return{mode:"off",trust_mode:"off",require_provenance:!1,trusted_extensions:[],default_sandbox_profile:"none",allowed_extensions:[],blocked_extensions:[],allowed_capabilities:[],blocked_capabilities:[],allowed_surfaces:[],blocked_surfaces:[],allowed_commands:[],blocked_commands:[],allowed_actions:[],blocked_actions:[],allowed_services:[],blocked_services:[],extension_overrides:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="36b908f0-ea19-5adc-8ccd-320ad3c3b1fe")}catch{}})();var Ps=Object.freeze([{id:"draft",roles:["draft"]},{id:"open",roles:["active","default_open"]},{id:"in_progress",aliases:["in-progress"],roles:["active"]},{id:"blocked",roles:["blocked"]},{id:"closed",roles:["terminal","terminal_done","default_close"]},{id:"canceled",aliases:["cancelled"],roles:["terminal","terminal_canceled","default_cancel"]}]),Ms=Object.freeze({draft_status:"draft",open_status:"open",in_progress_status:"in_progress",blocked_status:"blocked",close_status:"closed",canceled_status:"canceled"}),mo=".agents/pm",go="settings.json",aw="Closed at creation via pm create",cw=["","epics","features","tasks","chores","issues","schema","history","search","extensions","locks"],lw=["decisions","events","reminders","milestones","meetings","plans"],a$=[...cw,...lw],ie={Epic:"epics",Feature:"features",Task:"tasks",Chore:"chores",Issue:"issues",Decision:"decisions",Event:"events",Reminder:"reminders",Milestone:"milestones",Meeting:"meetings",Plan:"plans"},dw=["goal","objective","value","impact","outcome","why_now","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","unblock_note","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result"],Pe=["id","title","description","type","pm_format_version","source_type","type_options","status","priority","tags","created_at","updated_at","deadline","reminders","events","closed_at","completed_at","assignee","claim_principal","source_owner","author","estimated_minutes","acceptance_criteria","design","external_ref","definition_of_ready","order",...dw,"affected_version","fixed_version","component","regression","customer_impact","dependencies","comments","notes","learnings","files","tests","test_runs","docs","close_reason","duplicate_of","plan_mode","plan_scope","plan_harness","plan_resume_context","plan_validation","plan_decisions","plan_discoveries","plan_steps"],Fs={minimal:{ownership_enforcement:"none",create_mode_default:"progressive",close_validation_default:"off",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"core",force_required_for_stale_lock:!1,duplicate_detection_mode:"off",duplicate_detection_threshold:.8,duplicate_detection_limit:3},default:{ownership_enforcement:"warn",create_mode_default:"progressive",close_validation_default:"warn",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"core",force_required_for_stale_lock:!0,duplicate_detection_mode:"strict",duplicate_detection_threshold:.8,duplicate_detection_limit:3},strict:{ownership_enforcement:"strict",create_mode_default:"strict",close_validation_default:"strict",require_close_reason:!0,parent_reference:"strict_error",metadata_profile:"strict",force_required_for_stale_lock:!0,duplicate_detection_mode:"strict",duplicate_detection_threshold:.8,duplicate_detection_limit:3}},uw=["no active blocker","ready for planned execution sequencing","work completed","work is closed"],Ls={blocked_reason:["no active blocker because work is closed","work is closed"],resolution:["closed with implementation evidence","closed with verification evidence","work completed and recorded","work is closed"],actual_result:["closed and recorded","work completed","work completed and recorded"]};function Wd(e){return e?[...e]:void 0}var S={version:1,id_prefix:"pm-",ids:{token_length:4},author_default:"",agent_identity:{probes_enabled:!0,identity_vocabulary:{version:1,aliases:{}},harness_signals:[]},mutation_guard:{require_attributed_author:!1,secret_guard:"advise",stale_in_progress_hours:72},item_format:"toon",locks:{ttl_seconds:1800,wait_ms:3e3},checkpoints:{retention_days:14},output:{default_format:"toon"},history:{missing_stream:"auto_create",compact_policy:{enabled:!1,max_entries:500,trigger:"health_warn"}},validation:{sprint_release_format:"warn",parent_reference:"warn",metadata_profile:"core",metadata_required_fields:[],lifecycle_stale_blocker_reason_patterns:[...uw],lifecycle_closure_like_blocked_reason_patterns:[...Ls.blocked_reason],lifecycle_closure_like_resolution_patterns:[...Ls.resolution],lifecycle_closure_like_actual_result_patterns:[...Ls.actual_result],estimate_defaults_by_type:{}},governance:{preset:"minimal",...Fs.minimal},workflow:{definition_of_done:[]},testing:{record_results_to_items:!1},telemetry:{enabled:!0,first_run_prompt_completed:!1,capture_level:"redacted",endpoint:"https://pm-cli.unbrained.dev/v1/events",installation_id:"",retention_days:365},agent_guidance:{prompt_completed:!1,declined:!1,declined_at:"",template_version:1,last_checked_files:[]},item_types:{definitions:[]},schema:{version:1,files:{types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"},statuses:Ps.map(e=>({...e,aliases:Wd(e.aliases),roles:Wd(e.roles)})),fields:[],workflow:{...Ms},unknown_field_policy:"allow"},extensions:{enabled:[],disabled:[],policy:po()},search:{score_threshold:0,hybrid_semantic_weight:.7,max_results:50,embedding_model:"",embedding_batch_size:32,embedding_timeout_ms:3e4,scanner_max_batch_retries:3,provider:"",mutation_refresh_policy:"semantic_configured",query_expansion:{enabled:!1,provider:""},rerank:{enabled:!1,model:"",top_k:20}},providers:{openai:{base_url:"",api_key:"",model:""},ollama:{base_url:"",model:""}},context:{default_depth:"brief",activity_limit:10,stale_threshold_days:7,sections:{hierarchy:!0,activity:!0,progress:!0,recently_created:!0,unparented:!0,blockers:!0,files:!0,workload:!0,staleness:!0,tests:!0}},vector_store:{adapter:"",collection_name:"pm_items",qdrant:{url:"",api_key:""},lancedb:{path:""}}},Zn={metadata:{},body:""},_={SUCCESS:0,GENERIC_FAILURE:1,USAGE:2,NOT_FOUND:3,CONFLICT:4,DEPENDENCY_FAILED:5,NO_EFFECT:6,PARTIAL_EFFECT:7},fw=Object.freeze({unknown_command:"usage",unknown_option:"usage",missing_required_option:"usage",missing_required_argument:"usage",invalid_command_usage:"usage",linked_test_value_not_quoted:"usage",invalid_argument_value:"validation",health_findings:"validation",validation_findings:"validation",close_through_update:"validation",no_update_fields:"validation",unsupported_update_option:"validation",tracker_not_initialized:"validation",item_not_found:"validation",ownership_conflict:"conflict",lock_conflict:"conflict",terminal_state_conflict:"conflict",dependency_failed:"runtime",init_gitignore_unwritable:"runtime",merge_git_config_unwritable:"runtime",command_failed:"runtime",unknown_error:"runtime"});function _o(e){let t=(e??"").trim().toLowerCase();if(t.length===0)return"unknown";let n=fw[t];return typeof n=="string"?n:t.includes("conflict")||t.includes("locked")?"conflict":t.startsWith("unknown_")||t.startsWith("missing_required_")?"usage":t.startsWith("invalid_")||t.endsWith("_not_found")||t.includes("validation")?"validation":t.endsWith("_error")||t.endsWith("_failed")?"runtime":"unknown"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c2c9251e-86bf-5a92-acdb-581e59d269d8")}catch{}})();var b=class extends Error{exitCode;code;context;constructor(t,n,r={}){super(t),this.name="PmCliError",this.exitCode=n,this.context=r,this.code=r.code}};(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]="c29511ab-8c01-57f2-b353-cbc72900cb90")}catch{}})();function L(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function pw(e){return L(e)??void 0}function er(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function un(e){return Array.isArray(e)&&e.every(t=>typeof t=="number"&&Number.isFinite(t))}function $(e){if(e instanceof Error){let t=e.message.trim();return t.length>0?t:e.name}return String(e)}function yo(e){let t=typeof e=="number"?e:typeof e=="string"&&e.trim().length>0?Number(e.trim()):Number.NaN;return Number.isFinite(t)?t:null}function Yd(e){let t=yo(e);return t===null||t<=0||!Number.isInteger(t)?null:t}function d$(e,t,n){let r=yo(e);return r===null||r<t||r>n?null:r}function mw(e){return typeof e!="object"||e===null||Array.isArray(e)?null:e}function fn(e){return typeof e!="object"||e===null?null:e}function Kd(e){return typeof e!="object"&&typeof e!="function"||e===null?null:e}function Xd(e){let t=Kd(e);if(!t)return null;if(typeof t.activate=="function")return t;let n=Kd(t.default);return typeof n?.activate=="function"?n:null}function gw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?{...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]="b2649352-0afa-5972-8c48-b999f86d5522")}catch{}})();function ho(e){let t=Math.ceil(e.size/2);for(let n of e.keys()){if(t===0)return;e.delete(n),t-=1}}import _w from"node:crypto";import{AsyncLocalStorage as yw}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cc84ae55-6dc4-57d4-b7de-c43ae1fb4603")}catch{}})();var $s=new yw,Jd=1024;function hw(e){let t=Date.parse(e.clock);if(!Number.isFinite(t))throw new Error(`Invalid reproducible workspace clock: ${e.clock}`);if(!Number.isSafeInteger(e.tickMs)||e.tickMs<0)throw new Error("Reproducible workspace tickMs must be a non-negative integer");if(e.seed.length===0)throw new Error("Reproducible workspace seed must not be empty");return{...e,clock:new Date(t).toISOString()}}async function g$(e,t){let n=hw(e);return $s.run({...n,clockReads:0,tokenReads:0},t)}function Qd(){let e=$s.getStore();if(e===void 0)return;let t=new Date(Date.parse(e.clock)+e.clockReads*e.tickMs).toISOString();return e.clockReads+=1,t}function Zd(e){let t=$s.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>Jd)throw new Error(`Reproducible token length must be an integer between 0 and ${Jd}`);let n="";for(;n.length<e;){let r=_w.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let o of r)if(n+=(o%36).toString(36),n.length===e)break}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6be1497f-a0d5-518b-bf6a-e549b18fad8a")}catch{}})();var bw=/^([+-]?)(\d+)([hdwm])$/i,ww=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,Ew=/^(\d{4})(\d{2})(\d{2})$/,Tw=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,vw=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Aw=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i;function X(){return Qd()??new Date().toISOString()}function dt(e){return Number.isFinite(Date.parse(e))}var Sw=1e4,bo=new Map;function eu(e){let t=bo.get(e);if(t!==void 0)return t;let n=Date.parse(e);return bo.size>=Sw&&ho(bo),bo.set(e,n),n}function te(e,t){let n=eu(e),r=eu(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function E$(e,t){return!(t.deadlineBefore&&(!e.deadline||te(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||te(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&te(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&te(e.updated_at,t.updatedBefore)>0||t.createdAfter&&te(e.created_at,t.createdAfter)<0||t.createdBefore&&te(e.created_at,t.createdBefore)>0)}function js(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function zs(e){if(!e)return"";if(e.toUpperCase()==="Z")return"Z";let t=/^([+-]\d{2})(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}function kw(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function xw(e){let t=[],n=l=>kw(t,e,l),r=Ew.exec(e);if(r){let[,l,d,u]=r;n(`${l}-${d}-${u}`)}let o=Tw.exec(e);if(o){let[,l,d,u,p,f,y,g,h]=o,E=y?`:${y}`:"";n(`${l}-${d}-${u}T${p}:${f}${E}${js(g)}${zs(h)}`)}let i=vw.exec(e);if(i){let[,l,d,u,p,f,y]=i,g=p?`:${p}`:"";n(`${l}T${d}:${u}${g}${js(f)}${zs(y)}`)}let s=Aw.exec(e);if(s){let[,l,d,u,p,f,y]=s,g=p?`:${p}`:"";n(`${l}T${d}:${u}${g}${js(f)}${zs(y)}`)}let a=10,c=e.slice(0,a);if(Ow(c)){let l=a;for(;l<e.length&&Iw(e[l]);)l+=1;l<e.length&&n(`${c}T${e.slice(l)}`)}return t}function Cw(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of xw(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function Ow(e){if(e.length!==10)return!1;for(let t=0;t<e.length;t+=1){let n=e[t];if(t===4||t===7){if(n!=="-")return!1;continue}let r=n.charCodeAt(0);if(r<48||r>57)return!1}return!0}function Iw(e){return e?e===" "||e===" "||e===`
|
|
3
|
+
`||e==="\r"||e==="\f"||e==="\v":!1}function tu(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Rw=["January","February","March","April","May","June","July","August","September","October","November","December"],Nw=/^(\d{4})-(\d{2})-(\d{2})/,Dw=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Lw(e,t,n){let r=Nw.exec(t)??Dw.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new b(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,_.USAGE);let c=tu(o,i-1);if(s<1||s>c)throw new b(`Invalid ${a} value "${e}". ${Rw[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,_.USAGE)}function Pw(e,t){let n=new Date(e.getTime()),r=n.getUTCDate(),o=n.getUTCMonth()+t,i=n.getUTCFullYear()+Math.floor(o/12),s=(o%12+12)%12,a=Math.min(r,tu(i,s));return n.setUTCFullYear(i,s,a),n}function Mw(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=bw.exec(r);if(o){let s=o[1]==="-"?-1:1,a=Number.parseInt(o[2],10)*s,c=o[3].toLowerCase();if(c==="m")return Pw(t,a).toISOString();let l=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*l).toISOString()}Lw(e,r,n);let i=Cw(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=ww.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new b(`Invalid ${s} value "${e}". ${a}`,_.USAGE)}return new Date(i).toISOString()}import{mkdir as Fw,readFile as $w}from"node:fs/promises";import nu 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]="71a8cd89-54fc-5f8a-b93b-9e4a79bb34b6")}catch{}})();function jw(e){let t=e.trim();if(!t)throw new b("--rollback requires a non-empty checkpoint ID",_.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new b("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",_.USAGE);return t}function zw(e,t){let n=t.replace(/[-:.TZ]/g,"").slice(0,14),r=Math.random().toString(36).slice(2,8);return`${e}-${n}-${r}`}function ru(e,t){return nu.join(e,"checkpoints",t)}function ou(e,t,n){return nu.join(ru(e,t),`${n}.json`)}async function Uw(e,t,n,r){let o=ru(e,t);await Fw(o,{recursive:!0});let i=ou(e,t,n);return await P(i,`${JSON.stringify(r,null,2)}
|
|
4
|
+
`),i}function qw(e,t){if(!Array.isArray(e.items))throw new b(`Checkpoint ${t} is missing items`,_.GENERIC_FAILURE);return e.items.map(n=>{if(!n||typeof n!="object")throw new b(`Checkpoint ${t} contains an invalid item entry`,_.GENERIC_FAILURE);let r=n;if(typeof r.id!="string"||r.id.trim().length===0)throw new b(`Checkpoint ${t} contains an item entry without ID`,_.GENERIC_FAILURE);if(typeof r.target_updated_at!="string"||r.target_updated_at.trim().length===0)throw new b(`Checkpoint ${t} contains an item entry without target_updated_at`,_.GENERIC_FAILURE);return{id:r.id.trim(),target_updated_at:r.target_updated_at.trim()}})}async function Gw(e,t,n,r){let o=jw(n),i=ou(e,t,o);if(!await Y(i))throw new b(`Checkpoint ${o} not found`,_.NOT_FOUND);let s=await $w(i,"utf8"),a;try{a=JSON.parse(s)}catch(d){throw new b(`Checkpoint ${o} contains invalid JSON: ${$(d)}`,_.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new b(`Checkpoint ${o} is invalid`,_.GENERIC_FAILURE);let c=a;if(c.schema_version!==r)throw new b(`Checkpoint ${o} has unsupported schema version`,_.GENERIC_FAILURE);let l=qw(c,o);return{record:c,items:l,path:i,id:typeof c.id=="string"?c.id:o,created_at:typeof c.created_at=="string"?c.created_at:X(),author:typeof c.author=="string"?c.author:"unknown"}}async function Vw(e,t){let n=[],r=[];for(let o of e)try{let i=await t(o.id,o.target_updated_at);n.push({id:o.id,status:"restored",changed_fields:i.changed_fields,warnings:i.warnings}),r.push(o.id)}catch(i){n.push({id:o.id,status:"failed",error:$(i)})}return{rows:n,restored_ids:r,failed_count:n.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]="8a7dca67-8f1e-5451-b45c-4a75b1117d72")}catch{}})();var Bw=Object.freeze({string:"string",number:"number",int:"number",integer:"number",float:"number",boolean:"boolean",bool:"boolean"});function Us(e){return typeof e!="string"?null:Bw[e.trim().toLowerCase()]??null}function qs(e){let t=[],n=r=>{if(Array.isArray(r)){for(let o of r)n(o);return}if(typeof r=="string"){for(let o of r.split(",")){let i=o.trim();i.length>0&&t.push(i)}return}r!=null&&t.push(r)};return n(e),t}function iu(e,t){return t==="string"?!0:t==="number"?typeof e=="number"?Number.isFinite(e):typeof e=="string"&&e.trim().length>0&&Number.isFinite(Number(e)):typeof e=="boolean"?!0:typeof e=="string"&&["true","false","1","0"].includes(e.trim().toLowerCase())}import pn from"node:fs";import Qe from"node:path";import{fileURLToPath as Hw}from"node: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]="dffcc28d-16a3-53d4-ba02-5298ae7a6d63")}catch{}})();var Ww="@unbrained/pm-cli";function Kw(e){try{return JSON.parse(pn.readFileSync(e,"utf8")).name===Ww}catch{return!1}}function Yw(e){let t=pn.existsSync(e)&&pn.statSync(e).isDirectory()?Qe.resolve(e):Qe.dirname(Qe.resolve(e));for(;;){let n=Qe.join(t,"package.json");if(pn.existsSync(n)&&Kw(n))return t;let r=Qe.dirname(t);if(r===t)return;t=r}}function Ze(e,t=[]){let n=Hw(e),r=Yw(n);return r||Qe.resolve(Qe.dirname(n),...t)}function Gs(e,t=[]){try{let n=Qe.join(Ze(e,t),"package.json");if(!pn.existsSync(n))return;let r=JSON.parse(pn.readFileSync(n,"utf8"));return typeof r.version=="string"&&r.version.trim().length>0?r.version:void 0}catch{return}}function Xw(e=process.env,t="PM_CLI_PACKAGE_ROOT",n,r=[]){let o=e[t];return typeof o=="string"&&o.trim().length>0?Qe.resolve(o.trim()):n?Ze(n,r):process.cwd()}(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]="2a2072c1-f4a7-579e-ac11-4c75758d76d3")}catch{}})();var mn=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],su=mn,gn=["draft","open","in_progress","blocked","closed","canceled"],wo=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],_n=["string","number","boolean","string_array","array","object"],Eo=["create","update","update_many","list","search","calendar","context"],To=["allow","warn","reject"],M$=["blocks","parent","child","parent_child","child_of","related","related_to","discovered_from","blocked_by","incident_from","epic","implements","supersedes","task","verifies"],F$=["project","global"],$$=["low","medium","high","critical"],vo=["low","medium","high","critical"],Ao=["low","medium","high"];var au=["minimal","default","strict","custom"],j$=["none","warn","strict"],z$=["progressive","strict"],U$=["off","warn","strict"],q$=["off","warn","strict"];var So=["daily","weekly","monthly","yearly"],tr=["mon","tue","wed","thu","fri","sat","sun"];function Vs(e){return tr.indexOf(e)}var cu=["draft","research","review","approved","executing","paused","completed","superseded"],ko=["pending","in_progress","completed","blocked","skipped","superseded"],lu=["codex","claude-code","cursor","generic"],du=["related","blocks","blocked_by","depends_on","discovered_from","implements","verifies","supersedes"],G$=["brief","standard","deep","full"],V$=["hierarchy","activity","progress","recently_created","unparented","blockers","files","workload","staleness","tests"];(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]="f6e82c93-54e8-53a7-94df-10a573aae933")}catch{}})();import tE 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]="815165a9-27a7-5933-adae-c7e55330c8e4")}catch{}})();function ut(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Jw(e){let t=e.key.trim();if(t.length===0)return null;let n=ut(e.aliases),r=e.description?.trim();return{key:t,values:ut(e.values),required:e.required===!0?!0:void 0,aliases:n.length>0?n:void 0,description:r&&r.length>0?r:void 0}}var Qw=e=>e,fu=e=>{let t=e.trim().toLowerCase();return t==="create"||t==="update"?t:null};function Zw(e,t){let n=t(e.command);if(n===null)return null;let r=e.option.trim();return r.length===0?null:{command:n,option:r,required:e.required,visible:e.visible,enabled:e.enabled}}function eE(e,t){let n=new Map;for(let r of e??[]){let o=Zw(r,t);o&&n.set(`${o.command}:${o.option.toLowerCase()}`,o)}return[...n.values()].sort((r,o)=>r.command===o.command?r.option.localeCompare(o.option):r.command.localeCompare(o.command))}function uu(e,t){return t?ut(e):void 0}function Bs(e){let t=e?.trim();return t&&t.length>0?t:void 0}function xo(e,t={}){let n=t.resolvePolicyCommand??Qw,r=e.name.trim();if(r.length===0)return null;let o=e.required_create_fields!==void 0,i=e.required_create_repeatables!==void 0,s=e.options!==void 0,a=e.command_option_policies!==void 0,c=ut(e.aliases),l=(e.options??[]).map(u=>Jw(u)).filter(u=>u!==null).sort((u,p)=>u.key.localeCompare(p.key)),d=eE(e.command_option_policies,n);return{name:r,description:Bs(e.description),default_status:Bs(e.default_status),folder:Bs(e.folder),aliases:c.length>0?c:void 0,required_create_fields:uu(e.required_create_fields,o),required_create_repeatables:uu(e.required_create_repeatables,i),options:s?l:void 0,command_option_policies:a?d:void 0}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="88b2ed4e-b5fd-5014-abf1-c163db033abf")}catch{}})();var nE=["title","description","status","priority","tags","body","deadline","estimatedMinutes","acceptanceCriteria","author","message","assignee"],rE=["dep","comment","note","learning","file","test","doc"],Ws=["deadline","estimatedMinutes","acceptanceCriteria","definitionOfReady","order","goal","objective","value","impact","outcome","whyNow","assignee","parent","reviewer","risk","confidence","sprint","release","blockedBy","blockedReason","unblockNote","reporter","severity","environment","reproSteps","resolution","expectedResult","actualResult","affectedVersion","fixedVersion","component","regression","customerImpact"],oE=["title","description","type","status","priority","tags","body",...Ws,"author","message","dep","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],iE=["title","description","body","status","closeReason","priority","type","tags",...Ws,"author","message","comment","note","learning","file","test","doc","reminder","event","typeOption","field","ownershipMetadataBypass","ownershipDependencyBypass","force"],mu={"close-reason":"closeReason",close_reason:"closeReason","estimated-minutes":"estimatedMinutes",estimated_minutes:"estimatedMinutes",estimate:"estimatedMinutes","acceptance-criteria":"acceptanceCriteria",acceptance_criteria:"acceptanceCriteria",ac:"acceptanceCriteria","definition-of-ready":"definitionOfReady",definition_of_ready:"definitionOfReady",rank:"order","why-now":"whyNow",why_now:"whyNow","blocked-by":"blockedBy",blocked_by:"blockedBy","blocked-reason":"blockedReason",blocked_reason:"blockedReason","unblock-note":"unblockNote",unblock_note:"unblockNote","repro-steps":"reproSteps",repro_steps:"reproSteps","expected-result":"expectedResult",expected_result:"expectedResult","actual-result":"actualResult",actual_result:"actualResult","affected-version":"affectedVersion",affected_version:"affectedVersion","fixed-version":"fixedVersion",fixed_version:"fixedVersion","customer-impact":"customerImpact",customer_impact:"customerImpact","type-option":"typeOption",type_option:"typeOption",type_options:"typeOption"},sE={...mu},aE={...mu},gu=[["deadline","--deadline"],["estimatedMinutes","--estimate/--estimated-minutes"],["acceptanceCriteria","--acceptance-criteria/--ac"],["definitionOfReady","--definition-of-ready"],["order","--order/--rank"],["goal","--goal"],["objective","--objective"],["value","--value"],["impact","--impact"],["outcome","--outcome"],["whyNow","--why-now"],["assignee","--assignee"],["parent","--parent"],["reviewer","--reviewer"],["risk","--risk"],["confidence","--confidence"],["sprint","--sprint"],["release","--release"],["blockedBy","--blocked-by"],["blockedReason","--blocked-reason"],["unblockNote","--unblock-note"],["reporter","--reporter"],["severity","--severity"],["environment","--environment"],["reproSteps","--repro-steps"],["resolution","--resolution"],["expectedResult","--expected-result"],["actualResult","--actual-result"],["affectedVersion","--affected-version"],["fixedVersion","--fixed-version"],["component","--component"],["regression","--regression"],["customerImpact","--customer-impact"]],_u=[["comment","--comment"],["note","--note"],["learning","--learning"],["file","--file"],["test","--test"],["doc","--doc"],["reminder","--reminder"],["event","--event"],["typeOption","--type-option"]];function yu(e){return Object.fromEntries(e)}var cE=yu([["title","--title"],["description","--description"],["type","--type"],["status","--status"],["priority","--priority"],["tags","--tags"],["body","--body"],...gu,["author","--author"],["message","--message"],["dep","--dep"],..._u]),lE=yu([["title","--title"],["description","--description"],["body","--body"],["status","--status"],["closeReason","--close-reason"],["priority","--priority"],["type","--type"],["tags","--tags"],...gu,..._u,["author","--author"],["message","--message"],["force","--force"]]);function dE(e){return e.trim().replace(/^--+/,"").toLowerCase()}function uE(e){return e==="create"?oE:iE}function fE(e){return e==="create"?sE:aE}function Ks(e,t){let n=dE(t);if(n.length===0)return;let r=fE(e)[n];return r||uE(e).find(o=>o.toLowerCase()===n)}function pE(e,t){return(e==="create"?cE:lE)[t]??`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function rr(e){let t=mE(e);return t.length===0?"items":t.endsWith("s")?t:`${t}s`}function Co(e){let t=e.trim(),r=t.replaceAll("\\","/").replace(/^\/+/,""),o=tE.posix.normalize(r);if(t.includes("\0")||/^[A-Za-z]:/.test(o)||o==="."||o===".."||o.startsWith("../"))throw new Error(`Item type folder "${e}" must stay inside the pm tracker root.`);return o}function mE(e){let t=e.trim().toLowerCase(),n="",r=!1;for(let o of t){let i=o.charCodeAt(0),s=i>=97&&i<=122,a=i>=48&&i<=57;if(s||a){r&&n.length>0&&(n+="-"),n+=o,r=!1;continue}n.length>0&&(r=!0)}return n}function gE(e){return xo(e,{resolvePolicyCommand:fu})}function nr(e,t){let n=e[t];return Array.isArray(n)?n.filter(r=>typeof r=="string"):void 0}function _E(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return typeof t.key!="string"?null:{key:t.key,values:nr(t,"values")??[],required:t.required===void 0?void 0:!!t.required,aliases:nr(t,"aliases"),description:typeof t.description=="string"?t.description:void 0}}function yE(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;if(typeof t.command!="string"||typeof t.option!="string")return null;let n=t.command.trim().toLowerCase();return n!=="create"&&n!=="update"?null:{command:n,option:t.option,required:t.required===void 0?void 0:!!t.required,visible:t.visible===void 0?void 0:!!t.visible,enabled:t.enabled===void 0?void 0:!!t.enabled}}function hE(e){if(Array.isArray(e.options))return e.options.map(t=>_E(t)).filter(t=>t!==null)}function bE(e){if(Array.isArray(e.command_option_policies))return e.command_option_policies.map(t=>yE(t)).filter(t=>t!==null)}function wE(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e,n=typeof t.name=="string"?t.name:"";if(n.trim().length===0)return null;let r=typeof t.folder=="string"?t.folder:void 0,o=typeof t.description=="string"?t.description:void 0,i=typeof t.default_status=="string"?t.default_status:void 0;return{name:n,description:o,default_status:i,folder:r,aliases:nr(t,"aliases"),required_create_fields:nr(t,"required_create_fields"),required_create_repeatables:nr(t,"required_create_repeatables"),options:hE(t),command_option_policies:bE(t)}}function EE(e,t){return e.required_create_fields?ut(e.required_create_fields):t?.required_create_fields??[]}function TE(e,t){return e.required_create_repeatables?ut(e.required_create_repeatables):t?.required_create_repeatables??[]}function vE(e,t){return e.options?e.options:t?.options?[...t.options]:[]}function AE(e,t){return e.command_option_policies?e.command_option_policies:t?.command_option_policies?[...t.command_option_policies]:[]}function SE(e,t){let n=t?.name??e.name,r=e.description??t?.description,o=e.default_status??t?.default_status,i=Co(e.folder??t?.folder??rr(n)),s={name:n,folder:i,aliases:ut([...t?.aliases??[],...e.aliases??[]]),required_create_fields:EE(e,t),required_create_repeatables:TE(e,t),options:vE(e,t),command_option_policies:AE(e,t)};return r&&(s.description=r),o&&(s.default_status=o),s}function pu(e,t){for(let n of e){let r=gE(n);if(!r)continue;let o=r.name.toLowerCase(),i=t.get(o);t.set(o,SE(r,i))}}function kE(e){if(!e)return[];let t=[];for(let n of e.item_types??[]){let r=n.types;if(Array.isArray(r))for(let o of r){let i=wE(o);i&&t.push(i)}}return t}function or(e,t=null){let n=new Map;for(let c of su)n.set(c.toLowerCase(),{name:c,folder:ie[c],aliases:[],required_create_fields:[...nE],required_create_repeatables:[...rE],options:[],command_option_policies:[]});pu(e.item_types?.definitions??[],n),pu(kE(t),n);let r=[...n.values()].sort((c,l)=>c.name.localeCompare(l.name)),o={},i={},s={};for(let c of r){o[c.name]=c,s[c.name]=c.folder,i[c.name.toLowerCase()]=c.name;for(let l of c.aliases)i[l.toLowerCase()]=c.name}let a=[...new Set(r.map(c=>c.folder))].sort((c,l)=>c.localeCompare(l));return{types:r.map(c=>c.name),folders:a,type_to_folder:s,by_type:o,alias_to_type:i}}function hu(e,t){if(e!==void 0)return t.alias_to_type[e.trim().toLowerCase()]}function bu(e,t){let n=hu(e,t);if(n)return t.by_type[n]}function xE(e,t,n,r){for(let o of r){let i=Ks(n,o);if(i){e.required.add(i);continue}e.errors.push(`Unsupported base required option "${o}" for command "${n}" on type "${t.name}"`)}}function Hs(e,t,n){if(n){e.add(t);return}e.delete(t)}function CE(e,t,n,r){let o=Ks(n,r.option);if(!o){e.errors.push(`Unsupported command_option_policies option "${r.option}" for command "${n}" on type "${t.name}"`);return}r.required!==void 0&&Hs(e.required,o,r.required),r.visible!==void 0&&Hs(e.hidden,o,!r.visible),r.enabled!==void 0&&Hs(e.disabled,o,!r.enabled)}function OE(e,t,n){for(let r of t.command_option_policies)r.command===n&&CE(e,t,n,r)}function IE(e,t,n){for(let r of e.required)e.disabled.has(r)&&e.errors.push(`Option "${r}" cannot be both required and disabled for command "${n}" on type "${t.name}"`)}function RE(e,t,n){let r=[],o=new Set,i=new Set,s=new Set,a={required:o,hidden:i,disabled:s,errors:r};return xE(a,e,t,n),OE(a,e,t),IE(a,e,t),{required:[...o],hidden:[...i].sort((c,l)=>c.localeCompare(l)),disabled:[...s].sort((c,l)=>c.localeCompare(l)),errors:r}}function NE(e){let t=new Map;for(let n of e.options){t.set(n.key.toLowerCase(),n);for(let r of n.aliases??[])t.set(r.toLowerCase(),n)}return t}function DE(e,t,n){let r=e.values;if(r.length===0)return t;let i=new Map(r.map(s=>[s.toLowerCase(),s])).get(t.toLowerCase());if(!i){n.push(`Invalid value "${t}" for type option "${e.key}". Allowed: ${r.join(", ")}`);return}return i}function LE(e,t,n){let r=bu(e,n);if(!r)return{normalized:void 0,errors:[`Unknown type "${e}"`]};let o=[],i=NE(r),s={};for(let[c,l]of Object.entries(t??{})){let d=c.trim(),u=l.trim();if(d.length===0){o.push("type option keys must not be empty");continue}if(u.length===0){o.push(`type option "${d}" must not be empty`);continue}let p=i.get(d.toLowerCase());if(!p){let y=r.options.map(g=>g.key).join(", ");o.push(r.options.length>0?`Unknown type option "${d}" for type "${r.name}". Allowed: ${y}`:`Type "${r.name}" does not define any configurable type options`);continue}let f=DE(p,u,o);f!==void 0&&(s[p.key]=f)}for(let c of r.options)c.required&&!(c.key in s)&&o.push(`Missing required type option "${c.key}" for type "${r.name}"`);let a=Object.keys(s).sort((c,l)=>c.localeCompare(l));return a.length===0?{normalized:void 0,errors:o}:{normalized:Object.fromEntries(a.map(c=>[c,s[c]])),errors:o}}import{readFileSync as PE,readdirSync as ME,statSync as FE}from"node:fs";import $E from"node:os";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]="c155ccd1-cf4c-57fd-9d0e-5274eb29a764")}catch{}})();var jE={json_markdown:".md",toon:".toon"},zE={".md":"json_markdown",".toon":"toon"},UE=new Set([".git","coverage","dist","node_modules"]),Oo=[".md",".toon"];function ir(e){try{return FE(e),!0}catch{return!1}}function wu(e){try{let t=JSON.parse(PE(e,"utf8"));return typeof t!="object"||t===null||Array.isArray(t)?!1:"id_prefix"in t||"item_format"in t}catch{return!1}}function qE(e){let t=I.resolve(e);for(;;){let n=I.join(t,mo),r=I.join(n,go);if(ir(r))return n;let o=I.join(t,go);if(ir(o)&&wu(o))return t;let i=I.dirname(t);if(i===t)return;t=i}}function Eu(e){return qE(e)??I.resolve(e,mo)}function ij(e,t){let n=t?I.resolve(t):void 0;try{return ME(I.resolve(e),{withFileTypes:!0}).filter(r=>r.isDirectory()&&!UE.has(r.name)).map(r=>I.join(I.resolve(e),r.name)).filter(r=>r!==n).filter(r=>ir(ye(r))).filter(r=>wu(ye(r))).sort((r,o)=>r.localeCompare(o))[0]}catch{return}}function sr(e,t){let n=process.env.PM_PATH,r=t?.trim()||n?.trim();if(r){let o=I.resolve(e,r);if(!ir(ye(o))){let i=I.join(o,mo);if(ir(ye(i)))return i}return o}return Eu(e)}function sj(e){let t=I.resolve(e),n=I.dirname(t);return I.basename(t)==="pm"&&I.basename(n)===".agents"?I.dirname(n):t}function ft(e){let t=process.env.PM_GLOBAL_PATH?.trim(),n=t&&t.length>0?t:I.join($E.homedir(),".pm-cli");return I.resolve(e,n)}function ye(e){return I.join(e,go)}function GE(e,t,n=ie){let r=n[t]??rr(t);return I.join(e,r)}function yn(e,t,n,r="toon",o=ie){return I.join(GE(e,t,o),`${n}${jE[r]}`)}function ar(e){let t=e.replaceAll("\\","/"),n=I.posix.extname(t).toLowerCase();return zE[n]??null}function hn(e,t){return I.join(e,"history",`${t}.jsonl`)}function Tu(e,t){return I.join(e,"locks",`${t}.lock`)}function Ys(e){return I.join(e,"runtime")}function Io(e){return I.join(Ys(e),"test-runs")}function VE(e){return I.join(Io(e),"runs")}function aj(e,t){return I.join(VE(e),`${t}.json`)}function BE(e){return I.join(Io(e),"stdout")}function HE(e){return I.join(Io(e),"stderr")}function cj(e,t){return I.join(BE(e),`${t}.log`)}function lj(e,t){return I.join(HE(e),`${t}.log`)}function WE(e){return I.join(Io(e),"results")}function dj(e,t){return I.join(WE(e),`${t}.json`)}(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]="294d43fb-b6e8-5a5f-91fe-73ba21075bf5")}catch{}})();function et(e,t,n){if(e===t)return 0;if(Math.abs(e.length-t.length)>n)return null;let r=t.length+1,o=new Array(r),i=new Array(r),s=new Array(r);for(let c=0;c<r;c+=1)o[c]=0,i[c]=c;for(let c=1;c<=e.length;c+=1){s[0]=c;let l=s[0];for(let d=1;d<=t.length;d+=1){let u=e[c-1]===t[d-1]?0:1,p=i[d-1]+u,f=s[d-1]+1,y=i[d]+1,g=Math.min(p,f,y);c>1&&d>1&&e[c-1]===t[d-2]&&e[c-2]===t[d-1]&&(g=Math.min(g,o[d-2]+1)),s[d]=g,g<l&&(l=g)}if(l>n)return null;for(let d=0;d<r;d+=1)o[d]=i[d],i[d]=s[d]}let a=i[t.length];return a<=n?a: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]="a89f0df7-e280-5ce4-8515-1f107a4aeaab")}catch{}})();var KE=[{kind:"blocked_by",direction:"directed",inverse:"blocks",ordering:!0,precedence:"target_before_source",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["depends_on"],compatibilityVersion:1,allowSelf:!1},{kind:"blocks",direction:"directed",inverse:"blocked_by",ordering:!0,precedence:"source_before_target",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"parent",direction:"directed",inverse:"child",ordering:!1,hierarchy:!0,hierarchyDirection:"target_parent",outgoing:"one",incoming:"many",lifecycle:"supersedable",aliases:["child_of","epic"],compatibilityVersion:1,allowSelf:!1},{kind:"child",direction:"directed",inverse:"parent",ordering:!1,hierarchy:!0,hierarchyDirection:"source_parent",outgoing:"many",incoming:"one",lifecycle:"supersedable",aliases:["parent_child","task"],compatibilityVersion:1,allowSelf:!1},{kind:"related",direction:"undirected",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["related_to"],compatibilityVersion:1,allowSelf:!1},{kind:"discovered_from",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"incident_from",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"implements",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"verifies",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"supersedes",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"supersedable",compatibilityVersion:1,allowSelf:!1}];function Do(e){return e.trim().toLowerCase().replaceAll("-","_")}function YE(e){if(e===void 0)return;let t=Do(e);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid inverse relationship kind: ${e}`);return t}function Js(e,t=new Set){if(e===null||typeof e!="object"||t.has(e))return e;if(t.add(e),Array.isArray(e)){for(let n of e)Js(n,t);return Object.freeze(e)}for(let n of Object.values(e))Js(n,t);return Object.freeze(e)}function XE(e,t){if(e.precedence!==void 0&&e.precedence!=="source_before_target"&&e.precedence!=="target_before_source")throw new TypeError(`Invalid relationship precedence for ${t}`);if(!e.ordering&&e.precedence!==void 0)throw new TypeError(`Non-ordering relationship kind cannot declare precedence: ${t}`)}function JE(e,t){if(e.hierarchyDirection!==void 0&&e.hierarchyDirection!=="source_parent"&&e.hierarchyDirection!=="target_parent")throw new TypeError(`Invalid relationship hierarchy direction for ${t}`);if(!e.hierarchy&&e.hierarchyDirection!==void 0)throw new TypeError(`Non-hierarchy relationship kind cannot declare hierarchy direction: ${t}`)}function QE(e){if(typeof e!="object"||e===null)throw new TypeError("Relationship kind definition requires an object");if(typeof e.kind!="string")throw new TypeError("Relationship kind requires a string identifier");let t=Do(e.kind);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid relationship kind: ${e.kind}`);if(!Number.isInteger(e.compatibilityVersion)||e.compatibilityVersion<1)throw new TypeError(`Invalid compatibility version for ${t}`);return t}function ZE(e,t){if(!["directed","undirected"].includes(e.direction))throw new TypeError(`Invalid relationship direction for ${t}`);if(typeof e.ordering!="boolean")throw new TypeError(`Invalid relationship ordering flag for ${t}`);if(![void 0,!0,!1].includes(e.hierarchy))throw new TypeError(`Invalid relationship hierarchy flag for ${t}`);if(!["one","many"].includes(e.outgoing))throw new TypeError(`Invalid outgoing relationship cardinality for ${t}`);if(!["one","many"].includes(e.incoming))throw new TypeError(`Invalid incoming relationship cardinality for ${t}`);if(!["persistent","supersedable","ephemeral"].includes(e.lifecycle))throw new TypeError(`Invalid relationship lifecycle for ${t}`);if(typeof e.allowSelf!="boolean")throw new TypeError(`Invalid relationship self-edge flag for ${t}`)}function eT(e,t){if(e.payloadSchema!==void 0&&(typeof e.payloadSchema!="object"||e.payloadSchema===null||Array.isArray(e.payloadSchema)))throw new TypeError(`Invalid relationship payload schema for ${t}`);if(e.aliases!==void 0&&(!Array.isArray(e.aliases)||e.aliases.some(n=>typeof n!="string")))throw new TypeError(`Invalid relationship aliases for ${t}`)}var Qs=class{#e=new Map;#n=new Map;constructor(t=KE){for(let n of t)this.register(n)}register(t){let n=QE(t);if(ZE(t,n),eT(t,n),XE(t,n),JE(t,n),this.#e.has(n)||this.#n.has(n))throw new TypeError(`Relationship kind already registered: ${n}`);let r=YE(t.inverse),o=[...new Set((t.aliases??[]).map(Do))].sort();for(let s of o){if(!/^[a-z][a-z0-9_]*$/.test(s))throw new TypeError(`Invalid relationship alias: ${s}`);if(s===n||this.#e.has(s)||this.#n.has(s))throw new TypeError(`Relationship alias already registered: ${s}`)}let i=Object.freeze({...t,kind:n,hierarchy:t.hierarchy??!1,inverse:r,aliases:Object.freeze(o),payloadSchema:t.payloadSchema?Js(structuredClone(t.payloadSchema)):void 0});this.#e.set(n,i);for(let s of o)this.#n.set(s,n);return this}resolve(t){if(typeof t!="string")return;let n=Do(t);return this.#e.get(this.#n.get(n)??n)}require(t){let n=this.resolve(t);if(!n)throw new TypeError(`Unknown relationship kind: ${t}`);return n}list(){return Object.freeze([...this.#e.values()].sort((t,n)=>t.kind.localeCompare(n.kind)))}};function Zs(){return new Qs}var cr=Zs();function pj(e,t=cr){return t.resolve(e)?.ordering===!0}function tT(e,t,n,r=cr){let o=lr(e),i=lr(t);if(!o||!i)throw new TypeError("Relationship endpoint must not be empty");let s=r.require(n);if(o===i&&!s.allowSelf)throw new TypeError(`Self relationship is not allowed for ${s.kind}`);return s}function Ro(e,t){return e.source.localeCompare(t.source)||e.target.localeCompare(t.target)||e.kind.localeCompare(t.kind)}function nT(e,t,n){let r=typeof e.source=="string"?e.source.trim():"",o=typeof e.target=="string"?e.target.trim():"";if(!t.has(r)||!t.has(o))throw new TypeError(`Relationship endpoint not found: ${r} -> ${o}`);let i=tT(r,o,e.kind,n),s=Object.freeze({...e,source:r,target:o,kind:i.kind}),a=i.direction==="undirected"?[r,o].sort().join("\0"):`${r}\0${o}`;return{edge:s,identity:`${i.kind}\0${a}`}}function No(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function lr(e){return typeof e=="string"?e.trim():""}function Xs(e,t){let n=lr(e);return n&&t.has(n)?n:void 0}function rT(e,t,n){let r=[t],o=t;for(;o!==e;)o=n.get(o),r.push(o);return r.reverse()}var vu=class e{#e;#n;#o;#r;#s=new Map;#a=new Map;constructor(t,n,r=cr){this.#e=r,this.#n=new Set([...t].filter(i=>typeof i=="string").map(i=>i.trim()).filter(Boolean)),this.#o=Object.freeze([...this.#n].sort());let o=new Map;for(let i of n){let{edge:s,identity:a}=nT(i,this.#n,r);o.set(a,s)}this.#r=Object.freeze([...o.values()].sort(Ro));for(let i of this.#r)No(this.#s,i.source,i),No(this.#a,i.target,i),r.require(i.kind).direction==="undirected"&&(No(this.#s,i.target,i),No(this.#a,i.source,i))}static fromItems(t,n=cr){let r=new Set(t.map(i=>lr(i.id)).filter(Boolean)),o=[];for(let i of t){let s=lr(i.id);if(!s)continue;let a=Xs(i.parent,r);a&&o.push({source:s,target:a,kind:"parent"});let c=Xs(i.blocked_by,r);c&&o.push({source:s,target:c,kind:"blocked_by"});for(let l of i.dependencies??[]){let d=Xs(l.id,r);d&&n.resolve(l.kind)&&o.push({source:s,target:d,kind:l.kind,createdAt:l.created_at,author:l.author})}}return new e(r,o,n)}edges(){return this.#r}incidentEdges(t){this.#i(t);let n=this.#s.get(t)??[],r=this.#a.get(t)??[];if(n.length===0)return Object.freeze([...r]);if(r.length===0)return Object.freeze([...n]);let o=[],i=0,s=0;for(;i<n.length||s<r.length;){let a=n[i],c=r[s],l=a===void 0?c:c===void 0||Ro(a,c)<=0?a:c;o.at(-1)!==l&&o.push(l),a===l&&(i+=1),c===l&&(s+=1)}return Object.freeze(o)}nodes(){return this.#o}hasNode(t){return this.#n.has(t)}registry(){return this.#e}#i(t){if(!this.#n.has(t))throw new TypeError(`Relationship node not found: ${t}`)}#c(t,n){if(!n)return!0;let r=this.#e.require(t.kind);return n.has(t.kind)||r.inverse!==void 0&&n.has(r.inverse)}#t(t,n,r){let o=[...n==="incoming"?[]:this.#s.get(t)??[],...n==="outgoing"?[]:this.#a.get(t)??[]];return[...new Set(o)].filter(i=>this.#c(i,r)).map(i=>({id:i.source===t?i.target:i.source,edge:i})).sort((i,s)=>i.id.localeCompare(s.id)||Ro(i.edge,s.edge))}adjacency(t,n={}){this.#i(t),n.signal?.throwIfAborted();let r=n.kinds?new Set(n.kinds.map(c=>this.#e.require(c).kind)):void 0,o=this.#t(t,n.direction??"outgoing",r),i=n.limit??Number.POSITIVE_INFINITY,s=[...new Set(o.map(c=>c.id))],a=s.slice(0,i);return{value:a,meta:{visitedNodes:1,inspectedEdges:o.length,truncated:a.length<s.length,nextCursor:a.at(-1)}}}neighborEdges(t,n={}){this.#i(t),n.signal?.throwIfAborted();let r=n.kinds?new Set(n.kinds.map(a=>this.#e.require(a).kind)):void 0,o=this.#t(t,n.direction??"outgoing",r),i=n.limit??Number.POSITIVE_INFINITY,s=o.slice(0,i);return{value:s,meta:{visitedNodes:1,inspectedEdges:o.length,truncated:s.length<o.length,nextCursor:s.at(-1)?.id}}}closure(t,n={}){this.#i(t);let r=n.kinds?new Set(n.kinds.map(f=>this.#e.require(f).kind)):void 0,o=n.direction??"outgoing",i=n.limit??Number.POSITIVE_INFINITY,s=n.maxDepth??Number.POSITIVE_INFINITY,a=new Set([t]),c=[],l=[{id:t,depth:0}],d=0,u=0,p=!1;e:for(let f=0;f<l.length;f+=1){n.signal?.throwIfAborted();let y=l[f];d+=1;let g=this.#t(y.id,o,r);if(u+=g.length,y.depth>=s){g.some(h=>!a.has(h.id))&&(p=!0);continue}for(let h of g)if(!a.has(h.id)){if(c.length>=i){p=!0;break e}a.add(h.id),c.push(h.id),l.push({id:h.id,depth:y.depth+1})}}return{value:c,meta:{visitedNodes:d,inspectedEdges:u,truncated:p,nextCursor:c.at(-1)}}}shortestPath(t,n,r={}){if(this.#i(t),this.#i(n),t===n)return{value:[t],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}};let o=r.kinds?new Set(r.kinds.map(f=>this.#e.require(f).kind)):void 0,i=r.direction??"outgoing",s=r.maxDepth??Number.POSITIVE_INFINITY,a=[{id:t,depth:0}],c=new Map,l=new Set([t]),d=0,u=0,p=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let y=a[f];d+=1;let g=this.#t(y.id,i,o);if(u+=g.length,y.depth>=s){g.some(h=>!l.has(h.id))&&(p=!0);continue}for(let h of g)if(!l.has(h.id)){if(c.set(h.id,y.id),h.id===n)return{value:rT(t,n,c),meta:{visitedNodes:d,inspectedEdges:u,truncated:!1}};l.add(h.id),a.push({id:h.id,depth:y.depth+1})}}return{value:[],meta:{visitedNodes:d,inspectedEdges:u,truncated:p}}}subgraph(t,n={}){let r=this.closure(t,n),o=[t,...r.value].sort(),i=new Set(o),s=n.kinds?new Set(n.kinds.map(c=>this.#e.require(c).kind)):void 0,a=new Set;for(let c of o)for(let l of this.#s.get(c)??[])i.has(l.source)&&i.has(l.target)&&this.#c(l,s)&&a.add(l);return{value:{nodes:o,edges:[...a].sort(Ro)},meta:r.meta}}};function mj(e,t,n=cr){return{source:e,target:t.id,kind:n.require(t.kind).kind,createdAt:t.created_at,author:t.author}}(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]="3225f4de-aa48-55b7-a704-d93ccb3ee0f4")}catch{}})();function dr(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function pt(e){return ze.includes(e)}function Au(e){let t=e.trim().toLowerCase();return pt(t)?t:null}function Su(e){return e.filter(t=>!pt(t))}function ea(e){let t=e.trim().toLowerCase();return t.length===0?null:Ds[t]??null}function ku(e){let t=dr([...e].map(i=>i.toLowerCase())),n=[],r=[];for(let i of t){let s=ea(i);if(s){n.push(s),r.push({alias:i,target:s});continue}n.push(i)}let o=[...new Map(r.map(i=>[`${i.alias}>${i.target}`,i])).values()].sort((i,s)=>i.alias.localeCompare(s.alias));return{capabilities:dr(n),legacy_aliases:o}}function oT(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let n=ea(t);if(n)return n;let r=Math.max(1,Math.floor(t.length*.34)),o=null,i=Number.POSITIVE_INFINITY;for(let s of ze){let a=et(t,s,r);a!==null&&a<i&&(i=a,o=s)}return o}function xu(e,t,n){let r=ze.join(","),o=oT(n)??"none";return`extension_capability_unknown:${e}:${t}:${n}:allowed=${r}:suggested=${o}`}function Cu(e,t,n){let r=n.map(o=>`${o.alias}>${o.target}`).join(",");return`extension_capability_legacy_alias:${e}:${t}:aliases=${r}`}function iT(e){let t=/^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(e.trim());if(!t)return null;let[,n,r,o,i,s]=t,a=n,c=i.split(",").map(f=>f.trim()).filter(f=>f.length>0),l=ea(o),u=(s==="none"?void 0:s)??l??void 0;return{layer:a,name:r,capability:o,allowed_capabilities:c,capability_contract_version:ao,suggested_capability:u,suggestion_source:u?l===u?"legacy_alias":"nearest_match":void 0,legacy_alias_target:l??void 0}}function sT(e){let t=/^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(e.trim());if(!t)return[];let[,n,r,o]=t,i=n,s=[...ze],a=[];for(let c of o.split(",")){let[l,d]=c.split(">"),u=l?.trim(),p=d?.trim().toLowerCase();!u||!p||!pt(p)||a.push({layer:i,name:r,capability:u,allowed_capabilities:s,capability_contract_version:ao,suggested_capability:p,suggestion_source:"legacy_alias",legacy_alias_target:p})}return 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]="baa8b608-7f1e-5382-abe3-b1af79e46da4")}catch{}})();function ur(){return{beforeCommand:[],beforeMutation:[],afterCommand:[],onWrite:[],onRead:[],onIndex:[]}}function ta(){return{overrides:[],handlers:[]}}function na(){return{overrides:[]}}function ra(){return{overrides:[]}}function oa(){return{overrides:[]}}function ia(){return{overrides:[]}}function Lo(){return{commands:[],flags:[],item_fields:[],item_types:[],relationship_kinds:[],migrations:[],profiles:[],importers:[],exporters:[],search_providers:[],vector_store_adapters:[]}}(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]="2f268c53-f096-5eed-9ddb-01fed4839ae5")}catch{}})();function V(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function aT(){return{json:!1,quiet:!1,noExtensions:!1,profile:!1}}function he(e){return e?R(e):{}}function be(e){return e?R(e):aT()}function R(e){return structuredClone(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]="2c4e3831-6644-5db3-a28b-1c6a131da2e1")}catch{}})();var cT=new Set(["commands","command_overrides","command_handlers","flag_commands","parser_overrides"]),lT=["commands","command_overrides","command_handlers","hooks","flag_commands","item_types","item_fields","relationship_kinds","migrations","profiles","importers","exporters","search_providers","vector_store_adapters","parser_overrides","service_overrides","renderer_overrides"];function dT(e,t){for(let n of lT){let r=e[n];if(r===void 0)continue;if(!Array.isArray(r)||r.some(i=>typeof i!="string"))return!1;let o=r.map(i=>cT.has(n)?V(i):i.trim()).filter(i=>i.length>0);t[n]=[...new Set(o)].sort((i,s)=>i.localeCompare(s))}return!0}function uT(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(typeof n!="object"||n===null)return null;let r=n;if(r.format!=="json"&&r.format!=="toon"||!Array.isArray(r.commands)||r.commands.some(o=>typeof o!="string")||typeof r.result_discriminator!="boolean")return null;t.push({format:r.format,commands:[...new Set(r.commands.map(o=>V(o)))].sort((o,i)=>o.localeCompare(i)),result_discriminator:r.result_discriminator})}return t.sort((n,r)=>n.format.localeCompare(r.format))}function fT(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(typeof n!="object"||n===null)return null;let r=n.commands;if(!Array.isArray(r)||r.some(o=>typeof o!="string"))return null;t.push({commands:[...new Set(r.map(o=>V(o)))].filter(o=>o.length>0).sort((o,i)=>o.localeCompare(i))})}return t}function sa(e){if(e==null)return;if(typeof e!="object"||Array.isArray(e))return null;let t=e;if(t.schema_version!==1)return null;let n={schema_version:1};if(!dT(t,n))return null;let r=t.preflight_overrides;if(r!==void 0&&(!Number.isInteger(r)||r<0))return null;typeof r=="number"&&(n.preflight_overrides=r);let o=t.renderer_ownership;if(o!==void 0){let s=uT(o);if(s===null)return null;n.renderer_ownership=s}let i=t.preflight_ownership;if(i!==void 0){let s=fT(i);if(s===null)return null;n.preflight_ownership=s}return n}function Tj(e){return{schema_version:1,commands:e.commands,command_overrides:e.command_overrides,command_handlers:e.command_handlers,hooks:e.hooks,flag_commands:e.flag_commands,item_types:e.item_types,item_fields:e.item_fields,...e.relationship_kinds?{relationship_kinds:e.relationship_kinds}:{},migrations:e.migrations,profiles:e.profiles,importers:e.importers,exporters:e.exporters,search_providers:e.search_providers,vector_store_adapters:e.vector_store_adapters,parser_overrides:e.parser_overrides,service_overrides:e.service_overrides,renderer_overrides:e.renderer_overrides,...e.renderer_ownership?{renderer_ownership:e.renderer_ownership}:{},preflight_overrides:e.preflight_overrides,...e.preflight_ownership?{preflight_ownership:e.preflight_ownership}:{}}}import pT from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83232698-197a-5aef-be7c-aa37f3c56822")}catch{}})();function mT(e){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return e.toString();if(e===void 0)return"undefined";if(typeof e=="symbol")return e.toString();if(typeof e=="function")return`[function:${e.name||"anonymous"}]`}function gT(e){let t=Object.keys(e).sort(),n={};for(let r of t){let o=e[r];o!==void 0&&(n[r]=Po(o))}return n}function Po(e){let t=mT(e);if(t!==void 0)return t;if(Array.isArray(e))return e.map(r=>Po(r));if(e instanceof Date)return e.toISOString();let n=e;if(typeof n.toJSON=="function"){let r=n.toJSON();if(r!==e)return Po(r)}return gT(e)}function we(e){return JSON.stringify(Po(e))}function Ou(e,t,n,r){for(let o=0;o<t.length;o+=1)if(!n.has(o)&&r(e,t[o]))return n.add(o),!0;return!1}function _T(e,t){if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.toString()===t.toString()}function yT(e,t){if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime()}function hT(e,t){if(!(e instanceof Set||t instanceof Set))return;if(!(e instanceof Set&&t instanceof Set)||e.size!==t.size)return!1;let n=[...t],r=new Set;for(let o of e)if(!Ou(o,n,r,ne))return!1;return!0}function bT(e,t){if(!(e instanceof Map||t instanceof Map))return;if(!(e instanceof Map&&t instanceof Map)||e.size!==t.size)return!1;let n=[...t.entries()],r=new Set;for(let[o,i]of e.entries())if(!Ou([o,i],n,r,([a,c],[l,d])=>ne(a,l)&&ne(c,d)))return!1;return!0}function wT(e,t){if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((n,r)=>ne(n,t[r]))}function ET(e,t){let n=Object.keys(e).sort((o,i)=>o.localeCompare(i)),r=Object.keys(t).sort((o,i)=>o.localeCompare(i));if(n.length!==r.length)return!1;for(let o=0;o<n.length;o+=1){let i=n[o];if(i!==r[o]||!ne(e[i],t[i]))return!1}return!0}var TT=[_T,yT,hT,bT,wT];function ne(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||typeof e!="object"||typeof t!="object")return!1;for(let n of TT){let r=n(e,t);if(r!==void 0)return r}return ET(e,t)}function Ft(e){return pT.createHash("sha256").update(e,"utf8").digest("hex")}function x(e,t){let n={};for(let o of t){let i=e[o];i!==void 0&&(n[o]=i)}let r=Object.keys(e).filter(o=>!t.includes(o)).sort((o,i)=>o.localeCompare(i));for(let o of r){let i=e[o];i!==void 0&&(n[o]=i)}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ac377139-8ce2-58ad-8005-0ac907a9baed")}catch{}})();var vT=5e3;async function fr(e,t,n){let r=[];for(let o of e)try{await o.run(R(n))}catch{r.push(`extension_hook_failed:${o.layer}:${o.name}:${t}`)}return r}async function Iu(e,t){return fr(e.beforeCommand,"beforeCommand",t)}function AT(e,t,n){if(e===void 0)return;if(typeof e!="object"||e===null||!("allow"in e)||e.allow!==!0&&e.allow!==!1)throw new b(`Extension mutation guard ${t.name} returned an invalid decision.`,_.CONFLICT,{code:"extension_mutation_guard_invalid_decision",reason:`${t.layer}:${t.name}`,nextSteps:["Return { allow: true } or a structured denial from the guard."]});if(e.allow)return;let r=e,o=typeof r.code=="string"?r.code.trim():"",i=typeof r.remediation=="string"?r.remediation.trim():"";if(o.length===0||i.length===0)throw new b(`Extension mutation guard ${t.name} returned an invalid denial.`,_.CONFLICT,{code:"extension_mutation_guard_invalid_denial",reason:`${t.layer}:${t.name}`,nextSteps:["Return non-empty code and remediation fields from the guard."]});let s=typeof r.message=="string"?r.message.trim():"";throw new b(s||`Extension mutation guard ${t.name} denied ${n}.`,_.CONFLICT,{code:o,reason:`${t.layer}:${t.name}`,nextSteps:[i]})}async function aa(e,t){for(let n of e.beforeMutation??[]){let r,o;try{let i=Promise.resolve().then(()=>n.run({pm_root:t.pm_root,operation:t.operation,before:t.before===null?null:R(t.before),after:t.after===null?null:R(t.after),changed_fields:[...t.changed_fields],sdk:t.sdk}));i.catch(()=>{}),r=await Promise.race([i,new Promise((s,a)=>{o=setTimeout(()=>{a(new b(`Extension mutation guard ${n.name} timed out before ${t.operation}.`,_.CONFLICT,{code:"extension_mutation_guard_timed_out",reason:`${n.layer}:${n.name}`,nextSteps:["Fix or disable the stalled extension guard, then retry the mutation."]}))},vT),o.unref?.()})])}catch(i){throw i instanceof b?i:new b(`Extension mutation guard ${n.name} failed before ${t.operation}.`,_.CONFLICT,{code:"extension_mutation_guard_failed",reason:`${n.layer}:${n.name}`,nextSteps:["Fix or disable the failing extension guard, then retry the mutation."]})}finally{clearTimeout(o)}AT(r,n,t.operation)}}async function Ru(e,t){return fr(e.afterCommand,"afterCommand",t)}async function ca(e,t){return fr(e.onWrite,"onWrite",t)}async function la(e,t){return fr(e.onRead,"onRead",t)}async function da(e,t){return fr(e.onIndex,"onIndex",t)}function ST(e){let t="";e instanceof Error&&typeof e.message=="string"?t=e.message:typeof e=="string"?t=e:typeof e=="object"&&e!==null&&typeof e.message=="string"&&(t=e.message);let n=t.replace(/\s+/gu," ").trim();if(n.length===0)return"";let r=300;return n.length>r?`${n.slice(0,r-1)}\u2026`:n}function Mo(e,t){if(typeof e!="object"||e===null||typeof e[t]!="string")return;let n=String(e[t]).replace(/\s+/gu," ").trim();return n.length>0?n.slice(0,300):void 0}function kT(e){if(typeof e!="object"||e===null||!Object.hasOwn(e,"exit_code"))return;let t=e.exit_code;if(typeof t!="number"||!Number.isInteger(t)||t<1||t>255)throw new TypeError("Extension command result exit_code must be an integer from 1 to 255.");return t}async function ua(e,t){let n=V(t.command);if(n.length===0)return{handled:!1,result:null,warnings:[]};let r=[...e.handlers].reverse().find(o=>o.command===n);if(!r)return{handled:!1,result:null,warnings:[]};try{let o=await r.run({command:n,args:R(t.args),options:R(t.options),global:R(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel,...t.sdk===void 0?{}:{sdk:t.sdk}});return{handled:!0,result:o,warnings:[],...Object.fromEntries([["exitCode",kT(o)],["errorCode",Mo(o,"code")],["remediation",Mo(o,"remediation")]].filter(i=>i[1]!==void 0))}}catch(o){let i=typeof o=="object"&&o!==null&&"exitCode"in o?o.exitCode:void 0;if(typeof i=="number"&&Number.isFinite(i))throw o;return{handled:!1,result:null,warnings:[`extension_command_handler_failed:${r.layer}:${r.name}:${r.command}`],errorMessage:ST(o),...Object.fromEntries([["errorCode",Mo(o,"code")],["remediation",Mo(o,"remediation")]].filter(s=>s[1]!==void 0))}}}async function fa(e,t){let n=V(t.command);if(n.length===0)return{overridden:!1,context:{command:n,args:R(t.args),options:he(t.options),global:be(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[]};let r=[...e.overrides].reverse().find(o=>o.command===n);if(!r)return{overridden:!1,context:{command:n,args:R(t.args),options:he(t.options),global:be(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[]};try{let o=await Promise.resolve(r.run({command:n,args:R(t.args),options:he(t.options),global:be(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel}))??{},i=Array.isArray(o.args)?R(o.args):R(t.args),s=o.options?he(o.options):he(t.options),a=o.global?be(o.global):be(t.global);return{overridden:!0,context:{command:n,args:i,options:s,global:a,pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[]}}catch{return{overridden:!1,context:{command:n,args:R(t.args),options:he(t.options),global:be(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[`extension_parser_override_failed:${r.layer}:${r.name}:${r.command}`]}}}async function pa(e,t){let n={command:V(t.command),args:R(t.args),options:he(t.options),global:be(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},r=R(t.decision),o=[...e.overrides].reverse().find(i=>!i.commands?.length||i.commands.includes(n.command));if(!o)return{overridden:!1,context:n,decision:r,warnings:[]};try{let i=await Promise.resolve(o.run({command:n.command,args:R(n.args),options:he(n.options),global:be(n.global),pm_root:n.pm_root,source_workspace_root:n.source_workspace_root,repo_root:n.repo_root,pm_root_rel:n.pm_root_rel,decision:R(r)}))??{},s={command:n.command,args:Array.isArray(i.args)?R(i.args):n.args,options:i.options?he(i.options):n.options,global:i.global?be(i.global):n.global,pm_root:n.pm_root,source_workspace_root:n.source_workspace_root,repo_root:n.repo_root,pm_root_rel:n.pm_root_rel},a={enforce_item_format_gate:typeof i.enforce_item_format_gate=="boolean"?i.enforce_item_format_gate:r.enforce_item_format_gate,run_preflight_item_format_sync:typeof i.run_preflight_item_format_sync=="boolean"?i.run_preflight_item_format_sync:r.run_preflight_item_format_sync,run_extension_migrations:typeof i.run_extension_migrations=="boolean"?i.run_extension_migrations:r.run_extension_migrations,enforce_mandatory_migration_gate:typeof i.enforce_mandatory_migration_gate=="boolean"?i.enforce_mandatory_migration_gate:r.enforce_mandatory_migration_gate};return{overridden:!0,context:s,decision:a,warnings:[]}}catch{return{overridden:!1,context:n,decision:r,warnings:[`extension_preflight_override_failed:${o.layer}:${o.name}`]}}}function Nu(e){return{handled:!1,result:e.payload,warnings:[]}}function Du(e,t){return[...e.overrides].reverse().filter(n=>n.service===t)}function Lu(e){return{service:e.service,command:e.command?V(e.command):void 0,args:e.args?R(e.args):void 0,options:e.options?he(e.options):void 0,global:e.global?be(e.global):void 0,pm_root:e.pm_root,source_workspace_root:e.source_workspace_root,repo_root:e.repo_root,pm_root_rel:e.pm_root_rel,payload:R(e.payload)}}function xT(e){if(typeof e!="object"||e===null||!Object.hasOwn(e,"handled"))return!1;let t=e.handled;return t===!0?Object.hasOwn(e,"result"):t===!1&&Reflect.ownKeys(e).length===1}function Pu(e,t){return xT(e)?e.handled?{handled:!0,result:e.result}:{handled:!1,result:t.payload}:t.service==="output_format"&&e==null?{handled:!1,result:t.payload}:{handled:!0,result:e}}function Mu(e,t,n){return t.service==="output_format"&&typeof e=="object"&&e!==null&&ne(e,n.payload)}function ma(e,t){let n=Du(e,t.service);if(n.length===0)return Nu(t);let r=[];for(let o of n)try{let i=Lu(t),s=o.run(i);if(s instanceof Promise){r.push(`extension_service_override_async_unsupported:${o.layer}:${o.name}:${o.service}`);continue}if(Mu(s,t,i)){r.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=Pu(s,t);if(!a.handled)continue;return{handled:!0,result:a.result,warnings:r}}catch{r.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:t.payload,warnings:r}}async function ga(e,t){let n=Du(e,t.service);if(n.length===0)return Nu(t);let r=[];for(let o of n)try{let i=Lu(t),s=await Promise.resolve(o.run(i));if(Mu(s,t,i)){r.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=Pu(s,t);if(!a.handled)continue;return{handled:!0,result:a.result,warnings:r}}catch{r.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:t.payload,warnings:r}}function _a(e,t){let n=V(t.command);if(n.length===0)return{overridden:!1,result:t.result,warnings:[]};let r=[...e.overrides].reverse().find(o=>o.command===n);if(!r)return{overridden:!1,result:t.result,warnings:[]};try{let o=he(t.options),i=be(t.global),s=r.run({command:n,args:R(t.args),options:o,global:i,pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel,result:R(t.result)});return s instanceof Promise?{overridden:!1,result:t.result,warnings:[`extension_command_override_async_unsupported:${r.layer}:${r.name}:${r.command}`]}:{overridden:!0,result:s,warnings:[]}}catch{return{overridden:!1,result:t.result,warnings:[`extension_command_override_failed:${r.layer}:${r.name}:${r.command}`]}}}function CT(e,t,n){if((e.commands?.length??0)>0&&!e.commands?.includes(t))return!1;if(e.resultDiscriminator===void 0)return!0;try{return e.resultDiscriminator(R(n))}catch{return!1}}function ya(e,t){let n=typeof t.command=="string"?V(t.command):"",r=[...e.overrides].reverse().find(o=>o.format===t.format&&CT(o,n,t.result));if(!r)return{overridden:!1,rendered:null,warnings:[]};try{let o=Array.isArray(t.args)?R(t.args):[],i=he(t.options),s=be(t.global),a=typeof t.pm_root=="string"?t.pm_root:"",c=r.run({format:t.format,command:n,args:o,options:i,global:s,pm_root:a,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel,result:R(t.result)});return c==null?{overridden:!1,rendered:null,warnings:[]}:typeof c!="string"?{overridden:!1,rendered:null,warnings:[`extension_renderer_invalid_result:${r.layer}:${r.name}:${r.format}`]}:{overridden:!0,rendered:c,warnings:[]}}catch{return{overridden:!1,rendered:null,warnings:[`extension_renderer_failed:${r.layer}:${r.name}:${r.format}`]}}}import Ut from"node:fs/promises";import zt from"node:path";import{pathToFileURL as BT}from"node:url";import Fu from"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]="624aced5-552c-5354-9e34-b96e267d34d1")}catch{}})();function ha(e,t){let n=Fu.relative(e,t);return n.length===0?!0:!n.startsWith("..")&&!Fu.isAbsolute(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]="f6ec614c-2e47-5ce0-bbf6-8dde97ffb99e")}catch{}})();var Fo=_n;function $o(e){let t=e.trim().toLowerCase();return Fo.includes(t)?t:null}function $u(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let n=Math.max(1,Math.floor(t.length*.34));for(let r of Fo)if(et(t,r,n)!==null)return r;return null}import OT from"node:fs/promises";import pr 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]="e81790e9-3de2-5639-a84d-2c4714afbbf4")}catch{}})();async function ju(e,t){let n=pr.dirname(t.manifest_path),r=pr.relative(n,t.entry_path);if(r.startsWith("..")||pr.isAbsolute(r))throw new Error(`Cannot snapshot extension entry outside its package directory: ${t.entry_path}`);let o=pr.join(e,`${t.layer}-${t.directory.replace(/[^a-zA-Z0-9._-]/gu,"_")}`);return await OT.cp(n,o,{recursive:!0,force:!0}),pr.join(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]="1558713a-91ea-5eef-8426-d910e0b77045")}catch{}})();function zu(e){let t={beforeCommand:e.hooks.beforeCommand.length,beforeMutation:e.hooks.beforeMutation.length,afterCommand:e.hooks.afterCommand.length,onWrite:e.hooks.onWrite.length,onRead:e.hooks.onRead.length,onIndex:e.hooks.onIndex.length,commandOverrides:e.commands.overrides.length,commandHandlers:e.commands.handlers.length,parserOverrides:e.parsers.overrides.length,preflightOverrides:e.preflight.overrides.length,serviceOverrides:e.services.overrides.length,rendererOverrides:e.renderers.overrides.length,registrations:Object.fromEntries(Object.entries(e.registrations).map(([n,r])=>[n,r.length]))};return()=>{e.hooks.beforeCommand.length=t.beforeCommand,e.hooks.beforeMutation.length=t.beforeMutation,e.hooks.afterCommand.length=t.afterCommand,e.hooks.onWrite.length=t.onWrite,e.hooks.onRead.length=t.onRead,e.hooks.onIndex.length=t.onIndex,e.commands.overrides.length=t.commandOverrides,e.commands.handlers.length=t.commandHandlers,e.parsers.overrides.length=t.parserOverrides,e.preflight.overrides.length=t.preflightOverrides,e.services.overrides.length=t.serviceOverrides,e.renderers.overrides.length=t.rendererOverrides;for(let[n,r]of Object.entries(t.registrations))e.registrations[n].length=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]="065f61c6-2123-5a6d-984a-569bb14d6911")}catch{}})();function Uu(e){let t=typeof e=="function"?e:e.run;if(typeof t!="function")throw new TypeError("registerPreflight override requires a function handler");let n=[...new Set((typeof e=="function"?[]:e.commands??[]).map(r=>{if(typeof r!="string"||r.trim().length===0)throw new TypeError("registerPreflight ownership.commands must contain non-empty command paths");return V(r)}))];return{run:t,...n.length>0?{commands:n}:{}}}function qu(e){let t=[];for(let n=1;n<e.overrides.length;n+=1){let r=e.overrides[n];for(let o of e.overrides.slice(0,n))r.commands?.length&&o.commands?.length&&!o.commands.some(i=>r.commands.includes(i))||t.push(`extension_preflight_override_collision:${r.layer}:${r.name}:${o.layer}:${o.name}`)}return t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dc9a3977-a78a-501e-b600-45e7031dcebd")}catch{}})();function tt(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return t}function de(e,t){if(t!==void 0&&typeof t!="boolean")throw new TypeError(`${e} must be a boolean when provided`)}function se(e,t){if(t!==void 0&&(typeof t!="string"||t.trim().length===0))throw new TypeError(`${e} must be a non-empty string when provided`)}function Gu(e,t){if(t===void 0)return;let n=r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean";if(Array.isArray(t)){for(let[r,o]of t.entries())if(!n(o))throw new TypeError(`${e}[${r}] must be a string, number, or boolean`);return}if(!n(t))throw new TypeError(`${e} must be a string, number, or boolean, or an array of these when provided`)}function $t(e,t){if(t!==void 0){if(!Array.isArray(t))throw new TypeError(`${e} must be an array of non-empty strings when provided`);for(let[n,r]of t.entries())if(typeof r!="string"||r.trim().length===0)throw new TypeError(`${e}[${n}] must be a non-empty string`)}}function mr(e,t){if($t(e,t),!Array.isArray(t))return[];let n=[],r=new Set;for(let o of t){let i=o.trim();i.length===0||r.has(i)||(r.add(i),n.push(i))}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="45d00ef3-870c-5f3f-89c1-6abd54c518fe")}catch{}})();function Vu(e){se("registerCommand definition.action",e.action),se("registerCommand definition.description",e.description),se("registerCommand definition.intent",e.intent),se("registerCommand definition.tier",e.tier);let t=e.tier;if(t!==void 0&&t!=="core"&&t!=="standard"&&t!=="full"&&t!=="internal")throw new Error("registerCommand definition.tier must be core, standard, full, or internal")}(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]="47bfb287-bdd9-5984-9db4-cb996845d98c")}catch{}})();var ba=Object.freeze([{flag:"--json"},{flag:"--lean"},{flag:"--token-accounting"},{flag:"--output-include",value_name:"fields"},{flag:"--output-limit",value_name:"count"},{flag:"--output-budget",value_name:"tokens"},{flag:"--output-format",value_name:"toon|json"},{flag:"--output-session",value_name:"state"},{flag:"--quiet"},{flag:"--no-changed-fields"},{flag:"--full-changed-fields"},{flag:"--id-only"},{flag:"--pm-path",aliases:["--path"]},{flag:"--no-extensions"},{flag:"--no-pager"},{flag:"--profile"},{flag:"--help"},{flag:"--author",value_name:"id"}]),wa=new Set(ba.flatMap(e=>[e.flag,...e.aliases??[]]));(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]="4eccf02f-7401-539f-b843-f55b63ed878c")}catch{}})();var IT=/^--[a-z0-9][a-z0-9_-]*(?:[ =](?:<[^<>]+>|\[[^[\]]+\]))?$/;function RT(e){if(typeof e!="string")return null;let t=e.trim(),n=t.split(/[ =]/,1)[0];return wa.has(n)?"host_owned_flag_collision":IT.test(t)?null:"malformed_long_flag"}function Bu(e,t){let n=[e,t].find(i=>typeof i=="string"&&wa.has(i.trim().split(/[ =]/,1)[0]));if(typeof n=="string")return{token:n.trim().split(/[ =]/,1)[0],failure:"host_owned_flag_collision"};if(typeof e!="string")return null;let r=e.trim(),o=RT(r);return o===null?null:{token:r,failure:o}}function Hu(e,t){return t==="host_owned_flag_collision"?`cannot shadow host-owned global flag "${e}"; read it from context.global instead`:`long flag "${e}" must start with a double-dash name such as "--my-flag" or "--my-flag <value>"`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="849502d0-2616-500c-96de-228c0759459d")}catch{}})();function Wu(e){return typeof e=="string"?e:String(e)}function gr(e){let n=e.trim().replace(/^>=\s*/,"").replace(/^v/i,"").split(/[+-]/,1)[0];return/^\d+(?:[.-]\d+)*$/.test(n)?n.split(/[.-]/).map(r=>Number(r)):null}function Ea(e,t){let n=gr(e),r=gr(t);if(!n||!r)return null;let o=Math.max(n.length,r.length);for(let i=0;i<o;i+=1){let s=n[i]??0,a=r[i]??0;if(s>a)return 1;if(s<a)return-1}return 0}function Ku(e,t){if(e==null)return{kind:"pm_min_version",status:"absent",allowed:!0,required:"",current:t};let n=Wu(e);if(typeof e!="string"||n.trim().length===0)return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:t};if(!gr(n))return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:t};if(t===null)return{kind:"pm_min_version",status:"unchecked",allowed:!0,required:n,current:null};let r=Ea(t,n);return r===null?{kind:"pm_min_version",status:"unchecked",allowed:!0,required:n,current:t}:r<0?{kind:"pm_min_version",status:"unmet",allowed:!1,required:n,current:t}:{kind:"pm_min_version",status:"ok",allowed:!0,required:n,current:t}}function Yu(e,t,n){if(e==null)return{kind:"pm_max_version",status:"absent",allowed:!0,required:"",current:t};let r=Wu(e);if(typeof e!="string"||r.trim().length===0)return{kind:"pm_max_version",status:"invalid",allowed:!1,required:r,current:t};if(/^[<>=~^]/.test(r.trim())||!gr(r))return{kind:"pm_max_version",status:"invalid",allowed:!1,required:r,current:t};if(t===null)return{kind:"pm_max_version",status:"unchecked",allowed:!0,required:r,current:null};let o=Ea(t,r);return o===null?{kind:"pm_max_version",status:"unchecked",allowed:!0,required:r,current:t}:o>0?n==="warn"?{kind:"pm_max_version",status:"exceeded_warn",allowed:!0,required:r,current:t}:{kind:"pm_max_version",status:"exceeded",allowed:!1,required:r,current:t}:{kind:"pm_max_version",status:"ok",allowed:!0,required:r,current: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]="24383c0a-592e-5105-84a3-a6cfb7801281")}catch{}})();function ke(e){return typeof e!="string"?"":e.trim().toLowerCase()}function M(e){return new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))}function NT(e){let t=e.trim().toLowerCase();if(t.length===0)return"";let n=t.split(/[.:/]/).map(r=>r.replace(/[\s_-]+/g,"")).filter(r=>r.length>0);return n.length===0?"":n.length===1?n[0]:`${n[0]}.${n.slice(1).join("")}`}function bn(e){return new Set((e??[]).map(t=>NT(t)).filter(t=>t.length>0))}function Xu(e){let t=ke(e);return co.includes(t)?t:"off"}function Ju(e){let t=ke(e);return lo.includes(t)?t:"off"}function _r(e){let t=ke(e);return uo.includes(t)?t:"none"}function Ta(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return Hd.includes(t)?t:void 0}function Qu(e){if(typeof e=="string"){let t=Ta(e)??"block";return{global:t,project:t}}return typeof e=="object"&&e!==null&&!Array.isArray(e)?{global:Ta(e.global)??"block",project:Ta(e.project)??"block"}:{global:"block",project:"block"}}function DT(e){return e.global===e.project?e.global:{global:e.global,project:e.project}}function q(e){return[...new Set(e)].sort((t,n)=>t.localeCompare(n))}function LT(e){let t=ke(e.name);return t.length===0?null:{name:t,normalized:{name:t,disabled:e.disabled===!0,requireTrusted:e.require_trusted===!0,requireProvenance:e.require_provenance===!0,sandboxProfile:e.sandbox_profile!==void 0?_r(e.sandbox_profile):void 0,allowedCapabilities:M(e.allowed_capabilities),blockedCapabilities:M(e.blocked_capabilities),allowedSurfaces:bn(e.allowed_surfaces),blockedSurfaces:bn(e.blocked_surfaces),allowedCommands:M(e.allowed_commands),blockedCommands:M(e.blocked_commands),allowedActions:M(e.allowed_actions),blockedActions:M(e.blocked_actions),allowedServices:M(e.allowed_services),blockedServices:M(e.blocked_services)}}}function Zu(e){let t=new Map;for(let n of e??[]){let r=LT(n);r&&t.set(r.name,r.normalized)}return t}function PT(e){let t=[],n=[...e.overridesByName.values()].sort((o,i)=>o.name.localeCompare(i.name));for(let o of q([...e.allowedCapabilities,...e.blockedCapabilities]))pt(o)||t.push(`extension_policy_unknown_capability:${o}`);for(let o of n)for(let i of q([...o.allowedCapabilities,...o.blockedCapabilities]))pt(i)||t.push(`extension_policy_unknown_capability:${o.name}:${i}`);let r=new Set(fo);for(let o of q([...e.allowedSurfaces,...e.blockedSurfaces]))r.has(o)||t.push(`extension_policy_unknown_surface:${o}`);for(let o of n)for(let i of q([...o.allowedSurfaces,...o.blockedSurfaces]))r.has(i)||t.push(`extension_policy_unknown_surface:${o.name}:${i}`);return[...new Set(t)].sort((o,i)=>o.localeCompare(i))}function ef(e){let t=e.extensions?.policy??{},n=M(t.allowed_capabilities),r=M(t.blocked_capabilities),o=bn(t.allowed_surfaces),i=bn(t.blocked_surfaces),s=Zu(t.extension_overrides);return{mode:Xu(t.mode),trustMode:Ju(t.trust_mode),pmMaxVersionExceededMode:Qu(t.pm_max_version_exceeded_mode),requireProvenance:t.require_provenance===!0,trustedExtensions:M(t.trusted_extensions),defaultSandboxProfile:_r(t.default_sandbox_profile),allowedExtensions:M(t.allowed_extensions),blockedExtensions:M(t.blocked_extensions),allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,allowedCommands:M(t.allowed_commands),blockedCommands:M(t.blocked_commands),allowedActions:M(t.allowed_actions),blockedActions:M(t.blocked_actions),allowedServices:M(t.allowed_services),blockedServices:M(t.blocked_services),overridesByName:s,warnings:PT({allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,overridesByName:s})}}function tf(e){let t=[...e.overridesByName.values()].sort((n,r)=>n.name.localeCompare(r.name)).map(n=>({name:n.name,...n.disabled?{disabled:!0}:{},...n.requireTrusted?{require_trusted:!0}:{},...n.requireProvenance?{require_provenance:!0}:{},...n.sandboxProfile?{sandbox_profile:n.sandboxProfile}:{},...n.allowedCapabilities.size>0?{allowed_capabilities:q(n.allowedCapabilities)}:{},...n.blockedCapabilities.size>0?{blocked_capabilities:q(n.blockedCapabilities)}:{},...n.allowedSurfaces.size>0?{allowed_surfaces:q(n.allowedSurfaces)}:{},...n.blockedSurfaces.size>0?{blocked_surfaces:q(n.blockedSurfaces)}:{},...n.allowedCommands.size>0?{allowed_commands:q(n.allowedCommands)}:{},...n.blockedCommands.size>0?{blocked_commands:q(n.blockedCommands)}:{},...n.allowedActions.size>0?{allowed_actions:q(n.allowedActions)}:{},...n.blockedActions.size>0?{blocked_actions:q(n.blockedActions)}:{},...n.allowedServices.size>0?{allowed_services:q(n.allowedServices)}:{},...n.blockedServices.size>0?{blocked_services:q(n.blockedServices)}:{}}));return{mode:e.mode,trust_mode:e.trustMode,pm_max_version_exceeded_mode:DT(e.pmMaxVersionExceededMode),require_provenance:e.requireProvenance,trusted_extensions:q(e.trustedExtensions),default_sandbox_profile:e.defaultSandboxProfile,allowed_extensions:q(e.allowedExtensions),blocked_extensions:q(e.blockedExtensions),allowed_capabilities:q(e.allowedCapabilities),blocked_capabilities:q(e.blockedCapabilities),allowed_surfaces:q(e.allowedSurfaces),blocked_surfaces:q(e.blockedSurfaces),allowed_commands:q(e.allowedCommands),blocked_commands:q(e.blockedCommands),allowed_actions:q(e.allowedActions),blocked_actions:q(e.blockedActions),allowed_services:q(e.allowedServices),blocked_services:q(e.blockedServices),extension_overrides:t}}function nf(e){let t=Zu(e.extension_overrides);return{mode:Xu(e.mode),trustMode:Ju(e.trust_mode),pmMaxVersionExceededMode:Qu(e.pm_max_version_exceeded_mode),requireProvenance:e.require_provenance===!0,trustedExtensions:M(e.trusted_extensions),defaultSandboxProfile:_r(e.default_sandbox_profile),allowedExtensions:M(e.allowed_extensions),blockedExtensions:M(e.blocked_extensions),allowedCapabilities:M(e.allowed_capabilities),blockedCapabilities:M(e.blocked_capabilities),allowedSurfaces:bn(e.allowed_surfaces),blockedSurfaces:bn(e.blocked_surfaces),allowedCommands:M(e.allowed_commands),blockedCommands:M(e.blocked_commands),allowedActions:M(e.allowed_actions),blockedActions:M(e.blocked_actions),allowedServices:M(e.allowed_services),blockedServices:M(e.blocked_services),overridesByName:t,warnings:[]}}function mt(e,t){return e.overridesByName.get(ke(t))??null}function wn(e,t,n,r,o){return t.has(n)?o:e.size>0&&!e.has(n)?r:null}function rf(e,t,n){let r=n.trim().toLowerCase(),o=mt(e,t.name),i=o&&o.allowedCapabilities.size>0?o.allowedCapabilities:e.allowedCapabilities,s=new Set([...e.blockedCapabilities,...o?o.blockedCapabilities:[]]);return wn(i,s,r,"capability_not_allowlisted","capability_blocked")}function MT(e,t,n){let r=mt(e,t.name),o=r&&r.allowedSurfaces.size>0?r.allowedSurfaces:e.allowedSurfaces,i=new Set([...e.blockedSurfaces,...r?r.blockedSurfaces:[]]);return wn(o,i,n,"surface_not_allowlisted","surface_blocked")}function FT(e,t,n){let r=V(n);if(r.length===0)return null;let o=mt(e,t.name),i=o&&o.allowedCommands.size>0?o.allowedCommands:e.allowedCommands,s=new Set([...e.blockedCommands,...o?o.blockedCommands:[]]);return wn(i,s,r,"command_not_allowlisted","command_blocked")}function $T(e,t,n){let r=ke(n).replace(/\s+/g,"-");if(r.length===0)return null;let o=mt(e,t.name),i=o&&o.allowedActions.size>0?o.allowedActions:e.allowedActions,s=new Set([...e.blockedActions,...o?o.blockedActions:[]]);return wn(i,s,r,"action_not_allowlisted","action_blocked")}function jT(e,t,n){let r=ke(n);if(r.length===0)return null;let o=mt(e,t.name),i=o&&o.allowedServices.size>0?o.allowedServices:e.allowedServices,s=new Set([...e.blockedServices,...o?o.blockedServices:[]]);return wn(i,s,r,"service_not_allowlisted","service_blocked")}function zT(e,t){let n=ke(t.name);return mt(e,t.name)?.disabled===!0?"extension_override_disabled":wn(e.allowedExtensions,e.blockedExtensions,n,"extension_not_allowlisted","extension_blocked")}function UT(e,t){if(e.trustMode==="off")return null;let n=mt(e,t.name),r=ke(t.name),o=t.trusted===!0,i=t.provenanceVerified===!0;return e.trustedExtensions.size>0&&!e.trustedExtensions.has(r)?"extension_not_trusted":(n?.requireTrusted===!0||e.trustMode==="warn"||e.trustMode==="enforce")&&!o?"extension_untrusted":(e.requireProvenance||n?.requireProvenance===!0)&&!i?"provenance_missing_or_unverified":null}function qT(e,t){if(e.mode==="off")return null;let r=mt(e,t.name)?.sandboxProfile??t.sandboxProfile??e.defaultSandboxProfile;if(r==="none")return null;let o=t.permissions;if(!o)return"sandbox_permissions_missing";let i=s=>o[s]===!0;return r==="restricted"?i("process_spawn")?"sandbox_restricted_disallows_process_spawn":i("env_write")?"sandbox_restricted_disallows_env_write":null:i("process_spawn")?"sandbox_strict_disallows_process_spawn":i("network")?"sandbox_strict_disallows_network":i("fs_write")?"sandbox_strict_disallows_fs_write":i("env_write")?"sandbox_strict_disallows_env_write":null}function jo(e,t,n,r,o={}){let i=Object.entries(o).sort((a,c)=>a[0].localeCompare(c[0])).map(([a,c])=>`${a}=${c}`).join(":"),s=i.length>0?`:${i}`:"";return`extension_policy_${e}_${t}:${n.layer}:${n.name}:reason=${r}${s}`}function of(e,t){if(e.mode==="off"&&e.trustMode==="off")return{allowed:!0,warning:null};let n=[],r=zT(e,t);r&&n.push({reason:r,scope:"extension",mode:e.mode});let o=UT(e,t);o&&n.push({reason:o,scope:"trust",mode:e.trustMode});let i=qT(e,t);i&&n.push({reason:i,scope:"extension",mode:e.mode});let s=n.find(c=>c.mode==="enforce");if(s)return{allowed:!1,warning:jo("blocked",s.scope,t,s.reason)};let a=n.find(c=>c.mode==="warn");return a?{allowed:!0,warning:jo("violation",a.scope,t,a.reason)}:{allowed:!0,warning:null}}function sf(e,t,n){if(e.mode==="off")return{allowed:!0,warning:null};let r=rf(e,t,n);return r?{allowed:e.mode==="warn",warning:jo(e.mode==="warn"?"violation":"blocked","capability",t,r,{capability:n.trim().toLowerCase()})}:{allowed:!0,warning:null}}function GT(e,t,n,r,o){let i=typeof r=="string"?rf(e,t,r):null,s=MT(e,t,n),a=o.command?FT(e,t,o.command):null,c=o.action?$T(e,t,o.action):null,l=o.service?jT(e,t,o.service):null;return i??s??a??c??l}function VT(e,t,n,r){let o={method:ke(e).replace(/\s+/g,"_"),surface:t};return n&&(o.capability=n),r.command&&(o.command=V(r.command)),r.action&&(o.action=ke(r.action).replace(/\s+/g,"-")),r.service&&(o.service=ke(r.service)),o}function af(e,t,n,r,o,i){if(e.mode==="off")return{allowed:!0,warning:null};let s=i??{},a=GT(e,t,n,o,s);if(!a)return{allowed:!0,warning:null};let c=jo(e.mode==="warn"?"violation":"blocked","registration",t,a,VT(r,n,o,s));return{allowed:e.mode==="warn",warning:c}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8725b7dd-ec6f-5c71-897a-7a84ce93f5f0")}catch{}})();function cf(e){return!e.extensionReady||!e.enabledForLoad?null:{layer:e.layer,directory:e.directory,manifest_path:e.manifestPath,entry_path:e.entryPath,manifest:e.manifest,source_package:e.sourceIdentity?.package_name,source_aliases:e.sourceIdentity?.aliases,contributions:e.sourceIdentity?.contributions}}(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]="3d5208e5-0ea5-54a5-82a8-50294b4a0655")}catch{}})();var HT=100,lf=null,WT=Object.freeze(po()),df=0;function KT(e=Date.now()){return df+=1,`${df}-${e}`}function uf(e,t){let n=e[t];if(n!=null)return typeof n!="string"||n.trim().length===0?null:n.trim()}function YT(e){if(e==null)return;let t=fn(e);if(!t)return null;let n={};for(let r of Object.keys(t).sort((o,i)=>o.localeCompare(i))){if(r.trim().length===0)return null;let o=t[r];if(typeof o!="string"||o.trim().length===0)return null;n[r.trim()]=o.trim()}return Object.keys(n).length>0?n:void 0}function va(e,t){let n=e[t];return typeof n!="string"||n.trim().length===0?null:n.trim()}function Tf(e){if(e!=null)return typeof e!="number"||!Number.isInteger(e)?null:e}function jt(e){if(e!=null)return typeof e!="boolean"?null:e}function XT(e){let t=Tf(e.priority);return t===void 0?HT:t}function JT(e){let t=e.sandbox_profile;if(t==null)return;if(typeof t!="string")return null;let n=_r(t);return n!==t.trim().toLowerCase()?null:n}function Aa(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}function QT(e){if(e==null)return;let t=fn(e);if(!t)return null;let n=Aa(t.source),r=Aa(t.signature),o=Aa(t.attestation),i=t.verified===void 0||t.verified===null?void 0:typeof t.verified=="boolean"?t.verified:null;return i===null?null:{...n?{source:n}:{},...r?{signature:r}:{},...o?{attestation:o}:{},...typeof i=="boolean"?{verified:i}:{}}}function ZT(e){if(e==null)return;let t=fn(e);if(!t)return null;let n=jt(t.fs_read),r=jt(t.fs_write),o=jt(t.network),i=jt(t.env_read),s=jt(t.env_write),a=jt(t.process_spawn);return[n,r,o,i,s,a].includes(null)?null:{...typeof n=="boolean"?{fs_read:n}:{},...typeof r=="boolean"?{fs_write:r}:{},...typeof o=="boolean"?{network:o}:{},...typeof i=="boolean"?{env_read:i}:{},...typeof s=="boolean"?{env_write:s}:{},...typeof a=="boolean"?{process_spawn:a}:{}}}function ev(e){if(e==null)return{capabilities:[],legacy_aliases:[]};if(!Array.isArray(e)||e.some(n=>typeof n!="string"))return null;let t=ku(e);return{capabilities:t.capabilities,legacy_aliases:t.legacy_aliases}}function tv(e){if(e==null)return;let t=fn(e);if(!t)return null;let n=t.commands;if(n==null)return;if(!Array.isArray(n)||n.some(o=>typeof o!="string"))return null;let r=[...new Set(n.map(o=>V(o)).filter(o=>o.length>0))].sort((o,i)=>o.localeCompare(i));return r.length>0?{commands:r}:void 0}function nv(e){let t=Tf(e.manifest_version);if(t===null)return null;let n=uf(e,"pm_min_version");if(n===null)return null;let r=uf(e,"pm_max_version");if(r===null)return null;let o=YT(e.engines);if(o===null)return null;let i=jt(e.trusted);if(i===null)return null;let s=JT(e);if(s===null)return null;let a=QT(e.provenance);if(a===null)return null;let c=ZT(e.permissions);if(c===null)return null;let l=ev(e.capabilities);if(l===null)return null;let d=tv(e.activation);if(d===null)return null;let u=sa(e.contributions);return u===null?null:{manifest_version:t,pm_min_version:n,pm_max_version:r,engines:o,trusted:i,sandbox_profile:s,provenance:a,permissions:c,capabilities:l.capabilities,legacy_capability_aliases:l.legacy_aliases,activation:d,contributions:u}}function rv(e){if(typeof e!="object"||e===null)return null;let t=e,n=va(t,"name");if(n===null)return null;let r=va(t,"version");if(r===null)return null;let o=va(t,"entry");if(o===null)return null;let i=XT(t);if(i===null)return null;let s=nv(t);return s===null?null:{name:n,version:r,entry:o,priority:i,manifest_version:s.manifest_version,pm_min_version:s.pm_min_version,pm_max_version:s.pm_max_version,engines:s.engines,trusted:s.trusted,provenance:s.provenance,sandbox_profile:s.sandbox_profile,permissions:s.permissions,activation:s.activation,contributions:s.contributions,capabilities:s.capabilities,legacy_capability_aliases:s.legacy_capability_aliases.length>0?s.legacy_capability_aliases:void 0}}function ov(e,t,n){return n.has(e)?!1:t.size===0?!0:t.has(e)}async function iv(e,t){let[n,r]=await Promise.all([Ut.realpath(e),Ut.realpath(t)]);return ha(n,r)}function vf(e,t=process.cwd()){return{global:zt.join(ft(t),"extensions"),project:zt.join(e,"extensions")}}async function sv(e){try{return(await Ut.readdir(e,{withFileTypes:!0})).filter(n=>n.isDirectory()).map(n=>n.name).sort((n,r)=>n.localeCompare(r))}catch{return[]}}function av(e){let t={layer:e.layer,directory:e.directory,manifest_path:e.manifest_path,name:e.manifest.name,version:e.manifest.version,entry:e.manifest.entry,priority:e.manifest.priority,entry_path:e.entry_path,manifest_version:e.manifest.manifest_version,pm_min_version:e.manifest.pm_min_version,pm_max_version:e.manifest.pm_max_version,engines:e.manifest.engines,trusted:e.manifest.trusted,provenance:e.manifest.provenance,sandbox_profile:e.manifest.sandbox_profile,permissions:e.manifest.permissions,capabilities:[...e.manifest.capabilities],activation:e.manifest.activation?{commands:[...e.manifest.activation.commands]}:void 0,contributions:e.manifest.contributions??e.contributions};return e.source_package&&(t.source_package=e.source_package),e.source_aliases&&(t.source_aliases=[...e.source_aliases]),t}function ff(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}async function cv(e){let t=new Map;try{let n=JSON.parse(await Ut.readFile(zt.join(e,".managed-extensions.json"),"utf8")),o=fn(n)?.entries;if(!Array.isArray(o))return t;for(let i of o){if(typeof i!="object"||i===null)continue;let s=i,a=ff(s.source?.package),c=[s.source?.input,s.source?.name,a].map(u=>ff(u)).filter(u=>u!==void 0),l=sa(s.contributions),d={aliases:[...new Set(c)],...a?{package_name:a}:{},...l?{contributions:l}:{}};typeof s.directory=="string"&&s.directory.trim().length>0&&t.set(`directory:${s.directory.trim()}`,d),typeof s.name=="string"&&s.name.trim().length>0&&t.set(`name:${s.name.trim()}`,d)}}catch{return t}return t}function pf(e){return[...e].sort((t,n)=>{if(t.manifest.priority!==n.manifest.priority)return t.manifest.priority-n.manifest.priority;let r=t.manifest.name.localeCompare(n.manifest.name);return r!==0?r:t.directory.localeCompare(n.directory)})}function lv(e,t){let n=[...pf(e),...pf(t)],r=[];for(let o of n){let i=r.findIndex(s=>s.manifest.name===o.manifest.name);i>=0&&r.splice(i,1),r.push(o)}return r}async function mf(e,t,n,r,o){let i=[],s=[],a=[],c=await sv(t),l=await cv(t);for(let d of c){let u=await fv(e,t,d,n,r,l,o);i.push(u.diagnostic),s.push(...u.warnings),u.candidate&&a.push(u.candidate)}return{diagnostics:i,warnings:s,candidates:a}}function dv(){return{diagnostics:[],warnings:[],candidates:[]}}function gf(e,t,n,r){return{diagnostic:{layer:e,directory:t,manifest_path:n,name:null,version:null,entry:null,priority:null,entry_path:null,enabled:null,status:"warn"},warnings:[r],candidate:null}}function uv(e,t,n,r,o,i){let s=[];Array.isArray(t.legacy_capability_aliases)&&t.legacy_capability_aliases.length>0&&s.push(Cu(e,t.name,t.legacy_capability_aliases));for(let a of Su(t.capabilities))s.push(xu(e,t.name,a));return n?r||s.push(`extension_entry_missing:${e}:${t.name}`):s.push(`extension_entry_outside_extension:${e}:${t.name}`),o.warning&&s.push(o.warning),i.warning&&s.push(i.warning),s}async function fv(e,t,n,r,o,i,s){let a=zt.join(t,n),c=zt.join(a,"manifest.json");if(!await Y(c))return gf(e,n,c,`extension_manifest_missing:${e}:${n}`);let l;try{let U=JSON.parse(await Ut.readFile(c,"utf8"));l=rv(U)}catch{l=null}if(!l)return gf(e,n,c,`extension_manifest_invalid:${e}:${n}`);let d=zt.resolve(a,l.entry),u=ha(a,d),p=u?await Y(d):!1,f=u&&p?await iv(a,d):u,y=ov(l.name,r,o),g=await mv(e,l),h=await gv(e,l,s),E=uv(e,l,f,p,g,h),O=f&&p&&g.allowed&&h.allowed,z=i.get(`directory:${n}`)??i.get(`name:${l.name}`);return{diagnostic:{layer:e,directory:n,manifest_path:c,name:l.name,version:l.version,entry:l.entry,priority:l.priority,entry_path:d,enabled:y,status:O?"ok":"warn"},warnings:E,candidate:cf({layer:e,directory:n,manifestPath:c,entryPath:d,manifest:l,sourceIdentity:z,extensionReady:O,enabledForLoad:y})}}async function Af(e){let t=vf(e.pmRoot,e.cwd??process.cwd()),n=dr(e.settings.extensions.enabled),r=dr(e.settings.extensions.disabled),o=ef(e.settings),i=tf(o);if(e.noExtensions)return{disabled_by_flag:!0,roots:t,configured_enabled:n,configured_disabled:r,discovered:[],effective:[],warnings:[...o.warnings],policy:i};let s=new Set(n),a=new Set(r),c=e.ignoreGlobalExtensions===!0?dv():await mf("global",t.global,s,a,o.pmMaxVersionExceededMode.global),l=await mf("project",t.project,s,a,o.pmMaxVersionExceededMode.project),d=[...o.warnings],u=lv(c.candidates,l.candidates),p=[];for(let f of u){let y={layer:f.layer,name:f.manifest.name,trusted:f.manifest.trusted===!0,provenanceVerified:f.manifest.provenance?.verified===!0,sandboxProfile:f.manifest.sandbox_profile,permissions:f.manifest.permissions&&typeof f.manifest.permissions=="object"?{fs_read:f.manifest.permissions.fs_read,fs_write:f.manifest.permissions.fs_write,network:f.manifest.permissions.network,env_read:f.manifest.permissions.env_read,env_write:f.manifest.permissions.env_write,process_spawn:f.manifest.permissions.process_spawn}:void 0},g=of(o,y);if(g.warning&&d.push(g.warning),!!g.allowed){for(let h of f.manifest.capabilities){let E=sf(o,y,h);E.warning&&d.push(E.warning)}p.push(av(f))}}return{disabled_by_flag:!1,roots:t,configured_enabled:n,configured_disabled:r,discovered:[...c.diagnostics,...l.diagnostics],effective:p,warnings:[...new Set([...c.warnings,...l.warnings,...d])],policy:i}}function Vo(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}async function pv(){try{let e=Ze(import.meta.url,["../../.."]),t=await Ut.readFile(zt.join(e,"package.json"),"utf8"),n=JSON.parse(t);return typeof n.version=="string"&&n.version.trim().length>0?n.version.trim():null}catch{return null}}function Sf(){return lf??=pv(),lf}function kf(e,t,n){let r=n.current??"unknown";if(n.kind==="pm_min_version")switch(n.status){case"invalid":return`extension_pm_min_version_invalid:${e}:${t.name}:required=${n.required}`;case"unchecked":return`extension_pm_min_version_unchecked:${e}:${t.name}:required=${n.required}:current=${r}`;case"unmet":return`extension_pm_min_version_unmet:${e}:${t.name}:required=${n.required}:current=${r}`;default:return}switch(n.status){case"invalid":return`extension_pm_max_version_invalid:${e}:${t.name}:allowed=${n.required}`;case"unchecked":return`extension_pm_max_version_unchecked:${e}:${t.name}:allowed=${n.required}:current=${r}`;case"exceeded_warn":return`extension_pm_max_version_exceeded_warn:${e}:${t.name}:allowed=${n.required}:current=${r}`;case"exceeded":return`extension_pm_max_version_exceeded:${e}:${t.name}:allowed=${n.required}:current=${r}`;default:return}}async function mv(e,t){if(t.pm_min_version===void 0)return{allowed:!0};let n=Ku(t.pm_min_version,await Sf()),r=kf(e,t,n);return r?{allowed:n.allowed,warning:r}:{allowed:n.allowed}}async function gv(e,t,n){if(t.pm_max_version===void 0)return{allowed:!0};let r=Yu(t.pm_max_version,await Sf(),n),o=kf(e,t,r);return o?{allowed:r.allowed,warning:o}:{allowed:r.allowed}}async function _f(e){try{let t=await Ut.stat(e);return`${Math.trunc(t.mtimeMs)}-${t.size}`}catch{return"missing"}}async function _v(e,t){let n=e.entry_path;t.module_graph_snapshot_root&&(n=await ju(t.module_graph_snapshot_root,e));let r=new URL(BT(n).href);if(!(t.cache_bust===!0||typeof t.reload_token=="string"))return r.href;let[i,s]=await Promise.all([_f(e.entry_path),_f(e.manifest_path)]),a=t.reload_token??KT();return r.searchParams.set("pm_ext_reload",a),r.searchParams.set("pm_ext_entry",i),r.searchParams.set("pm_ext_manifest",s),r.href}async function yv(e){let t=await Af(e),n=[],r=[],o=[...t.warnings];if(t.disabled_by_flag)return{...t,warnings:o,loaded:n,failed:r};let i=typeof e.extensionFilter=="function"?t.effective.filter(e.extensionFilter):t.effective;for(let s of i)try{let c=await import(await _v(s,e));n.push({...s,module:c})}catch(a){o.push(`extension_load_failed:${s.layer}:${s.name}`),r.push({layer:s.layer,name:s.name,entry_path:s.entry_path,error:Vo(a)})}return{...t,warnings:o,loaded:n,failed:r}}var yf=5e3,hv=2147483647;function bv(e){let n={activate:e.activate.bind(e)};if(typeof e.deactivate=="function"){let r=e.deactivate;n.deactivate=r.bind(e)}return n}function xf(e){let t=Xd(e);return t?bv(t):null}async function S1(e,t,n={}){let r=wv(n?.deactivate_timeout_ms),o=new Set((t?.failed??[]).map(d=>`${d.layer}:${d.name}`)),i=[];for(let d of e.loaded){if(o.has(`${d.layer}:${d.name}`))continue;let u=xf(d.module);!u||typeof u.deactivate!="function"||i.push({extension:d,deactivate:u.deactivate})}let s=await Promise.all(i.map(async({extension:d,deactivate:u})=>{try{return await Ev(u,r),{ok:!0}}catch(p){return{ok:!1,layer:d.layer,name:d.name,error:Vo(p)}}})),a=[],c=[],l=0;for(let d of s){if(d.ok){l+=1;continue}a.push(`extension_deactivate_failed:${d.layer}:${d.name}`),c.push({layer:d.layer,name:d.name,error:d.error})}return{deactivated:l,warnings:a,failed:c}}function wv(e){return typeof e!="number"||e<0?yf:e===0||e===1/0?0:Number.isFinite(e)?Math.min(hv,Math.max(1,Math.floor(e))):yf}async function Ev(e,t){if(t===0){await e();return}let n;try{let r=Promise.resolve().then(()=>e());r.catch(()=>{}),await Promise.race([r,new Promise((o,i)=>{n=setTimeout(()=>{i(new Error(`extension deactivate timed out after ${t}ms`))},t),n.unref?.()})])}finally{clearTimeout(n)}}function Tv(e){return e==="toon"||e==="json"}function vv(e){return Qn.includes(e)}function En(e,t){if(typeof t!="function")throw new TypeError(`api.hooks.${e} requires a function handler`)}function Ee(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function zo(e,t){if(typeof t!="function")throw new TypeError(`${e} requires a function handler`)}function hf(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function bf(e,t){return V(`${e} ${t}`)}function qo(e){if(e===null)return null;if(Array.isArray(e))return e.map(t=>qo(t));if(typeof e=="function")return"[Function]";if(typeof e=="bigint"||typeof e=="symbol")return e.toString();if(typeof e=="object"){let t=e,n={},r=Object.keys(t).sort((o,i)=>o.localeCompare(i));for(let o of r)n[o]=qo(t[o]);return n}return e}function Go(e){if(Array.isArray(e))return e.map(t=>Go(t));if(typeof e=="object"&&e!==null){let t=e,n={};for(let r of Object.keys(t).sort((o,i)=>o.localeCompare(i)))n[r]=Go(t[r]);return n}return e}var Cf=Symbol("extension_registration_trace");function gt(e,t){let n=new TypeError(e);return Object.defineProperty(n,Cf,{value:t,enumerable:!1,configurable:!1,writable:!1}),n}function Av(e){if(e instanceof Error)return e[Cf]}function Uo(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return qo(t)}function Sa(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return Go(t)}function Oa(e,t){if(!Array.isArray(t))throw new TypeError(`${e} requires an array of object definitions`);return t.map(n=>Uo(e,n))}var Sv=new Set(["default","description","enabled","list","long","repeatable","required","short","type","value_name","value_type","visible"]);function ka(e,t){return Oa(e,t).map(n=>(n.repeatable===!0&&(n.list=!0),n))}function kv(e){return e.trim().toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function wf(e,t){if(t===void 0)return e.replace(/\s+/g,"-");if(typeof t!="string"||t.trim().length===0)throw new TypeError("registerCommand definition.action must be a non-empty string when provided");let n=kv(t);if(n.length===0)throw new TypeError("registerCommand definition.action must contain alphanumeric characters");return n}function Ef(e){if(e===void 0)return[];if(!Array.isArray(e))throw new TypeError("registerCommand definition.arguments must be an array when provided");let t=[];for(let[r,o]of e.entries()){let i=tt(`registerCommand definition.arguments[${r}]`,o),s=Ee(`registerCommand definition.arguments[${r}].name`,i.name);if(de(`registerCommand definition.arguments[${r}].required`,i.required),de(`registerCommand definition.arguments[${r}].variadic`,i.variadic),se(`registerCommand definition.arguments[${r}].description`,i.description),s.includes(" "))throw new TypeError(`registerCommand definition.arguments[${r}].name must not contain spaces`);let a={name:s};i.required===!0&&(a.required=!0),i.variadic===!0&&(a.variadic=!0),typeof i.description=="string"&&(a.description=i.description.trim()),t.push(a)}let n=t.map((r,o)=>r.variadic?o:-1).filter(r=>r>=0);if(n.length>1)throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");if(n.length===1&&n[0]!==t.length-1)throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");return t}function xa(e){if(!Array.isArray(e))throw new TypeError("registerFlags flags requires an array of object definitions");for(let[t,n]of e.entries()){let r=tt(`registerFlags flags[${t}]`,n),o=Object.keys(r).filter(c=>!Sv.has(c)).sort((c,l)=>c.localeCompare(l));if(o.length>0)throw new TypeError(`registerFlags flags[${t}] contains unknown field(s): ${o.join(", ")}`);let i=r.long,s=r.short;if(i===void 0&&s===void 0)throw new TypeError(`registerFlags flags[${t}] requires at least one of long or short`);se(`registerFlags flags[${t}].long`,i),se(`registerFlags flags[${t}].short`,s);let a=Bu(i,s);if(a!==null)throw new TypeError(`registerFlags flags[${t}] ${Hu(a.token,a.failure)}`);if(se(`registerFlags flags[${t}].value_name`,r.value_name),se(`registerFlags flags[${t}].description`,r.description),de(`registerFlags flags[${t}].required`,r.required),de(`registerFlags flags[${t}].enabled`,r.enabled),de(`registerFlags flags[${t}].visible`,r.visible),de(`registerFlags flags[${t}].list`,r.list),de(`registerFlags flags[${t}].repeatable`,r.repeatable),r.list!==void 0&&r.repeatable!==void 0&&r.list!==r.repeatable)throw new TypeError(`registerFlags flags[${t}].list and repeatable must match when both are provided`);if(Gu(`registerFlags flags[${t}].default`,r.default),Array.isArray(r.default)&&r.list!==!0&&r.repeatable!==!0)throw new TypeError(`registerFlags flags[${t}].default cannot be an array unless list is true.`);xv(`registerFlags flags[${t}]`,r)}}function xv(e,t){let n=(typeof t.value_type=="string"?t.value_type:void 0)??(typeof t.type=="string"?t.type:void 0);if(n===void 0)return;let r=Us(n);if(r===null)throw new TypeError(`${e} value_type "${n}" is not a known flag value type (expected one of: string, number, boolean).`);if(t.default===void 0)return;let o=t.list===!0||t.repeatable===!0?qs(t.default):[t.default];for(let[i,s]of o.entries())if(!iu(s,r)){let a=o.length>1?`default[${i}]`:"default";throw new TypeError(`${e}.${a} (${JSON.stringify(s)}) is not coercible to ${r}.`)}}function Cv(e){if(!Array.isArray(e))throw new TypeError("registerItemFields fields requires an array of object definitions");for(let[t,n]of e.entries()){let r=tt(`registerItemFields fields[${t}]`,n);Ee(`registerItemFields fields[${t}].name`,r.name);let o=Ee(`registerItemFields fields[${t}].type`,r.type);if($o(o)===null){let i=$u(o),s=i?` Did you mean "${i}"?`:"";throw new TypeError(`registerItemFields fields[${t}].type "${o}" is not a known field type (expected one of: ${Fo.join(", ")}).${s}`)}de(`registerItemFields fields[${t}].optional`,r.optional)}}function Ov(e,t){if(t===void 0)return;let n=`registerItemTypes types[${e}].command_option_policies`;if(!Array.isArray(t))throw new TypeError(`${n} must be an array when provided`);for(let[r,o]of t.entries()){let i=`${n}[${r}]`,s=tt(i,o);Ee(`${i}.command`,s.command),Ee(`${i}.option`,s.option),de(`${i}.enabled`,s.enabled),de(`${i}.required`,s.required),de(`${i}.visible`,s.visible)}}function Iv(e,t){if(t===void 0)return;let n=`registerItemTypes types[${e}].options`;if(!Array.isArray(t))throw new TypeError(`${n} must be an array when provided`);for(let[r,o]of t.entries()){let i=`${n}[${r}]`,s=tt(i,o);Ee(`${i}.key`,s.key),$t(`${i}.values`,s.values),de(`${i}.required`,s.required),$t(`${i}.aliases`,s.aliases)}}function Rv(e){if(!Array.isArray(e))throw new TypeError("registerItemTypes types requires an array of object definitions");for(let[t,n]of e.entries()){let r=`registerItemTypes types[${t}]`,o=tt(r,n);Ee(`${r}.name`,o.name),se(`${r}.folder`,o.folder),$t(`${r}.aliases`,o.aliases),$t(`${r}.required_create_fields`,o.required_create_fields),$t(`${r}.required_create_repeatables`,o.required_create_repeatables),Ov(t,o.command_option_policies),Iv(t,o.options)}}function Nv(e){let t=tt("registerMigration definition",e);if(t.id!==void 0&&typeof t.id!="string")throw new TypeError("registerMigration definition.id must be a string when provided");if(t.description!==void 0&&typeof t.description!="string")throw new TypeError("registerMigration definition.description must be a string when provided");if(t.status!==void 0&&typeof t.status!="string")throw new TypeError("registerMigration definition.status must be a string when provided");if(de("registerMigration definition.mandatory",t.mandatory),t.run!==void 0&&typeof t.run!="function")throw new TypeError("registerMigration definition.run must be a function when provided")}var Of=["types","statuses","fields","workflows","config","templates","packages"],Dv={types:(e,t)=>{if(t.name!==void 0&&typeof t.name!="string")throw new TypeError(`${e}.name must be a string when provided`)},workflows:(e,t)=>{if(typeof t.type!="string")throw new TypeError(`${e}.type must be a string`);if(!Array.isArray(t.allowed_transitions))throw new TypeError(`${e}.allowed_transitions must be an array`);for(let[n,r]of t.allowed_transitions.entries())if(!Array.isArray(r))throw new TypeError(`${e}.allowed_transitions[${n}] must be a [from, to] array`)},templates:(e,t)=>{if(typeof t.name!="string")throw new TypeError(`${e}.name must be a string`);if(typeof t.options!="object"||t.options===null||Array.isArray(t.options))throw new TypeError(`${e}.options must be an object`)},packages:(e,t)=>{if(typeof t.spec!="string")throw new TypeError(`${e}.spec must be a string`)}};function Lv(e){let t=tt("registerProfile profile",e);if(Ee("registerProfile profile.name",t.name),Ee("registerProfile profile.title",t.title),t.summary!==void 0&&typeof t.summary!="string")throw new TypeError("registerProfile profile.summary must be a string when provided");for(let n of Of){let r=t[n];if(r!==void 0){if(!Array.isArray(r))throw new TypeError(`registerProfile profile.${n} must be an array when provided`);for(let[o,i]of r.entries()){if(typeof i!="object"||i===null||Array.isArray(i))throw new TypeError(`registerProfile profile.${n}[${o}] must be an object`);Dv[n]?.(`registerProfile profile.${n}[${o}]`,i)}}}}function Pv(e){e.summary===void 0&&(e.summary="");for(let t of Of)e[t]===void 0&&(e[t]=[]);return e}function Ca(e,t){return Object.defineProperty(e,"runtime_definition",{value:t,enumerable:!1,writable:!1,configurable:!1}),e}function Mv(e){if(!Array.isArray(e.capabilities))return null;let t=new Set;for(let n of e.capabilities){let r=n.trim().toLowerCase();pt(r)&&t.add(r)}return t}function H(e,t,n){let r=Mv(e);if(r!==null&&!r.has(t))throw gt(`${n} requires capability '${t}' in extension manifest capabilities`,{method:n,registration_index:-1,capability:t,missing_capability:t,expected_schema:`"capabilities": [..., "${t}"]`,received:e.capabilities,hint:`Add "${t}" to ${e.name} manifest capabilities, or remove the ${n} registration call.`})}function Fv(e){return Object.freeze({name:e.name,layer:e.layer,version:e.version,capabilities:Object.freeze((e.capabilities??[]).filter(t=>ze.includes(t))),pm_min_version:e.pm_min_version,pm_max_version:e.pm_max_version,source_package:e.source_package})}function $v(e){return{layer:e.layer,name:e.name,trusted:e.trusted===!0,provenanceVerified:e.provenance?.verified===!0,sandboxProfile:e.sandbox_profile,permissions:e.permissions&&typeof e.permissions=="object"?{fs_read:e.permissions.fs_read,fs_write:e.permissions.fs_write,network:e.permissions.network,env_read:e.permissions.env_read,env_write:e.permissions.env_write,process_spawn:e.permissions.process_spawn}:void 0}}var Ia=class{extension;hooks;#e;#n;#o;#r;#s;#a;#i;#c;#t;#l;#d;#u;constructor(t,n,r,o,i,s,a,c,l,d,u){this.#e=t,this.extension=Fv(t),this.#n=$v(t),this.#o=n,this.#r=r,this.#s=o,this.#a=i,this.#i=s,this.#c=a,this.#t=c,this.#l=l,this.#d=d,this.#u=u,this.registerCommand=this.registerCommand.bind(this),this.registerParser=this.registerParser.bind(this),this.registerPreflight=this.registerPreflight.bind(this),this.registerService=this.registerService.bind(this),this.registerFlags=this.registerFlags.bind(this),this.registerItemFields=this.registerItemFields.bind(this),this.registerItemTypes=this.registerItemTypes.bind(this),this.registerRelationshipKinds=this.registerRelationshipKinds.bind(this),this.registerMigration=this.registerMigration.bind(this),this.registerProfile=this.registerProfile.bind(this),this.registerRenderer=this.registerRenderer.bind(this),this.registerImporter=this.registerImporter.bind(this),this.registerExporter=this.registerExporter.bind(this),this.registerSearchProvider=this.registerSearchProvider.bind(this),this.registerVectorStoreAdapter=this.registerVectorStoreAdapter.bind(this),this.hooks={beforeCommand:p=>this.registerBeforeCommand(p),beforeMutation:p=>this.registerBeforeMutation(p),afterCommand:p=>this.registerAfterCommand(p),onWrite:p=>this.registerOnWrite(p),onRead:p=>this.registerOnRead(p),onIndex:p=>this.registerOnIndex(p)}}allowRegistration(t,n,r,o){let i=af(this.#u,this.#n,t,n,r,o);return i.warning&&this.#l.push(i.warning),i.allowed}registerCommandTrace(t,n,r,o,i){return{method:"registerCommand",registration_index:t==="override"?this.#r.overrides.length:this.#r.handlers.length,command:n,expected_schema:r,received:qo(o),hint:i}}registerCommandOverride(t,n){let r=V(t);if(r.length===0)throw gt("registerCommand requires a non-empty command name",this.registerCommandTrace("override",t,'registerCommand("<command>", (context) => unknown)',t,"Provide a non-empty command path as the first argument."));if(typeof n!="function"){let o=this.registerCommandTrace("override",r,'registerCommand("<command>", (context) => unknown)',n,"Provide a function as the second registerCommand argument.");throw gt(`registerCommand requires an override function when command name is provided (command="${r}", registration_index=${o.registration_index})`,o)}this.allowRegistration("commands.override","registerCommand","commands",{command:r})&&this.#r.overrides.push({layer:this.#e.layer,name:this.#e.name,command:r,run:n})}resolveCommandDefinitionRunHandler(t,n){let r=typeof t.run=="function"?t.run:void 0,o=typeof t.handler=="function"?t.handler:void 0;return!r&&o&&this.#l.push(`extension_command_definition_legacy_handler_alias:${this.#e.layer}:${this.#e.name}:${n}`),r??o}registerCommandDefinition(t){if(typeof t!="object"||t===null)throw gt("registerCommand requires a command definition object",this.registerCommandTrace("definition",void 0,"{ name: string; run: (context) => unknown; }",t,'Use registerCommand({ name: "command path", run: (context) => ... }).'));if(typeof t.name!="string")throw gt("registerCommand requires a command definition name",this.registerCommandTrace("definition",void 0,"{ name: string; run: (context) => unknown; }",t,"Set command definition.name to a non-empty string command path."));let n=V(t.name);if(n.length===0)throw gt("registerCommand requires a non-empty command definition name",this.registerCommandTrace("definition",t.name,"{ name: string; run: (context) => unknown; }",t,"Ensure command definition.name contains a non-empty command path."));let r=this.resolveCommandDefinitionRunHandler(t,n);if(typeof r!="function"){let o=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; }",r,"Define command definition.run as a function.");throw gt(`registerCommand requires a command definition run handler (command="${n}", registration_index=${o.registration_index})`,o)}try{Vu(t);let o=wf(n,t.action);if(!this.allowRegistration("commands.handler","registerCommand","commands",{command:n,action:o}))return;let i=t.description?.trim(),s=t.intent?.trim(),a=mr("registerCommand definition.examples",t.examples),c=mr("registerCommand definition.failure_hints",t.failure_hints),l=Ef(t.arguments);t.flags!==void 0&&(H(this.#e,"schema","registerCommand flags"),this.allowRegistration("schema.flags","registerCommand flags","schema")&&(xa(t.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:ka("registerCommand definition.flags",t.flags)})));let d={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:o,examples:a,failure_hints:c,arguments:l,tier:t.tier};i&&(d.description=i),s&&(d.intent=s),this.#t.commands.push(d)}catch(o){let i=Vo(o),s=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }",t,i),a=gt(`registerCommand definition metadata invalid (command="${n}", registration_index=${s.registration_index}): ${i}`,s);this.#l.push(`extension_command_quarantined:${this.#e.layer}:${this.#e.name}:${n}`),this.#d.push({layer:this.#e.layer,name:this.#e.name,entry_path:this.#e.entry_path,error:a.message,trace:s});return}this.#r.handlers.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}registerCommand(t,n){if(H(this.#e,"commands","registerCommand"),typeof t=="string"){this.registerCommandOverride(t,n);return}this.registerCommandDefinition(t)}registerParser(t,n){if(H(this.#e,"parser","registerParser"),!this.allowRegistration("parser.override","registerParser","parser"))return;let r=V(Ee("registerParser command",t));zo("registerParser override",n),this.#s.overrides.push({layer:this.#e.layer,name:this.#e.name,command:r,run:n})}registerPreflight(t){if(H(this.#e,"preflight","registerPreflight"),!this.allowRegistration("preflight.override","registerPreflight","preflight"))return;let n=Uu(t);this.#a.overrides.push({layer:this.#e.layer,name:this.#e.name,...n})}registerService(t,n){H(this.#e,"services","registerService");let r=String(t).trim().toLowerCase();if(!vv(r))throw new TypeError(`registerService service must be one of: ${Qn.join(", ")}`);this.allowRegistration("services.override","registerService","services",{service:r})&&(zo("registerService override",n),this.#i.overrides.push({layer:this.#e.layer,name:this.#e.name,service:r,run:n}))}registerRenderer(t,n,r={}){if(H(this.#e,"renderers","registerRenderer"),!this.allowRegistration("renderers.override","registerRenderer","renderers"))return;if(typeof n!="function")throw new TypeError("registerRenderer requires a renderer function");let o=String(t).trim().toLowerCase();if(!Tv(o))throw new Error(`registerRenderer format must be toon|json, received: ${String(t)}`);if(r.resultDiscriminator!==void 0&&typeof r.resultDiscriminator!="function")throw new TypeError("registerRenderer ownership.resultDiscriminator must be a function when provided");let i=[...new Set((r.commands??[]).map(s=>{if(typeof s!="string"||s.trim().length===0)throw new TypeError("registerRenderer ownership.commands must contain non-empty command paths");return V(s)}))];this.#c.overrides.push({layer:this.#e.layer,name:this.#e.name,format:o,run:n,commands:i,...r.resultDiscriminator?{resultDiscriminator:r.resultDiscriminator}:{}})}registerFlags(t,n){if(H(this.#e,"schema","registerFlags"),!this.allowRegistration("schema.flags","registerFlags","schema"))return;let r=V(Ee("registerFlags targetCommand",t));xa(n);let o=ka("registerFlags flags",n);if(o.length===0)throw new TypeError("registerFlags requires at least one flag definition");this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:r,flags:o})}registerItemFields(t){if(H(this.#e,"schema","registerItemFields"),!this.allowRegistration("schema.itemfields","registerItemFields","schema"))return;Cv(t);let n=Oa("registerItemFields fields",t);if(n.length===0)throw new TypeError("registerItemFields requires at least one field definition");this.#t.item_fields.push({layer:this.#e.layer,name:this.#e.name,fields:n})}registerItemTypes(t){if(H(this.#e,"schema","registerItemTypes"),!this.allowRegistration("schema.itemtypes","registerItemTypes","schema"))return;Rv(t);let n=Oa("registerItemTypes types",t);if(n.length===0)throw new TypeError("registerItemTypes requires at least one type definition");this.#t.item_types.push({layer:this.#e.layer,name:this.#e.name,types:n})}registerRelationshipKinds(t){if(H(this.#e,"schema","registerRelationshipKinds"),!this.allowRegistration("schema.relationshipkinds","registerRelationshipKinds","schema"))return;if(!Array.isArray(t))throw new TypeError("registerRelationshipKinds definitions requires an array of object definitions");if(t.length===0)throw new TypeError("registerRelationshipKinds requires at least one definition");let n=Zs();for(let o of this.#t.relationship_kinds)for(let i of o.definitions)n.register(i);let r=t.map(o=>(n.register(o),n.require(o.kind)));this.#t.relationship_kinds.push({layer:this.#e.layer,name:this.#e.name,definitions:r})}registerMigration(t){if(H(this.#e,"schema","registerMigration"),!this.allowRegistration("schema.migrations","registerMigration","schema"))return;Nv(t);let n=Sa("registerMigration definition",t);this.#t.migrations.push(Ca({layer:this.#e.layer,name:this.#e.name,definition:Uo("registerMigration definition",t)},n))}registerProfile(t){if(H(this.#e,"schema","registerProfile"),!this.allowRegistration("schema.profiles","registerProfile","schema"))return;let n=Go(t);Lv(n),this.#t.profiles.push({layer:this.#e.layer,name:this.#e.name,profile:Pv(n)})}applyImportExportCommandMetadata(t,n,r){if(r!==void 0&&(typeof r!="object"||r===null||Array.isArray(r)))throw new TypeError(`${t} options must be an object when provided`);let o=`${t==="registerImporter"?"Import":"Export"} items with the registered extension adapter.`,i=[{name:"file",required:!1,description:"Optional input or output file path."}],s={...r,description:r?.description??o,arguments:r?.arguments??i};se(`${t} options.action`,s.action),se(`${t} options.description`,s.description),se(`${t} options.intent`,s.intent);let a=wf(n,s.action),c=mr(`${t} options.examples`,s.examples),l=mr(`${t} options.failure_hints`,s.failure_hints),d=Ef(s.arguments);s.flags!==void 0&&(H(this.#e,"schema",`${t} options.flags`),this.allowRegistration("schema.flags",`${t} options.flags`,"schema")&&(xa(s.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:ka(`${t} options.flags`,s.flags)})));let u={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:a,examples:c,failure_hints:l,arguments:d},p=s.description?.trim();p&&(u.description=p);let f=s.intent?.trim();f&&(u.intent=f),this.#t.commands.push(u)}registerImporter(t,n,r){if(H(this.#e,"importers","registerImporter"),!this.allowRegistration("importers.importer","registerImporter","importers"))return;let o=hf(Ee("registerImporter name",t));zo("registerImporter importer",n);let i=bf(o,"import");this.applyImportExportCommandMetadata("registerImporter",i,r),this.#t.importers.push({layer:this.#e.layer,name:this.#e.name,importer:o}),this.#r.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async s=>n({registration:o,action:"import",command:s.command,args:R(s.args),options:R(s.options),global:R(s.global),pm_root:s.pm_root,source_workspace_root:s.source_workspace_root,repo_root:s.repo_root,pm_root_rel:s.pm_root_rel,...s.sdk===void 0?{}:{sdk:s.sdk}})})}registerExporter(t,n,r){if(H(this.#e,"importers","registerExporter"),!this.allowRegistration("importers.exporter","registerExporter","importers"))return;let o=hf(Ee("registerExporter name",t));zo("registerExporter exporter",n);let i=bf(o,"export");this.applyImportExportCommandMetadata("registerExporter",i,r),this.#t.exporters.push({layer:this.#e.layer,name:this.#e.name,exporter:o}),this.#r.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async s=>n({registration:o,action:"export",command:s.command,args:R(s.args),options:R(s.options),global:R(s.global),pm_root:s.pm_root,source_workspace_root:s.source_workspace_root,repo_root:s.repo_root,pm_root_rel:s.pm_root_rel,...s.sdk===void 0?{}:{sdk:s.sdk}})})}registerSearchProvider(t){if(H(this.#e,"search","registerSearchProvider"),!this.allowRegistration("search.provider","registerSearchProvider","search"))return;let n=Sa("registerSearchProvider provider",t);this.#t.search_providers.push(Ca({layer:this.#e.layer,name:this.#e.name,definition:Uo("registerSearchProvider provider",t)},n))}registerVectorStoreAdapter(t){if(H(this.#e,"search","registerVectorStoreAdapter"),!this.allowRegistration("search.vectorstore","registerVectorStoreAdapter","search"))return;let n=Sa("registerVectorStoreAdapter adapter",t);this.#t.vector_store_adapters.push(Ca({layer:this.#e.layer,name:this.#e.name,definition:Uo("registerVectorStoreAdapter adapter",t)},n))}registerBeforeCommand(t){H(this.#e,"hooks","api.hooks.beforeCommand"),this.allowRegistration("hooks.beforecommand","api.hooks.beforeCommand","hooks")&&(En("beforeCommand",t),this.#o.beforeCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerBeforeMutation(t){H(this.#e,"hooks","api.hooks.beforeMutation"),this.allowRegistration("hooks.beforemutation","api.hooks.beforeMutation","hooks")&&(En("beforeMutation",t),this.#o.beforeMutation.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerAfterCommand(t){H(this.#e,"hooks","api.hooks.afterCommand"),this.allowRegistration("hooks.aftercommand","api.hooks.afterCommand","hooks")&&(En("afterCommand",t),this.#o.afterCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnWrite(t){H(this.#e,"hooks","api.hooks.onWrite"),this.allowRegistration("hooks.onwrite","api.hooks.onWrite","hooks")&&(En("onWrite",t),this.#o.onWrite.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnRead(t){H(this.#e,"hooks","api.hooks.onRead"),this.allowRegistration("hooks.onread","api.hooks.onRead","hooks")&&(En("onRead",t),this.#o.onRead.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnIndex(t){H(this.#e,"hooks","api.hooks.onIndex"),this.allowRegistration("hooks.onindex","api.hooks.onIndex","hooks")&&(En("onIndex",t),this.#o.onIndex.push({layer:this.#e.layer,name:this.#e.name,run:t}))}};function jv(e,t,n,r,o,i,s,a,c,l,d){return new Ia(e,t,n,r,o,i,s,a,c,l,d)}function zv(e){let t=e.commands.length,n=e.flags.reduce((s,a)=>s+a.flags.length,0),r=e.item_fields.reduce((s,a)=>s+a.fields.length,0),o=e.item_types.reduce((s,a)=>s+a.types.length,0),i=(e.relationship_kinds??[]).reduce((s,a)=>s+a.definitions.length,0);return{commands:t,flags:n,item_fields:r,item_types:o,...i>0?{relationship_kinds:i}:{},migrations:e.migrations.length,profiles:e.profiles.length,importers:e.importers.length,exporters:e.exporters.length,search_providers:e.search_providers.length,vector_store_adapters:e.vector_store_adapters.length}}function Uv(e){let t=[],n=(i,s)=>{let a=new Map;for(let c of i){let l=a.get(c.command)??[];l.push(c),a.set(c.command,l)}for(let c of[...a.keys()].sort((l,d)=>l.localeCompare(d))){let l=a.get(c);if(l.length<=1)continue;let d=l[l.length-1];for(let u of l.slice(0,-1))t.push(`${s}:${c}:${d.layer}:${d.name}:${u.layer}:${u.name}`)}};n(e.handlers,"extension_command_handler_collision"),n(e.overrides,"extension_command_override_collision");let r=new Set(e.handlers.map(i=>i.command)),o=[...new Set(e.overrides.map(i=>i.command))].filter(i=>r.has(i));o.sort((i,s)=>i.localeCompare(s));for(let i of o){let s=e.handlers.filter(c=>c.command===i),a=e.overrides.filter(c=>c.command===i);for(let c of a)for(let l of s)t.push(`extension_command_override_handler_overlap:${i}:${c.layer}:${c.name}:${l.layer}:${l.name}`)}return t}function qv(e){let t=new Map;for(let r of e.overrides){let o=t.get(r.format)??[];o.push(r),t.set(r.format,o)}let n=[];for(let r of[...t.keys()].sort((o,i)=>o.localeCompare(i))){let o=t.get(r);if(o.length<=1)continue;let i=o[o.length-1];for(let s of o.slice(0,-1))i.commands?.length&&s.commands?.length&&!s.commands.some(a=>i.commands?.includes(a))||n.push(`extension_renderer_collision:${r}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return n}function Gv(e){let t=[],n=new Map;for(let r of e.overrides){let o=n.get(r.command)??[];o.push(r),n.set(r.command,o)}for(let r of[...n.keys()].sort((o,i)=>o.localeCompare(i))){let o=n.get(r);if(o.length<=1)continue;let i=o[o.length-1];for(let s of o.slice(0,-1))t.push(`extension_parser_override_collision:${r}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return t}var Vv=new Set(["output_format"]);function Bv(e){let t=[],n=new Map;for(let r of e.overrides){let o=n.get(r.service)??[];o.push(r),n.set(r.service,o)}for(let r of[...n.keys()].sort((o,i)=>o.localeCompare(i))){let o=n.get(r);if(o.length<=1||Vv.has(r))continue;let i=o[o.length-1];for(let s of o.slice(0,-1))t.push(`extension_service_override_collision:${r}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return t}async function Hv(e){let t=nf(e.policy??WT),n=ur(),r=ta(),o=na(),i=ra(),s=oa(),a=ia(),c=Lo(),l=[],d=[];for(let f of e.loaded){let y=xf(f.module);if(!y)continue;let g=l.length,h=zu({hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c});try{await y.activate(jv(f,n,r,o,i,s,a,c,d,l,t)),l.length>g&&(h(),d.push(`extension_activation_rolled_back:${f.layer}:${f.name}`))}catch(E){h(),d.push(`extension_activate_failed:${f.layer}:${f.name}`);let O=Av(E);l.push({layer:f.layer,name:f.name,entry_path:f.entry_path,error:Vo(E),trace:O})}}let u=[...Uv(r),...Gv(o),...qu(i),...Bv(s),...qv(a)],p=[...new Set([...d,...u])];return{hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c,failed:l,warnings:p,hook_counts:{before_command:n.beforeCommand.length,before_mutation:n.beforeMutation.length,after_command:n.afterCommand.length,on_write:n.onWrite.length,on_read:n.onRead.length,on_index:n.onIndex.length},command_override_count:r.overrides.length,command_handler_count:r.handlers.length,parser_override_count:o.overrides.length,preflight_override_count:i.overrides.length,service_override_count:s.overrides.length,renderer_override_count:a.overrides.length,registration_counts:zv(c)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bd9832a9-f6a2-5351-a929-0a0d2766df88")}catch{}})();function Wv(e){return{...e,hooks:ur(),profileEnabled:!!e.globalOptions.profile,migrationBlockers:[]}}(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]="3239b2c7-3ae3-5d4e-9005-b61000362304")}catch{}})();function D1(){let e=Promise.resolve(),t=new Set;return{async read(n){let r=e,o,i=new Promise(s=>{o=s});t.add(i),await r;try{return await n()}finally{t.delete(i),o()}},write(n){let o=Promise.all([e,...t]).then(()=>n());return e=o.then(()=>{},()=>{}),o}}}function If(){let e=Promise.resolve(),t=0,n=[],r=()=>{if(t!==0)return;let o=n.splice(0);for(let i of o)i()};return{enqueue(o){t++;let i=e.then(()=>o());return e=i.then(()=>{},()=>{}).finally(()=>{t--,r()}),i},idle(){return t===0?Promise.resolve():new Promise(o=>n.push(o))}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3f347c0d-2e1f-5d17-9e38-bae834f845d3")}catch{}})();var Kv={commands:["registerCommand","command override","command handler"],renderers:["registerRenderer"],hooks:["hooks.beforeCommand","hooks.beforeMutation","hooks.afterCommand","hooks.onWrite","hooks.onRead","hooks.onIndex"],schema:["registerFlags","registerItemFields","registerItemTypes","registerRelationshipKinds","registerMigration","registerProfile"],importers:["registerImporter","registerExporter"],search:["registerSearchProvider","registerVectorStoreAdapter"],parser:["registerParser"],preflight:["registerPreflight"],services:["registerService"]},Rf=":";function Nf(e,t){return`${e}${Rf}${Ra(t)}`}function Yv(e){return e.slice(e.indexOf(Rf)+1)}function Ra(e){return e.trim().toLowerCase()}function Xv(e){if(!Array.isArray(e))return[];let t=new Set;for(let n of e){let r=Au(n);r!==null&&t.add(r)}return[...t].sort((n,r)=>n.localeCompare(r))}function Df(e){let t=new Map,n=(d,u)=>{for(let p of d){let f=Nf(p.layer,p.name),y=t.get(f);y===void 0&&(y=new Set,t.set(f,y)),y.add(u)}},{registrations:r,commands:o,parsers:i,preflight:s,services:a,renderers:c,hooks:l}=e;return n(r.commands,"commands"),n(o.overrides,"commands"),n(o.handlers,"commands"),n(r.flags,"schema"),n(r.item_fields,"schema"),n(r.item_types,"schema"),n(r.relationship_kinds??[],"schema"),n(r.migrations,"schema"),n(r.profiles,"schema"),n(r.importers,"importers"),n(r.exporters,"importers"),n(r.search_providers,"search"),n(r.vector_store_adapters,"search"),n(i.overrides,"parser"),n(s.overrides,"preflight"),n(a.overrides,"services"),n(c.overrides,"renderers"),n(l.beforeCommand,"hooks"),n(l.beforeMutation,"hooks"),n(l.afterCommand,"hooks"),n(l.onWrite,"hooks"),n(l.onRead,"hooks"),n(l.onIndex,"hooks"),t}function Jv(e,t={}){let n=Df(e),r=new Set;t.extensionName!==void 0&&r.add(Ra(t.extensionName));for(let i of t.extensionNames??[])r.add(Ra(i));let o=new Set;for(let[i,s]of n)if(!(r.size>0&&!r.has(Yv(i))))for(let a of s)o.add(a);return[...o].sort((i,s)=>i.localeCompare(s))}function Qv(e,t){let n=Df(t),r=[];for(let o of e){let i=Xv(o.capabilities);if(i.length===0)continue;let s=n.get(Nf(o.layer,o.name))??new Set,a=[...s].sort((l,d)=>l.localeCompare(d)),c=i.filter(l=>!s.has(l));r.push({layer:o.layer,name:o.name,declared:i,used:a,unused:c})}return r}import{existsSync as Zv}from"node:fs";import{AsyncLocalStorage as eA}from"node:async_hooks";import nt 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]="38024e6c-c1ef-5c15-8421-ac18d317e330")}catch{}})();var _t=null,yr=null,Ho=null,Wo=null,hr=null,Ko=null,Yo=null,qt=null,Xo,Bo=[],Pf=new eA;function j(){return Pf.getStore()}function U1(e){return Pf.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var tA=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Lf(e){let t=nt.resolve(e);for(;;){if(Zv(nt.join(t,".git")))return t;let n=nt.dirname(t);if(n===t)return;t=n}}function Jo(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=Lf(t)??nt.resolve(t),r=Lf(n);if(!e)return{source_workspace_root:n,...r?{repo_root:r}:{}};let o=nt.relative(n,nt.resolve(e)),i=o.length>0&&!o.startsWith(`..${nt.sep}`)&&o!==".."&&!nt.isAbsolute(o);return{source_workspace_root:n,...r?{repo_root:r}:{},...i?{pm_root_rel:o.split(nt.sep).join("/")}:{}}}function nA(e){let t=j();if(t){t.hooks=e;return}_t=e}function rA(e){let t=j();if(t){t.commands=e;return}yr=e}function oA(e){let t=j();if(t){t.parsers=e;return}Ho=e}function iA(e){let t=j();if(t){t.preflight=e;return}Wo=e}function sA(e){let t=j();if(t){t.services=e;return}hr=e}function aA(e){let t=j();if(t){t.renderers=e;return}Ko=e}function cA(e){let t=j();if(t){t.registrations=e;return}Yo=e}function yt(){let e=j();return e?e.registrations:Yo}function lA(){let e=j();if(e){e.hooks=null,e.commands=null,e.parsers=null,e.preflight=null,e.services=null,e.renderers=null,e.registrations=null,e.commandContext=null,e.commandResult=null,e.affectedItems=[];return}_t=null,yr=null,Ho=null,Wo=null,hr=null,Ko=null,Yo=null,qt=null,Xo=null}function dA(e){let t=e?{...e,...Jo(e.pm_root)}:null,n=j();if(n){n.commandContext=t;return}qt=t}function Mf(){let e=j(),t=e?e.commandContext:qt;return t?{...t,args:[...t.args],options:t.options?{...t.options}:{},global:t.global?{...t.global}:void 0}:null}function Tn(e){let t=j();if(t){t.commandResult=e;return}Xo=e}function uA(){let e=j();return e?e.commandResult:Xo}function Qo(e){if(!e)return;let t=j();t?t.affectedItems.push(e):Bo.push(e)}function br(e,t){if(!e||!e.id)return{};let n={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return n;let r=e;for(let o of t){if(typeof o!="string")continue;let i=o.startsWith("unset:")?o.slice(6):o;i==="id"||i==="type"||i==="status"||tA.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}function fA(){let e=j(),t=e?.affectedItems??Bo;if(t.length===0)return;let n=t;return e?e.affectedItems=[]:Bo=[],n}function pA(){let e=j();if(e){e.hooks=null,e.commands=null,e.parsers=null,e.preflight=null,e.services=null,e.renderers=null,e.registrations=null,e.commandContext=null,e.commandResult=void 0,e.affectedItems=[];return}_t=null,yr=null,Ho=null,Wo=null,hr=null,Ko=null,Yo=null,qt=null,Xo=void 0,Bo=[]}async function ae(e){let t=j(),n=t?t.hooks:_t;return n?ca(n,e):[]}async function Zo(e){let t=j(),n=t?t.hooks:_t;n&&await aa(n,e)}async function Me(e){let t=j(),n=t?t.hooks:_t;return n?la(n,e):[]}function Na(){let e=j();return((e?e.hooks:_t)?.onRead?.length??0)>0}async function mA(e){let t=j(),n=t?t.hooks:_t;return n?da(n,e):[]}function Ff(e){let t=j(),n=t?t.commands:yr,r=t?t.commandContext:qt;return!n||!r?{overridden:!1,result:e,warnings:[]}:_a(n,{command:r.command,args:[...r.args],options:r.options?{...r.options}:{},global:r.global?{...r.global}:void 0,pm_root:r.pm_root,source_workspace_root:r.source_workspace_root,repo_root:r.repo_root,pm_root_rel:r.pm_root_rel,result:e})}async function gA(e){let t=j(),n=t?t.commands:yr;return n?ua(n,{...e,...Jo(e.pm_root)}):{handled:!1,result:null,warnings:[]}}async function _A(e){let t=j(),n=t?t.parsers:Ho;return n?fa(n,{...e,...Jo(e.pm_root)}):{overridden:!1,context:{command:e.command,args:[...e.args],options:{...e.options},global:{...e.global},pm_root:e.pm_root},warnings:[]}}async function yA(e){let t=j(),n=t?t.preflight:Wo;return n?pa(n,{...e,...Jo(e.pm_root)}):{overridden:!1,context:{command:e.command,args:[...e.args],options:{...e.options},global:{...e.global},pm_root:e.pm_root},decision:{...e.decision},warnings:[]}}function $f(e,t){let n=j(),r=n?n.renderers:Ko,o=n?n.commandContext:qt;return r?ya(r,{format:e,command:o?.command,args:o?[...o.args]:[],options:o?.options?{...o.options}:{},global:o?.global?{...o.global}:void 0,pm_root:o?.pm_root,source_workspace_root:o?.source_workspace_root,repo_root:o?.repo_root,pm_root_rel:o?.pm_root_rel,result:t}):{overridden:!1,rendered:null,warnings:[]}}function jf(e,t){let n=j(),r=n?n.commandContext:qt;return{service:e,command:r?.command,args:r?[...r.args]:[],options:r?.options?{...r.options}:{},global:r?.global?{...r.global}:void 0,pm_root:r?.pm_root,source_workspace_root:r?.source_workspace_root,repo_root:r?.repo_root,pm_root_rel:r?.pm_root_rel,payload:t}}async function xe(e,t){let n=j(),r=n?n.services:hr;return r?ga(r,jf(e,t)):{handled:!1,result:t,warnings:[]}}function Da(e,t){let n=j(),r=n?n.services:hr;return r?ma(r,jf(e,t)):{handled:!1,result:t,warnings:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ce320988-b999-57c9-a786-a94ac66c5628")}catch{}})();var Gt=new Set(Pe),ei=Object.freeze({get size(){return Gt.size},has(e){return Gt.has(e)},entries(){return Gt.entries()},keys(){return Gt.keys()},values(){return Gt.values()},forEach(e,t){Gt.forEach(n=>e.call(t,n,n,ei))},[Symbol.iterator](){return Gt.values()}});function zf(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Uf(e){return typeof e!="string"?null:$o(e)}function hA(e){try{return structuredClone(e)}catch{return e}}function bA(e){let t=e.trim(),n=t.indexOf("=");if(n<=0)throw new b(`--field entries must use name=value syntax, received: ${e}`,_.USAGE);let r=t.slice(0,n).trim(),o=t.slice(n+1);return{key:r,value:o}}function wA(e){return`--${e.replaceAll("_","-")}`}function EA(e,t,n){try{let r=JSON.parse(e);if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r}catch{}throw new b(`--field ${t}=... must be valid JSON ${n}`,_.USAGE)}function TA(e,t,n){if(t==="string")return n;if(t==="number"){let r=n.trim();if(r.length===0)throw new b(`--field ${e}=... must be a number`,_.USAGE);let o=Number(r);if(!Number.isFinite(o))throw new b(`--field ${e}=... must be a number`,_.USAGE);return o}if(t==="boolean"){let r=n.trim().toLowerCase();if(r==="true"||r==="1"||r==="yes")return!0;if(r==="false"||r==="0"||r==="no")return!1;throw new b(`--field ${e}=... must be one of true|false|1|0|yes|no`,_.USAGE)}return t==="string_array"?n.split(/[\n,|]/u).map(r=>r.trim()).filter(r=>r.length>0):EA(n,e,t)}function La(e){let t=new Map;if(!e)return t;for(let n of e.item_fields)for(let r of n.fields){let o=zf(r.name),i=Uf(r.type);if(!o||!i)continue;let s=t.get(o);if(s&&s.type!==i)throw new b(`Extension item field "${o}" is declared with conflicting types: ${s.type}, ${i}`,_.USAGE,{code:"extension_item_field_type_conflict",nextSteps:["Make every active extension declaration for this field use the same type."]});t.set(o,{name:o,type:i})}return t}function qf(e){if(ei.has(e))throw new b(`Extension item field "${e}" collides with built-in item metadata "${e}"; rename the extension field with an extension-specific prefix. Reserved fields: ${[...ei].sort((t,n)=>t.localeCompare(n)).join(", ")}.`,_.USAGE,{code:"extension_item_field_reserved",nextSteps:["Rename the extension item field, preferably with an extension-specific prefix."]})}function wr(e){return[...La(e).keys()].sort((t,n)=>t.localeCompare(n))}function vA(e,t){if(!e||e.length===0)return{};let n=La(t),r={};for(let o of e){let{key:i,value:s}=bA(o),a=n.get(i);if(!a){if(ei.has(i)){let l=wA(i);throw new b(`--field ${i} is a core item field, not an extension field`,_.USAGE,{code:"core_item_field_requires_dedicated_flag",field:i,recovery:{provided_fields:[i],suggested_flags:[l]},nextSteps:[`Set the core field with its dedicated flag: pm update <id> ${l} <value>`,`When closing an item, pm close <id> also accepts ${l} <value>.`]})}let c=[...n.keys()].sort((l,d)=>l.localeCompare(d));throw new b(`--field ${i} is not declared by an active extension item-field registration`,_.USAGE,{code:"extension_item_field_unknown",recovery:{provided_fields:c},nextSteps:c.length>0?[`Use one of the declared fields: ${c.join(", ")}`]:["Activate an extension that calls registerItemFields before setting extension fields."]})}qf(a.name),r[a.name]=TA(a.name,a.type,s)}return r}function AA(e,t){return t==="string"?typeof e=="string":t==="number"?typeof e=="number"&&Number.isFinite(e):t==="boolean"?typeof e=="boolean":t==="array"?Array.isArray(e):t==="string_array"?Array.isArray(e)&&e.every(n=>typeof n=="string"):typeof e=="object"&&e!==null&&!Array.isArray(e)}function SA(e,t){return!t||t.length===0?!0:t.some(n=>Object.is(n,e))}function kA(e,t,n={}){if(t){La(t);for(let r of t.item_fields)for(let o of r.fields){let i=zf(o.name);if(!i)continue;qf(i),!(i in e)&&!n.skipDefaultFields?.has(i)&&Object.prototype.hasOwnProperty.call(o,"default")&&(e[i]=hA(o.default));let s=e[i];if(s===void 0)continue;let a=Uf(o.type);if(a&&!AA(s,a))throw new TypeError(`Item field "${i}" must be of type ${a}`);let c=Array.isArray(o.values)?o.values:void 0;if(!SA(s,c))throw new TypeError(`Item field "${i}" must match one of the configured allowed values`)}}}(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]="4507a449-1c20-5684-9ed8-e72c9bc694c1")}catch{}})();function vn(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function xA(e,t){let n=vn(t);return!e||!n?null:[...e.search_providers].reverse().find(o=>(vn(o.runtime_definition?.name)??vn(o.definition?.name))===n)??null}function CA(e,t){let n=vn(t);return!e||!n?null:[...e.vector_store_adapters].reverse().find(o=>(vn(o.runtime_definition?.name)??vn(o.definition?.name))===n)??null}function J1(e){return e.runtime_definition??e.definition}import Gf 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]="febba42b-dfd0-549a-a6d9-c30edb321d9d")}catch{}})();var ce=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),Hf=Ms,Fa=Ps,OA=["create","update"],IA=new Set(wo),RA=new Set(_n),NA=new Set(Eo),DA=new Set(To);function Er(e){let t=Array.isArray(e)?e:[];return[...new Set(t.map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r))}function Vt(e){return typeof e=="string"?e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_"):""}function Fe(e){if(typeof e!="string"||e.length===0)return;let t=Vt(e);return t.length>0?t:void 0}function LA(e){return e.startsWith("--")?e.slice(2):e}function Vf(e){return typeof e=="string"?LA(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function Wf(e){return e.replaceAll("_","-")}function PA(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[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function Ma(e,t){let n=Fe(e.id);if(!n)return null;let r=[...new Set(Er(e.aliases).map(Vt).filter(a=>a.length>0))].sort((a,c)=>a.localeCompare(c)),o=Er(e.roles).filter(a=>IA.has(a)),i=e.description?.trim(),s=typeof e.order=="number"&&Number.isFinite(e.order)?e.order:t;return{id:n,aliases:r,roles:o,description:i&&i.length>0?i:void 0,order:s}}function MA(e){return{draft_status:Fe(e?.draft_status),open_status:Fe(e?.open_status),in_progress_status:Fe(e?.in_progress_status),blocked_status:Fe(e?.blocked_status),close_status:Fe(e?.close_status),canceled_status:Fe(e?.canceled_status)}}function Kf(e,t){if(!Array.isArray(t)||t.length!==2)return;let n=Vt(t[0]),r=Vt(t[1]);n.length===0||r.length===0||e.pairs.some(o=>o[0]===n&&o[1]===r)||e.pairs.push([n,r])}function FA(e){let t=typeof e?.type=="string"?e.type.trim():"";if(t.length===0||!Array.isArray(e?.allowed_transitions))return null;let n={type:t,pairs:[],denyAll:e.allowed_transitions.length===0};for(let r of e.allowed_transitions)Kf(n,r);return{typeKey:t.toLowerCase(),record:n}}function $A(e){if(!Array.isArray(e)||e.length===0)return;let t=new Map;for(let r of e){let o=FA(r);if(o===null)continue;let i=t.get(o.typeKey)??o.record;i.denyAll||=o.record.denyAll;for(let s of o.record.pairs)Kf(i,s);t.set(o.typeKey,i)}let n=[];for(let r of t.values())(r.pairs.length>0||r.denyAll)&&n.push({type:r.type,allowed_transitions:r.pairs});return n.sort((r,o)=>r.type.localeCompare(o.type)),n.length>0?n:void 0}function Yf(e){let t=Vt(e.key??"");if(!t)return null;let n=Vt(e.metadata_key??e.front_matter_key??t),r=Vf(e.cli_flag??Wf(t));if(!r)return null;let o=Er(e.cli_aliases).map(d=>Vf(d)).filter(d=>d.length>0&&d!==r),i=typeof e.type=="string"?e.type.trim().toLowerCase():"string",s=RA.has(i)?i:"string",a=(()=>{let d=Er(e.commands).filter(u=>NA.has(u));return d.length>0?d:[...OA]})(),c=e.description?.trim(),l=Er(e.required_types);return{key:t,metadata_key:n,cli_flag:r,cli_aliases:o,description:c&&c.length>0?c:void 0,type:s,commands:a,repeatable:e.repeatable===!0||s==="string_array",required:e.required===!0,required_on_create:e.required_on_create===!0,required_types:l,allow_unset:e.allow_unset!==!1}}function jA(e){let t=new Map;for(let[r,o]of e.entries()){let i=Ma(o,r);i&&t.set(i.id,i)}let n=Bf([...t.values()]);return n.length>0?n:Bf(Fa.map((r,o)=>Ma(r,o)).filter(r=>r!==null))}function Bf(e){return e.sort((t,n)=>t.order===n.order?t.id.localeCompare(n.id):t.order-n.order)}function zA(e){let t=new Map;for(let n of e??[]){let r=Yf(n);r&&t.set(r.key,r)}return[...t.values()].sort((n,r)=>n.key.localeCompare(r.key))}function UA(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 qA(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==Wf(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}}function GA(e){let t=typeof e=="string"?e.trim().toLowerCase():"allow";return DA.has(t)?t:"allow"}function Ue(e){let t={...ce,...e?.files},n=e?.statuses&&e.statuses.length>0?e.statuses:Fa,r=jA(n),o=zA(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:t,statuses:r.map(UA),fields:o.map(qA),workflow:{...Hf,...MA(e?.workflow)},type_workflows:$A(e?.type_workflows),unknown_field_policy:GA(e?.unknown_field_policy)}}function VA(e){return`${JSON.stringify(e,null,2)}
|
|
5
|
+
`}function BA(){return{definitions:[]}}function HA(){return{statuses:Fa}}function WA(){return{fields:[]}}function KA(){return{workflow:Hf}}function YA(e,t,n){try{return JSON.parse(e)}catch{n.push(t);return}}function XA(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 n=t.item_types;if(Array.isArray(n.definitions))return n.definitions}}function JA(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 QA(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 ZA(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 eS(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 ue(e,t,n){let r=t?.trim()||n;return Gf.isAbsolute(r)?r:Gf.join(e,r)}function tS(e,t){return ue(e,t.files.types,ce.types)}async function Xf(e,t){let n=Ue(t),r=[{path:ue(e,n.files.types,ce.types),seed:BA()},{path:ue(e,n.files.statuses,ce.statuses),seed:HA()},{path:ue(e,n.files.fields,ce.fields),seed:WA()},{path:ue(e,n.files.workflows,ce.workflows),seed:KA()}],o=[];for(let i of r)await Y(i.path)||(await P(i.path,VA(i.seed)),o.push(i.path));return{created_paths:o}}async function Jf(e,t){let n=Ue(t),r=[],o=ue(e,n.files.types,ce.types),i=ue(e,n.files.statuses,ce.statuses),s=ue(e,n.files.fields,ce.fields),a=ue(e,n.files.workflows,ce.workflows),c,l,d,u,p,f=async(z,U)=>{let oe=await W(z);if(oe!==null)return YA(oe,U,r)},y=await f(o,"runtime_schema_types_invalid_json");y!==void 0&&(c=XA(y),c===void 0&&r.push("runtime_schema_types_invalid_shape"));let g=await f(i,"runtime_schema_statuses_invalid_json");g!==void 0&&(l=JA(g),l===void 0&&r.push("runtime_schema_statuses_invalid_shape"));let h=await f(s,"runtime_schema_fields_invalid_json");h!==void 0&&(d=QA(h),d===void 0&&r.push("runtime_schema_fields_invalid_shape"));let E=await f(a,"runtime_schema_workflows_invalid_json");return E!==void 0&&(u=ZA(E),u===void 0&&r.push("runtime_schema_workflows_invalid_shape"),p=eS(E)),{schema:Ue({...n,statuses:[...n.statuses,...l??[]],fields:[...n.fields,...d??[]],workflow:{...n.workflow,...u},type_workflows:[...n.type_workflows??[],...p??[]]}),type_definitions_from_file:c,warnings:r,created_paths:[]}}function Pa(e,t,n){let r=e.filter(i=>i.roles.includes(t));if(r.length>0)return r[0].id;let o=n.map(i=>Fe(i)).filter(i=>typeof i=="string");for(let i of o)if(e.some(s=>s.id===i))return i;return e[0]?.id}function $a(e){let t=Ue(e),n=t.statuses.map((g,h)=>Ma(g,h)).filter(g=>g!==null),r=new Map,o=new Map;for(let g of n){o.set(g.id,g),r.set(g.id,g.id),r.set(g.id.replaceAll("_","-"),g.id),r.set(g.id.replaceAll("_"," "),g.id);for(let h of g.aliases)r.set(h,g.id),r.set(h.replaceAll("_","-"),g.id),r.set(h.replaceAll("_"," "),g.id)}let i=new Set,s=new Set,a=new Set,c=new Set,l=new Set,d=new Set;for(let g of n){let h=new Set(g.roles);(h.has("terminal")||h.has("terminal_done")||h.has("terminal_canceled"))&&i.add(g.id),h.has("terminal_done")&&s.add(g.id),h.has("terminal_canceled")&&a.add(g.id),h.has("active")&&c.add(g.id),h.has("blocked")&&l.add(g.id),h.has("draft")&&d.add(g.id)}let u=t.workflow,p=Fe(u.open_status)??Pa(n,"default_open",["open","in_progress",gn[0]]),f=Fe(u.close_status)??Pa(n,"default_close",["closed","done","complete"]),y=Fe(u.canceled_status)??Pa(n,"default_cancel",["canceled","cancelled"]);return{definitions:n,by_id:o,alias_to_id:r,terminal_statuses:i,terminal_done_statuses:s,terminal_canceled_statuses:a,active_statuses:c,blocked_statuses:l,draft_statuses:d,open_status:p,close_status:f,canceled_status:y}}function ti(e,t){let n=Vt(e);if(n)return t.alias_to_id.get(n)}function ja(e){let t=Ue(e),n=new Map,r=t.fields.map(c=>Yf(c)).filter(c=>c!==null);for(let c of r)n.set(c.key,c);let o=[...n.values()].sort((c,l)=>c.key.localeCompare(l.key)),i=new Map,s=new Map,a=new Map;for(let c of o){i.set(c.key,c),s.set(c.cli_flag,c);for(let l of c.cli_aliases)s.set(l,c);for(let l of c.commands){let d=a.get(l)??[];d.push(c),a.set(l,d)}}for(let[c,l]of a.entries())l.sort((d,u)=>d.key.localeCompare(u.key)),a.set(c,l);return{definitions:o,by_key:i,by_cli_token:s,command_to_fields:a}}function Qf(e){return PA(e.key)}function nS(e,t){let n=ti(e,t);return n?t.terminal_statuses.has(n):!1}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9bef4fe4-11a8-51ae-a42a-a93cc9c57384")}catch{}})();function za(e){let t=e.trim().replaceAll(/[^A-Za-z0-9]+/g," ").split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function rS(e){return[...new Set([Qf(e),za(e.key),za(e.cli_flag),...e.cli_aliases.map(t=>za(t))])]}function ni(e,t){for(let n of rS(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function tp(e){return Array.isArray(e)?e.flatMap(t=>tp(t)).map(t=>t.trim()).filter(t=>t.length>0):typeof e=="string"?e.split(/[,\n|]/).map(t=>t.trim()).filter(t=>t.length>0):e==null?[]:[String(e).trim()].filter(t=>t.length>0)}function Zf(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new b(`${t} must be one of true|false|1|0|yes|no`,_.USAGE)}function ep(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new b(`${t} must be a number`,_.USAGE);return r}function oS(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new b(`${t} must be valid JSON ${n}`,_.USAGE)}function Bt(e,t,n){let r=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object"){let i=Array.isArray(t)?t[t.length-1]:t;return i===void 0?void 0:oS(i,r,e.type)}if(e.repeatable||e.type==="string_array"){let i=tp(t);return e.type==="number"?i.map(s=>ep(s,r)):e.type==="boolean"?i.map(s=>Zf(s,r)):i}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?ep(o,r):e.type==="boolean"?Zf(o,r):typeof o=="string"?o:String(o)}function iS(e,t){return!e.required&&!e.required_on_create?!1:e.required_types.length===0?!0:t?e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function sS(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=ni(e,i);if(s===void 0){iS(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=Bt(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function aS(e,t,n=["update"]){let r={},o=(n??["update"]).flatMap(s=>t.command_to_fields.get(s)??[]),i=new Set;for(let s of o){let a=ni(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=Bt(s,a)))}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]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var An=1,np=1;function cz(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=An?t:An}function rp(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=An))return e}function cS(e,t=np){return e<t?"outdated":e>t?"ahead":"current"}function lz(e,t=np){let n=[],r=[];for(let o of e){let i=cS(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(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]="d7501aa2-d3d9-5fbe-a1c0-d4bc145f5563")}catch{}})();var lS={"in-progress":"in_progress",cancelled:"canceled"};function Ht(e,t){if(t){let o=ti(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=lS[n]??n;if(gn.includes(r))return r}function op(e,t){return Ht(e,t)??e}function dS(e,t){return t.terminal_statuses.has(op(e,t))}import{encode as mS}from"@toon-format/toon";import{isDeepStrictEqual as ip}from"node:util";import{decode as uS}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2840e12e-7444-5d36-9f54-5a56267bbb75")}catch{}})();function Ua(e){return{value:uS(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fedb7b50-6946-589d-b240-9f074e09e467")}catch{}})();var fS=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function pS(e){if(e.length===0)return[];let t=e.split(/\r?\n/),n=[];for(let r=0;r<t.length;r+=1){let o=t[r]??"",i=o.match(fS);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function ri(e){return pS(e)[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]="a4c22692-fe27-5178-bba2-190ac3f80628")}catch{}})();var gS=new Set(["schema","tracker","auto"]),_S=new Set(["passed","failed","stopped","canceled"]),yS=new Set(ko);function xn(e){return e.replaceAll("\\","/")}function Ka(e){for(let t of e)if(t!==0)return t;return 0}function ii(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var lp=["id","title","description","created_at","updated_at"],hS=new Set(Pe);function dp(e){if(e?.schema)return{statusRegistry:$a(e.schema),fieldRegistry:ja(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function bS(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function bt(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new b(`Invalid item metadata: ${e}`,_.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function Ar(e,t){throw new b(t,_.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function up(e){let t=new Set(hS);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function k(e,t){e||bt(t)}function Sr(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&bt(t),e}function qa(e,t){let n=e[t];k(typeof n=="string",`${t} must be a string`),k(dt(n),`${t} must be a valid ISO timestamp`)}function sp(e,t,n){let r=e[t];r!==void 0&&k(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function Ba(e,t,n){let r=e[t];r!==void 0&&(k(typeof r=="string",`${n} must be a string`),k(dt(r),`${n} must be a valid ISO timestamp`))}function wS(e){if(e!==void 0){k(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){k(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();k(tr.includes(n),`event.recurrence.by_weekday entries must be one of: ${tr.join(", ")}`)}}}function ES(e){if(e!==void 0){k(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)k(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function TS(e){if(e!==void 0){k(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)k(typeof t=="string","event.recurrence.exdates entries must be strings"),k(dt(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function vS(e){let t=Sr(e,"event.recurrence must be an object");k(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();k(So.includes(n),`event.recurrence.freq must be one of: ${So.join(", ")}`),sp(t,"interval","event.recurrence.interval"),sp(t,"count","event.recurrence.count"),Ba(t,"until","event.recurrence.until"),wS(t.by_weekday),ES(t.by_month_day),TS(t.exdates)}function AS(e){for(let r of lp)k(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;k(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&k(typeof n=="number"&&Number.isInteger(n)&&n>=An,`pm_format_version must be an integer >= ${An}`),t}function SS(e,t){let n=e.status;k(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Ht(n,r),i=r?r.definitions.map(s=>s.id):[...gn];k(o!==void 0,`status must be one of: ${i.join(", ")}`)}function kS(e){let t=e.priority;k(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;k(Array.isArray(n),"tags must be an array");for(let r of n)k(typeof r=="string","tags entries must be strings")}function xS(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){k(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||Ao.includes(n);k(r,`confidence string value must be one of: ${[...Ao,"med"].join(", ")}`);return}k(!1,"confidence must be a number or string")}}function CS(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&bt("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||vo.includes(n);k(r,`severity value must be one of: ${[...vo,"med"].join(", ")}`)}function OS(e){e.regression!==void 0&&typeof e.regression!="boolean"&&bt("regression must be a boolean")}function IS(e){let t=e.reminders;if(t!==void 0){k(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Sr(n,"reminders entries must be objects");k(typeof r.at=="string","reminder.at must be a string"),k(dt(r.at),"reminder.at must be a valid ISO timestamp"),k(typeof r.text=="string","reminder.text must be a string"),k(r.text.trim().length>0,"reminder.text must not be empty")}}}function RS(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(k(typeof e[t]=="string",`event.${t} must be a string`),k(e[t].trim().length>0,`event.${t} must not be empty`))}function NS(e){e.recurrence!==void 0&&(vS(e.recurrence),e.recurrence.until!==void 0&&k(te(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function DS(e){let t=Sr(e,"events entries must be objects");k(typeof t.start_at=="string","event.start_at must be a string"),k(dt(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(k(typeof t.end_at=="string","event.end_at must be a string"),k(dt(t.end_at),"event.end_at must be a valid ISO timestamp"),k(te(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),RS(t),t.all_day!==void 0&&k(typeof t.all_day=="boolean","event.all_day must be a boolean"),NS(t)}function LS(e){let t=e.events;if(t!==void 0){k(Array.isArray(t),"events must be an array");for(let n of t)DS(n)}}function PS(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&k(typeof n=="string",`${t} must be a string`)}}function MS(e){let t=e.type_options;if(t===void 0)return;let n=Sr(t,"type_options must be an object");for(let[r,o]of Object.entries(n))k(r.trim().length>0,"type_options keys must be non-empty"),k(typeof o=="string","type_options values must be strings"),k(o.trim().length>0,"type_options values must be non-empty strings")}function FS(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){bS(r,t)&&bt(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=Bt(r,o,`metadata field "${r.metadata_key}"`)}catch(i){bt(String(i?.message).replace(/^Invalid\s+/u,""))}}}function $S(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=up(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?bt(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Ha(e,t){let n=Sr(e,"item metadata must be an object"),r=AS(n);SS(n,t),kS(n),xS(n),CS(n),OS(n),qa(n,"created_at"),qa(n,"updated_at"),n.deadline!==void 0&&qa(n,"deadline"),IS(n),LS(n),Ba(n,"closed_at","closed_at"),Ba(n,"completed_at","completed_at"),PS(n),MS(n),FS(n,r,t),$S(n,t)}function jS(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim().toLowerCase(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=te(t.created_at,n.created_at);if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function Ga(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=te(t.created_at,n.created_at);if(r!==0)return r;let o=t.text.localeCompare(n.text);return o!==0?o:t.author.localeCompare(n.author)})}function zS(e){if(!e||e.length===0)return;let t=[...e].map(n=>({at:n.at,text:n.text.trim()})).filter(n=>n.text.length>0).sort((n,r)=>{let o=te(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function US(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!So.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>tr.includes(s)))).sort((s,a)=>Vs(s)-Vs(a)),r=Array.from(new Set((e.by_month_day??[]).filter(s=>Number.isInteger(s)&&s>=1&&s<=31).map(s=>s))).sort((s,a)=>s-a),o=Array.from(new Set((e.exdates??[]).map(s=>s.trim()).filter(s=>dt(s)))).sort((s,a)=>te(s,a)),i={freq:t,interval:e.interval!==void 0&&e.interval>1?e.interval:void 0,count:e.count,until:e.until?.trim()||void 0,by_weekday:n.length>0?n:void 0,by_month_day:r.length>0?r:void 0,exdates:o.length>0?o:void 0};for(let[s,a]of Object.entries(i))a===void 0&&delete i[s];return i}function qS(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(GS).sort(VS)}function GS(e){let t={start_at:e.start_at,end_at:e.end_at||void 0,title:e.title?.trim()||void 0,description:e.description?.trim()||void 0,location:e.location?.trim()||void 0,all_day:e.all_day,timezone:e.timezone?.trim()||void 0,recurrence:US(e.recurrence)};return ii(t),t}function VS(e,t){return Ka([te(e.start_at,t.start_at),(e.end_at??"").localeCompare(t.end_at??""),(e.title??"").localeCompare(t.title??""),+!!e.all_day-+!!t.all_day,(e.timezone??"").localeCompare(t.timezone??""),(e.location??"").localeCompare(t.location??""),(e.description??"").localeCompare(t.description??""),JSON.stringify(e.recurrence??{}).localeCompare(JSON.stringify(t.recurrence??{}))])}function BS(e){if(!(!e||e.length===0))return e.map(t=>({path:xn(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function HS(e){if(!e||e.length===0)return;let t=e.map(YS).filter(n=>n.run_id.length>0&&n.started_at.length>0&&n.finished_at.length>0&&n.recorded_at.length>0).sort((n,r)=>Ka([te(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function Sn(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function WS(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Va(e){return typeof e=="string"?e:""}function KS(e){if(!Array.isArray(e))return;let t=e.filter(r=>r!==null&&typeof r=="object"&&typeof r.name=="string"&&r.name.trim().length>0&&typeof r.value=="number"&&Number.isFinite(r.value)&&typeof r.recorded_at=="string"&&r.recorded_at.trim().length>0).map(r=>({name:r.name.trim(),value:r.value,unit:typeof r.unit=="string"&&r.unit.trim()||void 0,threshold:typeof r.threshold=="number"&&Number.isFinite(r.threshold)?r.threshold:void 0,recorded_at:r.recorded_at.trim()})),n=[...new Map(t.map(r=>[r.name,r])).values()].sort((r,o)=>r.name.localeCompare(o.name)).slice(0,32);return n.length>0?n:void 0}function YS(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=_S.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Va(e.started_at),finished_at:Va(e.finished_at),recorded_at:Va(e.recorded_at),attempt:WS(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Sn(e.passed)??0,failed:Sn(e.failed)??0,skipped:Sn(e.skipped)??0,items:Sn(e.items),linked_tests:Sn(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:KS(e.measurements)};return ii(o),o}function XS(e){if(!(!Array.isArray(e)||e.length===0))return[...e].map(ZS).sort(ek)}function Tr(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function fp(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ya(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ap(e){if(!fp(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!Ya(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function JS(e){if(!fp(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!Ya(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function QS(e){let t=e?.trim().toLowerCase();if(!(!t||!gS.has(t)))return t}function ZS(e){let t={command:e.command?.trim()||void 0,path:e.path?xn(e.path):void 0,scope:e.scope,timeout_seconds:typeof e.timeout_seconds=="number"&&Number.isFinite(e.timeout_seconds)&&e.timeout_seconds>0?e.timeout_seconds:void 0,pm_context_mode:QS(e.pm_context_mode),env_set:ap(e.env_set),env_clear:Tr(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Tr(e.assert_stdout_contains),assert_stdout_regex:Tr(e.assert_stdout_regex),assert_stderr_contains:Tr(e.assert_stderr_contains),assert_stderr_regex:Tr(e.assert_stderr_regex),assert_stdout_min_lines:Sn(e.assert_stdout_min_lines),assert_json_field_equals:ap(e.assert_json_field_equals),assert_json_field_gte:JS(e.assert_json_field_gte),note:e.note?.trim()||void 0};return ii(t),t}function ek(e,t){return Ka([e.scope.localeCompare(t.scope),oi(e.path,t.path),oi(e.command,t.command),cp(e.timeout_seconds,t.timeout_seconds),oi(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,ht(e.env_clear,t.env_clear,[]),ht(e.env_set,t.env_set,{}),ht(e.assert_stdout_contains,t.assert_stdout_contains,[]),ht(e.assert_stdout_regex,t.assert_stdout_regex,[]),ht(e.assert_stderr_contains,t.assert_stderr_contains,[]),ht(e.assert_stderr_regex,t.assert_stderr_regex,[]),cp(e.assert_stdout_min_lines,t.assert_stdout_min_lines),ht(e.assert_json_field_equals,t.assert_json_field_equals,{}),ht(e.assert_json_field_gte,t.assert_json_field_gte,{}),oi(e.note,t.note)])}function oi(e,t){return(e??"").localeCompare(t??"")}function cp(e,t){return(e??0)-(t??0)}function ht(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function tk(e){if(!(!e||e.length===0))return[...e].map(t=>({path:xn(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.path.localeCompare(n.path);return o!==0?o:(t.note??"").localeCompare(n.note??"")})}function A(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function nk(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=A(r.id),i=A(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=A(r.note);a&&(s.note=a),r.required_before_step===!0&&(s.required_before_step=!0),t.push(s)}return t.length>0?t:void 0}function rk(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=A(r.path);if(!o)continue;let i={path:xn(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=A(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function ok(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=A(r.command),i=A(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=xn(i));let a=A(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function ik(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=A(r.path);if(!o)continue;let i={path:xn(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=A(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function sk(e){if(e===null||typeof e!="object")return;let t=e,n=A(t.id),r=A(t.title),o=A(t.status),i=o&&yS.has(o)?o:void 0,s=yo(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!c)return;let l={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return ak(l,t),l}function ak(e,t){let n=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[i,s]of n){let a=A(t[s]);a&&(e[i]=a)}let r=typeof t.completed_at=="string"?t.completed_at:void 0;r&&r.length>0&&(e.completed_at=r);let o=[["linked_items","linked_items",nk],["files","files",rk],["tests","tests",ok],["docs","docs",ik]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function ck(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=sk(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function lk(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=A(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=A(r.rationale);c&&(a.rationale=c);let l=A(r.evidence);l&&(a.evidence=l);let d=A(r.step_id);d&&(a.step_id=d),t.push(a)}return t.length>0?t:void 0}function dk(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=A(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=A(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function uk(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=A(r.text);if(!o)continue;let i={text:o},s=A(r.command);s&&(i.command=s);let a=A(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function fk(e){if(!e)return;let t=Object.entries(e).map(([n,r])=>[n.trim(),r.trim()]).filter(([n,r])=>n.length>0&&r.length>0).sort((n,r)=>n[0].localeCompare(r[0]));if(t.length!==0)return Object.fromEntries(t)}function kn(e){let t=0;for(;t<e.length&&e[t]===`
|
|
6
|
+
`;)t+=1;return e.slice(t).trimEnd()}function pk(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Ao.includes(t))return t}function mk(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(vo.includes(t))return t}function vr(e){return e||void 0}function gk(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))Ya(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function _k(e,t){if(!t?.fieldRegistry)return;let n=e;for(let r of t.fieldRegistry.definitions){let o=n[r.metadata_key];o!==void 0&&(n[r.metadata_key]=Bt(r,o,`metadata field "${r.metadata_key}"`))}}function yk(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=up(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&bt(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function kr(e,t={}){let n=dp(t),r=Ht(e.status,n?.statusRegistry)??e.status,o=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string").map(s=>s.trim().toLowerCase()).filter(Boolean))).sort((s,a)=>s.localeCompare(a)),i={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:rp(e.pm_format_version),source_type:A(e.source_type),type_options:fk(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:jS(e.dependencies),comments:Ga(e.comments),notes:Ga(e.notes),learnings:Ga(e.learnings),files:BS(e.files),tests:XS(e.tests),test_runs:HS(e.test_runs),docs:tk(e.docs),deadline:vr(e.deadline),reminders:zS(e.reminders),events:qS(e.events),closed_at:vr(e.closed_at),completed_at:vr(e.completed_at),assignee:A(e.assignee),claim_principal:A(e.claim_principal),source_owner:A(e.source_owner),author:vr(e.author),estimated_minutes:e.estimated_minutes,acceptance_criteria:e.acceptance_criteria??void 0,design:e.design??void 0,external_ref:e.external_ref??void 0,definition_of_ready:A(e.definition_of_ready),order:e.order,goal:A(e.goal),objective:A(e.objective),value:A(e.value),impact:A(e.impact),outcome:A(e.outcome),why_now:A(e.why_now),parent:A(e.parent),reviewer:A(e.reviewer),risk:e.risk??void 0,confidence:pk(e.confidence),sprint:A(e.sprint),release:A(e.release),blocked_by:A(e.blocked_by),blocked_reason:A(e.blocked_reason),unblock_note:A(e.unblock_note),reporter:A(e.reporter),severity:mk(e.severity),environment:A(e.environment),repro_steps:A(e.repro_steps),resolution:A(e.resolution),expected_result:A(e.expected_result),actual_result:A(e.actual_result),affected_version:A(e.affected_version),fixed_version:A(e.fixed_version),component:A(e.component),regression:e.regression,customer_impact:A(e.customer_impact),close_reason:vr(e.close_reason),plan_mode:A(e.plan_mode),plan_scope:A(e.plan_scope),plan_harness:A(e.plan_harness),plan_resume_context:A(e.plan_resume_context),plan_steps:ck(e.plan_steps),plan_decisions:lk(e.plan_decisions),plan_discoveries:dk(e.plan_discoveries),plan_validation:uk(e.plan_validation)};return gk(i,e),_k(i,n),yk(i,n),ii(i),i}function pp(e){return x(e,Pe)}function hk(e){let t=0,n=!1,r=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(n){if(r){r=!1;continue}if(i==="\\"){r=!0;continue}i==='"'&&(n=!1);continue}if(i==='"'){n=!0;continue}if(i==="{"){t+=1;continue}if(i==="}"&&(t-=1,t===0))return o}return-1}function bk(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=hk(e);if(t<0)return{frontMatter:"",body:e};let n=e.slice(0,t+1),r=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:n,body:r}}function wk(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,n=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!n)return{content:t,stripped:!1};let r=n[0].length;for(;r<t.length;){let o=t.indexOf(`
|
|
7
|
+
`,r),i=o===-1?t.length:o,s=t.slice(r,i).replace(/\r$/,""),a=o===-1?i:i+1;if(s.trim()==="---")return{content:t.slice(a).replace(/^\s+/,""),stripped:!0};r=a}return{content:t,stripped:!1}}function Wa(e,t){return kr(e,{...t,onWarning:void 0})}function Ek(e,t,n={}){let r=wk(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=bk(r.content);o||(e.trimStart().startsWith("{")&&Ar("json_markdown","JSON front matter is not valid JSON"),Ar("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Ar("json_markdown","JSON front matter is not valid JSON")}return Ha(s,t),{metadata:Wa(s,n),body:kn(i)}}function Tk(e,t,n={}){let r;try{r=Ua(e).value}catch{Ar("toon","TOON item document is not valid TOON")}k(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!lp.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&Ar("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return Ha(o.front_matter,t),k(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:Wa(o.front_matter,n),body:kn(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return k(i===void 0||typeof i=="string","TOON item document body must be a string"),Ha(s,t),{metadata:Wa(s,n),body:kn(typeof i=="string"?i:"")}}function vk(e,t={}){let n=kr(e.metadata,t),r=pp(n),o=JSON.stringify(r,null,2),i=kn(e.body??"");return i?`${o}
|
|
8
|
+
|
|
9
|
+
${i}
|
|
10
|
+
`:`${o}
|
|
11
|
+
`}function Ak(e,t={}){let n=kr(e.metadata,t),r=pp(n),o=kn(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=mS(s),c;try{c=Ua(a).value}catch(l){throw new b("Refusing to persist a TOON item document that the configured decoder cannot read back.",_.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:l instanceof Error?l.message:String(l)})}if(!ip(c,s)){let l=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},d=Object.keys(s).find(u=>!ip(s[u],l[u]))??"document";throw new b(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${d}".`,_.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:d,required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:"The encoded document decoded to a value different from the canonical item payload."})}return`${a}
|
|
12
|
+
`}function Wt(e,t={}){let n=ri(e);if(n)throw new b(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,_.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=dp(t);return r==="toon"?Tk(e,o,t):Ek(e,o,t)}function xr(e,t={}){return(t.format??"toon")==="toon"?Ak(e,t):vk(e,t)}function Ce(e,t={}){return{metadata:kr(e.metadata,t),body:kn(e.body??"")}}(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]="4d71277c-e16c-56f4-a834-5200acfa6d7a")}catch{}})();function Xa(e){return e}import{AsyncLocalStorage as Sk}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="16109ee9-e684-5d25-a5f4-30a6c4f62bd5")}catch{}})();var Ja=new Sk,mp=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function si(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function wt(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=si(n.id,128),o=si(n.parent_id,128);if(r===void 0||!mp.test(r)||o!==void 0&&!mp.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=si(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Cn(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=si(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function kk(e,t,n){let r=Ja.getStore(),o=Cn({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=wt(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...Cn(r?.provenance),...o,...Cn(e?.provenance)},a=wt(e?.episode,!1)??wt(n,!1)??i??wt(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function Qa(e,t){return kk(e.session_context,t,e.client_info?.episode)??{}}function xk(e,t){let n=Ja.getStore(),r=wt(e.episode,!0),o=wt(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Cn(n?.provenance),...Cn(e.provenance)};return Ja.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Ck(e){let t=Cn(e.provenance),n=wt(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as tc}from"node:async_hooks";import{createHash as Ok}from"node:crypto";import ai from"node:fs";import Ik from"node:os";import gp 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]="0139d8ef-d286-571f-89f8-7de2f8422f22")}catch{}})();var yp=["model","effort","role","topic","version"],ci=new tc,hp=new tc,nc=new tc,Rk=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"],role:["CLAUDE_CODE_CHILD_SESSION"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],On=new Map,Za=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function fe(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Kt(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function li(e){let t=e.harness.trim().toLowerCase();if(!Za.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Kt(e.environment_keys),model_environment_keys:Kt(e.model_environment_keys),session_environment_keys:Kt(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),Kt(r)]).filter(([n])=>Za.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&Za.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"))),provenance_unavailable_dimensions:Kt(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Kt(e.argv_markers).map(n=>n.toLowerCase()),client_names:Kt(e.client_names).map(n=>n.toLowerCase())}}var bp=Rk.map(li);function Nk(e,t){return JSON.stringify(e)===JSON.stringify(t)}function _p(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function wp(e=[]){let t=[...bp,...[...On.values()].map(r=>r.descriptor),...nc.getStore()?.descriptors??[],...e.map(li)],n=new Set;for(let r of t){if(n.has(r.harness))throw new Error(`Harness signal descriptor collision for "${r.harness}"`);n.add(r.harness)}return t}function Ep(e,t){for(let n of t??[]){let r=fe(e[n]);if(r)return r.slice(0,256)}}function Dk(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return fe(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return fe(i.slice(s.length+1))?.slice(0,256)}}function ec(e,t){return fe(e?.[t])?.slice(0,256)}var Lk=1048576;function Pk(e,t){if(e.length===0||e.length>262144)return;let n;try{n=JSON.parse(e)}catch{return}if(typeof n!="object"||n===null)return;let r=n,o=typeof r.message=="object"&&r.message!==null?r.message:void 0,i=t==="model"?o?.model:r.version;return fe(i)?.slice(0,256)}function Mk(e,t,n){let r=fe(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=gp.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=gp.join(t.home_dir??Ik.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=ai.openSync(s,"r");try{let c=ai.fstatSync(a).size,l=Math.min(c,Lk),d=Buffer.alloc(l);ai.readSync(a,d,0,l,Math.max(0,c-l));let u=d.toString("utf8").split(`
|
|
13
|
+
`).reverse();for(let p of u.slice(0,4096)){let f=Pk(p,e);if(f)return f}return}finally{ai.closeSync(a)}}catch{return}}function Fk(e,t,n,r){let o=nc.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(fe(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Mk(e,t,n);if(s==="ai_agent_version"){let a=fe(n.AI_AGENT);return a?/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256):void 0}}function Tp(e){return e||(hp.getStore()??{env:process.env,argv:process.argv})}function $k(e,t,n,r){let o=e.environment_keys.some(a=>fe(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let l=c.replaceAll("\\","/");return _p(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||_p(r,a));return o||i||s}function jk(e,t,n,r,o){let i=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,s=new Set([...yp,...Object.keys(r?.provenance_environment_keys??{})]),a,c;s.has(e)&&(a=fe(n[i])?.slice(0,256),c=Dk(t.argv??[],e));let l={...r?.provenance_environment_keys,model:r?.model_environment_keys},d={...t.client_info?.provenance,model:t.client_info?.model},u=[a,ec(o?.provenance,e),Ep(n,l[e]),ec(d,e),ec(t.provenance,e),c,Fk(e,t,n,r)];return["override","session","environment","mcp_client","host","argv","probe"].map((y,g)=>({value:u[g],source:y})).find(y=>y.value!==void 0)}function zk(e,t,n,r){let o=Object.keys(n?.provenance_environment_keys??{}),i=new Set([...yp,...o,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),s={};for(let a of i){let c=jk(a,e,t,n,r);c?s[a]=c:n&&(a!=="version"||n.provenance_unavailable_dimensions.includes(a))&&(s[a]=null)}return s}function Uz(e){let t=e.map(li),n=new Map(bp.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness)||n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);let s=On.get(i.harness);if(s&&!Nk(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=On.get(i.harness);On.set(i.harness,{descriptor:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=On.get(i.harness);!s||s.registrations<=1?On.delete(i.harness):s.registrations-=1}}}}function Uk(e,t){return hp.run(e,t)}function qk(e,t,n={}){let r=e.map(li);return wp(r),nc.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function di(e){let t=Tp(e),n=t.env??{},r=wp(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(f=>f.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(f=>$k(f,n,o,i)),a=Qa(t,n),c=zk(t,n,s,a),l=c.model,d=[Ep(n,s?.session_environment_keys),fe(t.client_info?.session)?.slice(0,256)].find(f=>f!==void 0),u=s?.harness&&d?Ok("sha256").update(`pm-agent-instance:v1\0${s.harness}\0${d}`).digest("hex").slice(0,24):void 0,p=[["harness",s?.harness],["model",l?.value],["model_source",l?.source],["session",d],["instance",u],["provenance",Object.keys(c).length>0?c:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(f=>f[1]!==void 0))}function rc(){return process.env.PM_AUTHOR}function Gk(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function qz(e){return di(e).harness}function Vk(e,t,n){let r=Tp(n),o=di(r);if(e!==void 0){let s=fe(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=fe(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=fe(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function vp(e){let t=ci.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Ap(e){let t=ci.getStore();return t?.author!==e?e.startsWith("harness:")?{harness:e.slice(8)}:{}:{...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{},...t.model_source?{model_source:t.model_source}:{},...t.session?{session:t.session}:{},...t.instance?{instance:t.instance}:{},...t.provenance?{provenance:t.provenance}:{},...t.episode?{episode:t.episode}:{}}}function oc(e){let t=ci.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Cr(e,t){let n=Vk(e,t);return ci.enterWith(n),n.author}(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]="aa65b74d-ef5d-57ed-b613-3034da52a8ba")}catch{}})();async function Yt(e,t){let n=await W(e);if(n===null)return[];if(await Me({path:e,scope:"project"}),n.trim()==="")return[];let r=ri(n);if(r)throw new b(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,_.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new b(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,_.GENERIC_FAILURE)}}return o}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="22af7808-6456-5889-b6e3-1abd73f35738")}catch{}})();var Bk="__pm_suppress_host_output",ic="@unbrained/pm-cli:suppress-host-output:v1";function Xz(e){return e===void 0?{__pm_suppress_host_output:ic}:{__pm_suppress_host_output:ic,result:e}}function Sp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&e[Bk]===ic}(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]="c873f95b-c435-5b0d-a631-565fb195b5cd")}catch{}})();var ui="changed_fields",Hk="changed_field_count",sc="rows",Wk=new Set(["apply","rollback"]),kp=new Set(["deleted","would_delete"]);function Xt(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function xp(e){let t=e[ui];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==ui&&(n[r]=o);return n[Hk]=t.length,n}function Kk(e){return"item"in e&&Array.isArray(e[ui])}function Yk(e){return typeof e.mode=="string"&&Wk.has(e.mode)&&Array.isArray(e[sc])}function Xk(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[sc]=t,n}function Jk(e){if(!Xt(e))return null;let t=Xt(e.item)?e.item:Xt(e.plan)?e.plan:null;if(t===null)return null;let n=typeof t.id=="string"?t.id:void 0,r=typeof e.outcome=="string"&&kp.has(e.outcome)?e.outcome:typeof t.status=="string"?t.status:void 0;return n?r?{id:n,status:r,...typeof e.deleted=="boolean"?{deleted:e.deleted}:{}}:{id:n}:null}function Qk(e){if(!Xt(e)||!Xt(e.item)||typeof e.item.id!="string")return null;let t=e[ui];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&kp.has(e.outcome)?{status:e.outcome}:typeof e.item.status=="string"?{status:e.item.status}:{},...typeof e.deleted=="boolean"?{deleted:e.deleted}:{},...typeof e.previous_status=="string"?{previous_status:e.previous_status}:{},changed_field_count:t.length},r=typeof e.close_reason=="string"?e.close_reason:typeof e.item.close_reason=="string"?e.item.close_reason:void 0;return r!==void 0&&(n.close_reason=r),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),n}function Zk(e){let t=Yk(e)?e[sc]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!Xt(o))return o;let i=xp(o);return i?(n=!0,i):o});return n?{projected:Xk(e,r),changed:!0}:{projected:e,changed:!1}}function fi(e,t={}){if(t.idOnly===!0){let a=Jk(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=Qk(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!Xt(e))return e;let r=!1,o=e,i=Kk(e)?xp(e):null;i!==null&&(o=i,r=!0);let s=Zk(o);return s.changed&&(o=s.projected,r=!0),r?o: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]="4a108e0e-0dfc-55c4-9f14-7395cfbac456")}catch{}})();var Cp='.row_contract.row_keys[] as $key | getpath($key | split(".")) | if type == "array" then .[] else if type == "object" then to_entries[] else empty end end',ex={context:{row_keys:["high_level","low_level"],fields:"supported"},get:{row_keys:["children"],fields:"supported"},list:{row_keys:["items"],fields:"supported"},next:{row_keys:["recommended","ready","decision_needed","blocked","held_by_others"],fields:"unsupported"},search:{row_keys:["items"],fields:"supported"},activity:{row_keys:["compact_activity","provenance_activity","activity"],fields:"unsupported"},history:{row_keys:["compact_history","provenance_history","history"],fields:"unsupported"},deps:{row_keys:["graph.nodes","graph.edges","context.nodes","context.edges"],fields:"unsupported"},health:{row_keys:["checks"],fields:"unsupported"},aggregate:{row_keys:["groups"],fields:"unsupported"},duplicates:{row_keys:["clusters"],fields:"unsupported"},stats:{row_keys:["by_type","by_status"],fields:"unsupported"},comments:{row_keys:["comments"],fields:"unsupported"},notes:{row_keys:["notes"],fields:"unsupported"},learnings:{row_keys:["learnings"],fields:"unsupported"},files:{row_keys:["files"],fields:"unsupported"},docs:{row_keys:["docs"],fields:"unsupported"},validate:{row_keys:["checks","warnings"],fields:"unsupported"},contracts:{row_keys:["command_summaries","commands"],fields:"unsupported"}},tx=[{command:"activity",complete_mode:"full",omissions_by_mode:{compact:[{name:"provenance",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}},{command:"history",complete_mode:"full",omissions_by_mode:{compact:[{name:"raw_history",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}}];function tU(e,t,n){if(e&&t)throw new b(`${n} cannot be combined with --full`,_.USAGE)}function qe(e,t=new Set){let n=e.filter(r=>!t.has(r.name)).map(r=>({...r}));return{has_omissions:n.length>0,omitted_field_group_count:n.length,omitted_field_groups:n}}function nU(e,t){let n=tx.find(o=>o.command===e);if(n===void 0)throw new TypeError(`Unknown mode-paired output command: ${e}`);if(t===n.complete_mode)return qe([]);let r=n.omissions_by_mode[t];if(r===void 0)throw new TypeError(`Unknown ${e} output mode: ${t}`);return qe(r)}var nx=[{name:"hierarchy",restore_with:"--depth standard"},{name:"activity",restore_with:"--depth standard"},{name:"progress",restore_with:"--depth standard"},{name:"blockers",restore_with:"--depth standard"},{name:"recently_created",restore_with:"--depth standard"},{name:"unparented",restore_with:"--depth standard"},{name:"files",restore_with:"--depth deep"},{name:"workload",restore_with:"--depth standard"},{name:"staleness",restore_with:"--depth deep"},{name:"tests",restore_with:"--depth deep"},{name:"workspace_memory",restore_with:"--depth deep"}];function Oe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function rx(e){return Oe(e)&&typeof e.command=="string"&&e.command.trim().length>0&&(e.row_kind==="collection"||e.row_kind==="none")&&Array.isArray(e.row_keys)&&e.row_keys.every(t=>typeof t=="string"&&t.length>0)&&new Set(e.row_keys).size===e.row_keys.length&&(e.fields==="supported"||e.fields==="unsupported")&&(e.row_kind==="collection"?e.row_keys.length>0&&typeof e.jq_selector=="string"&&e.jq_selector.trim().length>0:e.row_keys.length===0&&e.jq_selector===void 0)}var ox={ancestors:["ids"],descendants:["ids"],predecessors:["ids"],successors:["ids"],paths:["paths"],impact:["affected"],audit:["findings"],communities:["communities"],redundancy:["redundant"],dominators:["bottlenecks"],slack:["rows"],centrality:["rows"],articulation:["articulation_points","bridges"],plan:["steps"]},ix={context:["sections_included","high_level","low_level"],get:["item"],list:["items","projection"],next:["recommended","ready","decision_needed","blocked","held_by_others"],search:["items","projection"],activity:["compact_activity","provenance_activity","activity"],history:["compact_history","provenance_history","history"],deps:["tree","graph","projection"],health:["checks"],aggregate:["groups"],duplicates:["clusters"],stats:["totals","by_type","by_status"],comments:["comments"],notes:["notes"],learnings:["learnings"],files:["files"],docs:["docs"],validate:["checks","warnings"],contracts:["command_summaries","commands","selected"]};function sx(e,t){let n=e.trim().toLowerCase().split(/\s+/u,1)[0],r=n?.startsWith("list-")?"list":n;if(r==="graph"){let s=typeof t.subcommand=="string"?t.subcommand:"";if(s.length===0)return;let a=ox[s];if(a===void 0)return;let c=a.filter(l=>Array.isArray(t[l])||Oe(t[l]));return{command:"graph",row_kind:c.length>0?"collection":"none",row_keys:c,fields:"unsupported",...c.length>0?{jq_selector:Cp}:{}}}let o=ex[r],i=ix[r];return o===void 0||i===void 0||!i.some(s=>Object.hasOwn(t,s))?void 0:(()=>{let s=o.row_keys.filter(a=>{let c=a.split(".").reduce((l,d)=>Oe(l)?l[d]:void 0,t);return Array.isArray(c)||Oe(c)});return{command:r,row_kind:s.length>0?"collection":"none",row_keys:s,fields:o.fields,...s.length>0?{jq_selector:Cp}:{}}})()}function ax(e){if(!Oe(e.projection)||typeof e.projection.mode!="string"||e.projection.mode.trim().length===0)return;let t=e.projection.declared_field_groups,n=e.projection.included_field_groups;if(!Array.isArray(t)||!Array.isArray(n))return;let r=t.filter(s=>Oe(s)&&typeof s.name=="string"&&s.name.trim().length>0&&typeof s.restore_with=="string"&&s.restore_with.trim().length>0),o=n.filter(s=>typeof s=="string");if(r.length!==t.length||o.length!==n.length)return;let i=new Set(r.map(s=>s.name));if(!(i.size!==r.length||new Set(o).size!==o.length||o.some(s=>!i.has(s))))return qe(r,new Set(o))}function cx(e){if(Array.isArray(e.sections_included))return qe(nx,new Set(e.sections_included.filter(t=>typeof t=="string")))}function lx(e){if(!Oe(e.item))return;let t=["children","claim_state","linked"].map(n=>({name:n,restore_with:`--fields ${n}`}));return qe(t,new Set(t.flatMap(({name:n})=>e[n]===void 0?[]:[n])))}function Op(e){if(Oe(e.projection))return qe([{name:"full_item_fields",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_item_fields"]:[]))}function dx(e){if(!Oe(e.projection))return qe([]);if(typeof e.projection.mode=="string")return qe([{name:"full_check_details",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_check_details"]:[]))}function ux(e){if(!(!Oe(e.selected)||typeof e.selected.summary!="boolean"))return qe([{name:"full_contract_catalog",restore_with:"--full"}],new Set(e.selected.summary?[]:["full_contract_catalog"]))}function fx(e,t){let n=ax(t);if(n!==void 0)return n;let[r]=e.split(/\s+/u,1);if(r==="context")return cx(t);if(r==="get")return lx(t);if(r==="list"||r.startsWith("list-"))return Op(t);if(r==="search")return Op(t)??qe([{name:"projection_metadata",restore_with:"--full"}]);if(r==="health")return dx(t);if(r==="contracts")return ux(t)}function Ip(e,t){if(e===void 0||!Oe(t))return t;let n=t.row_contract,r=rx(n)?n:sx(e,t),o=r!==void 0?{...t,row_contract:r}:Object.hasOwn(t,"row_contract")?Object.fromEntries(Object.entries(t).filter(([s])=>s!=="row_contract")):t;if(Oe(o.omission_receipt))return o;let i=fx(e,o);return i===void 0?o:{...o,omission_receipt:i}}import{createHash as px}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83fe180b-9d95-5d19-9d3b-ba3821700e61")}catch{}})();var ac=1,Np=4096,mx=/^[A-Za-z0-9_-]+$/;function Rp(e){return e.replace(/^--/u,"").replace(/[-_]([a-z0-9])/gu,(t,n)=>n.toUpperCase())}function cU(e,t){let n=new Set;for(let r of t)if(r.cursor_semantics==="presentation"){n.add(Rp(r.flag));for(let o of r.aliases??[])n.add(Rp(o))}return Object.fromEntries(Object.entries(e).filter(([r])=>!n.has(r)))}function lU(e,t){return px("sha256").update(e).update("\0").update(we(t)).digest("hex").slice(0,24)}function cc(e,t,n,r){return Buffer.from(JSON.stringify({version:ac,fingerprint:e,after_id:t,...n===void 0?{}:{after_index:n},...r===void 0?{}:{snapshot:r}})).toString("base64url")}function Jt(e){return new b(e,_.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]})}function gx(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return t.version===ac&&typeof t.fingerprint=="string"&&typeof t.after_id=="string"&&t.after_id.length>0&&(t.after_index===void 0||Number.isSafeInteger(t.after_index)&&t.after_index>=0)&&(t.snapshot===void 0||typeof t.snapshot=="string"&&t.snapshot.length>0)}function lc(e,t){if(typeof e!="string")throw Jt("Query cursor is malformed.");let n=e.trim();if(n.length===0||n.length>Np||!mx.test(n))throw Jt("Query cursor is malformed.");let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw Jt("Query cursor is malformed.")}if(!gx(r))throw Jt("Query cursor version or payload is unsupported.");let o=r;if(o.fingerprint!==t)throw Jt(`Query cursor does not match the current filters, sort, or query (${o.fingerprint} != ${t}).`);return{after_id:o.after_id,...o.after_index===void 0?{}:{after_index:o.after_index},...o.snapshot===void 0?{}:{snapshot:o.snapshot}}}function dU(e,t){return lc(e,t).after_id}function _x(e,t,n,r){if(t===void 0)return 0;let o=lc(t,n),i=e.findIndex(s=>r(s)===o.after_id);if(i<0){if(o.after_index!==void 0)return Math.min(o.after_index,e.length);throw Jt(`Query cursor item ${o.after_id} is no longer present in this result set.`)}return i+1}function uU(e,t){if(t.cursor!==void 0&&lc(t.cursor,t.fingerprint).snapshot!==t.snapshot)throw Jt("Query cursor does not match the requested snapshot.");let n=_x(e,t.cursor,t.fingerprint,t.readId),r=e.slice(n,n+t.limit),o=r.length>0&&n+r.length<e.length,i=r.at(-1);return{rows:r,has_more:o,...o&&i!==void 0?{next_cursor:cc(t.fingerprint,t.readId(i),n+r.length-1,t.snapshot)}:{}}}var fU=Object.freeze({version:ac,max_length:Np});(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]="ae6fbd4a-6c4e-5639-93ac-f107a336e95b")}catch{}})();function dc(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function yx(e,t){let n=e;for(let r of t.split(".")){if(!dc(n))return;n=n[r]}return n}function Dp(e,t,n){let r=t.split("."),o={...e},i=e,s=o;for(let a of r.slice(0,-1)){let c=i[a],l={...c};s[a]=l,i=c,s=l}return s[r.at(-1)]=n,o}function uc(e){let t=e.row_contract;return dc(t)&&Array.isArray(t.row_keys)?t.row_keys.filter(n=>typeof n=="string"&&n.trim().length>0):Object.entries(e).filter(([,n])=>Array.isArray(n)).map(([n])=>n)}function Qt(e){return uc(e).flatMap(t=>{let n=yx(e,t);return Array.isArray(n)||dc(n)?[{path:t,value:n}]:[]})}function pi(e){return Qt(e).reduce((t,n)=>t+(Array.isArray(n.value)?n.value.length:Object.keys(n.value).length),0)}function mi(e,t){let n=e;for(let r of Qt(n)){let o=Array.isArray(r.value)?r.value.map((i,s)=>t(i,r.path,s)):Object.fromEntries(Object.entries(r.value).map(([i,s],a)=>[i,t(s,r.path,a)]));n=Dp(n,r.path,o)}return n}function Lp(e,t){let n=e,r=!1;for(let o of Qt(n)){let i=Array.isArray(o.value)?o.value:Object.entries(o.value);if(i.length<=t)continue;r=!0;let s=Array.isArray(o.value)?i.slice(0,t):Object.fromEntries(i.slice(0,t));n=Dp(n,o.path,s)}return{result:n,truncated: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]="04ad0d11-1fb7-5eb4-8ff0-d81a7090c4ff")}catch{}})();var fc=256,_i=1e4,hx=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/u,bx=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u,wx=new Set(["version","id","token_budget","spent_tokens","seen_item_ids"]),Ex=[{valid:e=>e.version===1,reason:"version must equal 1."},{valid:e=>typeof e.id=="string"&&hx.test(e.id),reason:"id must be 1-64 portable identifier characters."},{valid:e=>Number.isSafeInteger(e.token_budget)&&e.token_budget>=fc,reason:`token_budget must be a safe integer of at least ${fc}.`},{valid:e=>Number.isSafeInteger(e.spent_tokens)&&e.spent_tokens>=0&&e.spent_tokens<=e.token_budget,reason:"spent_tokens must be a non-negative safe integer no larger than token_budget."},{valid:e=>Array.isArray(e.seen_item_ids)&&e.seen_item_ids.length<=_i&&e.seen_item_ids.every(t=>typeof t=="string"&&bx.test(t)),reason:`seen_item_ids must contain at most ${_i} portable item identifiers.`}];function yi(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function gi(e){throw new b(`--output-session ${e}`,_.USAGE,{code:"invalid_read_output_session",field:"outputSession"})}function pc(e){if(e===void 0)return;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{gi("must be a valid JSON object.")}yi(t)||gi("must be a JSON object.");let n=Object.keys(t).filter(i=>!wx.has(i));n.length>0&&gi(`contains unknown field "${n.sort()[0]}".`);let r=Ex.find(i=>!i.valid(t));r!==void 0&&gi(r.reason);let o=[...new Set(t.seen_item_ids)].sort();return{version:1,id:t.id,token_budget:t.token_budget,spent_tokens:t.spent_tokens,seen_item_ids:o}}function Pp(e){if(yi(e))return typeof e.id=="string"?e.id:typeof e.item_id=="string"?e.item_id:yi(e.item)&&typeof e.item.id=="string"?e.item.id:void 0}function Tx(e){let t=new Set,n=0;for(let r of Qt(e)){let o=Array.isArray(r.value)?r.value:Object.values(r.value);for(let i of o){if(!yi(i))continue;if(typeof i.context_ref=="string"){n+=1;continue}let s=Pp(i);s!==void 0&&t.add(s)}}return{deliveredIds:t,suppressedRepeatCount:n}}function Mp(e,t){let n=new Set(t.seen_item_ids);return mi(e,r=>{let o=Pp(r);return o!==void 0&&n.has(o)?{id:o,context_ref:`session:${t.id}:${o}`}:r})}function mc(e,t){let{deliveredIds:n,suppressedRepeatCount:r}=Tx(e),o=[...new Set([...t.seen_item_ids,...n])].sort(),i={contract_version:1,id:t.id,measurement_scope:"complete_read_envelope",estimator:"ceil(utf8_bytes / 4)",token_budget:t.token_budget,spent_before_tokens:t.spent_tokens,spent_this_call_tokens:0,charged_this_call_tokens:0,spent_total_tokens:t.spent_tokens,remaining_tokens:t.token_budget-t.spent_tokens,exhausted:!1,seen_before_count:t.seen_item_ids.length,new_item_count:n.size,suppressed_repeat_count:r,reference_format:"session:<session-id>:<item-id>",restore_reference_with:"pm get <item-id> --brief",next_state:{version:1,id:t.id,token_budget:t.token_budget,spent_tokens:t.spent_tokens,seen_item_ids:o}},s={...e,read_session:i},a=d=>{i.spent_this_call_tokens=d,i.charged_this_call_tokens=Math.min(t.token_budget-t.spent_tokens,d),i.spent_total_tokens=Math.min(t.token_budget,t.spent_tokens+i.charged_this_call_tokens),i.remaining_tokens=Math.max(0,t.token_budget-i.spent_total_tokens),i.exhausted=i.remaining_tokens<fc,i.next_state.spent_tokens=i.spent_total_tokens},c=0,l=0;for(let d=0;d<8;d+=1){a(c);let u=Math.ceil(Buffer.byteLength(JSON.stringify(s),"utf8")/4);if(u===c)return s;l=Math.max(l,u),c=u}return a(l),s}function Fp(e){return Math.max(0,e.token_budget-e.spent_tokens)}(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]="1726fdce-dc71-5707-ae75-b588691e813d")}catch{}})();var vx=8,Ax=64;function Sx(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function gc(e,t){return typeof e=="string"?e.length<=240?e:(t.compacted=!0,`${e.slice(0,240)}\u2026`):Array.isArray(e)?e.map(n=>gc(n,t)):Sx(e)?Object.fromEntries(Object.entries(e).map(([n,r])=>[n,gc(r,t)])):e}function In(e,t){let n=t.estimated_tokens;for(let r=0;r<vx;r+=1){t.estimated_tokens=n;let o=Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4);if(o===n)return;n=o}t.estimated_tokens=n}function kx(e,t,n){for(let r=0;r<Ax;r+=1){if(In(e,t),t.estimated_tokens<=n)return;let o=Qt(e).filter(i=>(Array.isArray(i.value)?i.value.length:Object.keys(i.value).length)>1).map(i=>({collection:i,length:Array.isArray(i.value)?i.value.length:Object.keys(i.value).length})).sort((i,s)=>s.length-i.length||i.collection.path.localeCompare(s.collection.path))[0]?.collection;if(!o)return;if(Array.isArray(o.value))o.value.splice(-Math.max(1,Math.ceil(o.value.length/2)));else{let i=Object.keys(o.value);for(let s of i.slice(-Math.max(1,Math.ceil(i.length/2))))delete o.value[s]}t.rows_compacted=!0,e.has_more=!0,e.truncated=!0,typeof e.count=="number"&&(e.count=pi(e))}}function $p(e,t,n){let r={compacted:!1},o=gc(e,r);return t.strings_compacted=r.compacted,o.read_output=t,kx(o,t,n),In(o,t),o}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="27f3a09b-9b90-5c85-9e41-21cfed5dc0ce")}catch{}})();var Rn=["include","amount","cost","encoding"],Gp=["list","context","search","get","next","health","deps","graph","history","activity","validate","events","contracts","comments","notes","files","docs","stats","aggregate"],Vp=["canonical","legacy","intent","default"],hc={include:"--output-include",amount:"--output-limit",cost:"--output-budget",encoding:"--output-format"},Bp=Object.freeze(Rn.map(e=>hc[e])),Hp=Object.freeze(["--output-session"]),xx={list:{include:["--brief","--compact","--fields","--full"],amount:["--after","--limit","--no-truncate"],cost:["--token-budget"],encoding:["--format","--stream"]},context:{include:["--fields","--section"],amount:["--after","--depth","--limit"],cost:["--token-budget"],encoding:["--format"]},search:{include:["--compact","--fields","--full"],amount:["--after","--limit"],cost:["--token-budget"],encoding:["--format"]},get:{include:["--fields","--full"],amount:["--depth"],cost:["--token-budget"],encoding:["--format"]},next:{amount:["--blocked-limit","--limit"],cost:["--token-budget"],encoding:["--format"]},health:{include:["--brief","--check-only","--full","--summary","--verbose"]},deps:{include:["--collapse","--full","--summary"],amount:["--edge-limit","--max-depth","--node-limit"],cost:["--token-budget"],encoding:["--format"]},graph:{include:["--full","--summary"],amount:["--after","--limit","--max-depth","--max-paths"]},history:{include:["--compact","--full"],amount:["--limit"],encoding:["--format"]},activity:{include:["--compact","--full"],amount:["--limit","--unbounded"],encoding:["--stream"]},validate:{include:["--counts","--full","--verbose"]},events:{include:["--full"],amount:["--limit"],encoding:["--follow"]},contracts:{include:["--full","--summary"]},comments:{amount:["--limit"]},notes:{amount:["--limit"]},files:{amount:["--limit","--no-truncate","--offset"]},docs:{},stats:{},aggregate:{}},Cx=new Set(["--fields","--section"]),Ox=Object.freeze({"--after":"--after retains cursor-position semantics; use --output-limit <n> separately to bound returned rows.","--check-only":"--check-only retains health side-effect semantics; --output-include does not suppress vector refresh.","--depth":"--depth retains traversal or detail-depth semantics; --output-limit does not replace it.","--follow":"--follow retains event-tail semantics; --output-format does not enable following.","--max-depth":"--max-depth retains graph traversal-depth semantics; --output-limit does not replace it.","--max-paths":"--max-paths retains graph path-search semantics; use --output-limit separately to bound returned rows.","--offset":"--offset retains positional pagination semantics; use --output-limit separately to bound returned rows.","--stream":"--stream retains command streaming semantics; --output-format selects only static result encoding."});function Wp(e){return e.slice(2).replaceAll("-","_")}function Ix(e,t){let n=Ox[e];if(n!==void 0)return n;let r=t==="include"?Cx.has(e)?"<csv>":Wp(e):t==="amount"?"<n>":t==="cost"?"<tokens>":"<toon|json>";return`${e} is a compatibility alias; prefer ${hc[t]} ${r}.`}function Rx(e){let t=xx[e],n=Object.freeze(Object.fromEntries(Rn.map(r=>[r,Object.freeze({dimension:r,canonical_option:hc[r],applicable:!0,inapplicable_reason:null,legacy_aliases:Object.freeze((t[r]??[]).map(o=>Object.freeze({flag:o,migration_hint:Ix(o,r),visibility:"hidden_alias"})))})])));return Object.freeze({command:e,dimensions:n,precedence:Vp})}var Nx=Object.freeze(Gp.map(Rx)),Dx=new Map(Nx.map(e=>[e.command,e]));function Dn(e){let t=e.trim().toLowerCase().split(/\s+/u)[0],n=t.startsWith("list-")?"list":t==="ctx"?"context":t;return Gp.includes(n)?n:void 0}var Lx=["outputInclude","output_include","outputLimit","output_limit","outputBudget","output_budget","outputFormat","output_format","outputSession","output_session"],Px={comments:["add","body","stdin","file","edit","delete"],notes:["add","addJson","stdin","file","edit","delete"],files:["add","addGlob","remove","migrate","apply","note"],docs:["add","addGlob","remove","migrate","note"]};function Mx(e){return Lx.some(t=>e[t]!==void 0)}var Fx=[{keys:["outputInclude","output_include"],valid:e=>_c(e)!==void 0,message:"--output-include requires at least one comma-separated field or section."},{keys:["outputLimit","output_limit"],valid:e=>e==="unbounded"||Nn(e)!==void 0,message:"--output-limit must be a positive integer or unbounded."},{keys:["outputBudget","output_budget"],valid:e=>Nn(e)!==void 0,message:"--output-budget must be a positive integer."},{keys:["outputFormat","output_format"],valid:e=>e==="toon"||e==="json",message:"--output-format must be toon or json."},{keys:["outputSession","output_session"],valid:e=>(pc(e),!0),message:"--output-session must be a valid session-state object."}];function kU(e,t){if(!Mx(t))return;let n=Dn(e);if(!n)throw new b(`Universal output controls apply only to read commands; ${e||"this command"} is not a read surface.`,_.USAGE);if((Px[n]??[]).some(r=>t[r]!==void 0&&t[r]!==!1))throw new b(`Universal output controls cannot be combined with a ${n} mutation.`,_.USAGE);for(let r of Fx){let o=r.keys.map(i=>t[i]).find(i=>i!==void 0);if(o!==void 0&&!r.valid(o))throw new b(r.message,_.USAGE)}}function $x(e){return e.slice(2).replace(/-([a-z])/gu,(t,n)=>n.toUpperCase())}function jx(e,t){let n=$x(t);if(Object.hasOwn(e,n))return e[n];let r=t.slice(2).replaceAll("-","_");if(Object.hasOwn(e,r))return e[r];if(t==="--no-truncate"&&e.truncate===!1)return!0}function zx(e){return e!==void 0&&e!==!1&&e!==null}function _c(e){let n=(Array.isArray(e)?e:[e]).flatMap(r=>typeof r=="string"?r.split(","):[]).map(r=>r.trim()).filter(Boolean);return n.length>0?[...new Set(n)]:void 0}function Nn(e){let t=typeof e=="number"?e:typeof e=="string"&&/^\d+$/u.test(e.trim())?Number(e):Number.NaN;return Number.isSafeInteger(t)&&t>0?t:void 0}function Ux(e,t,n){for(let r of e.legacy_aliases){let o=jx(t,r.flag),i={value:o,flag:r.flag};if(zx(o)&&n(i))return i}}function jp(e,t){let n=_c(e);if(n)return{source:"canonical",value:n};if(t)return{source:"legacy",value:_c(t.value)??[Wp(t.flag)]}}function zp(e,t){if(e==="unbounded")return{source:"canonical",value:"unbounded"};let n=Nn(e);if(n!==void 0)return{source:"canonical",value:n};if(!t)return;if(t.flag==="--no-truncate"||t.flag==="--unbounded")return{source:"legacy",value:"unbounded"};let r=Nn(t.value);return r===void 0?void 0:{source:"legacy",value:r}}function Up(e,t){let n=Nn(e);if(n!==void 0)return{source:"canonical",value:n};if(!t)return;let r=Nn(t.value);return r===void 0?void 0:{source:"legacy",value:r}}function qp(e,t){if(e==="json"||e==="toon")return{source:"canonical",value:e};if(t)return t.flag==="--stream"||t.flag==="--follow"?{source:"legacy",value:"stream"}:t.value==="json"||t.value==="toon"?{source:"legacy",value:t.value}:void 0}function Kp(e,t){let n=Dn(e);if(!n)return;let r=Dx.get(n),o={include:c=>jp(void 0,c),amount:c=>zp(void 0,c),cost:c=>Up(void 0,c),encoding:c=>qp(void 0,c)},i=Object.fromEntries(Rn.map(c=>[c,Ux(r.dimensions[c],t,l=>o[c](l)!==void 0)])),s=Rn.flatMap(c=>{let l=i[c];return l?[l.flag]:[]}),a=Rn.flatMap(c=>{let l=i[c];return l?[r.dimensions[c].legacy_aliases.find(u=>u.flag===l.flag).migration_hint]:[]});return{command:n,include:jp(t.outputInclude??t.output_include,i.include),amount:zp(t.outputLimit??t.output_limit,i.amount),cost:Up(t.outputBudget??t.output_budget,i.cost),encoding:qp(t.outputFormat??t.output_format,i.encoding),legacy_aliases_used:s,migration_hints:a,precedence:Vp}}function Or(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var bc=new Set(["applied_bound","applied_limit","completeness","continuation_contract","count","filters","has_more","next_cursor","now","omission_receipt","projection","row_contract","sorting","total","truncated"]);function Yp(e,t){let n=new Set(t.map(r=>r.split(".")[0]));return Object.fromEntries(Object.entries(e).filter(([r])=>n.has(r)))}function qx(e){let t=Or(e.item)?e.item:{},n=Object.keys(t).sort((o,i)=>o.localeCompare(i)),r=Object.keys(e).filter(o=>o!=="item"&&o!=="read_output"&&!bc.has(o)).sort((o,i)=>o.localeCompare(i));return{item:t,itemFields:n,sections:r,valid:[...n,"item",...n.map(o=>`item.${o}`),...r]}}function Gx(e,t){let n=qx(e),r=t.filter(u=>!n.valid.includes(u));if(r.length>0)throw new b(`Unknown --output-include selector(s) for get: ${r.join(", ")}. Valid selectors: ${n.valid.join(", ")}.`,_.USAGE);let o=t.includes("item"),i=t.flatMap(u=>u.startsWith("item.")?[u.slice(5)]:n.itemFields.includes(u)?[u]:[]).filter((u,p,f)=>f.indexOf(u)===p);if(o&&i.length>0)throw new b("--output-include cannot mix a full item with projected item fields; use item or item.<field>, not both.",_.USAGE);let s=new Set(t.filter(u=>n.sections.includes(u))),a=Object.fromEntries(Object.entries(e).filter(([u])=>bc.has(u)||s.has(u)));o?a.item=n.item:i.length>0&&(a.item=Yp(n.item,i));let c=[...o?[]:i.length>0?n.itemFields.filter(u=>!i.includes(u)).map(u=>({name:`item.${u}`,restore_with:`--output-include item.${u}`})):[{name:"item",restore_with:"--output-include item"}],...n.sections.filter(u=>!s.has(u)).map(u=>({name:u,restore_with:`--output-include ${u}`}))],d=[...Or(a.omission_receipt)&&Array.isArray(a.omission_receipt.omitted_field_groups)?a.omission_receipt.omitted_field_groups:[],...c];return a.omission_receipt={has_omissions:d.length>0,omitted_field_group_count:d.length,omitted_field_groups:d},a}function Vx(e,t,n){if(e==="get")return Gx(t,n);let r=uc(t),o=n.flatMap(s=>r.flatMap(a=>s.startsWith(`${a}.`)?[s.slice(a.length+1)]:[])),i=n.some(s=>Object.hasOwn(t,s.split(".")[0])&&!r.some(a=>s.startsWith(`${a}.`)));if(r.length>0&&(!i||o.length>0)){let s={...t};return mi(s,a=>Or(a)?Yp(a,o.length>0?o:n):a)}return Object.fromEntries(Object.entries(t).filter(([s])=>n.some(a=>a.split(".")[0]===s)||bc.has(s)))}function Bx(e,t){if(t==="unbounded")return e;let{result:n,truncated:r}=Lp(e,t);return r&&(n.has_more=!0,n.truncated=!0,typeof n.count=="number"&&(n.count=pi(n)),n.applied_bound={kind:"output_limit",source:"explicit",value:t}),n}function Hx(e){return Rn.filter(t=>e[t]!==void 0)}function yc(e,t,n){let r=mc(e,t);for(let o=0;o<8;o+=1){let i=n.estimated_tokens,s=r.read_session.spent_this_call_tokens;In(r,n),r=mc(r,t);let a=r.read_session.spent_this_call_tokens;if(n.estimated_tokens===i&&a===s)return r}return r}function Wx(e,t,n){let r={...e};return t.include?.source==="canonical"&&(r=Vx(t.command,r,t.include.value)),t.amount?.source==="canonical"&&(r=Bx(r,t.amount.value)),n===void 0?r:Mp(r,n)}function Kx(e,t){let n=[...e.cost?.source==="canonical"?[e.cost.value]:[],...t===void 0?[]:[Fp(t)]];return n.length===0?void 0:Math.min(...n)}function Yx(e,t,n,r){let o={contract_version:1,command:e.command,requested_dimensions:t,precedence:e.precedence,legacy_aliases_used:[],migration_hints:[],estimated_tokens:0,within_budget:!1,strings_compacted:!1,rows_compacted:!1,result_omitted:!0},i={output_budget_exceeded:{omitted_result:!0,reason:"requested_budget_infeasible",restore_with:"Increase --output-budget or narrow the read."},read_output:o},s=n===void 0?i:yc(i,n,o);if(n===void 0&&In(s,o),n!==void 0&&o.estimated_tokens>r)throw new b("The remaining output-session budget cannot fit its mandatory receipts; start a new session with a larger token_budget.",_.USAGE);return s}function Xp(e,t,n){let r=Kp(e,t);if(!r)return n;let o=pc(t.outputSession??t.output_session),i=Hx(r);if(i.filter(d=>r[d]?.source==="canonical").length===0&&o===void 0)return n;let a=Wx(n,r,o),c={contract_version:1,command:r.command,requested_dimensions:i,precedence:r.precedence,legacy_aliases_used:r.legacy_aliases_used,migration_hints:r.migration_hints,estimated_tokens:0,within_budget:!0,strings_compacted:!1,rows_compacted:!1,result_omitted:!1};a.read_output=c,a=o===void 0?a:yc(a,o,c),In(a,c);let l=Kx(r,o);return l!==void 0&&c.estimated_tokens>l&&(a=$p(a,c,l),o!==void 0&&(a=yc(a,o,c))),l!==void 0&&c.estimated_tokens>l?Yx(r,i,o,l):a}function xU(e){return Or(e)&&Or(e.output_budget_exceeded)&&e.output_budget_exceeded.omitted_result===!0&&e.output_budget_exceeded.reason==="requested_budget_infeasible"}function Jp(e,t){let n=Kp(e,t)?.encoding;return n?.value==="json"||n?.value==="toon"?n.value:void 0}import{AsyncLocalStorage as Xx}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e48a306e-debb-5e66-ae9b-68bf17fa405f")}catch{}})();var Zp=Object.freeze([{command:"context",intent:"orient",description:"Bounded active hierarchy, ownership, blockers, and recent progress.",included_field_groups:["summary","focus","hierarchy","blockers","activity"],token_budget:2400,source:"core"},{command:"context",intent:"handoff",description:"Active ownership, evidence, decisions, and immediate continuation context.",included_field_groups:["summary","focus","in_progress","decisions","activity"],token_budget:2200,source:"core"},{command:"get",intent:"inspect",description:"Standard-depth item metadata, relationships, evidence, and lifecycle state.",included_field_groups:["item","children","claim_state","linked"],token_budget:3200,source:"core"},{command:"list",intent:"triage",description:"A budget-derived page of compact governance, ownership, priority, and blocker rows for triage.",included_field_groups:["identity","governance","ownership","dependencies"],token_budget:3200,source:"core"},{command:"next",intent:"execute",description:"The highest-ranked actionable work with concise ranking evidence.",included_field_groups:["recommended"],token_budget:1200,source:"core"},{command:"search",intent:"discover",description:"A budget-derived page of ranked canonical lineage candidates with compact match evidence.",included_field_groups:["identity","status","lineage","match"],token_budget:1800,source:"core"}]),em=new Xx;function Jx(){return em.getStore()??Zp}function PU(e,t){return em.run(Zx(e.workspaceContracts,e.packageContracts),t)}function Qx(e,t){let n=e.command.trim().toLowerCase(),r=e.intent.trim().toLowerCase(),o=`${n}:${r}`;if(!/^[a-z0-9][a-z0-9-]*$/.test(n)||!/^[a-z0-9][a-z0-9-]*$/.test(r))throw new TypeError(`Invalid context intent command or name: ${o}`);if(e.description.trim().length===0)throw new TypeError(`Context intent ${o} requires a non-empty description`);if(!Number.isSafeInteger(e.token_budget)||e.token_budget<=0)throw new TypeError(`Context intent ${o} requires a positive integer token_budget`);let i=[...new Set(e.included_field_groups.map(s=>s.trim()).filter(Boolean))];if(i.length===0)throw new TypeError(`Context intent ${o} requires included_field_groups`);return{command:n,intent:r,description:e.description.trim(),included_field_groups:i,token_budget:e.token_budget,source:t}}function Zx(e=[],t=[]){let n=[{source:"core",contracts:Zp,allowOverride:!1},{source:"package",contracts:t,allowOverride:!1},{source:"workspace",contracts:e,allowOverride:!0}],r=new Map,o=new Set;for(let i of n){o.clear();for(let s of i.contracts){let a=Qx(s,i.source),c=`${a.command}:${a.intent}`;if(o.has(c))throw new TypeError(`Duplicate context intent declaration: ${c}`);if(o.add(c),!i.allowOverride&&r.has(c))throw new TypeError(`Duplicate context intent declaration: ${c}`);r.set(c,a)}}return[...r.values()].sort((i,s)=>i.command.localeCompare(s.command)||i.intent.localeCompare(s.intent))}function tm(e,t,n=Jx()){let r=e.trim().toLowerCase(),o=t.trim().toLowerCase(),i=n.find(l=>l.command===r&&l.intent===o);if(i)return{...i,source:i.source??"core"};let s=n.filter(l=>l.command===r).map(l=>l.intent);if(s.length===0)return;let a=s.map(l=>{let d=Array.from({length:o.length+1},(u,p)=>p);for(let u=1;u<=l.length;u+=1){let p=d[0];d[0]=u;for(let f=1;f<=o.length;f+=1){let y=d[f];d[f]=Math.min(d[f]+1,d[f-1]+1,p+(l[u-1]===o[f-1]?0:1)),p=y}}return{candidate:l,distance:d[o.length]}}).sort((l,d)=>l.distance-d.distance||l.candidate.localeCompare(d.candidate))[0].candidate,c=`pm ${r} --for ${a}`;throw new b(`Unknown context intent "${o}" for ${r}. Did you mean "${a}"?`,_.USAGE,{code:"unknown_context_intent",reason:"unknown_intent",field:"for",required:`Use a declared ${r} intent.`,why:"Intent names are command-local contracts and cannot be inferred from output section names.",nextSteps:[c],recovery:{recovery_mode:"compact",attempted_command:`pm ${r} --for ${o}`,suggested_retry:c}})}var nm={context:(e,t,n)=>{e.depth===void 0&&(e.depth=t.intent==="handoff"?"deep":"standard"),e.section===void 0&&(e.section=t.intent==="handoff"?["activity","progress","blockers"]:["hierarchy","blockers","activity"]);let r=bi(e.tokenBudget,t.token_budget),o=Math.max(1,Math.floor((r-800)/500)),i=String(n?o:Math.min(20,o));e.limit===void 0&&(e.limit=i),e.activityLimit===void 0&&(e.activityLimit=i)},get:e=>{e.depth===void 0&&e.fields===void 0&&(e.depth="standard")},list:(e,t,n)=>{if(e.brief===void 0&&e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.fields="id,title,status,type,priority,parent,assignee,risk,blocked_by"),e.limit===void 0){let r=bi(e.tokenBudget,t.token_budget),o=Math.max(2,Math.floor((r-520)/16));e.limit=String(n?o:Math.min(100,o))}},next:e=>{e.readyOnly===void 0&&(e.readyOnly=!0)},search:(e,t,n)=>{if(e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.compact=!0),e.limit===void 0){let r=bi(e.tokenBudget,t.token_budget),o=Math.max(2,Math.floor((r-480)/16));e.limit=String(n?o:Math.min(100,o))}}};function MU(e,t){let n=t.tokenBudget??t.token_budget;if(typeof t.for!="string"){if(n!==void 0&&(e==="get"||e==="list"||e==="search"))throw new b("--token-budget requires a declared context intent selected with --for",_.USAGE,{code:"missing_required_option",field:"for",required:"Select a context intent with --for when setting --token-budget.",why:"A token-budget override has no projection contract to constrain without a selected intent.",nextSteps:["Retry with --for <intent> --token-budget <n>, or omit --token-budget."]});if(t.tokenBudget!==void 0||t.token_budget===void 0)return t;let s={...t,tokenBudget:n};return delete s.token_budget,s}let r=tm(e,t.for),o=Ec(n)!==void 0,i={...t};return i.tokenBudget===void 0&&n!==void 0&&(i.tokenBudget=n),delete i.token_budget,i.tokenBudget===void 0&&(i.tokenBudget=String(r.token_budget)),nm[e](i,r,o),i}var eC={context:"bounded_sections",get:"standard_item",list:"bounded_fields_and_rows",next:"bounded_ranked_rows",search:"bounded_ranked_rows"},hi=256;function wc(e){return Array.isArray(e)?e.map(wc):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,wc(n)])):typeof e=="string"&&e.length>240?`${e.slice(0,240)}\u2026`:e}function Ec(e){let t=typeof e=="number"?e:typeof e=="string"&&/^\d+$/u.test(e.trim())?Number(e):Number.NaN;return Number.isSafeInteger(t)&&t>0?t:void 0}function bi(e,t){let n=Ec(e);if(n===void 0)return t;if(n<hi)throw new b(`Context intent token budget must be at least ${hi}`,_.USAGE,{code:"invalid_argument_value",reason:"below_minimum",field:"tokenBudget",required:`Use an integer token budget of at least ${hi}.`,why:"Smaller ceilings cannot contain the minimum machine-readable intent receipt.",nextSteps:[`Retry with --token-budget ${hi} or omit the override.`]});return n}function Et(e,t){let n=t.estimated_tokens;for(;;){t.estimated_tokens=n;let r=Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4);if(r===n)return;n=r}}var Qp={context:["high_level","low_level","blocked_fallback","recently_created","unparented","hierarchy","activity","blockers"],get:["children"],list:["items"],next:["ready","decision_needed","blocked","held_by_others"],search:["items"]};function rm(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString("utf8"));return typeof t.fingerprint!="string"||!Number.isSafeInteger(t.after_index)?void 0:{fingerprint:t.fingerprint,after_index:t.after_index,...typeof t.snapshot=="string"?{snapshot:t.snapshot}:{}}}catch{return}}function tC(e){if(e===null||typeof e!="object")return;if(typeof e.id=="string")return e.id;let t=e.item?.id;return typeof t=="string"?t:void 0}function nC(e,t,n){let r=!1;for(;;){if(Et(e,t),t.estimated_tokens<=t.token_budget||n.length<=1)return r;let o=Buffer.byteLength(JSON.stringify(n),"utf8"),i=(t.estimated_tokens-t.token_budget)*4;n.splice(-Math.min(n.length-1,Math.max(1,Math.ceil(i/Math.max(1,Math.ceil(o/n.length)))))),r=!0}}function rC(e,t,n){let r=e.items,o=typeof e.next_cursor=="string",i=o?e.next_cursor:n.after;if(!Array.isArray(r)||typeof i!="string")return!1;let s=rm(i);if(s===void 0)return!1;let a=r.length,c=[...r],l=!1;for(;;){if(l=nC(e,t,r)||l,!l)return!1;let d=tC(r.at(-1));if(d===void 0)return r.splice(0,r.length,...c),Et(e,t),!1;if(e.next_cursor=cc(s.fingerprint,d,o?s.after_index-(a-r.length):s.after_index+r.length,s.snapshot),Et(e,t),t.estimated_tokens<=t.token_budget||r.length<=1)break}return typeof e.count=="number"&&(e.count=r.length),typeof e.applied_limit=="number"&&(e.applied_limit=r.length),!0}function oC(e,t,n,r){if(e==="list"||e==="search")return rC(t,n,r);if(e!=="next"||typeof t.next_cursor=="string")return!1;let o=!1;for(;;){if(Et(t,n),n.estimated_tokens<=n.token_budget)return o;let i=Qp[e].map(p=>({key:p,rows:Array.isArray(t[p])?t[p]:[]})).filter(({rows:p})=>p.length>0).sort((p,f)=>f.rows.length-p.rows.length||p.key.localeCompare(f.key))[0];if(i===void 0)return o;let s=Qp[e].reduce((p,f)=>p+(Array.isArray(t[f])?t[f].length:0),0);if(s<=1)return o;let a=Math.min(i.rows.length,s-1),c=Buffer.byteLength(JSON.stringify(i.rows),"utf8"),l=Math.max(1,Math.ceil(c/i.rows.length)),d=(n.estimated_tokens-n.token_budget)*4,u=Math.min(a,Math.max(1,Math.ceil(d/l)));i.rows.splice(-u,u),o=!0}}function iC(e,t,n){if(typeof t.for!="string")return n;let r=e.startsWith("list-")?"list":e;if(!(r in nm))return n;let o=r,i=tm(o,t.for),s={command:o,intent:i.intent,source:i.source,included_field_groups:[...i.included_field_groups],token_budget:bi(t.tokenBudget??t.token_budget,i.token_budget),estimated_tokens:0,within_budget:!0,degradation:eC[o],declaration_feasible:!0,result_omitted:!1},a={...n};if(o==="list"||o==="search"){let l=o==="list"?520:480,d=Math.max(2,Math.floor((s.token_budget-l)/16)),p=Ec(t.tokenBudget??t.token_budget)!==void 0?d:Math.min(100,d),f=t.limit!==void 0;s.budget_derived_limit=p,s.binding_constraint=f?"explicit_limit":"token_budget",s.limit_reason=f?"The caller supplied an explicit row limit; the budget-derived limit remains diagnostic.":"The selected intent token budget determines the row ceiling.",a.budget_derived_limit=p}let c={...a,context_intent:s};return Et(c,s),s.estimated_tokens>s.token_budget&&(s.degradation="recursive_budget_compaction",c={...wc(a),context_intent:s},Et(c,s)),s.estimated_tokens>s.token_budget&&oC(o,c,s,t)&&(s.degradation="budget_row_compaction",Et(c,s)),s.estimated_tokens>s.token_budget&&(s.degradation="budget_receipt_only",s.declaration_feasible=!1,s.result_omitted=!0,s.within_budget=!1,c={budget_exceeded:{omitted_result:!0,reason:"declared_budget_infeasible",restore_with:"Increase --token-budget or narrow the request; the unprojected command may be larger."},context_intent:s},Et(c,s)),c}function sC(e,t){if(typeof e.after!="string"||e.after.length===0)return t;let n=rm(e.after)?.fingerprint??"opaque_cursor",r={...t};for(let o of["applied_limit","completeness","context_intent","count","filters","has_more","now","omission_receipt","projection","row_contract","sorting","total","truncated"])delete r[o];return r.continuation_contract={fingerprint:n,metadata:"reference",restore_with:"omit --after"},r}function om(e,t,n){let r=Ip(e,n);return typeof r=="object"&&r!==null&&!Array.isArray(r)?Xp(e??"",t,sC(t,iC(e??"",t,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]="15daa637-4d30-5794-bdb5-87585d443cd3")}catch{}})();var im=[...ze],sm=[...Qn],am=[...co],aC=[...lo],cC=[...uo],cm=[...fo],Ir=["init","config","extension","package","packages","install","upgrade","create","item","copy","focus","list","list-all","list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled","aggregate","context","ctx","get","graph","search","duplicates","eval","next","history","events","history-redact","history-repair","history-compact","history-author-acknowledge","merge","schema","profile","activity","restore","update","update-many","close","close-many","delete","append","comments","notes","learnings","files","docs","deps","plan","test","test-all","telemetry","stats","health","validate","gc","workspace","contracts","claim","release","start-task","pause-task","close-task","meet","event","remind","help"],jU=["ancestors","descendants","predecessors","successors","paths","impact","analyze","audit","communities","redundancy","dominators","slack","centrality","articulation","plan","index"],lm=["init","install","uninstall","explore","manage","describe","reload","doctor","catalog","adopt","adopt-all","activate","deactivate"],Tc={help:"Commander help rendering has no SDK operation result.",item:"The item namespace only groups lifecycle subcommands already exposed as actions.",packages:"The plural package alias only renders package-oriented help."},rt=Object.freeze(Ir.flatMap(e=>e in Tc?[]:e==="extension"||e==="package"?[...lm.map(t=>`${e}-${t}`),e]:[e]));function lC(e=Ir,t=rt,n=Tc){let r=new Set(t),o=new Set(e);return{missing_cli_actions:e.filter(i=>!r.has(i)&&n[i]===void 0),waived_cli_actions:e.filter(i=>!r.has(i)&&n[i]!==void 0),stale_waivers:Object.keys(n).filter(i=>!o.has(i)||r.has(i))}}function dC(e){return rt.includes(e)}function uC(e){return im.includes(e)}function fC(e){return sm.includes(e)}function pC(e){return am.includes(e)}function mC(e){return cm.includes(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]="23b3a820-f205-506b-9507-dbd60087f62e")}catch{}})();var dm=["full","compact","brief","summary","counts"],gC=["mutation","read","discovery","governance"],_C=new Set(["append","claim","close","close-many","close-task","comments","config","copy","create","delete","docs","event","files","focus","history-author-acknowledge","history-compact","history-redact","history-repair","init","item","learnings","meet","notes","pause-task","release","remind","restore","schema","start-task","update","update-many"]),yC=new Set(["contracts","extension","help","install","package","packages","profile","upgrade"]),hC=new Set(["gc","health","merge","stats","telemetry","test","test-all","validate"]),bC={mutation:2e3,read:4e3,discovery:3e3,governance:6e3},wC=3,EC=2;function um(e){let[t=""]=e.trim().split(/\s+/u);return _C.has(t)?"mutation":yC.has(t)?"discovery":hC.has(t)?"governance":"read"}function vc(e,t=um(e)){let n=e.trim().replace(/\s+/gu," ");if(n.length===0)throw new TypeError("command must be a non-empty command path");let r=bC[t];return fm({command:n,budget_class:t,default_max_estimated_tokens:r,default_max_estimated_tokens_by_format:{toon:r,json:Math.ceil(r*wC/EC)},degradation_ladder:dm,allows_unbounded_opt_out:!0,token_estimate:"ceil(utf8_bytes / 4)"})}function fm(e){if(!Number.isSafeInteger(e.default_max_estimated_tokens)||e.default_max_estimated_tokens<=0)throw new RangeError("default_max_estimated_tokens must be a positive safe integer");for(let[t,n]of Object.entries(e.default_max_estimated_tokens_by_format))if(!Number.isSafeInteger(n)||n<=0)throw new RangeError(`default_max_estimated_tokens_by_format.${t} must be a positive safe integer`);return e}var pm=Ir.map(e=>vc(e)),TC=new Map(pm.map(e=>[e.command,e]));function vC(e,t={}){let n=e.trim().replace(/\s+/gu," "),[r]=n.split(" "),o=TC.get(r);return o?{...o,command:n}:t.generateFallback?vc(n):null}function Rr(e){return Math.ceil(Math.max(0,e)/4)}(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]="02baf966-46eb-5e19-b7eb-2f9fe05bb263")}catch{}})();var Ln=["result_rows","envelope","diagnostics","hints"],AC=/^(?:items|results|rows|ready|blocked|recommended|decision_needed|children|dependencies|events|matches|commands|tools)$/u,SC=/^(?:diagnostics|errors?|warnings?|findings|violations|failures?)$/u,kC=/^(?:hints?|suggestions?|next_steps?|recovery|remediation|examples?)$/u,xC=8;function Ac(e){return Buffer.byteLength(e,"utf8")}function mm(e){return Ac(JSON.stringify(e)??"null")}function CC(e,t){return SC.test(e)?"diagnostics":kC.test(e)?"hints":AC.test(e)||Array.isArray(t)?"result_rows":"envelope"}function OC(e){let t={result_rows:0,envelope:0,diagnostics:0,hints:0};if(typeof e!="object"||e===null||Array.isArray(e))return t[Array.isArray(e)?"result_rows":"envelope"]=mm(e),t;for(let[n,r]of Object.entries(e))t[CC(n,r)]+=mm({[n]:r});return Object.values(t).every(n=>n===0)&&(t.envelope=1),t}function IC(e,t){let n=Ln.reduce((s,a)=>s+t[a],0),r=Ln.map(s=>({section:s,value:e*t[s]/n})),o={result_rows:0,envelope:0,diagnostics:0,hints:0};for(let s of r)o[s.section]=Math.floor(s.value);let i=e-Ln.reduce((s,a)=>s+o[a],0);for(let s of[...r].sort((a,c)=>c.value-Math.floor(c.value)-(a.value-Math.floor(a.value))||Ln.indexOf(a.section)-Ln.indexOf(c.section))){if(i===0)break;o[s.section]+=1,i-=1}return o}function gm(e,t){return typeof e=="object"&&e!==null&&!Array.isArray(e)?{...e,token_accounting:t}:{result:e,token_accounting:t}}function _m(e,t){let n=Ac(t(e)),r=IC(n,OC(e)),o=Object.fromEntries(Ln.map(a=>[a,{bytes:r[a],estimated_tokens:Rr(r[a])}])),i={version:1,measurement_scope:"output_before_token_accounting",estimator:"ceil(utf8_bytes / 4)",total_bytes:n,total_estimated_tokens:Rr(n),sections:o,accounting_receipt_bytes:0,accounting_receipt_estimated_tokens:0,excluded_fields:["token_accounting"],section_allocation:"proportional_canonical_json"},s=gm(e,i);for(let a=0;a<xC;a+=1){let c=Ac(t(s))-n;if(c===i.accounting_receipt_bytes)return s;i={...i,accounting_receipt_bytes:c,accounting_receipt_estimated_tokens:Rr(c)},s=gm(e,i)}return 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]="b52d2756-f640-5f53-981f-05fa23fa1718")}catch{}})();var RC=new Set(Object.values(_)),kc="__pm_native_output",ym=!1;function pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function NC(e){return pe(e)&&e[kc]===!0}function DC(e){if(!pe(e)||e[kc]!==!0)return e;let{[kc]:t,...n}=e;return n}function xc(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function LC(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.SUCCESS)}function PC(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.GENERIC_FAILURE)}function Cc(e){if(e==="stdout"){LC();return}PC()}function hm(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function MC(){ym||(ym=!0,process.stdout.on("error",e=>{if(xc(e)){Cc("stdout");return}hm(e)}),process.stderr.on("error",e=>{if(xc(e)){Cc("stderr");return}hm(e)}))}function wm(e,t){MC();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(xc(n))return Cc(e),!1;throw n}}function ot(e){return wm("stdout",e)}function Nr(e){return wm("stderr",e)}function Sc(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function wi(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>wi(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(pe(e)){let t={};for(let[n,r]of Object.entries(e)){if(n==="omitted_field_groups"&&Array.isArray(r)&&r.length===0){t[n]=[];continue}let o=wi(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function Oc(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":e.map(r=>{if(!pe(r)&&!Array.isArray(r))return`${n}- ${Sc(r)}`;let i=Oc(r,t+1).split(`
|
|
14
|
+
`),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
|
|
15
|
+
${a.join(`
|
|
16
|
+
`)}`}).join(`
|
|
17
|
+
`);if(pe(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>!pe(i)&&!Array.isArray(i)?`${n}${o}: ${Sc(i)}`:Array.isArray(i)&&i.length===0?`${n}${o}: []`:pe(i)&&Object.keys(i).length===0?`${n}${o}: {}`:`${n}${o}:
|
|
18
|
+
${Oc(i,t+1)}`).join(`
|
|
19
|
+
`)}return`${n}${Sc(e)}`}function FC(e){if(!pe(e)||e.output_default!=="markdown"||typeof e.view!="string"||!Array.isArray(e.events)||!Array.isArray(e.days))return null;let t=[`# pm calendar (${e.view})`,""],n=pe(e.summary)?e.summary:{};if(t.push(`- events: ${String(n.events??0)}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),`${t.join(`
|
|
20
|
+
`)}
|
|
21
|
+
`;for(let r of e.events){if(!pe(r))continue;let o=typeof r.kind=="string"?r.kind:"event",i=typeof r.item_title=="string"?r.item_title:"",s=typeof r.item_id=="string"?r.item_id:"",a=typeof r.reminder_text=="string"&&r.reminder_text.length>0?` ${r.reminder_text}`:"";t.push(`- [${o}] ${s} ${i}${a}`.trim())}return`${t.join(`
|
|
22
|
+
`)}
|
|
23
|
+
`}function $C(e){return e.json===!0||e.json===void 0&&e.defaultOutputFormat==="json"?"json":"toon"}var jC=new Set(["filters","now","projection","sorting"]);function zC(e){let t=wi(e);if(!pe(t)||!Array.isArray(t.items))return t??null;let n=Object.fromEntries(Object.entries(t).filter(([r])=>!jC.has(r)));return n.has_more!==!0&&delete n.next_cursor,n}function UC(e,t){if(!pe(e)||!Array.isArray(e.run_results)||!e.run_results.every(pe))return e;let n=e.run_results,r=n.map(s=>s.execution_context).filter(s=>s!==void 0),o=r.length===n.length&&r.length>0&&r.every(s=>JSON.stringify(s)===JSON.stringify(r[0]))?r[0]:void 0,i=n.map(s=>{let{execution_context:a,stdout:c,stderr:l,...d}=s;return o===void 0?s:!t||s.status!=="passed"?{...d,stdout:c,stderr:l}:d});return{...e,...o===void 0?{}:{execution_context:o},run_results:i}}function bm(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
|
|
24
|
+
`;let n=wi(e);return n===void 0?`{}
|
|
25
|
+
`:`${Oc(n,0)}
|
|
26
|
+
`}function qC(e,t,n,r){let o=t?{handled:!1,result:e,warnings:[]}:Da("output_format",{command:n.command,args:n.commandArgs,command_options:n.commandOptions,global:{...n},pm_root:n.pmRoot,format:r,options:{...n},result:e}),i=o.warnings.find(s=>s.startsWith("extension_output_format_payload_echo_deprecated:"));return i!==void 0&&Nr(`Warning: ${i}. Returning context.payload now declines safely for compatibility; migrate the override to declineServiceOverride() or { handled: false }.
|
|
27
|
+
`),o.handled&&typeof o.result=="string"?{result:o.result,rendered:o.result.endsWith(`
|
|
28
|
+
`)?o.result:`${o.result}
|
|
29
|
+
`}:{result:o.handled?o.result:e,rendered:null}}function GC(e,t,n){let r=Mf(),o=n.command??r?.command,i={...r?.options,...n.commandOptions,...Object.fromEntries([["outputInclude",n.outputInclude],["outputLimit",n.outputLimit],["outputBudget",n.outputBudget],["outputFormat",n.outputFormat],["outputSession",n.outputSession]].filter(y=>y[1]!==void 0))},s=Jp(o??"",i)??$C(n),a={...n,command:o,commandOptions:i},c=qC(e,t,a,s);if(c.rendered!==null)return c.rendered;let l=c.result,d=o==="test"?UC(l,n.lean===!0):l,u=om(o,i,d),p=y=>{if(s==="toon"){let h=FC(y);if(h!==null)return h}let g=t?{rendered:null}:$f(s,y);return g.rendered!==null?g.rendered.endsWith(`
|
|
30
|
+
`)?g.rendered:`${g.rendered}
|
|
31
|
+
`:s==="json"?bm(n.lean===!0?zC(y):y,"json"):bm(y,"toon")},f=n.tokenAccounting===!0?_m(u,p):u;return p(f)}function VC(e,t){let n=Ff(e),r=Sp(n.result)?n.result:null,o=NC(n.result),i=r?r.result:DC(n.result);return Tn(i),r?"":GC(i,o,t)}function Em(e,t){pe(e)&&Number.isInteger(e.exit_code)&&RC.has(Number(e.exit_code))&&(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=Number(e.exit_code));let n=t.idOnly?fi(e,{idOnly:!0}):t.fullChangedFields?e:t.noChangedFields?fi(e,{changedFields:"compact"}):fi(e,{compactEnvelope:!0}),r=VC(n,t);t.quiet||ot(r)}function Ic(e){let t=Da("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Nr(n.endsWith(`
|
|
32
|
+
`)?n:`${n}
|
|
33
|
+
`)}import Om from"fast-json-patch";import Tt from"node:fs/promises";import it from"node:path";import{randomUUID as BC}from"node:crypto";import{createRequire as HC}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]="f1205949-16d8-51ce-98e8-04abc4c78ee8")}catch{}})();var WC="history-event-index.sqlite",Rc="2";function vi(e){return it.join(e,"runtime",WC)}function KC(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function YC(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?KC(t):null}var Ei;function Nc(){return Ei!==void 0||(Ei=YC(process.versions.node,HC(import.meta.url))),Ei}function XC(e){e.exec(`
|
|
34
|
+
PRAGMA journal_mode = OFF;
|
|
35
|
+
PRAGMA synchronous = OFF;
|
|
36
|
+
CREATE TABLE metadata (
|
|
37
|
+
key TEXT PRIMARY KEY,
|
|
38
|
+
value TEXT NOT NULL
|
|
39
|
+
) STRICT;
|
|
40
|
+
CREATE TABLE events (
|
|
41
|
+
stream_id TEXT NOT NULL,
|
|
42
|
+
stream_offset INTEGER NOT NULL,
|
|
43
|
+
ts TEXT NOT NULL,
|
|
44
|
+
author TEXT NOT NULL,
|
|
45
|
+
agent_harness TEXT,
|
|
46
|
+
agent_instance TEXT,
|
|
47
|
+
op TEXT NOT NULL,
|
|
48
|
+
entry_json TEXT NOT NULL,
|
|
49
|
+
PRIMARY KEY(stream_id, stream_offset)
|
|
50
|
+
) STRICT;
|
|
51
|
+
CREATE INDEX events_order
|
|
52
|
+
ON events(ts, stream_id, stream_offset);
|
|
53
|
+
CREATE INDEX events_op_order
|
|
54
|
+
ON events(op, ts, stream_id, stream_offset);
|
|
55
|
+
CREATE INDEX events_author_order
|
|
56
|
+
ON events(author, ts, stream_id, stream_offset);
|
|
57
|
+
CREATE INDEX events_harness_order
|
|
58
|
+
ON events(agent_harness, ts, stream_id, stream_offset);
|
|
59
|
+
CREATE INDEX events_instance_order
|
|
60
|
+
ON events(agent_instance, ts, stream_id, stream_offset);
|
|
61
|
+
`),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(Rc)}function Tm(e,t){e.prepare(`INSERT INTO events(
|
|
62
|
+
stream_id, stream_offset, ts, author, agent_harness,
|
|
63
|
+
agent_instance, op, entry_json
|
|
64
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,t.entry.ts,t.entry.author,t.entry.agent_harness??null,t.entry.agent_instance??null,t.entry.op,JSON.stringify(t.entry))}async function oq(e){let t=Nc();if(!t)return!1;let n=it.join(e,"history"),o=(await Tt.readdir(n,{withFileTypes:!0}).catch(c=>{if(typeof c=="object"&&c!==null&&"code"in c&&c.code==="ENOENT")return[];throw c})).filter(c=>c.isFile()&&c.name.endsWith(".jsonl")).sort((c,l)=>c.name.localeCompare(l.name)),i=vi(e);await Tt.mkdir(it.dirname(i),{recursive:!0});let s=`${i}.${BC()}.tmp`,a;try{a=new t(s),XC(a),a.exec("BEGIN IMMEDIATE");for(let c of o){let l=c.name.slice(0,-6),d=await Yt(it.join(n,c.name),l);for(let[u,p]of d.entries())Tm(a,{stream_id:l,stream_offset:u,entry:p})}return a.exec("COMMIT"),a.close(),a=void 0,await Tt.rm(i,{force:!0}),await Tt.rename(s,i),!0}catch(c){throw a?.close(),await Tt.rm(s,{force:!0}),c}}async function vm(e,t){let n=it.dirname(it.dirname(e)),r=vi(n);try{await Tt.access(r)}catch{return}let o=Nc();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Rc)throw new TypeError("Unsupported history event index version");let a=it.basename(e,".jsonl"),c=i.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(a);Tm(i,{stream_id:a,stream_offset:Number(c.value),entry:t}),i.close()}catch{i?.close(),await Tt.rm(r,{force:!0})}}async function Ai(e){await Tt.rm(vi(it.dirname(it.dirname(e))),{force:!0})}function Ti(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function JC(e,t,n,r){if(!n||n.length===0)return;let o=n.map(()=>"?").join(", "),i=r??[];if(i.length>0){e.push(`(agent_harness IN (${o}) OR (agent_harness IS NULL AND author IN (${i.map(()=>"?").join(", ")})))`),t.push(...n,...i);return}e.push(`agent_harness IN (${o})`),t.push(...n)}async function iq(e,t){let n=Nc();if(!n)return null;let r=[],o=[];t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0?(r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))"),o.push(t.after_ts,t.after_ts,t.after_stream_id,t.after_ts,t.after_stream_id,t.after_stream_offset)):t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(t.since_ts)),Ti(r,o,"op",t.ops),Ti(r,o,"author",t.authors),JC(r,o,t.harnesses,t.harness_alias_authors),Ti(r,o,"agent_instance",t.agent_instances);for(let a of t.provenance??[])r.push(`json_extract(entry_json, '$.agent_provenance.${a.dimension}.value') IN (${a.values.map(()=>"?").join(", ")})`),o.push(...a.values);Ti(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(vi(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Rc)return s.close(),null;let c=s.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
65
|
+
FROM events${i}
|
|
66
|
+
ORDER BY ts, stream_id, stream_offset
|
|
67
|
+
LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),l=c.length>t.limit,d=c.slice(0,t.limit).map(u=>({stream_id:String(u.stream_id),stream_offset:Number(u.stream_offset),entry:JSON.parse(String(u.entry_json))}));return s.close(),{events:d,has_more:l}}catch{return s?.close(),null}}import Dc from"node:fs/promises";import Pn 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]="4db09d54-90c6-548b-baa8-c7ce419f70a2")}catch{}})();var QC=Pn.join("runtime","history-drift-cache.json"),Am={EINVAL:"invalid_cache_path",EISDIR:"cache_path_is_directory",ENOENT:"invalid_cache_path",ENOTDIR:"invalid_cache_path",ERR_FS_EISDIR:"cache_path_is_directory"};function Sm(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function ZC(e){let t=Pn.join(e,QC),n=!1,r="invalid_cache_path";try{n=(await Dc.stat(await Dc.realpath(e))).isDirectory()}catch(o){let i=Sm(o);r=i===void 0?"unknown":Am[i]??"filesystem_error"}if(!n){Nr(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
68
|
+
`);return}try{await Dc.rm(t,{force:!0})}catch(o){let i=Sm(o);if(i==="ENOENT")return;let s=i===void 0?"unknown":Am[i]??"filesystem_error";Nr(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
69
|
+
`)}}async function Dr(e){let t=Pn.dirname(Pn.resolve(e));Pn.basename(t)==="history"&&await ZC(Pn.dirname(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]="5228a53a-603c-5c9f-870b-8ea8e0c5d27a")}catch{}})();var eO={front_matter:{},body:""};function tO(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function nO(e,t){let n=tO(t);if(n.length===0)return!0;let r=e;for(let o of n){if(Array.isArray(r)){if(o==="-"||!/^(0|[1-9]\d*)$/.test(o))return!1;let s=Number(o);if(!Number.isInteger(s)||s<0||s>=r.length)return!1;let a=r[s];if(a===void 0)return!1;r=a;continue}if(typeof r!="object"||r===null||!Object.prototype.hasOwnProperty.call(r,o))return!1;let i=r[o];if(i===void 0)return!1;r=i}return!0}function rO(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!nO(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Om.applyPatch(r,[i],!0,!0).newDocument}return n}function Lc(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let n=Ce(e);return{front_matter:x(n.metadata,Pe),body:n.body}}function km(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=Ce(e);return{metadata:x(n.metadata,Pe),body:n.body}}function Pc(e){return Ft(we(Lc(e)))}function oO(){return Ft(we(eO))}function Zt(e){let t=Lc(e.before),n=Lc(e.after),r=km(e.before),o=km(e.after),i=Om.compare(r,o),s=rO(r,i),a=Ap(e.author);return{ts:e.nowIso,author:e.author,author_source:e.authorSource??vp(e.author),...a.harness?{agent_harness:a.harness}:{},...a.model?{agent_model:a.model}:{},...a.model_source?{agent_model_source:a.model_source}:{},...a.instance?{agent_instance:a.instance}:{},...a.provenance?{agent_provenance:a.provenance}:{},...a.episode?{agent_episode:a.episode}:{},op:e.op,patch:s,before_hash:Ft(we(t)),after_hash:Ft(we(n)),message:e.message===void 0?void 0:e.message,...e.context===void 0?{}:{context:e.context}}}function xm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iO(e){let t=e.ts.trim();return t.length>0?t:X()}function Cm(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function Si(e,t){let n=iO(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(xm(r))return JSON.stringify(Cm(r,n))}catch{}return e}return xm(e)?JSON.stringify(Cm(e,n)):JSON.stringify(e)}async function en(e,t){let n=await xe("history_append",{history_path:e,entry:t});if(n.handled){if(n.result===!1)return;if(typeof n.result=="string"){await lt(e,Si(n.result,t)),await Dr(e),await Ai(e);return}if(typeof n.result=="object"&&n.result!==null){let r=n.result;if(r.skip===!0)return;let o=typeof r.history_path=="string"?r.history_path:e;if(typeof r.line=="string"){await lt(o,Si(r.line,t)),await Dr(o),await Ai(o);return}await lt(o,Si(r.entry??t,t)),await Dr(o),await Ai(o);return}}await lt(e,Si(t,t)),await Dr(e),await vm(e,t)}import Mc from"fast-json-patch";(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]="c8668470-7e57-5dee-8e41-298e7c697b77")}catch{}})();var sO={metadata:{},body:""};function Mn(){return structuredClone(sO)}function ki(e){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Pc(Lr(e))}catch{}return Ft(we({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function Lr(e){return{metadata:e.metadata,body:e.body}}function aO(e,t={}){return Ce(Lr(e),t)}function cO(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=Ce(e);return{metadata:x(t.metadata,Pe),body:t.body}}function Im(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function lO(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Fc(e){return Array.isArray(e)?e.filter(lO).map(t=>({...t,path:Im(t.path),from:typeof t.from=="string"?Im(t.from):void 0})):[]}function dO(e){return typeof e=="object"&&e!==null&&"metadata"in e&&"body"in e&&typeof e.body=="string"&&typeof e.metadata=="object"&&e.metadata!==null}function Fn(e,t){try{let n=Fc(t),r=Mc.applyPatch(structuredClone(e),n,!0,!1).newDocument;return dO(r)?{ok:!0,document:{metadata:r.metadata,body:r.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(n){return{ok:!1,error:n}}}function xi(e){let t=Mn();for(let n=0;n<e.length;n+=1){let r=e[n];if(ki(t)!==r.before_hash)return{ok:!1,errors:[`verify_failed:before_hash_mismatch:entry_${n+1}`]};let o=Fn(t,r.patch);if(!o.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${n+1}`]};if(t=o.document,ki(t)!==r.after_hash)return{ok:!1,errors:[`verify_failed:after_hash_mismatch:entry_${n+1}`]}}return{ok:!0,errors:[]}}function Rm(e,t){try{return{ok:!0,document:Mc.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function uO(e,t){let n=structuredClone(e),r=0,o=0;for(let a of Fc(t)){let c=Rm(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let l=Rm(n,{...a,op:"add"});if(l.ok){n=l.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function Oq(e){let t=Mn(),n=[],r=[],o=0,i=0,s=0,a=0;for(let c=0;c<e.length;c+=1){let l=e[c],d=ki(t),u=Fn(t,l.patch),p,f,y=!1,g=0,h=0;if(u.ok)p=u.document,f=l.patch;else{let z=uO(t,l.patch);p=z.document,f=Mc.compare(t,p),y=!0,g=z.convertedReplaceToAdd,h=z.skippedOps,s+=g,a+=h,i+=1}let E=ki(p),O=d!==l.before_hash||E!==l.after_hash;O&&(o+=1),n.push({...l,patch:f,before_hash:d,after_hash:E}),r.push({index:c+1,rehashed:O,patch_repaired:y,converted_replace_to_add:g,skipped_ops:h}),t=p}return{entries:n,finalDocument:t,entriesRehashed:o,entriesPatchRepaired:i,convertedReplaceToAdd:s,skippedOps:a,details:r}}function Iq(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
70
|
+
`)}
|
|
71
|
+
`}(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]="19ff592c-0746-54e8-a304-2006f4845da2")}catch{}})();function Nm(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function $c(e){if(e==="/body"||e.startsWith("/body/"))return"body";if(e==="/metadata"||e.startsWith("/metadata/")||e==="/front_matter"||e.startsWith("/front_matter/")){let n=e.replace(/^\/(?:metadata|front_matter)\/?/,"").split("/")[0];return n?Nm(n):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?Nm(t):"root"}function Ci(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function fO(e,t){let n=t?.windowStartIndex??0,r=t?.field;if(e.length===0||n>=e.length)return[];let o=Mn(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,l=Fn(o,a.patch),d;l.ok?(d=l.document,o=d):d=c;let u=new Set;for(let f of a.patch)u.add($c(f.path)),f.from!==void 0&&u.add($c(f.from));let p=[...u].sort((f,y)=>f.localeCompare(y));if(s>=n)if(r!==void 0){if(!u.has(r))continue;let f={field:r,before:Ci(c,r),after:Ci(d,r)};i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:[r],changes:[f]})}else{let f=p.map(y=>({field:y,before:Ci(c,y),after:Ci(d,y)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:p,changes:f})}}return i}import pO from"node:fs/promises";import mO 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]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function gO(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function _O(e,t){return new b(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,_.NOT_FOUND)}async function yO(e,t){return await so(mO.dirname(e)),await(await pO.open(e,"a")).close(),ae({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Oi(e){return Dm({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function Dm(e){let t=gO(e.itemIds),n=[],r=[];for(let o of t){let i=hn(e.pmRoot,o);if(!await Y(i)){if(e.settings.history.missing_stream==="strict_error")throw _O(o,e.commandLabel);r.push(...await yO(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import st from"node:fs/promises";import jc from"node:path";import{randomUUID as hO}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c638b65d-148a-5b42-8f24-d6fa9d5ac7d3")}catch{}})();function bO(e){let t;try{t=JSON.parse(e)}catch{return{info:null,warnings:["lock_info_invalid_json"]}}if(typeof t!="object"||t===null||Array.isArray(t))return{info:null,warnings:["lock_info_invalid_shape"]};let n=t,r=n.id,o=n.pid,i=n.owner,s=n.created_at,a=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||typeof s!="string"||typeof a!="number"||!Number.isFinite(a)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,created_at:s,ttl_seconds:a},warnings:[]}}async function Fm(e){try{let t=await st.readFile(e,"utf8");return await Me({path:e,scope:"project"}),bO(t)}catch(t){return Pr(t,"ENOENT")?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function Pr(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function $m(e,t){await ae({path:e,scope:"project",op:t})}function wO(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:X(),ttl_seconds:n}}async function EO(e,t,n,r){await st.mkdir(jc.dirname(e),{recursive:!0});let o=await st.open(e,"wx");try{await o.writeFile(`${JSON.stringify(wO(t,n,r),null,2)}
|
|
72
|
+
`,"utf8")}finally{await o.close()}await $m(e,"lock:create")}async function jm(e,t){try{return await st.unlink(e),await $m(e,t),!0}catch{return!1}}function zm(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}function TO(e){return e?.owner?` (owner ${e.owner})`:""}var vO=25,AO=200,SO=250,kO=3,xO=".stale-cleanup",Um="owner.json",CO=1e4,OO=5*6e4;function Lm(e){if(typeof e=="string"){let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isSafeInteger(n)?n:void 0}if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e)}function IO(e){let t=process.env.PM_LOCK_WAIT_MS,n=Lm(t);if(n!==void 0)return n;let r=Lm(e);return r!==void 0?r:0}function RO(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function qm(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new b(`Item ${e} is locked${TO(t)}${r}`,_.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:SO}})}function NO(e){if(typeof e=="function")return e;if(typeof e=="object"&&e!==null&&"release"in e){let t=e.release;return typeof t=="function"?t:null}return null}function DO(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new b(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,_.CONFLICT)}}function LO(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let n=t,r=n.pid,o=n.token;return typeof r!="number"||!Number.isInteger(r)||r<=0||typeof o!="string"||o.length===0?null:{pid:r,token:o}}async function Gm(e){try{return LO(await st.readFile(jc.join(e,Um),"utf8"))}catch{return null}}function PO(e){try{return process.kill(e,0),!0}catch(t){return!Pr(t,"ESRCH")}}async function zc(e){try{return await st.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function Pm(e,t){let n=await Gm(e);n===null||n.token!==t||await zc(e)}async function Mm(e){try{await st.mkdir(e)}catch(n){return Pr(n,"EEXIST"),null}let t={pid:process.pid,token:hO()};try{await st.writeFile(jc.join(e,Um),`${JSON.stringify(t)}
|
|
73
|
+
`,"utf8")}catch{return await zc(e),null}return t}async function MO(e){let t;try{let r=await st.stat(e);if(t=Date.now()-r.mtimeMs,t<=CO)return!1}catch(r){return Pr(r,"ENOENT")}let n=await Gm(e);return n!==null&&PO(n.pid)&&t<=OO?!1:zc(e)}async function FO(e,t){let n=`${e}${xO}`,r=await Mm(n);if(r!==null)return async()=>Pm(n,r.token);if(!await MO(n))return null;let o=await Mm(n);return o===null?null:async()=>Pm(n,o.token)}async function $O(e){let t=await FO(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await Fm(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!zm(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(DO(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=kO)throw qm(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await jm(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function Ie(e,t,n,r,o=!1,i=!0,s){let a=await xe("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let f=NO(a.result);if(f)return async()=>{await Promise.resolve(f()),await xe("lock_release",{pm_root:e,id:t,owner:r})}}let c=Tu(e,t),l=IO(s),d=Date.now(),u=0,p=vO;for(;;)try{return await EO(c,t,r,n),async()=>{await jm(c,"lock:release"),await xe("lock_release",{pm_root:e,id:t,owner:r})}}catch(f){if(!Pr(f,"EEXIST"))throw new b(`Failed to acquire lock for ${t}: ${$(f)}`,_.GENERIC_FAILURE);let y=await Fm(c);if(zm(y.info,n)){let h=await $O({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:u,waitBudgetMs:l,startedAtMs:d,fallbackLockInfo:y});if(y=h.lockInfo,h.staleRemovalCounted&&(u+=1),h.shouldRetryCreate)continue}let g=Date.now()-d;if(l===0||g>=l)throw qm(t,y.info,l===0?0:g);await RO(Math.min(p,l-g)),p=Math.min(p*2,AO)}}import jO from"node:fs/promises";import Vm from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="86b45d6b-2192-5d31-8f73-94d6e6b17dfc")}catch{}})();var Mr="_workspace";function Uc(e){return Vm.join(e,"history",`${Mr}.jsonl`)}function zO(e,t){return{metadata:{id:Mr,title:"Workspace state",description:"Audited singleton workspace document state.",type:"Chore",status:"open",priority:2,tags:["workspace-history"],created_at:t,updated_at:t,documents:e},body:""}}function Bm(e){let t=Mn();for(let n of e)t=Fn(t,n.patch).document;return Lr(t)}async function Hm(e){let t=Uc(e.pmRoot),n=await Yt(t,Mr),r=xi(n);if(!r.ok)throw new TypeError(`Workspace history verification failed: ${r.errors.join(", ")}`);let o=e.idempotencyKey===void 0?void 0:n.find(u=>u.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=new Date().toISOString(),s=n.length===0?Zn:Bm(n),a="documents"in s.metadata&&typeof s.metadata.documents=="object"&&s.metadata.documents!==null&&!Array.isArray(s.metadata.documents)?s.metadata.documents:{},c=a[e.documentPath];if(c!==void 0&&we(c)!==we(e.before))throw new b(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,_.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let l=zO({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),d=Zt({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:l,message:e.message});return await en(t,d),{entry:d,historyPath:t}}async function UO(e){let t=await Ie(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Hm(e)}finally{await t()}}async function qO(e){let t=await Ie(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Uc(e.pmRoot),r=await Yt(n,Mr),o=xi(r);if(!o.ok)throw new TypeError(`Workspace history verification failed: ${o.errors.join(", ")}`);let i=r.length===0?Zn:Bm(r),s=Zt({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await en(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Wm(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await P(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await Hm({pmRoot:e.pmRoot,documentPath:Vm.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await jO.rm(e.filePath,{force:!0}):await P(e.filePath,t),o}return!0}async function GO(e){let t=await Ie(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await W(e.filePath),r=await e.mutate(n);return{changed:await Wm({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function qc(e){let t=await Ie(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Wm(e,await W(e.filePath))}finally{await t()}}import{readFile as VO}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7426082f-94a6-5b4e-9748-d3faab2fe1d4")}catch{}})();var BO=e=>VO(e,"utf8");async function HO(e,t,n=BO){if(t!==void 0)throw new b("--body and --body-file are mutually exclusive; provide the body inline with --body or from a file with --body-file, not both.",_.USAGE,{code:"body_file_conflicts_with_body",required:"Choose exactly one body source.",why:"Both --body and --body-file set the item body; allowing both would make the effective body ambiguous.",nextSteps:["Re-run with only --body <text> or only --body-file <path>."]});let r=e.trim();if(r.length===0)throw new b("--body-file requires a file path.",_.USAGE,{code:"body_file_missing_path",required:"Pass a readable file path: --body-file <path>.",why:"An empty --body-file value has no file to read the body from."});try{return await n(r)}catch(o){let i=o?.code,s=i==="EISDIR",a=i?` (${i})`:"";throw new b(s?`--body-file "${r}" is a directory, not a file. Point it at a readable file.`:`--body-file could not read "${r}"${a}. Check that the file exists and is readable.`,_.NOT_FOUND,{code:"body_file_unreadable",required:"Point --body-file at an existing, readable file.",why:`The body content is loaded from the file at the supplied path, so an unreadable path cannot produce a body${i?` (underlying error: ${i})`:""}.`,nextSteps:[`Verify the path: ls -l "${r}"`,"Or pass the body inline with --body <text>."]})}}import WO from"node:crypto";import Km 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]="50a277b9-d530-5aa0-8bd0-8eb0d36911e5")}catch{}})();function Xm(e){let t=(e??"").trim().toLowerCase();return t?t.endsWith("-")?t:`${t}-`:"pm-"}function Ii(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function tn(e,t){let n=Xm(t),r=Ii(e);return r.startsWith(n)?r:`${n}${r}`}function KO(e){let t=Zd(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=WO.randomInt(0,36).toString(36);return n}async function YO(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Km.join(e,o,`${t}.md`),Km.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>Y(o)))).some(Boolean)}var Ym=4,Jm=12;function XO(e){return typeof e!="number"||!Number.isFinite(e)?Ym:Math.min(Jm,Math.max(Ym,Math.trunc(e)))}async function JO(e,t,n={}){let r=XO(n.tokenLength),o=Math.min(r+6,Jm),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${Xm(t)}${KO(r)}`;if(n.probeExisting===!1||!await YO(e,a,n.typeToFolder??ie))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}(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]="4a376062-2e23-5991-80a5-27183909caf3")}catch{}})();var QO=new Set(["none","null","undefined"]);function TG(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new b("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",_.USAGE)}function ZO(e){if(typeof e!="string")throw new b("--parent must be a string. Use --unset parent to clear this field.",_.USAGE);let t=e.trim();if(t.length===0)throw new b("--parent must not be empty. Use --parent none to unset.",_.USAGE);if(Qm(t))throw new b(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,_.USAGE);return t}function Qm(e){return QO.has(e.trim().toLowerCase())}function eI(e,t){if(t==="strict_error")throw new b(`Parent item "${e}" was not found. Create it first or use --parent none.`,_.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function tI(e,t,n){let r=tn(e,n),o=tn(t,n);if(r!==o)return;let i=t!==o||e!==r?` (normalized from parent "${t}" and item "${e}")`:"";throw new b(`Parent item "${o}" cannot be the same as item "${r}"${i}. Use --unset parent to clear this field.`,_.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]="d5003dd5-f208-5734-9711-dff935d8c851")}catch{}})();var $n="-",Zm=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 eg(e){let t=e.trim();if(t==="")return[];let r=(sI(t)??t.split(",")).map(o=>o.trim()).filter(Boolean).map(o=>o.toLowerCase());return Array.from(new Set(r)).sort((o,i)=>o.localeCompare(i))}function tg(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let n of e)if(typeof n=="string")for(let r of eg(n))t.push(r);return Array.from(new Set(t)).sort((n,r)=>n.localeCompare(r))}function ng(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function nI(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function rI(e,t,n){let r=e.map(s=>s.trim()).filter(Boolean);for(let s of t??[]){let a=s.trim();if(a.includes(";"))throw new b('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',_.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&&!r.includes(a)&&r.push(a)}let o=[],i=r;for(let s of n??[]){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 oI(e,t){let n=ng(e);if(!t||t.length===0)return Array.from(new Set(n)).sort((o,i)=>o.localeCompare(i));let r=new Set(n);for(let o of tg(t))r.add(o);return Array.from(r).sort((o,i)=>o.localeCompare(i))}function iI(e,t){let n=Array.from(new Set(ng(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return n;let r=new Set(tg(t));return r.size===0?n:n.filter(o=>!r.has(o))}function sI(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 Gc(e){return e.replace(/\r\n/g,`
|
|
74
|
+
`)}function rg(e){let t=Gc(e).trim();if(!t.startsWith("```"))return e;let n=t.split(`
|
|
75
|
+
`);return n.length<2||n.at(-1)?.trim()!=="```"?e:n.slice(1,-1).join(`
|
|
76
|
+
`)}function aI(e){let t=[],n="",r=!1,o=!1;for(let i of e){if(o){n+=i,o=!1;continue}if(i==="\\"){n+=i,o=!0;continue}if(i==='"'){r=!r,n+=i;continue}if(i===","&&!r){t.push(n.trim()),n="";continue}n+=i}return n.trim()&&t.push(n.trim()),t}function og(e){let t=e.trim();if(t.startsWith('"')&&t.endsWith('"')){try{let n=JSON.parse(t);if(typeof n=="string")return n}catch{}return t.slice(1,-1).replace(/\\"/g,'"')}return e}function cI(e){let t=e.indexOf("="),n=e.indexOf(":"),r=t>0,o=n>0;return r&&o?Math.min(t,n):r?t:o?n:-1}function lI(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 n=e.toLowerCase(),r=n.includes("recur_")||n.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=n.includes("recur_byweekday")?" Use recur_by_weekday (with underscores) for weekday recurrence filters.":"";return`${r}${o}`}function dI(e,t){let n=e.replaceAll(/\s+/g," ").trim(),r=n.length>160?`${n.slice(0,157)}...`:n,o=lI(e,t);return`Invalid ${t} value "${r}". Expected key=value entries separated by commas. `+o+`Also accepts markdown-style key/value lines (for example "- path: README.md"). Use ${t} ${$n} to read piped stdin input.`}function uI(e){let t=rg(e).trim();if(t.length===0||!t.includes(`
|
|
77
|
+
`)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let n={},r,o=Gc(t).split(`
|
|
78
|
+
`).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();n[a]=og(s[3].trim()),r=a;continue}if(r&&Zm.has(r.toLowerCase())){n[r]=`${n[r]}
|
|
79
|
+
${i}`;continue}return null}return n}function fI(e,t){let n=rg(e).trim();if(!n)throw new b(`${t} cannot be empty`,_.USAGE);let r=uI(n);if(r)return r;let o={},i,s=aI(n);for(let a of s){let c=cI(a);if(c>0){let l=a.slice(0,c).trim(),d=og(a.slice(c+1).trim());o[l]=d,i=l;continue}if(i&&Zm.has(i.toLowerCase())){o[i]=`${o[i]},${a.trim()}`;continue}throw new b(dI(e,t),_.USAGE)}return o}var pI=/^[A-Za-z]:[\\/]/,mI=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function gI(e){let t=e.trim();return pI.test(t)?!1:mI.test(t)}function _I(e,t,n){let r=new Set(n.map(i=>i.toLowerCase())),o=Object.keys(e).filter(i=>!r.has(i.toLowerCase()));if(o.length>0)throw new b(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${n.join(", ")}.`,_.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new b(`${t} provides key "${i}" more than once after case normalization.`,_.USAGE);e[s]=e[i],delete e[i]}}}async function yI(e){if(process.stdin.isTTY===!0)throw new b(`${e} value "${$n}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,_.USAGE);return process.stdin.setEncoding("utf8"),await new Promise((t,n)=>{let r="";process.stdin.on("data",o=>{r+=o}),process.stdin.on("end",()=>{t(Gc(r))}),process.stdin.on("error",o=>{n(o)})})}function hI(){let e,t,n=async i=>{if(t&&t!==i)throw new b(`Only one option may use "${$n}" stdin token per command invocation. Already used by ${t}.`,_.USAGE);return t=i,e||(e=yI(i)),await e};return{resolveValue:async(i,s)=>{if(i!==void 0)return i.trim()!==$n?i:await n(s)},resolveList:async(i,s)=>{if(!i)return;let a=i.map((d,u)=>d.trim()===$n?u:-1).filter(d=>d>=0);if(a.length===0)return i;if(a.length>1)throw new b(`${s} accepts "${$n}" stdin token at most once per command invocation`,_.USAGE);let c=await n(s),l=[...i];return l[a[0]]=c,l}}}function bI(e,t){let n=Number(e);if(!Number.isFinite(n))throw new b(`Invalid ${t} value "${e}"`,_.USAGE);return n}function wI(e,t){let n=e.trim(),r=Number(n);if(n===""||!Number.isInteger(r)||r<0)throw new b(`Invalid ${t} value "${e}". Expected a non-negative integer.`,_.USAGE);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]="806bf35f-dc7e-55a8-9bb9-64be87111c22")}catch{}})();var Vc={critical:0,high:1,medium:2,low:3,minimal:4},EI=Object.keys(Vc),TI=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${EI.join(", ")}), case-insensitive`;function Ri(e){return new b(`Invalid priority "${e}". Accepted values: ${TI}.`,_.USAGE)}function vI(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Ri(String(e))}if(typeof e!="string")throw Ri(String(e));let t=e.trim();if(t.length===0)throw Ri(e);let n=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(Vc,n))return Vc[n];if(/^[0-4]$/.test(t))return Number(t);throw Ri(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]="bf76a01e-7292-59df-94ca-1e41aaff7365")}catch{}})();var AI=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,SI=64;function NG(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new b("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",_.USAGE)}function kI(e,t,n){let r=t.trim();if(r.length===0)throw new b(`--${e} must not be empty. Use --${e} none to unset.`,_.USAGE);if(r.length<=SI&&AI.test(r))return{value:r,warnings:[]};let i="Expected 1-64 characters matching [A-Za-z0-9][A-Za-z0-9._/-]* (no spaces).";if(n==="strict_error")throw new b(`Invalid --${e} value "${r}". ${i}`,_.USAGE);return{value:r,warnings:[`validation_warning:${e}_format:${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]="d0e997bc-8bdb-5602-8606-73ecf77b2a35")}catch{}})();var ig={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},sg="all";function $G(e){if(typeof e!="string")return!1;let t=e.split(",").map(n=>n.trim().toLowerCase()).filter(n=>n.length>0);return t.length===1&&t[0]===sg}function xI(e,t){let n=e.trim().toLowerCase();if(n.length===0)return;let r=ig[n];return r?t[r]:Ht(e,t)}function CI(e){let t=new Set(Object.keys(ig));for(let n of e.definitions){t.add(n.id);for(let r of n.aliases)t.add(r)}return[...t]}function OI(e,t){let n=e.trim().toLowerCase(),r,o=Number.POSITIVE_INFINITY;for(let i of CI(t)){let s=et(n,i.toLowerCase(),2);s!==null&&s<o&&(r=i,o=s)}return r}function II(e,t,n){if(typeof e!="string")return;let r=n?.strict===!0,o=n?.flagLabel??"--status",i=e.split(",").map(c=>c.trim()).filter(c=>c.length>0);if(i.length===0)return;if(i.filter(c=>c.trim().toLowerCase()===sg).length>0){if(i.length===1)return;throw new b(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,_.USAGE)}let a=[];for(let c of i){let l=xI(c,t);if(l===void 0){if(r){let d=OI(c,t);throw new b(`Invalid ${o} value "${c}". Use open|closed|canceled or a configured status id${d?`. Did you mean "${d}"?`:"."}`,_.USAGE)}a.push(c);continue}a.push(l)}return[...new Set(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]="b7a167e0-3041-5056-a672-ea0a054ed8df")}catch{}})();var RI={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 NI(e){if(e!==void 0)return RI[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]="6d11dc0f-e313-5b39-965d-6bc84ad52966")}catch{}})();function cg(e){let t=[],n=new Set;for(let r of e)for(let o of Object.keys(r))n.has(o)||(n.add(o),t.push(o));return t}function Bc(e){return e==null?"":Array.isArray(e)?e.map(t=>Bc(t)).join(";"):typeof e=="object"?JSON.stringify(e):String(e)}function ag(e){return/[",\r\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function DI(e){if(e.length===0)return"";let t=cg(e),n=[t.map(r=>ag(r)).join(",")];for(let r of e)n.push(t.map(o=>ag(Bc(r[o]))).join(","));return n.join(`
|
|
80
|
+
`)}function LI(e){if(e.length===0)return"";let t=cg(e),n=e.map(s=>t.map(a=>Bc(s[a]))),r=t.map((s,a)=>Math.max(s.length,...n.map(c=>c[a].length))),o=(s,a)=>s.padEnd(r[a]),i=[t.map((s,a)=>o(s,a)).join(" | ")];i.push(r.map(s=>"-".repeat(s)).join("-+-"));for(let s of n)i.push(s.map((a,c)=>o(a,c)).join(" | "));return i.join(`
|
|
81
|
+
`)}(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]="b9581c92-5e8a-589d-9681-d4d014e6902b")}catch{}})();function PI(e,t="--limit"){if(e===void 0)return;let n=Number(e);if(!Number.isFinite(n)||n<0)throw new b(`${t} must be a non-negative number`,_.USAGE);return Math.floor(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]="989b570c-112e-5ee3-8731-ab34f215ba45")}catch{}})();var MI=new Map(mn.map(e=>[e.toLowerCase(),e])),FI=/^[A-Za-z][A-Za-z0-9_-]*$/;function lg(e,t){if(!FI.test(e))throw new Error(`${t} "${e}" is not a valid identifier. Use a single letter-led token of letters, digits, hyphen, or underscore with no spaces or punctuation (e.g. "Spike" or "code-review").`)}function Hc(e){return MI.get(e.trim().toLowerCase())}function fg(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function $I(e){return e.replace(/[\\"`$]/g,t=>`\\${t}`)}function pg(e){let t=new Map;for(let n of e){let r=n.trim();if(r.length===0)continue;let o=r.toLowerCase();t.has(o)||t.set(o,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function WG(e){let t=(e.name??"").trim();if(t.length===0)throw new Error("Type name must not be empty.");lg(t,"Type name");let n=Hc(t);if(n)throw new Error(`Cannot redefine built-in item type "${n}". Built-in types are reserved: ${mn.join(", ")}.`);let r=e.description?.trim(),o=e.defaultStatus?.trim(),i=e.folder?.trim(),s=i&&i.length>0?Co(i):void 0,a=pg(e.aliases??[]);for(let c of a){lg(c,"Alias");let l=Hc(c);if(l)throw new Error(`Alias "${c}" collides with built-in item type "${l}". Built-in types are reserved: ${mn.join(", ")}.`)}return{name:t,description:r&&r.length>0?r:void 0,defaultStatus:o&&o.length>0?o:void 0,folder:s,aliases:a}}function KG(e,t){let n=e.name.toLowerCase(),r=new Map;for(let i of t.definitions){if(typeof i.name!="string")continue;let s=i.name.trim();if(!(s.length===0||s.toLowerCase()===n)){r.set(s.toLowerCase(),s);for(let a of fg(i.aliases))a.trim().length>0&&r.set(a.trim().toLowerCase(),s)}}let o=r.get(n);if(o)throw new Error(`Type name "${e.name}" collides with an alias of existing item type "${o}".`);for(let i of e.aliases){let s=r.get(i.toLowerCase());if(s)throw new Error(`Alias "${i}" already maps to existing item type "${s}".`)}}function dg(e,t){return typeof t=="string"&&t.trim().length>0?Co(t).toLowerCase():rr(e).toLowerCase()}function YG(e,t,n){let r=e.name.toLowerCase(),o=dg(e.name,e.folder),i=a=>{throw new Error(`Item type "${e.name}" would store items in folder "${o}", which already belongs to existing item type "${a}". Pass a distinct --folder to keep their storage separate.`)};for(let a of t.definitions){if(typeof a.name!="string")continue;let c=a.name.trim();c.length===0||c.toLowerCase()===r||dg(c,a.folder)===o&&i(c)}let s=n?.get(o);s!==void 0&&s.toLowerCase()!==r&&i(s)}function XG(e){if(e==null||e.trim().length===0)return{definitions:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/types.json contains invalid JSON.")}return{definitions:jI(t)}}function jI(e){let t=zI(e);if(!t)return[];let n=[];for(let r of t){if(typeof r!="object"||r===null||Array.isArray(r))continue;let o=r;typeof o.name!="string"||o.name.trim().length===0||n.push(o)}return n}function zI(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 n=t.item_types;if(Array.isArray(n.definitions))return n.definitions}}function JG(e,t){let n=t.name.toLowerCase(),r=e.definitions.slice(),o=r.findIndex(c=>typeof c.name=="string"&&c.name.trim().toLowerCase()===n),i=o>=0?r[o]:void 0,s=pg([...fg(i?.aliases),...t.aliases]),a={...i,name:t.name};return t.folder!==void 0&&(a.folder=t.folder),s.length>0?a.aliases=s:a.aliases!==void 0&&delete a.aliases,ug(a,"description",t.description),ug(a,"default_status",t.defaultStatus),o>=0?r[o]=a:r.push(a),r.sort((c,l)=>c.name.localeCompare(l.name)),{file:{definitions:r},definition:a,replaced:o>=0,...i&&typeof i.name=="string"?{previousName:i.name}:{}}}function QG(e,t){let n=(t??"").trim();if(n.length===0)throw new Error("Type name must not be empty.");let r=Hc(n);if(r)throw new Error(`Cannot remove built-in item type "${r}". Built-in types are reserved: ${mn.join(", ")}.`);let o=n.toLowerCase(),i=e.definitions.slice(),s=i.findIndex(c=>typeof c.name=="string"&&c.name.trim().toLowerCase()===o);if(s<0)return{file:{definitions:i},removed:!1};let[a]=i.splice(s,1);return{file:{definitions:i},removed:!0,definition:a}}function ug(e,t,n){let r=e;n!==void 0&&(r[t]=n)}function ZG(e){return`${JSON.stringify({definitions:e.definitions},null,2)}
|
|
82
|
+
`}function UI(e,t){let n=e.trim().length>0?e.trim():e,r=t?.trim()||".agents/pm/schema/types.json";return`To register a custom type, run: pm schema add-type "${$I(n)}" (writes ${r}).`}function qI(e,t,n){return`Invalid type value "${e}". Allowed: ${t.join(", ")}. ${UI(e,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]="43a56374-808c-5fa6-bd6c-5d93175df0d2")}catch{}})();function mg(e,t){return ne(e,t)}function GI(e,t,n){let r={};for(let o of t.command_to_fields.get(n)??[]){let i=ni(e,o);i!==void 0&&(r[o.metadata_key]=Bt(o,i))}return r}function VI(e,t){for(let[n,r]of Object.entries(t)){let o=e[n];if(Array.isArray(r)){if(Array.isArray(o)){let i=o.map(a=>String(a));if(!r.map(a=>String(a)).every(a=>i.includes(a)))return!1;continue}if(!mg(o,r[r.length-1]))return!1;continue}if(!mg(o,r))return!1}return!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]="8370105a-2103-5425-8dd8-b621107f3bd8")}catch{}})();function Wc(e){return typeof e=="string"?e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_"):""}function gg(e){return typeof e=="string"?e.trim().toLowerCase():""}function Ni(e,t){let n=Wc(e);return n.length===0?"":t?.alias_to_id?.get(n)??n}function BI(e){let t=Array.isArray(e?.type_workflows)?e.type_workflows:[],n=new Map;for(let r of t){let o=gg(r?.type);if(o.length===0||!Array.isArray(r?.allowed_transitions))continue;let i=r.allowed_transitions,s=n.get(o)??{pairs:[],denyAll:!1};i.length===0&&(s.denyAll=!0);for(let a of i){if(!Array.isArray(a)||a.length!==2)continue;let c=Wc(a[0]),l=Wc(a[1]);c.length===0||l.length===0||s.pairs.some(d=>d[0]===c&&d[1]===l)||s.pairs.push([c,l])}n.set(o,s)}return[...n.entries()].filter(([,r])=>r.pairs.length>0||r.denyAll).map(([r,o])=>({type:r,allowed_transitions:o.pairs})).sort((r,o)=>r.type.localeCompare(o.type))}function HI(e){let t=gg(e.typeName),n=e.typeWorkflows.find(s=>s.type===t);if(!n)return{allowed:!0,hasRule:!1,allowedTransitions:[]};let r=Ni(e.fromStatus,e.statusRegistry),o=Ni(e.toStatus,e.statusRegistry);return r.length>0&&r===o?{allowed:!0,hasRule:!0,allowedTransitions:n.allowed_transitions}:{allowed:n.allowed_transitions.some(s=>{let a=Ni(s[0],e.statusRegistry),c=Ni(s[1],e.statusRegistry);return a===r&&c===o}),hasRule:!0,allowedTransitions:n.allowed_transitions}}function WI(e){return e.length===0?"(no transitions allowed)":e.map(t=>`${t[0]} -> ${t[1]}`).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]="027f6acb-15cc-5707-85ed-b5298b6b6abe")}catch{}})();var Z={ok:!1},w=e=>typeof e=="string"?{ok:!0,value:e}:Z,N=e=>typeof e=="boolean"?{ok:!0,value:e}:Z;function G(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?Z:{ok:!0,value:t}}function F(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:Z}function v(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return Z;let r=[];for(let o of n){let i=e(o);if(!i.ok)return Z;r.push(i.value)}return{ok:!0,value:r}}}function Yc(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:Z}function m(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function Di(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Z;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return Z;n[r]=i.value}return{ok:!0,value:n}}}function C(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Z;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return Z;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var KI=C({key:w,values:v(w),required:m(N),aliases:m(v(w)),description:m(w)}),YI=C({command:F("create","update"),option:w,required:m(N),visible:m(N),enabled:m(N)}),XI=C({name:w,description:m(w),default_status:m(w),folder:m(w),aliases:m(v(w)),required_create_fields:m(v(w)),required_create_repeatables:m(v(w)),options:m(v(KI)),command_option_policies:m(v(YI))}),JI=C({id:w,aliases:m(v(w)),roles:m(v(F(...wo))),description:m(w),order:m(G())}),QI=C({key:w,metadata_key:m(w),front_matter_key:m(w),cli_flag:m(w),cli_aliases:m(v(w)),description:m(w),type:m(F(..._n)),commands:m(v(F(...Eo))),repeatable:m(N),required:m(N),required_on_create:m(N),required_types:m(v(w)),allow_unset:m(N)}),ZI=e=>{if(!Array.isArray(e)||e.length!==2)return Z;let[t,n]=e;return typeof t!="string"||typeof n!="string"?Z:{ok:!0,value:[t,n]}},eR=C({type:w,allowed_transitions:v(ZI)}),tR=m(C({version:m(G({int:!0})),files:m(C({types:m(w),statuses:m(w),fields:m(w),workflows:m(w)})),statuses:m(v(JI)),fields:m(v(QI)),workflow:m(C({draft_status:m(w),open_status:m(w),in_progress_status:m(w),blocked_status:m(w),close_status:m(w),canceled_status:m(w)})),type_workflows:m(v(eR)),unknown_field_policy:m(F(...To))})),nR=m(C({preset:m(F(...au)),ownership_enforcement:m(F("none","warn","strict")),create_mode_default:m(F("progressive","strict")),close_validation_default:m(F("off","warn","strict")),require_close_reason:m(N),parent_reference:m(F("warn","strict_error")),metadata_profile:m(F("core","strict","custom")),force_required_for_stale_lock:m(N),create_default_type:m(w),workflow_enforcement:m(F("off","warn","strict")),duplicate_detection_mode:m(F("off","advisory","strict")),duplicate_detection_threshold:m(G({min:0,max:1})),duplicate_detection_limit:m(G({int:!0,min:0,max:20}))})),rR=C({name:w,disabled:m(N),require_trusted:m(N),require_provenance:m(N),sandbox_profile:m(F("none","restricted","strict")),allowed_capabilities:m(v(w)),blocked_capabilities:m(v(w)),allowed_surfaces:m(v(w)),blocked_surfaces:m(v(w)),allowed_commands:m(v(w)),blocked_commands:m(v(w)),allowed_actions:m(v(w)),blocked_actions:m(v(w)),allowed_services:m(v(w)),blocked_services:m(v(w))}),Kc=F("block","warn"),oR=e=>typeof e=="string"?Kc(e):C({global:m(Kc),project:m(Kc)})(e),iR=m(C({mode:m(F("off","warn","enforce")),trust_mode:m(F("off","warn","enforce")),pm_max_version_exceeded_mode:m(oR),require_provenance:m(N),trusted_extensions:m(v(w)),default_sandbox_profile:m(F("none","restricted","strict")),allowed_extensions:m(v(w)),blocked_extensions:m(v(w)),allowed_capabilities:m(v(w)),blocked_capabilities:m(v(w)),allowed_surfaces:m(v(w)),blocked_surfaces:m(v(w)),allowed_commands:m(v(w)),blocked_commands:m(v(w)),allowed_actions:m(v(w)),blocked_actions:m(v(w)),allowed_services:m(v(w)),blocked_services:m(v(w)),extension_overrides:m(v(rR))})),nn=Yc(128),sR=C({harness:Yc(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:m(v(nn,64)),model_environment_keys:m(v(nn,64)),session_environment_keys:m(v(nn,64)),provenance_environment_keys:m(Di(v(nn,64))),provenance_resolvers:m(Di(F("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:m(v(nn,64)),argv_markers:m(v(nn,64)),client_names:m(v(nn,64))}),aR=C({version:G({int:!0}),id_prefix:w,ids:m(C({token_length:m(G({int:!0,min:4,max:12}))})),author_default:w,agent_identity:m(C({probes_enabled:m(N),identity_vocabulary:m(C({version:G({int:!0,positive:!0}),aliases:Di(Yc(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:v(sR)})),mutation_guard:m(C({require_attributed_author:m(N),secret_guard:m(F("off","advise","block")),stale_in_progress_hours:m(G({int:!0,positive:!0}))})),item_format:m(F("toon","json_markdown")),locks:C({ttl_seconds:G({int:!0}),wait_ms:m(G({int:!0,min:0}))}),checkpoints:m(C({retention_days:m(G({int:!0,positive:!0}))})),output:C({default_format:F("toon","json")}),history:m(C({missing_stream:F("auto_create","strict_error"),compact_policy:m(C({enabled:m(N),max_entries:m(G({int:!0,positive:!0})),trigger:m(F("health_warn","auto"))}))})),validation:m(C({sprint_release_format:F("warn","strict_error"),parent_reference:m(F("warn","strict_error")),metadata_profile:m(F("core","strict","custom")),metadata_required_fields:m(v(w)),lifecycle_stale_blocker_reason_patterns:m(v(w)),lifecycle_closure_like_blocked_reason_patterns:m(v(w)),lifecycle_closure_like_resolution_patterns:m(v(w)),lifecycle_closure_like_actual_result_patterns:m(v(w)),estimate_defaults_by_type:m(Di(G({int:!0,positive:!0})))})),governance:nR,workflow:m(C({definition_of_done:v(w)})),testing:m(C({record_results_to_items:N})),telemetry:m(C({enabled:N,first_run_prompt_completed:m(N),capture_level:m(F("minimal","redacted","max")),endpoint:m(w),installation_id:m(w),retention_days:m(G({int:!0,positive:!0}))})),agent_guidance:m(C({prompt_completed:m(N),declined:m(N),declined_at:m(w),template_version:m(G({int:!0,positive:!0})),last_checked_files:m(v(w))})),item_types:m(C({definitions:v(XI)})),schema:tR,context:m(C({default_depth:m(F("brief","standard","deep")),activity_limit:m(G({int:!0,positive:!0})),stale_threshold_days:m(G({int:!0,positive:!0})),sections:m(C({hierarchy:m(N),activity:m(N),progress:m(N),recently_created:m(N),unparented:m(N),blockers:m(N),files:m(N),workload:m(N),staleness:m(N),tests:m(N)}))})),extensions:C({enabled:v(w),disabled:v(w),policy:iR}),search:C({score_threshold:G(),hybrid_semantic_weight:m(G()),max_results:G({int:!0}),embedding_model:w,embedding_corpus_max_characters:m(G()),embedding_batch_size:G({int:!0}),embedding_timeout_ms:m(G({int:!0})),scanner_max_batch_retries:G({int:!0}),provider:m(w),corpus_fields:m(v(w)),mutation_refresh_policy:m(F("cache_only","semantic_configured","semantic_auto")),query_expansion:m(C({enabled:m(N),provider:m(w)})),rerank:m(C({enabled:m(N),model:m(w),top_k:m(G({int:!0,positive:!0}))})),bm25:m(C({k1:m(G()),b:m(G())}))}),providers:C({openai:C({base_url:w,api_key:w,model:w}),ollama:C({base_url:w,model:w})}),vector_store:C({adapter:m(w),collection_name:m(w),qdrant:C({url:w,api_key:w}),lancedb:C({path:w})})});function _g(e){let t=aR(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2d377bc4-c624-561c-9856-405c82099070")}catch{}})();var cR={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},yg=120;function Xc(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function bg(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var lR=bg(cR),hg=new WeakMap;function dR(e){let t=hg.get(e);if(t)return t;let n=bg(e);return hg.set(e,n),n}function aV(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return yg;if(t){let o=dR(t).get(n);if(Xc(o))return Math.floor(o)}let r=lR.get(n);return Xc(r)?Math.floor(r):yg}function Jc(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!Xc(r)||(t[o]=Math.floor(r))}return t}import{stat as uR}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60da76ea-0bd3-56a9-a2bc-d88ba76e1013")}catch{}})();var Li=new Map;function wg(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function fR(e){try{let t=await uR(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function vt(e){let t=wg(e),n=await Promise.all(t.map(r=>fR(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Fr(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],o=t[n];if(r.path!==o.path||r.mtime_ms!==o.mtime_ms||r.size!==o.size)return!1}return!0}function Eg(e){return Li.get(e)}function Pi(e,t){let n=wg(t.tracked_paths),r=[...t.signatures].map(o=>({path:o.path,mtime_ms:o.mtime_ms,size:o.size})).sort((o,i)=>o.path.localeCompare(i.path));Li.set(e,{tracked_paths:n,signatures:r,value:t.value})}function At(e){if(e){Li.delete(e);return}Li.clear()}(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]="a434b9ea-4692-51c5-8761-0f1759fff394")}catch{}})();var pR="settings:write",kg=Symbol("pm.settings.persist_source"),mR=128,gR=new Set(["off","advisory","strict"]);function Tg(e){return structuredClone(Fs[e])}function _R(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:S.governance.preset}function vg(e,t){let n=typeof t.create_default_type=="string"?t.create_default_type.trim():void 0;return n&&n.length>0&&(e.create_default_type=n),(t.workflow_enforcement==="off"||t.workflow_enforcement==="warn"||t.workflow_enforcement==="strict")&&(e.workflow_enforcement=t.workflow_enforcement),t.require_close_reason===!1&&(e.require_close_reason=!1),e.duplicate_detection_mode=t.duplicate_detection_mode,e.duplicate_detection_threshold=t.duplicate_detection_threshold,e.duplicate_detection_limit=t.duplicate_detection_limit,e}function yR(e){return e.preset==="custom"?vg({preset:"custom",ownership_enforcement:e.ownership_enforcement,create_mode_default:e.create_mode_default,close_validation_default:e.close_validation_default,parent_reference:e.parent_reference,metadata_profile:e.metadata_profile,force_required_for_stale_lock:e.force_required_for_stale_lock},e):vg({preset:e.preset},e)}function hR(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,n={};t&&t.length>0&&(n.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(n.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(n.require_close_reason=e.require_close_reason),gR.has(String(e.duplicate_detection_mode))&&(n.duplicate_detection_mode=e.duplicate_detection_mode);let r=e.duplicate_detection_threshold;[typeof r=="number",Number.isFinite(r),Number(r)>=0,Number(r)<=1].every(Boolean)&&(n.duplicate_detection_threshold=r);let o=e.duplicate_detection_limit;return[typeof o=="number",Number.isSafeInteger(o),Number(o)>=0,Number(o)<=20].every(Boolean)&&(n.duplicate_detection_limit=o),n}function Fi(e){let t=e.governance??{},n=_R(t.preset),r=hR(t);if(n==="custom"){let s=Tg("default"),a=r.require_close_reason??s.require_close_reason;return{preset:n,ownership_enforcement:t.ownership_enforcement??s.ownership_enforcement,create_mode_default:t.create_mode_default??s.create_mode_default,close_validation_default:t.close_validation_default??s.close_validation_default,parent_reference:t.parent_reference??s.parent_reference,metadata_profile:t.metadata_profile??s.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??s.force_required_for_stale_lock,...r,require_close_reason:a,duplicate_detection_mode:r.duplicate_detection_mode??s.duplicate_detection_mode,duplicate_detection_threshold:r.duplicate_detection_threshold??s.duplicate_detection_threshold,duplicate_detection_limit:r.duplicate_detection_limit??s.duplicate_detection_limit}}let o=Tg(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function xg(){return structuredClone(S)}function Cg(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:S.search.mutation_refresh_policy}function Og(e){return typeof e=="boolean"?e:S.search.query_expansion.enabled}function Ig(e){return typeof e!="string"?S.search.query_expansion.provider:e.trim()}function Rg(e){return typeof e=="boolean"?e:S.search.rerank.enabled}function Ng(e){return typeof e!="string"?S.search.rerank.model:e.trim()}function Dg(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:S.search.rerank.top_k}function Lg(e){if(typeof e!="string")return S.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,mR);return n.length>0?n:S.vector_store.collection_name}function Qc(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function bR(e,t){let n=e.schema,r=Qc(n?.statuses),o=Qc(n?.fields),i=Qc(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:jn(e.item_types?.definitions),has_source_schema_statuses:r.present,source_schema_statuses:r.values,has_source_schema_fields:o.present,source_schema_fields:o.values,has_source_schema_type_workflows:i.present,source_schema_type_workflows:i.values,runtime_item_type_definitions:jn(t.item_types?.definitions),runtime_schema_statuses:structuredClone(t.schema.statuses),runtime_schema_fields:structuredClone(t.schema.fields),runtime_schema_type_workflows:structuredClone(t.schema.type_workflows??[])}}function rl(e,t){Object.defineProperty(e,kg,{value:t,writable:!0,configurable:!0,enumerable:!1})}function ol(e){let t=e[kg];if(!(!t||typeof t!="object"))return t}function wR(e){let t=ol(e);if(t){let n=structuredClone(t);n.source_settings.item_format=e.item_format,rl(e,n)}}function Mi(e){let t=structuredClone(e.settings),n=ol(e.settings);return n&&rl(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function ER(e,t,n){let r=Ue(t);return[n,ue(e,r.files.types,ce.types),ue(e,r.files.statuses,ce.statuses),ue(e,r.files.fields,ce.fields),ue(e,r.files.workflows,ce.workflows)]}async function TR(e,t,n){let r=await vt(t);Pi(e,{tracked_paths:t,signatures:r,value:Mi(n)})}async function vR(e,t,n){try{await TR(e,t,n)}catch{At(e)}}function Ag(e,t){return e.find(n=>n.path===t)}function AR(e,t,n){for(let r of n){let o=Ag(e,r),i=Ag(t,r);if(!o||!i||!Fr([o],[i]))return!1}return!0}async function Zc(e,t,n,r,o){try{let i=await vt(t);if(!AR(r,i,o)){At(e);return}Pi(e,{tracked_paths:t,signatures:i,value:Mi(n)})}catch{At(e)}}function SR(e,t){let n=Ue(e.schema),r=jn(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=ne(r,t.runtime_item_type_definitions),s=ne(n.statuses,t.runtime_schema_statuses),a=ne(n.fields,t.runtime_schema_fields),c=ne(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?jn(t.source_item_type_definitions):[]:r,schema_statuses:s?t.has_source_schema_statuses?structuredClone(t.source_schema_statuses):[]:n.statuses,schema_fields:a?t.has_source_schema_fields?structuredClone(t.source_schema_fields):[]:n.fields,schema_type_workflows:c?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function $r(e){return{settings:xg(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function kR(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function tl(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Pg(e){let t=S.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:tl(e?.last_checked_files??t.last_checked_files)}}function $e(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function xR(e){return e==="off"||e==="warn"||e==="enforce"?e:S.extensions.policy.mode}function CR(e){return e==="off"||e==="warn"||e==="enforce"?e:S.extensions.policy.trust_mode}function Mg(e){return e==="none"||e==="restricted"||e==="strict"?e:S.extensions.policy.default_sandbox_profile}function OR(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let n={name:t};e.disabled===!0&&(n.disabled=!0),e.require_trusted===!0&&(n.require_trusted=!0),e.require_provenance===!0&&(n.require_provenance=!0),e.sandbox_profile!==void 0&&(n.sandbox_profile=Mg(e.sandbox_profile));let r=$e(e.allowed_capabilities),o=$e(e.blocked_capabilities),i=$e(e.allowed_surfaces),s=$e(e.blocked_surfaces),a=$e(e.allowed_commands),c=$e(e.blocked_commands),l=$e(e.allowed_actions),d=$e(e.blocked_actions),u=$e(e.allowed_services),p=$e(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),l.length>0&&(n.allowed_actions=l),d.length>0&&(n.blocked_actions=d),u.length>0&&(n.allowed_services=u),p.length>0&&(n.blocked_services=p),n}function IR(e){let t=new Map;for(let n of e??[]){let r=OR(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function el(e){return e==="block"||e==="warn"?e:void 0}function RR(e){if(typeof e=="string")return el(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=el(e.global),n=el(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function Te(e,t){return $e(e?.[t]??S.extensions.policy[t])}function Fg(e){let t=RR(e?.pm_max_version_exceeded_mode);return{mode:xR(e?.mode),trust_mode:CR(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:Te(e,"trusted_extensions"),default_sandbox_profile:Mg(e?.default_sandbox_profile),allowed_extensions:Te(e,"allowed_extensions"),blocked_extensions:Te(e,"blocked_extensions"),allowed_capabilities:Te(e,"allowed_capabilities"),blocked_capabilities:Te(e,"blocked_capabilities"),allowed_surfaces:Te(e,"allowed_surfaces"),blocked_surfaces:Te(e,"blocked_surfaces"),allowed_commands:Te(e,"allowed_commands"),blocked_commands:Te(e,"blocked_commands"),allowed_actions:Te(e,"allowed_actions"),blocked_actions:Te(e,"blocked_actions"),allowed_services:Te(e,"allowed_services"),blocked_services:Te(e,"blocked_services"),extension_overrides:IR(e?.extension_overrides??S.extensions.policy.extension_overrides)}}function $g(e){return[...new Set((e??[]).map(n=>n.trim().toLowerCase().replaceAll("-","_")))].filter(n=>n.length>0).sort((n,r)=>n.localeCompare(r)).filter(n=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(n))}function St(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function J(e,t){return e===void 0?t:e}function ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function nl(e){return Array.isArray(e)?e:[]}function NR(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:$g(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:St(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:St(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:St(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:St(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Jc(e.validation?.estimate_defaults_by_type)}}function DR(e,t){return{enabled:e.telemetry?.enabled??t.telemetry.enabled,first_run_prompt_completed:e.telemetry?.first_run_prompt_completed??t.telemetry.first_run_prompt_completed,capture_level:e.telemetry?.capture_level??t.telemetry.capture_level,endpoint:e.telemetry?.endpoint??t.telemetry.endpoint,installation_id:e.telemetry?.installation_id??t.telemetry.installation_id,retention_days:e.telemetry?.retention_days??t.telemetry.retention_days}}function LR(e,t){return{...t.search,...e.search,mutation_refresh_policy:Cg(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:Og(e.search?.query_expansion?.enabled),provider:Ig(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Rg(e.search?.rerank?.enabled),model:Ng(e.search?.rerank?.model),top_k:Dg(e.search?.rerank?.top_k)}}}function PR(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Lg(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function MR(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function FR(e,t){return{default_depth:e.context?.default_depth??t.context.default_depth,activity_limit:e.context?.activity_limit??t.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??t.context.stale_threshold_days,sections:{...t.context.sections,...e.context?.sections}}}function $R(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function jn(e){let t=(e??[]).map(r=>xo(r)).filter(r=>r!==null),n=new Map;for(let r of t)n.set(r.name.toLowerCase(),r);return[...n.values()].sort((r,o)=>r.name.localeCompare(o.name))}function jg(e){let t=xg(),n=Fi({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:MR(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:NR(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items},telemetry:DR(e,t),agent_guidance:Pg(e.agent_guidance??t.agent_guidance),item_types:{definitions:jn(e.item_types?.definitions)},schema:Ue(e.schema??t.schema),context:FR(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:Fg(e.extensions.policy??t.extensions.policy)},search:LR(e,t),providers:$R(e,t),vector_store:PR(e,t)}}function jR(e){e.agent_identity=x(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=x(ve(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=nl(e.agent_identity.harness_signals).map(n=>x(ve(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=x(e.locks,["ttl_seconds","wait_ms"]),e.ids=x(e.ids,["token_length"]),e.mutation_guard=x(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=x(e.checkpoints,["retention_days"]),e.output=x(e.output,["default_format"]),e.history=x(e.history,["missing_stream","compact_policy"]),e.validation=x(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=x(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=x(e.workflow,["definition_of_done"]),e.testing=x(e.testing,["record_results_to_items"]),e.telemetry=x(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=x(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=x(e.item_types,["definitions"]),e.schema=x(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=x(ve(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=x(ve(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=x(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=x(ve(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=x(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=x(ve(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=nl(e.extensions.policy.extension_overrides).map(n=>x(ve(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=x(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=x(ve(e.search.query_expansion),["enabled","provider"]),e.search.rerank=x(ve(e.search.rerank),["enabled","model","top_k"]),e.providers=x(e.providers,["openai","ollama"]),e.providers.openai=x(ve(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=x(ve(e.providers.ollama),["base_url","model"]),e.vector_store=x(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=x(ve(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=x(ve(e.vector_store.lancedb),["path"])}function zR(e){return{...e,locks:J(e.locks,S.locks),ids:J(e.ids,S.ids),agent_identity:J(e.agent_identity,S.agent_identity),mutation_guard:J(e.mutation_guard,S.mutation_guard),checkpoints:J(e.checkpoints,S.checkpoints),output:J(e.output,S.output),history:J(e.history,S.history),validation:J(e.validation,S.validation),workflow:J(e.workflow,S.workflow),testing:J(e.testing,S.testing),telemetry:J(e.telemetry,S.telemetry),agent_guidance:J(e.agent_guidance,S.agent_guidance),item_types:J(e.item_types,S.item_types),schema:J(e.schema,S.schema),context:J(e.context,S.context),extensions:J(e.extensions,S.extensions),search:J(e.search,S.search),providers:J(e.providers,S.providers),vector_store:J(e.vector_store,S.vector_store)}}function UR(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:$g(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:St(e.validation?.lifecycle_stale_blocker_reason_patterns??S.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:St(e.validation?.lifecycle_closure_like_blocked_reason_patterns??S.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:St(e.validation?.lifecycle_closure_like_resolution_patterns??S.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:St(e.validation?.lifecycle_closure_like_actual_result_patterns??S.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Jc(e.validation?.estimate_defaults_by_type)}}function qR(e){return{...S.search,...e.search,mutation_refresh_policy:Cg(e.search?.mutation_refresh_policy),query_expansion:{...S.search.query_expansion,...e.search?.query_expansion,enabled:Og(e.search?.query_expansion?.enabled),provider:Ig(e.search?.query_expansion?.provider)},rerank:{...S.search.rerank,...e.search?.rerank,enabled:Rg(e.search?.rerank?.enabled),model:Ng(e.search?.rerank?.model),top_k:Dg(e.search?.rerank?.top_k)}}}function GR(e){return{default_depth:e.context?.default_depth??S.context.default_depth,activity_limit:e.context?.activity_limit??S.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??S.context.stale_threshold_days,sections:{...S.context.sections,...e.context?.sections}}}function VR(e){return{...e.vector_store,adapter:e.vector_store?.adapter??S.vector_store.adapter,collection_name:Lg(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function BR(e,t,n,r){return{...e,item_format:"toon",validation:UR(e,t),governance:t,agent_guidance:Pg(e.agent_guidance),item_types:{definitions:r.item_type_definitions},schema:{...n,statuses:r.schema_statuses,fields:r.schema_fields,type_workflows:r.schema_type_workflows},search:qR(e),context:GR(e),extensions:{enabled:tl(e.extensions?.enabled),disabled:tl(e.extensions?.disabled),policy:Fg(e.extensions?.policy)},vector_store:VR(e)}}function zg(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of r){let i=t[o],s=n[o];if(!ne(i,s)){if(s===void 0){delete e[o];continue}if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=e[o],c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};zg(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Ug=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function Sg(e,t){let n=zR(e),r=Fi(n),o=Ue(n.schema),i=SR(n,t),s=BR(n,r,o,i),a=x({...s,governance:yR(r)},Ug);return jR(a),a}function HR(e,t={}){let n=Sg(e,t.persist_source);if(t.persist_source){let r=jg(t.persist_source.source_settings);r.item_types={definitions:structuredClone(t.persist_source.runtime_item_type_definitions)},r.schema={...r.schema,statuses:structuredClone(t.persist_source.runtime_schema_statuses),fields:structuredClone(t.persist_source.runtime_schema_fields),type_workflows:structuredClone(t.persist_source.runtime_schema_type_workflows)};let o=Sg(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return zg(i,o,n),`${JSON.stringify(x(i,Ug),null,2)}
|
|
83
|
+
`}return`${JSON.stringify(n,null,2)}
|
|
84
|
+
`}async function kt(e){let t=ye(e),n=[t];await Me({path:t,scope:"project"});let r=Eg(e);if(r){let l=await vt(r.tracked_paths);if(Fr(l,r.signatures))return Mi(r.value)}let o=await vt([t]),i;try{i=await W(t)}catch{return $r("settings_read_fs_error")}if(i===null){let l=$r();return await Zc(e,[t],l,o,[t]),l}let s=await vt([t]);if(!Fr(o,s))return At(e),kt(e);let a;try{a=JSON.parse(i)}catch{let l=$r("settings_read_invalid_json");return await Zc(e,[t],l,s,[t]),l}let c=_g(a);if(!c.success){let l=$r("settings_read_invalid_schema");return await Zc(e,[t],l,s,[t]),l}try{let l=jg(c.data),d=ER(e,l.schema,t);n=d;let u=await vt(d),p=await Xf(e,l.schema),f=await Jf(e,l.schema),y=await vt(d),g={...l,item_types:{definitions:jn([...l.item_types.definitions,...nl(f.type_definitions_from_file)])},schema:f.schema};rl(g,bR(c.data,g));let h={settings:g,metadata:{has_explicit_item_format:kR(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...p.created_paths.map(E=>`runtime_schema_bootstrap_created:${E}`),...f.warnings]};return p.created_paths.length===0?Fr(u,y)?Pi(e,{tracked_paths:d,signatures:y,value:Mi(h)}):At(e):At(e),h}catch{let l=$r("settings_read_merge_failed");return await vR(e,n,l),l}}async function Ge(e){return(await kt(e)).settings}async function jr(e,t,n=pR){let r=ye(e),o=HR(t,{persist_source:ol(t)});try{await qc({pmRoot:e,filePath:r,raw:o,op:n,author:Cr(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await ae({path:r,scope:"project",op:n})}finally{At(e)}}import{spawnSync as Gg}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]="12bfc6e7-8979-58e8-8276-98cc859f3e32")}catch{}})();var WR="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",KR="PM_OLLAMA_MODEL",YR="http://localhost:11434",XR="qwen3-embedding:0.6b",JR=".agents/pm/search/lancedb/",QR=1500,ZR=2500,eN=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,tN=/embed|embedding/i,Ve=L;function nN(){let e=Ve(process.env[WR]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function qg(e){return e.some(t=>Ve(t)!==null)}function rN(e){let t=Ve(e);return!!(t&&t.toLowerCase()!=="ollama")}function oN(e){let t=Ve(e);return!!(t&&t.toLowerCase()!=="lancedb")}function iN(e){return rN(e.search?.provider)||oN(e.vector_store?.adapter)||qg([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:qg([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function sN(){let e=Gg("ollama",["--version"],{encoding:"utf8",timeout:QR});return e.error?!1:e.status===0}function aN(e){let t=e.split(/\r?\n/).map(i=>i.trim()).filter(i=>i.length>0);if(t.length===0)return null;let n=t.map(i=>i.split(/\s+/)[0]?.trim()).filter(i=>!!(i&&i.length>0)).filter(i=>i.toUpperCase()!=="NAME");if(n.length===0)return null;let r=n.find(i=>eN.test(i));return r||(n.find(i=>tN.test(i))??null)}function cN(e){let t=Ve(e.providers?.ollama?.model);if(t)return t;let n=Ve(process.env[KR]);if(n)return n;let r=Gg("ollama",["list"],{encoding:"utf8",timeout:ZR});if(!r.error&&r.status===0){let o=aN(typeof r.stdout=="string"?r.stdout:"");if(o)return o}return null}function lN(e){return{baseUrl:Ve(e.providers?.ollama?.base_url)===null,model:Ve(e.providers?.ollama?.model)===null,lancedbPath:Ve(e.vector_store?.lancedb?.path)===null,embeddingModel:Ve(e.search?.embedding_model)===null}}function dN(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function uN(e,t,n){if(!t.baseUrl&&!t.model)return;let r=e.providers??={},o=r.ollama??={};t.baseUrl&&(o.base_url=YR),t.model&&(o.model=n)}function fN(e,t){if(!t.lancedbPath)return;let n=e.vector_store??={},r=n.lancedb??={};r.path=JR}function pN(e,t,n){if(!t.embeddingModel)return;let r=e.search??={};r.embedding_model=n}function zn(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(nN()||iN(e))return t;let n=lN(e);if(!dN(n)||n.model&&!sN())return t;let r=structuredClone(e),o=cN(r);return o?(uN(r,n,o),fN(r,n),pN(r,n,o),{settings:r,auto_ollama_defaults_applied:!0}):{...t,auto_ollama_defaults_skipped_reason:"no_installed_embedding_model",auto_ollama_defaults_remediation:`Run ollama pull ${XR} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`}}import{spawn as mN}from"node:child_process";import{mkdirSync as Vg,rmSync as Hg,statSync as gN}from"node:fs";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]="d8d5f7e9-5293-564b-bc44-f5ba30336893")}catch{}})();var Wg="reindex",_N="search/pending-refresh.json",yN="search/pending-refresh.gate.lock",hN=3e4,bN="PM_SEARCH_REFRESH_INLINE",Kg="PM_SEARCH_REFRESH_CHILD",wN=3e4;function Bg(e){if(typeof e!="string")return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"||t==="on"}function sl(){if(Bg(process.env[bN])||Bg(process.env[Kg]))return!0;let e=(process.env.NODE_ENV??"").trim().toLowerCase();return typeof process.env.VITEST=="string"||typeof process.env.VITEST_WORKER_ID=="string"||e==="test"}function Yg(e){return $i.join(e,_N)}function Xg(e){return $i.join(e,yN)}function EN(e){let t=Xg(e);try{if(Date.now()-gN(t).mtimeMs<hN)return!1;Hg(t,{recursive:!0,force:!0})}catch{}try{return Vg($i.dirname(t),{recursive:!0}),Vg(t),!0}catch{return!1}}function TN(e){try{Hg(Xg(e),{recursive:!0,force:!0})}catch{}}async function Jg(e,t,n){for(let r=0;r<50;r+=1){if(EN(e))try{return await t()}finally{TN(e)}await vN(20)}return n}function vN(e){return new Promise(t=>{setTimeout(t,e)})}async function al(e){let t=await W(Yg(e));if(!t||t.trim().length===0)return[];try{let n=JSON.parse(t);return Array.isArray(n.ids)?n.ids.filter(r=>typeof r=="string"&&r.length>0):[]}catch{return[]}}async function Qg(e,t){await P(Yg(e),`${JSON.stringify({ids:t})}
|
|
85
|
+
`)}async function il(e,t){let n=t.filter(i=>typeof i=="string"&&i.trim().length>0);if(n.length===0)return;let r=async()=>{let i=await al(e),s=[...new Set([...i,...n])].sort((a,c)=>a.localeCompare(c));await Qg(e,s)};await Jg(e,async()=>(await r(),!0),!1)||await r()}async function AN(e){return Jg(e,async()=>{let t=await al(e);return t.length>0&&await Qg(e,[]),t},[])}function SN(){return $i.join(Ze(import.meta.url,["../../.."]),"dist","cli","search-refresh.js")}function cl(e){try{let t=mN(process.execPath,[SN()],{detached:!0,stdio:"ignore",env:{...process.env,PM_PATH:e,[Kg]:"1"}});t.on("error",()=>{}),t.unref()}catch{}}function kN(e){setTimeout(()=>cl(e),wN)}async function Zg(e,t){await il(e,t),cl(e)}async function FV(e,t,n=kN){let r=[],o=[];if(!await Y(e))return{processed:o,rounds:0,warnings:r};let i;try{let u=await kt(e),p=u.warnings.find(f=>f.startsWith("settings_read_"));if(p)return n(e),{processed:o,rounds:0,warnings:[`search_background_refresh_settings_read_failed:${p}`]};i=zn(u.settings).settings}catch(u){return n(e),{processed:o,rounds:0,warnings:[`search_background_refresh_settings_read_failed:${$(u)}`]}}let s=null;try{s=await Ie(e,Wg,i.locks.ttl_seconds,Cr(void 0,"pm-search-refresh"),!1,i.governance.force_required_for_stale_lock,i.locks.wait_ms)}catch{}if(!s)return{processed:o,rounds:0,warnings:r};let a=0,c=!1,l=!1;try{for(;;){let u=await AN(e);if(u.length===0)break;a+=1;try{let p=await t(e,u);if(r.push(...p.warnings),p.warnings.some(f=>f.startsWith("search_semantic_refresh_skipped:settings_read_failed:"))){await il(e,u),c=!0,l=!0;break}o.push(...p.refreshed)}catch(p){r.push(`search_background_refresh_failed:${$(p)}`),await il(e,u),c=!0;break}}}finally{await s?.()}return l&&n(e),(c?[]:await al(e)).length>0&&cl(e),{processed:[...new Set(o)].sort((u,p)=>u.localeCompare(p)),rounds:a,warnings:r}}import rn from"node:fs/promises";import t_ from"node:path";import{randomUUID as xN}from"node:crypto";import{createRequire as CN}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]="e94075b0-810d-506c-b6a2-ae322526c078")}catch{}})();var ON="metadata-query-index.sqlite",zr="4";function IN(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var ji;function RN(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?IN(t):null}function Ur(){return ji!==void 0||(ji=RN(process.versions.node,CN(import.meta.url))),ji}function e_(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function Un(e){return t_.join(e,"runtime",ON)}function NN(e){e.exec(`
|
|
86
|
+
PRAGMA foreign_keys = ON;
|
|
87
|
+
PRAGMA journal_mode = OFF;
|
|
88
|
+
PRAGMA synchronous = OFF;
|
|
89
|
+
CREATE TABLE metadata (
|
|
90
|
+
key TEXT PRIMARY KEY,
|
|
91
|
+
value TEXT NOT NULL
|
|
92
|
+
) STRICT;
|
|
93
|
+
CREATE TABLE items (
|
|
94
|
+
id TEXT PRIMARY KEY,
|
|
95
|
+
relative_path TEXT NOT NULL UNIQUE,
|
|
96
|
+
metadata_json TEXT NOT NULL,
|
|
97
|
+
status TEXT NOT NULL,
|
|
98
|
+
type TEXT NOT NULL,
|
|
99
|
+
priority INTEGER NOT NULL,
|
|
100
|
+
updated_at TEXT NOT NULL,
|
|
101
|
+
created_at TEXT NOT NULL,
|
|
102
|
+
parent TEXT,
|
|
103
|
+
assignee TEXT,
|
|
104
|
+
sprint TEXT,
|
|
105
|
+
release TEXT
|
|
106
|
+
) STRICT;
|
|
107
|
+
CREATE INDEX items_default_order
|
|
108
|
+
ON items(priority, updated_at DESC, id);
|
|
109
|
+
CREATE INDEX items_status_default_order
|
|
110
|
+
ON items(status, priority, updated_at DESC, id);
|
|
111
|
+
CREATE INDEX items_type_default_order
|
|
112
|
+
ON items(type, priority, updated_at DESC, id);
|
|
113
|
+
CREATE INDEX items_parent_default_order
|
|
114
|
+
ON items(parent, priority, updated_at DESC, id);
|
|
115
|
+
CREATE TABLE item_metadata_keys (
|
|
116
|
+
item_id TEXT NOT NULL,
|
|
117
|
+
key TEXT NOT NULL,
|
|
118
|
+
PRIMARY KEY(item_id, key),
|
|
119
|
+
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
120
|
+
) STRICT;
|
|
121
|
+
CREATE INDEX item_metadata_keys_key_item
|
|
122
|
+
ON item_metadata_keys(key, item_id);
|
|
123
|
+
CREATE TABLE item_linked_files (
|
|
124
|
+
item_id TEXT NOT NULL,
|
|
125
|
+
path TEXT NOT NULL,
|
|
126
|
+
scope TEXT NOT NULL,
|
|
127
|
+
note TEXT,
|
|
128
|
+
PRIMARY KEY(item_id, path, scope),
|
|
129
|
+
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
130
|
+
) STRICT;
|
|
131
|
+
CREATE INDEX item_linked_files_path_scope_item
|
|
132
|
+
ON item_linked_files(path, scope, item_id);
|
|
133
|
+
CREATE VIRTUAL TABLE item_search USING fts5(
|
|
134
|
+
id UNINDEXED,
|
|
135
|
+
title,
|
|
136
|
+
description,
|
|
137
|
+
tags,
|
|
138
|
+
tokenize = 'unicode61'
|
|
139
|
+
);
|
|
140
|
+
`)}function Ui(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function n_(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
|
|
141
|
+
id, relative_path, metadata_json, status, type, priority,
|
|
142
|
+
updated_at, created_at, parent, assignee, sprint, release
|
|
143
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
144
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
145
|
+
relative_path = excluded.relative_path,
|
|
146
|
+
metadata_json = excluded.metadata_json,
|
|
147
|
+
status = excluded.status,
|
|
148
|
+
type = excluded.type,
|
|
149
|
+
priority = excluded.priority,
|
|
150
|
+
updated_at = excluded.updated_at,
|
|
151
|
+
created_at = excluded.created_at,
|
|
152
|
+
parent = excluded.parent,
|
|
153
|
+
assignee = excluded.assignee,
|
|
154
|
+
sprint = excluded.sprint,
|
|
155
|
+
release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE id = ?").run(n.id),e.prepare("INSERT INTO item_search(id, title, description, tags) VALUES (?, ?, ?, ?)").run(n.id,n.title,n.description,n.tags.join(" "));let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function r_(e){let t=Un(e.pmRoot),n=Ur();if(!n){await rn.rm(t,{force:!0});return}await rn.mkdir(t_.dirname(t),{recursive:!0});let r=`${t}.${xN()}.tmp`,o;try{o=new n(r),NN(o),o.exec("BEGIN IMMEDIATE"),Ui(o,"version",zr),Ui(o,"context_fingerprint",e.contextFingerprint),Ui(o,"source_cursor",e.sourceCursor);for(let i of e.rows)n_(o,i);o.exec("COMMIT"),o.close(),o=void 0,await rn.rm(t,{force:!0}),await rn.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([rn.rm(r,{force:!0})]),i}}function qi(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function o_(e){let t=Un(e.pmRoot),n;try{await rn.access(t);let r=Ur();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=qi(n);if(o.version!==zr||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return n.close(),!1;n.exec("BEGIN IMMEDIATE");let i=n.prepare("DELETE FROM items WHERE relative_path = ?"),s=n.prepare("SELECT id FROM items WHERE relative_path = ?"),a=n.prepare("DELETE FROM item_search WHERE id = ?");for(let c of e.deletedRelativePaths??[]){let l=s.get(c);i.run(c),l&&a.run(l.id)}return e.row&&n_(n,e.row),Ui(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function zi(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function DN(e){let t=[],n=[];zi(t,n,"status",e.statuses,"IN"),zi(t,n,"status",e.excludeStatuses,"NOT IN"),zi(t,n,"type",e.types,"IN"),zi(t,n,"id",e.ids,"IN");for(let r of e.metadataKeys??[])t.push("EXISTS (SELECT 1 FROM item_metadata_keys AS indexed_key WHERE indexed_key.item_id = items.id AND indexed_key.key = ?)"),n.push(r);for(let[r,o]of[["parent",e.parent],["assignee",e.assignee],["sprint",e.sprint],["release",e.release]])o!==void 0&&(t.push(`${r} = ?`),n.push(o));return e.priority!==void 0&&(t.push("priority = ?"),n.push(e.priority)),{where:t.length===0?"":` WHERE ${t.join(" AND ")}`,parameters:n}}async function LN(e){let t=Ur();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=DN(n),i;try{i=new t(Un(e.pmRoot),{readOnly:!0});let s=qi(i);if(s.version!==zr||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],l="";n.limit!==void 0?(l+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(l+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(l+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let u=i.prepare(`SELECT metadata_json FROM items${r}
|
|
156
|
+
ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${l}`).all(...o,...n.terminalStatuses??[],...c).map(p=>{let f=JSON.parse(String(p.metadata_json));if(!f.id)throw new TypeError("Indexed metadata row has no id");return f});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:u}}catch{return i?.close(),null}}async function PN(e){let t=Ur();if(!t||e.paths.length===0)return null;let n;try{n=new t(Un(e.pmRoot),{readOnly:!0});let r=qi(n);if(r.version!==zr||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=e.paths.map(()=>"?").join(", "),i=e.scope===void 0?"":" AND scope = ?",s=[...e.paths,...e.scope===void 0?[]:[e.scope]],a=`path IN (${o})${i}`,c=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
|
|
157
|
+
FROM item_linked_files
|
|
158
|
+
WHERE ${a}`).get(...s),l=e_(e.limit,50),d=e_(e.offset,0),u=n.prepare(`SELECT items.id, items.metadata_json
|
|
159
|
+
FROM items
|
|
160
|
+
WHERE EXISTS (
|
|
161
|
+
SELECT 1 FROM item_linked_files
|
|
162
|
+
WHERE item_linked_files.item_id = items.id AND ${a}
|
|
163
|
+
)
|
|
164
|
+
ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
|
|
165
|
+
LIMIT ? OFFSET ?`).all(...s,l,d),p=[];if(u.length>0){let f=u.map(h=>String(h.id)),y=n.prepare(`SELECT item_id, path, scope, note
|
|
166
|
+
FROM item_linked_files
|
|
167
|
+
WHERE item_id IN (${f.map(()=>"?").join(", ")})
|
|
168
|
+
AND ${a}
|
|
169
|
+
ORDER BY path ASC, scope ASC`).all(...f,...s),g=new Map(f.map(h=>[h,[]]));for(let h of y){let E=String(h.item_id),O=g.get(E);O.push({path:String(h.path),scope:String(h.scope),...h.note===null?{}:{note:String(h.note)}}),g.set(E,O)}for(let h of u){let E=JSON.parse(String(h.metadata_json));p.push({item:E,files:g.get(String(h.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:p}}catch{return n?.close(),null}}async function MN(e){let t=Ur();if(!t)return null;let n;try{n=new t(Un(e.pmRoot),{readOnly:!0});let r=qi(n);if(r.version!==zr||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
|
|
170
|
+
FROM item_search
|
|
171
|
+
JOIN items ON items.id = item_search.id
|
|
172
|
+
WHERE item_search MATCH ?
|
|
173
|
+
ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
|
|
174
|
+
LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(s=>JSON.parse(String(s.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:i}}catch{return n?.close(),null}}async function Gi(e){await rn.rm(Un(e),{force:!0})}import re from"node:fs/promises";import B from"node:path";import{createHash as FN,randomUUID as l_}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8ed70856-9cba-599d-8b53-21a981af1f40")}catch{}})();var Be=8,dl=500,$N="metadata-derived-index",jN="metadata-cache.json",zN="metadata-cache-bodies.json",UN="metadata-cache-collections.json",qN="metadata-cache-delta.json",GN="metadata-cache-manifest.json",i_=4,VN=["comments","notes","learnings","files","tests","test_runs","docs"];function d_(){return wr(yt())}function Bi(e){let t={...e},n={};for(let r of VN)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function u_(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function f_(e,t,n,r){let o=FN("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Hi(e){return B.join(e,"runtime",jN)}function Wi(e){return B.join(e,"runtime",zN)}function Ki(e){return B.join(e,"runtime",UN)}function ul(e){return B.join(e,"runtime",qN)}function fl(e){return B.join(e,"runtime",GN)}function Yi(e,t){let n=B.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var BN=24,Re=new Map,Xi=new WeakMap;function pl(e){return Xi.get(e)??e.source_cursor}function HN(e,t){let n=pl(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Xi.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function WN(e,t){if(!e)return;let n=pl(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Xi.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function KN(e,t){if(!e)return;let n=pl(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Xi.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function YN(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(HN(e,r),WN(t,r),KN(n,r))}function ll(e,t){Re.size>=BN&&!Re.has(e)&&ho(Re),Re.set(e,t)}async function xt(e,t){let n;try{n=await re.stat(e)}catch{return Re.delete(e),null}let r=Re.get(e);if(r&&qr(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Re.delete(e),Re.set(e,r),r.envelope;let o;try{o=t(await re.readFile(e,"utf8"))}catch{o=null}return ll(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function XN(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==Be||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Hi(e),i=await xt(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await xt(Yi(o,t),r);return s===null&&Br(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function JN(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Be||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Wi(e),o=await xt(r,n);return t&&o?.context_fingerprint!==t?await xt(Yi(r,t),n):o}async function QN(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Be||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Ki(e),o=await xt(r,n);return t&&o?.context_fingerprint!==t?await xt(Yi(r,t),n):o}async function ml(e){let t=ul(e),n=await xt(t,r=>{let o=JSON.parse(r);return o.version!==Be||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await re.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function gl(e){let t=fl(e),n=await xt(t,r=>{let o=JSON.parse(r);return o.version!==Be||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await re.stat(t),await qn(e)}catch{}return null}async function Gr(e,t){await re.mkdir(B.dirname(e),{recursive:!0}),await P(e,JSON.stringify(t));try{let r=await re.stat(e);ll(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Re.delete(e)}let n=B.dirname(B.dirname(e));if(e===Hi(n)||e===Wi(n)||e===Ki(n)){let r=Yi(e,t.context_fingerprint);await P(r,JSON.stringify(t));try{let c=await re.stat(r);ll(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Re.delete(r)}let o=B.dirname(e),i=B.extname(e),s=B.basename(e,i),a=(await re.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==B.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>B.join(o,c.name));if(a.length>i_){let c=(await Promise.all(a.map(async l=>{try{return{path:l,mtime:(await re.stat(l)).mtimeMs}}catch{return null}}))).filter(l=>l!==null);for(let l of c.sort((d,u)=>d.mtime-u.mtime).slice(0,Math.max(0,c.length-i_)))await re.rm(l.path,{force:!0}),Re.delete(l.path)}}}function ZN(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function p_(e,t,n){return e===void 0||ZN(e,t,n)}function Br(e,t){e&&!e.includes(t)&&e.push(t)}function qr(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function e0(e,t,n){let r=B.join(e,t);try{let o=await re.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&o.code!=="ENOENT"&&Br(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function t0(e,t){try{let n=await re.stat(B.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Vi(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await t0(e,n))))}function Vr(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([n,r])=>{let o=e[n];return o!==void 0&&o.exists===r.exists&&qr(o,r.mtime_ms,r.ctime_ms,r.size)})}function n0(e){return Oo.some(t=>e.toLowerCase().endsWith(t))}function r0(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function o0(e,t,n){if(n)for(let r of await Me({path:e,scope:"project"}))Br(t,r)}function s_(e,t,n,r){if(e)return t&&n?n.collections:r}async function i0(e,t,n){let r=await re.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=ar(e);await o0(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],l=c!==void 0&&qr(c,o,i,s),d=n.previousBodies[t],u=d!==void 0&&qr(d,o,i,s),p=n.previousCollections[t],f=p!==void 0&&qr(p,o,i,s);if(!(!l||n.includeBody&&!u||n.includeCollections&&!f))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:s_(n.includeCollections,f,p,void 0),bodyLength:c.body_length,body:n.includeBody?d.body:void 0};let g=await re.readFile(e,"utf8"),h=Wt(g,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:O=>Br(n.warnings,O)}),E=Bi(h.metadata);return r0(n.state.misses,n.includeBody,n.includeCollections,l,u,f),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?c.metadata:E.light,heavyMetadata:s_(n.includeCollections,f,p,E.heavy),bodyLength:l?c.body_length:h.body.length,body:n.includeBody?h.body:void 0}}function s0(e,t,n,r){n.state.newEntries[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,metadata:r.lightMetadata,body_length:r.bodyLength},n.includeBody&&r.body!==void 0&&(n.state.newBodies[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,body:r.body}),n.includeCollections&&r.heavyMetadata!==void 0&&(n.state.newCollections[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,collections:r.heavyMetadata});let o=n.includeCollections?u_(r.lightMetadata,r.heavyMetadata):r.lightMetadata,i=n.state.documentsById.get(o.id),s={metadata:o,body:r.body,item_format:r.itemFormat,item_path:e};p_(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function a0(e,t,n,r){try{let o=await i0(t,n,r);s0(t,n,r,o)}catch{Br(r.warnings,`item_list_item_read_failed:${e}/${B.basename(t)}`)}}function c0(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function l0(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function d0(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function u0(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function f0(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!n0(s))continue;let a=B.join(o,s),c=B.relative(t.pmRoot,a);n.push(a0(r,a,c,t))}return n}async function p0(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Vr(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await Gr(Hi(e.pmRoot),{version:Be,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await Gr(fl(e.pmRoot),{version:Be,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:B.relative(e.pmRoot,r.item_path),metadata:Bi(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await r_({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Gi(e.pmRoot)}catch{}}async function m0(e){!(e.state.misses.body||Object.keys(e.previousBodies).length!==Object.keys(e.state.newBodies).length)&&e.existingBodyCache!==null&&e.existingBodyCache.context_fingerprint===e.contextFingerprint||await Gr(Wi(e.pmRoot),{version:Be,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function g0(e){!(e.state.misses.collections||Object.keys(e.previousCollections).length!==Object.keys(e.state.newCollections).length)&&e.existingCollectionsCache!==null&&e.existingCollectionsCache.context_fingerprint===e.contextFingerprint||await Gr(Ki(e.pmRoot),{version:Be,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Ji(e,t,n={}){let r=await gl(e);return n.required!==!0&&(r===null||r.entry_count<dl)?async()=>{}:Ie(e,$N,30,t,!1,!1,3e3)}async function _0(e,t){let n=await gl(e);if(n===null)return null;let r=await ml(e);if(r.invalid)return await qn(e),null;let o=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.source_cursor:n.source_cursor,i=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.directory_signatures:n.directory_signatures;return t&&!Vr(i,await Vi(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function a_(e,t){let n=B.relative(e,t);return n===""||n===".."||n.startsWith(`..${B.sep}`)||B.isAbsolute(n)?null:n}async function qn(e){await Promise.all([Hi(e),Wi(e),Ki(e),ul(e),fl(e)].map(async t=>{await re.rm(t,{force:!0}),Re.delete(t)})),await Gi(e)}async function y0(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await re.stat(e.mutation.itemPath),n=Bi(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function h0(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Qi(e){let t=a_(e.pmRoot,e.itemPath),n=e.previousItemPath?a_(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await qn(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=f_(e.preferredFormat,e.typeToFolder,e.schema,d_()),o=await gl(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await ml(e.pmRoot);if(s.invalid)return await qn(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=h0(s.envelope,r,i),c=s.envelope?.context_fingerprint===r&&s.envelope.base_source_cursor===i?s.envelope.source_cursor:i;n!==void 0&&(a[n]={entry:null,body:null,collections:null}),a[t]=await y0({mutation:e});let l=l_();return await Gr(ul(e.pmRoot),{version:Be,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await Vi(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await o_({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:Bi(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Gi(e.pmRoot),[]}catch{return await qn(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function b0(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function c_(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function w0(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function E0(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=ar(n);if(!o)continue;let i=e.includeCollections?u_(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);p_(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:B.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function T0(e){return e.forceSourceScan||Na()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Vr(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||c_(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||c_(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&w0(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Hr(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=d_(),l=f_(t,n,o,c),d=await ml(e);d.invalid&&await qn(e);let u=await XN(e,l,i.cacheDiagnostics),p=s?await JN(e,l):null,f=a?await QN(e,l):null;YN(u,p,f,d.envelope);let y=c0(u,l),g=l0(p,l),h=d0(f,l),E=[...new Set(Object.values(n))],O=await Vi(e,E),z=Object.keys(y),U=Math.max(1,Math.floor(i.derivedIndexMinimumItems??dl));if(T0({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:p,existingCollectionsCache:f,directorySignatures:O,entryKeys:z,minimumIndexedItems:U,includeBody:s,includeCollections:a,previousBodies:g,previousCollections:h}))return E0({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:y,previousBodies:g,previousCollections:h});let oe=await Promise.all(E.map(rw=>e0(e,rw,r))),De=Na(),Le=u0(),Lt={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,dispatchReadHooks:De,previousEntries:y,previousBodies:g,previousCollections:h,state:Le};await Promise.all(f0(oe,Lt));let Pt=await Vi(e,E),Rs=Vr(O,Pt)?Pt:{},Ns=Le.misses.metadata||Object.keys(y).length!==Object.keys(Le.newEntries).length||!Vr(u?.directory_signatures,Rs)||u===null?l_():u.source_cursor;return await p0({pmRoot:e,contextFingerprint:l,sourceCursor:Ns,existingCache:u,previousEntries:y,directorySignatures:Rs,state:Le,minimumIndexedItems:U}),s&&await m0({pmRoot:e,contextFingerprint:l,sourceCursor:Ns,existingBodyCache:p,previousBodies:g,state:Le}),a&&await g0({pmRoot:e,contextFingerprint:l,sourceCursor:Ns,existingCollectionsCache:f,previousCollections:h,state:Le}),b0(Le)}async function m_(e,t,n,r,o){return(await Hr(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function g_(e,t,n,r,o){return(await Hr(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import Ct from"node:fs/promises";import Gn 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]="f43e1170-e797-5a0c-b02e-d31e002ab275")}catch{}})();async function v0(e){try{return await Ct.access(e),!0}catch{return!1}}function Zi(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function A0(e,t){e&&(e.includes(t)||e.push(t))}function __(e){return e??wr(yt())}function S0(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function es(e){return new b(`Tracker root is not a directory at ${e}.`,_.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",nextSteps:["Pass the tracker directory itself, usually <workspace>/.agents/pm."]})}async function k0(e){let t=Gn.parse(Gn.resolve(e)).root,n=Gn.dirname(Gn.resolve(e));for(;n!==t;){let r;try{r=await Ct.stat(n)}catch(o){if(Zi(o,"ENOTDIR"))throw es(e);if(!Zi(o,"ENOENT"))throw o;n=Gn.dirname(n);continue}if(!r.isDirectory())throw es(e);break}}async function _l(e){let t;try{t=await Ct.stat(e)}catch(n){throw Zi(n,"ENOENT")?(await k0(e),new b(`Tracker root does not exist at ${e}.`,_.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",nextSteps:["Confirm the tracker root path and retry the SDK read.","Initialize a tracker before enumerating its item metadata."]})):Zi(n,"ENOTDIR")?es(e):n}if(!t.isDirectory())throw es(e)}async function Wr(e,t,n="pm-",r,o=ie){let i=tn(t,n),s=Ii(t),a=i===s?[i]:[i,s],c=Object.entries(o),l=S0(r);for(let d of a)for(let[u]of c)for(let p of l){let f=yn(e,u,d,p,o);if(await v0(f))return{id:d,type:u,itemPath:f,item_format:p}}return null}async function Kr(e,t={}){let n=await Ct.readFile(e.itemPath,"utf8");await Me({path:e.itemPath,scope:"project"});let r=Wt(n,{format:e.item_format,schema:t.schema,extensionFieldNames:__(t.extensionFieldNames),onWarning:o=>A0(t.warnings,o)});return{raw:n,document:r}}async function x0(e,t,n=ie,r,o){return await _l(e),(await m_(e,t,n,r,o)).map(s=>s.metadata)}async function C0(e,t,n=ie,r,o){return await _l(e),(await g_(e,t,n,r,o)).map(s=>s.metadata)}async function EB(e,t,n=ie,r,o,i={}){return await _l(e),(await Hr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function yl(e){return{async get(t){let n=await Wr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Kr(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>x0(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function O0(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await Ct.readdir(Gn.join(e,o));for(let s of i)for(let a of Oo)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function I0(e,t,n,r){let o=tn(t,n),i=await O0(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:et(c,o,s)})).filter(c=>c.distance!==null).sort((c,l)=>c.distance-l.distance).slice(0,3).map(c=>c.id)}async function y_(e,t,n,r){let o=await I0(e,t,n,r),i=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&i.unshift(`Did you mean one of: ${o.join(", ")}?`),new b(`Item ${t} not found`,_.NOT_FOUND,{nextSteps:i})}function R0(e,t){return e==="claim"||t===!0&&(e==="comment_add"||e==="comment_edit"||e==="comment_delete"||e==="note_add"||e==="learning_add"||e==="release"||e==="update"||e==="update_ownership_bypass"||e==="update_audit")}async function h_(e){let t=e.typeToFolder??or(e.settings,yt()).type_to_folder,n=await Wr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await y_(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await Ie(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await Kr(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,l=oc(e.author),d=Fi(e.settings);if(a&&c!==l&&!e.force&&!R0(e.op,e.bypassAssigneeConflict)){if(d.ownership_enforcement==="strict")throw new b(`Item ${n.id} is assigned to ${a}. Use --force to override.`,_.CONFLICT);d.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function N0(e,t,n){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:n,skipItemWrite:!1};let r=e.result;return{effectiveTargetItemPath:typeof r.target_item_path=="string"&&r.target_item_path.trim().length>0?r.target_item_path:t,effectiveSerializedAfter:typeof r.contents=="string"?r.contents:n,skipItemWrite:r.skip_write===!0}}async function D0(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await P(e.originalItemPath,e.originalRaw),await Ct.rm(e.effectiveTargetItemPath,{force:!0});return}await P(e.originalItemPath,e.originalRaw)}}async function L0(e){let t=await h_({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=Ce(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=Ce(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=await e.mutate(l);if(e.skipNoop===!0&&d.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...d.warnings??[]]};l.metadata.updated_at=X();let u=Ce(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await Zo({pm_root:e.pmRoot,operation:e.op,before:c,after:u,changed_fields:d.changedFields,sdk:yl({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let p=await Oi({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),f="toon",y=xr(u,{format:f,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),g=yn(e.pmRoot,u.metadata.type,r.id,f,n),h=hn(e.pmRoot,r.id),E=await xe("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:g,history_path:h,item_format:f,before:c,after:u,contents:y}),{effectiveTargetItemPath:O,effectiveSerializedAfter:z,skipItemWrite:U}=N0(E,g,y),oe=await Ji(e.pmRoot,e.author),De=[];try{U||await P(O,z),!U&&O!==r.itemPath&&await Ct.rm(r.itemPath);let Lt=Zt({nowIso:u.metadata.updated_at,author:e.author,op:e.op,before:c,after:u,message:e.message});try{await en(h,Lt)}catch(Pt){throw await D0({skipItemWrite:U,effectiveTargetItemPath:O,originalItemPath:r.itemPath,originalRaw:o}),Pt}U||(De=await Qi({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:O,previousItemPath:r.itemPath,document:u}))}finally{await oe()}let Le=[...await ae({path:O,scope:"project",op:e.op,item_id:u.metadata.id,item_type:u.metadata.type,before:c,after:u,changed_fields:d.changedFields}),...await ae({path:h,scope:"project",op:`${e.op}:history`,item_id:u.metadata.id,item_type:u.metadata.type,before:c,after:u,changed_fields:d.changedFields})];return Qo({id:u.metadata.id,op:e.op,item_type:u.metadata.type,previous_status:c.metadata.status,status:u.metadata.status,previous:br(c.metadata,d.changedFields),current:br(u.metadata,d.changedFields),changed_fields:d.changedFields}),{item:u.metadata,body:u.body,changedFields:d.changedFields,warnings:[...s,...d.warnings??[],...p.warnings,...E.warnings,...De,...Le]}}finally{await a()}}async function P0(e){let t=await h_({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:"delete",author:e.author,force:e.force}),{located:n,originalRaw:r,document:o,warnings:i,releaseLock:s}=t;try{let a=__(void 0),c=Ce(o,{schema:e.settings.schema,extensionFieldNames:a});await Zo({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:yl({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await Oi({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),d=X(),u=Zn,p=Zt({nowIso:d,author:e.author,op:"delete",before:c,after:u,message:e.message}),f=hn(e.pmRoot,n.id),y=await xe("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:f,before:c}),g=n.itemPath,h=!1;if(y.handled&&typeof y.result=="object"&&y.result!==null){let U=y.result;typeof U.item_path=="string"&&U.item_path.trim().length>0&&(g=U.item_path),U.skip_delete===!0&&(h=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...l.warnings,...y.warnings]};let E=await Ji(e.pmRoot,e.author),O=[];try{h||await Ct.rm(g);try{await en(f,p)}catch(U){throw h||await P(g,r),U}h||(O=await Qi({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await E()}let z=[...await ae({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:u,changed_fields:["deleted"]}),...await ae({path:f,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:u,changed_fields:["deleted"]})];return Qo({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:br(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...l.warnings,...y.warnings,...O,...z]}}finally{await 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]="b5ce7132-0024-5d42-9cb8-585933beb7c7")}catch{}})();var M0=3e4;function on(e,t,n=M0){let r=e??n;if(!Number.isFinite(r)||r<=0)throw new Error(`${t} timeout must be a positive finite number`);return Math.floor(r)}function sn(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 F0(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${$(t)})`}}async function ts(e){let t=new AbortController,n=setTimeout(()=>{t.abort()},e.timeoutMs);try{let r;try{r=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: ${$(o)}`)}if(!r.ok){let o=await F0(r),i=o.length>0?`: ${o}`:"";throw new Error(`${e.requestLabel} failed with status ${r.status} ${r.statusText}${i}`)}try{return await r.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${$(o)}`)}}finally{clearTimeout(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]="af754be6-8026-530a-8a20-b03d4ed742e1")}catch{}})();function xB(e,t){let n=L(e);if(!n)return"unconfigured";let r=L(t);return r&&r.toLowerCase()===n.toLowerCase()?"configured":"auto-detected"}function $0(e){let t=er(e),n=t.toLowerCase();return n.endsWith("/embeddings")?t:n.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function w_(e){let t=e.search?.embedding_model;return L(t)||null}function j0(e){let t=L(e.providers?.openai?.base_url),n=L(e.providers?.openai?.model);if(!t||!n)return null;let r=w_(e),o=L(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:r??n,...o?{api_key:o}:{}}}function z0(e){let t=L(e.providers?.ollama?.base_url),n=L(e.providers?.ollama?.model);if(!t||!n)return null;let r=w_(e);return{name:"ollama",base_url:t,model:r??n}}function E_(e){let t=(Array.isArray(e)?e:[e]).map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new Error("Embedding input must include at least one non-empty string");return t}function U0(e){let t=[],n=[],r=new Map;for(let o of e){let i=r.get(o);if(i===void 0){let s=t.length;t.push(o),r.set(o,s),n.push(s);continue}n.push(i)}return{uniqueInputs:t,originalToUniqueIndex:n}}function q0(e){let t=e.map((r,o)=>({embedding:r.embedding,index:r.index,position:o}));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,o)=>{let i=r.index-o.index;return i!==0?i:r.position-o.position})}return t}function ns(e){let t=j0(e),n=z0(e),r=[t,n].filter(a=>a!==null),o=L(e.search?.provider),i=o?o.toLowerCase():null;return{active:(i?r.find(a=>a.name===i):void 0)??r[0]??null,available:r}}function b_(e){let t=er(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:$0(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function G0(e,t){let n=E_(t);return e.name==="openai"?{target:b_(e),method:"POST",headers:{"content-type":"application/json",...e.api_key?{authorization:`Bearer ${e.api_key}`}:{}},body:{model:e.model,input:n.length===1?n[0]:n}}:{target:b_(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:n}}}function V0(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 q0(o).map((s,a)=>{let c=s.embedding;if(!un(c))throw new Error(`OpenAI embedding response entry at index ${a} is missing a numeric embedding vector`);return[...c]})}let n=t.embedding;if(un(n))return[[...n]];let r=t.embeddings;if(Array.isArray(r)&&r.length>0)return r.map((o,i)=>{if(!un(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 T_(e,t,n={}){let r=on(n.timeout_ms,"Embedding request"),o=sn(n.fetcher,"Embedding request"),i=E_(t),s=U0(i),a=G0(e,s.uniqueInputs),c=await ts({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:r,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),l=V0(e,c);if(l.length!==s.uniqueInputs.length)throw new Error(`Embedding response cardinality mismatch: expected ${s.uniqueInputs.length} vector(s), received ${l.length}`);return s.originalToUniqueIndex.map(d=>[...l[d]])}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="61c0153b-8fa5-5c26-aa88-ca9807f2d160")}catch{}})();var rs=["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 hl(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...rs];let n=new Set(rs),r=Array.from(new Set(t.filter(o=>typeof o=="string").map(o=>o.trim()).filter(o=>o.length>0&&n.has(o))));return r.length>0?r:[...rs]}var B0=8e3,bl=3200,an="...[semantic corpus truncated]",H0="search_embedding_corpus_max_characters_invalid:using_provider_default";function We(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function W0(e){return(e.reminders??[]).map(t=>We([t.at,t.text]))}function K0(e){return(e.events??[]).map(t=>We([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 Y0(e,t){e.push(t.title,t.body,t.status,t.owner,t.evidence,t.blocked_reason,t.superseded_by);for(let n of t.linked_items??[])e.push(`${n.kind} ${n.id}`,n.note);for(let n of t.files??[])e.push(n.path,n.note);for(let n of t.tests??[])e.push(n.command,n.path,n.note);for(let n of t.docs??[])e.push(n.path,n.note)}function X0(e,t){for(let n of t.plan_decisions??[])e.push(n.decision,n.rationale,n.evidence);for(let n of t.plan_discoveries??[])e.push(n.text);for(let n of t.plan_validation??[])e.push(n.text,n.command,n.expected)}function IB(e){let t=[];t.push(e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context);for(let n of e.plan_steps??[])Y0(t,n);return X0(t,e),t.filter(n=>typeof n=="string"&&n.length>0).join(" ")}function J0(e){let t=(e.plan_steps??[]).map(s=>We([s.order,s.id,s.title,s.body,s.status,s.owner,s.evidence,s.blocked_reason,s.superseded_by,(s.linked_items??[]).map(a=>We([a.kind,a.id,a.note])).join(" "),(s.files??[]).map(a=>We([a.path,a.note])).join(" "),(s.tests??[]).map(a=>We([a.command,a.path,a.note])).join(" "),(s.docs??[]).map(a=>We([a.path,a.note])).join(" ")])),n=(e.plan_decisions??[]).map(s=>We([s.decision,s.rationale,s.evidence,s.step_id])),r=(e.plan_discoveries??[]).map(s=>We([s.text,s.step_id])),o=(e.plan_validation??[]).map(s=>We([s.text,s.command,s.expected]));if([e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context,...t,...n,...r,...o].some(s=>s!==void 0))return{mode:e.plan_mode,scope:e.plan_scope,harness:e.plan_harness,resume_context:e.plan_resume_context,steps:t,decisions:n,discoveries:r,validation:o}}function He(e){return typeof e=="string"&&e.trim().length>0}var Q0={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=>He(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>He(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>He(e.metadata.goal)?e.metadata.goal:void 0,value:e=>He(e.metadata.value)?e.metadata.value:void 0,why_now:e=>He(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>He(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=>He(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>He(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>He(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>He(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=>W0(e.metadata),events:e=>K0(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>J0(e.metadata)};function v_(e,t={}){let n=t.fields??rs,r={};for(let o of n){let i=Q0[o];if(!i)continue;let s=i(e);s!==void 0&&(r[o]=s)}return r}function Z0(e){return e?.trim().toLowerCase()==="ollama"?bl:B0}function Vn(e,t){let n=Z0(e),r=Yd(t);return r!==null?{maxCharacters:r,warning:null}:{maxCharacters:n,warning:t==null?null:H0}}function wl(e,t={}){let n=JSON.stringify(v_(e,{fields:t.fields})),r=Vn(t.providerName,t.maxCharacters).maxCharacters;if(n.length<=r)return n;if(r<=an.length)return an.slice(0,r);let o=Math.max(0,r-an.length);return`${n.slice(0,o)}${an}`}(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]="2c518b97-bc75-5e3f-91e8-d6779d565558")}catch{}})();function eD(e,t){let n=e.search.embedding_batch_size,r=e.search.embedding_timeout_ms,o=e.search.scanner_max_batch_retries,i=Number.isFinite(n)&&n>0?Math.floor(n):1,s=Number.isFinite(r)&&r>0?Math.floor(r):3e4,a=Number.isFinite(o)&&o>=0?Math.floor(o):0;return{batchSize:i,timeoutMs:s,maxRetries:a,maxBatchInputCharacters:Number.POSITIVE_INFINITY,maxInputCharacters:t}}function tD(e,t,n){let r=[],o=[],i=0;for(let s of e){let a=o.length>=t,c=o.length>0&&Number.isFinite(n)&&i+s.length>n;(a||c)&&(r.push(o),o=[],i=0),o.push(s),i+=s.length}return r.push(o),r}function nD(e,t){return e.name!=="ollama"?t:{...t,maxBatchInputCharacters:bl}}function rD(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let n=Math.max(0,t-an.length);return`${e.slice(0,n)}${an}`.slice(0,t)}function A_(e){let t=$(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function oD(e,t,n,r,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${$(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${n} timeout_ms=${r}`;return A_(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})`}async function El(e,t,n,r,o,i){let s=null;for(let a=0;a<=o;a+=1)try{let c=await T_(e,t,{timeout_ms:r});return a>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${n}:attempt=${a+1}:size=${t.length}`),c}catch(c){if(s=c,A_(c)&&t.length>1){let l=Math.ceil(t.length/2),d=t.slice(0,l),u=t.slice(l);return i.push(`search_embedding_batch_split_after_timeout:batch=${n}:size=${t.length}:parts=${d.length}|${u.length}`),[...await El(e,d,`${n}.1`,r,o,i),...await El(e,u,`${n}.2`,r,o,i)]}if(a<o){let l=Math.min(1e3*2**a,8e3);await new Promise(d=>setTimeout(d,l))}}throw new Error(oD(e,n,t.length,r,o+1,s))}async function Tl(e,t,n,r={}){if(n.length===0)return{vectors:[],warnings:[]};let o=[],i=Vn(e.name,t.search.embedding_corpus_max_characters);i.warning&&o.push(i.warning);let s=nD(e,eD(t,i.maxCharacters)),a=0,c=n.map(p=>{let f=rD(p,s.maxInputCharacters);return f.length<p.length&&(a+=1),f});a>0&&o.push(`search_embedding_input_truncated:count=${a}:max_characters=${s.maxInputCharacters}`);let l=tD(c,s.batchSize,s.maxBatchInputCharacters),d=[],u=0;for(let p=0;p<l.length;p+=1){let f=l[p];r.onProgress?.({batch_index:p+1,batch_total:l.length,batch_size:f.length,completed_inputs:u,total_inputs:c.length,phase:"start"}),d.push(...await El(e,f,String(p+1),s.timeoutMs,s.maxRetries,o)),u+=f.length,r.onProgress?.({batch_index:p+1,batch_total:l.length,batch_size:f.length,completed_inputs:u,total_inputs:c.length,phase:"complete"})}return{vectors:d,warnings:o}}import{mkdir as iD,readFile as sD,stat as Sl,unlink as aD}from"node:fs/promises";import{basename as S_,dirname as vl,isAbsolute as cD,join as lD,resolve as kl}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]="7bac9506-dcad-5e52-848b-3e2631d4936c")}catch{}})();var xl="pm_items",dD=/[^a-zA-Z0-9_-]/g,uD=128,fD=".pm-cli-local-vectors",Al=1,cn=new Map;function Xr(e){return(L(e.collection_name)??xl).replaceAll(dD,"_").slice(0,uD)}function os(e){if(!un(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function x_(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function pD(e){let t=e.result;if(!Array.isArray(t))throw new TypeError("Qdrant query response must include a result array");let n=t.map((r,o)=>{let i=r.id,s=typeof i=="number"?String(i):i,a=L(s);if(!a)throw new Error(`Qdrant query response entry at index ${o} is missing a non-empty id`);let c=r.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 l=r.payload;if(l!==void 0&&(typeof l!="object"||l===null||Array.isArray(l)))throw new Error(`Qdrant query response entry at index ${o} must provide payload as an object when set`);return{id:a,score:c,...l?{payload:l}:{}}});return n.sort((r,o)=>r.score!==o.score?o.score-r.score:r.id.localeCompare(o.id)),n}function Cl(e){let t=L(e.result?.status);if(t)return{status:t};let n=L(e.status);if(n)return{status:n};throw new Error("Qdrant upsert response must include status metadata")}async function Yr(e,t,n,r,o){return await ts({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:n,fetcher:r,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function mD(e){let t=L(e.vector_store?.qdrant?.url);if(!t)return null;let n=L(e.vector_store?.collection_name),r=L(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...n&&n!==xl?{collection_name:n}:{},...r?{api_key:r}:{}}}function gD(e){let t=kl(e),n=vl(t);return S_(t)==="pm"&&S_(n)===".agents"?vl(n):t}function _D(e,t){return!t||cD(e)?e:kl(gD(t),e)}function yD(e,t){let n=L(e.vector_store?.lancedb?.path);if(!n)return null;let r=L(e.vector_store?.collection_name);return{name:"lancedb",path:_D(n,t),...r&&r!==xl?{collection_name:r}:{}}}function hD(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,n)=>{let r=L(t.id);if(!r)throw new Error(`Vector upsert record at index ${n} is missing a non-empty id`);let o=os(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 ${n} must provide payload as an object when set`);return{id:r,vector:o,...i?{payload:i}:{}}})}function bD(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((r,o)=>{let i=L(r);if(!i)throw new Error(`Vector delete id at index ${o} is missing a non-empty value`);return i}).sort((r,o)=>r.localeCompare(o)),n=[];for(let r of t)n.at(-1)!==r&&n.push(r);return n}function wD(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function ED(e){return e.replace(/\/points\?wait=true$/,"")}function is(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function ss(e,t){return Bn(e,t)}function Bn(e,t){return lD(kl(e),fD,`${t}.json`)}function Ol(e,t){return typeof e=="object"&&e!==null&&e.code===t}function TD(e,t,n){let r=L(e.id);if(!r)throw new Error(`LanceDB local snapshot '${n}' record at index ${t} is missing a non-empty id`);let o=os(e.vector),i=e.payload;if(i!==void 0&&(typeof i!="object"||i===null||Array.isArray(i)))throw new Error(`LanceDB local snapshot '${n}' record '${r}' must provide payload as an object when set`);return{id:r,vector:o,...i?{payload:i}:{}}}function vD(e,t,n){let r;try{r=JSON.parse(n)}catch(c){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${$(c)}`)}if(typeof r!="object"||r===null||Array.isArray(r))throw new Error(`LanceDB local snapshot at '${e}' must be a JSON object`);if(r.version!==Al)throw new Error(`LanceDB local snapshot at '${e}' must include version=${Al}`);let i=L(r.table);if(!i)throw new Error(`LanceDB local snapshot at '${e}' must include a non-empty table value`);if(i!==t)throw new Error(`LanceDB local snapshot at '${e}' table mismatch: expected '${t}', received '${i}'`);let s=r.records;if(!Array.isArray(s))throw new TypeError(`LanceDB local snapshot at '${e}' must include a records array`);let a=new Map;for(let c=0;c<s.length;c+=1){let l=TD(s[c],c,e);a.set(l.id,l)}return a}async function AD(e){try{let t=await Sl(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!Ol(t,"ENOENT"))throw t;return null}}function SD(e,t){if(!t)return null;if(t.mtimeMs===null&&t.size===null&&t.records.size===0)return t.records;let n=new Map;return cn.set(e,{records:n,mtimeMs:null,size:null}),n}function kD(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Il(e,t){let n=ss(e,t),r=Bn(e,t),o=await AD(r),i=cn.get(n);if(!o){let a=SD(n,i);if(a)return a}if(kD(i,o))return i.records;let s=new Map;try{let a=await sD(r,"utf8");s=vD(r,t,a)}catch(a){if(!Ol(a,"ENOENT"))throw a}return cn.set(n,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function xD(e){let t=[...e.values()];return t.sort((n,r)=>n.id.localeCompare(r.id)),t.map(n=>({id:n.id,vector:[...n.vector],...n.payload?{payload:n.payload}:{}}))}async function C_(e){try{await aD(e)}catch(t){if(!Ol(t,"ENOENT"))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${$(t)}`)}}async function O_(e,t,n){let r=Bn(e,t);if(n.size===0){await C_(r);return}let o=vl(r);try{await iD(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${$(s)}`)}let i=`${JSON.stringify({version:Al,table:t,records:xD(n)})}
|
|
175
|
+
`;try{await P(r,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${r}': ${$(s)}`)}}async function CD(e,t){let n=ss(e,t),r=Bn(e,t);await C_(r),cn.delete(n)}function k_(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function OD(e,t){let n=0;for(let i=0;i<e.length;i+=1)n+=e[i]*t[i];let r=k_(e),o=k_(t);return r===0||o===0?0:n/(r*o)}function as(e,t){let n=mD(e),r=yD(e,t),o=[n,r].filter(c=>c!==null),i=L(e.vector_store?.adapter),s=i?i.toLowerCase():null;return{active:(s?o.find(c=>c.name===s):void 0)??o[0]??null,available:o}}function cs(e){let t=Xr(e);if(e.name==="qdrant"){let o=er(e.url),i=encodeURIComponent(t);return{store:"qdrant",query_target:`${o}/collections/${i}/points/search`,upsert_target:`${o}/collections/${i}/points?wait=true`}}let n=encodeURIComponent(e.path),r=encodeURIComponent(t);return{store:"lancedb",query_target:`lancedb://${n}#${r}`,upsert_target:`lancedb://${n}#${r}`}}function ID(e,t,n){let r=cs(e),o=os(t),i=x_(n);return e.name==="qdrant"?{target:r,method:"POST",headers:is(e),body:{vector:o,limit:i,with_payload:!0}}:{target:r,method:"LOCAL",headers:{},body:{table:Xr(e),vector:o,limit:i}}}function RD(e,t){let n=cs(e),r=hD(t);return e.name==="qdrant"?{target:n,method:"POST",headers:is(e),body:{points:r}}:{target:n,method:"LOCAL",headers:{},body:{table:Xr(e),records:r}}}function ND(e,t){let n=cs(e),r=bD(t);return e.name==="qdrant"?{target:n,method:"POST",headers:is(e),body:{points:r}}:{target:n,method:"LOCAL",headers:{},body:{table:Xr(e),ids:r}}}async function UB(e,t,n,r={}){let o=ID(e,t,n);if(o.method==="LOCAL"){let c=e,l=o.body,d=await Il(c.path,l.table);if(d.size===0)return[];let u=os(l.vector),p=x_(l.limit),f=[],y=0;for(let g of d.values()){if(g.vector.length!==u.length){y++;continue}f.push({id:g.id,score:OD(u,g.vector),...g.payload?{payload:g.payload}:{}})}return y>0&&r.warnings&&r.warnings.push(`vector_dimension_mismatch:${y} records skipped (expected ${u.length} dimensions)`),f.sort((g,h)=>g.score!==h.score?h.score-g.score:g.id.localeCompare(h.id)),f.slice(0,p)}let i=on(r.timeout_ms,"Vector request"),s=sn(r.fetcher,"Vector request"),a=await Yr(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return pD(a)}async function Rl(e,t,n={}){let r=RD(e,t);if(r.method==="LOCAL"){let a=e,c=r.body,l=ss(a.path,c.table),d=await Il(a.path,c.table);for(let f of c.records)d.set(f.id,f);await O_(a.path,c.table,d);let u=Bn(a.path,c.table),p=await Sl(u);return cn.set(l,{records:d,mtimeMs:p.mtimeMs,size:p.size}),{status:"ok"}}let o=on(n.timeout_ms,"Vector request"),i=sn(n.fetcher,"Vector request"),s=await Yr(r.target.upsert_target,{method:"POST",headers:r.headers,body:r.body},o,i,"upsert");return Cl(s)}async function ls(e,t,n={}){let r=ND(e,t);if(r.method==="LOCAL"){let a=e,c=r.body,l=ss(a.path,c.table),d=await Il(a.path,c.table);if(d.size===0)return{status:"ok"};for(let u of c.ids)d.delete(u);if(await O_(a.path,c.table,d),d.size===0)cn.delete(l);else{let u=Bn(a.path,c.table),p=await Sl(u);cn.set(l,{records:d,mtimeMs:p.mtimeMs,size:p.size})}return{status:"ok"}}let o=on(n.timeout_ms,"Vector request"),i=sn(n.fetcher,"Vector request"),s=await Yr(wD(r.target.upsert_target),{method:"POST",headers:r.headers,body:r.body},o,i,"delete");return Cl(s)}async function I_(e,t=[],n={},r){if(e.name==="lancedb")return await CD(e.path,Xr(e)),{status:"ok"};if(r!==void 0){if(!Number.isInteger(r)||r<=0)throw new Error("Vector reset dimension must be a positive integer when provided");let i=cs(e),s=ED(i.upsert_target),a=on(n.timeout_ms,"Vector request"),c=sn(n.fetcher,"Vector request"),l=is(e);try{await Yr(s,{method:"DELETE",headers:l,body:{}},a,c,"delete")}catch(u){if(!$(u).includes("failed with status 404"))throw u}let d=await Yr(s,{method:"PUT",headers:l,body:{vectors:{size:r,distance:"Cosine"}}},a,c,"upsert");return Cl(d)}let o=t.map(i=>i.trim()).filter(i=>i.length>0);return o.length===0?{status:"ok"}:await ls(e,o,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]="4b3ad5fc-0f86-5f20-a23b-19d447cb0973")}catch{}})();function ds(e,t){let n=L(e),r=L(t);return!n||!r?null:{provider:n,model:r}}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=ds(e.provider,e.model),n=e.vector_dimension;if(!t||typeof n!="number"||!Number.isInteger(n)||n<=0)throw new Error("Vectorization embedding metadata must include provider, model, and positive vector_dimension");return{...t,vector_dimension:n}}function Nl(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 Dl(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function Ll(e,t){return!!(e&&e.vector_dimension!==t)}function Pl(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 o=1;o<e.length;o+=1)if(e[o]?.length!==r)throw new Error(`${t} returned mixed vector dimensions`);return r}import Ml 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]="7939a590-3662-5c66-99aa-3835a0dbaecc")}catch{}})();var DD=["index/manifest.json","search/embeddings.jsonl"],D_="search/vectorization-status.json";function LD(e,t){return`search_cache_invalidation_failed:${e}:${String(t)}`}function Hn(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function L_(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function P_(e){let t=new Map;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!L_(r)||t.set(o,r)}return Object.fromEntries([...t.entries()].sort((n,r)=>n[0].localeCompare(r[0])))}async function M_(e){let t=Ml.join(e,D_),n=await W(t);if(n===null||n.trim().length===0)return{entries:{},embedding:null,warnings:[]};let r;try{r=JSON.parse(n)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}if(typeof r!="object"||r===null||r.version!==1||!Array.isArray(r.items))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let o=new Map;for(let s of r.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||!L_(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=R_(r.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 F_(e,t,n){let r=P_(t),o=Ml.join(e,D_),i=`${JSON.stringify({version:1,generated_at:X(),...n?{embedding:n}:{},items:Object.entries(r).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
|
|
176
|
+
`;await P(o,i)}function PD(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function MD(e){let t=ds(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function Jr(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function FD(e,t,n){if(!n.settings&&!await Y(ye(e)))return Jr(t,"search_semantic_refresh_skipped:settings_not_initialized");let r;try{if(n.settings)r=n.settings;else{let a=await kt(e),c=a.warnings.find(l=>l.startsWith("settings_read_"));if(c)return Jr(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);r=a.settings}}catch(a){return Jr(t,`search_semantic_refresh_skipped:settings_read_failed:${$(a)}`)}let o=n.apply_runtime_defaults?zn(r).settings:r,i=ns(o).active;if(!i)return Jr(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=as(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:Jr(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function $D(e,t,n,r,o,i){let s=[],a=new Set,c=new Set,l=[];for(let d of r){let u=await Wr(e,d,t,n,o);if(!u){c.add(d);continue}try{let p=await Kr(u,{schema:i});l.push({id:p.document.metadata.id,document:p.document})}catch(p){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${$(p)}`)}}return l.sort((d,u)=>d.id.localeCompare(u.id)),{documents:l,missingIds:Hn(c),skippedIds:Hn(a),warnings:s}}async function jD(e,t,n){let r=Vn(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=hl(e),i=n.map(a=>wl(a.document,{providerName:t.name,maxCharacters:r,fields:o})),s=await Tl(t,e,i);return{vectors:s.vectors,vector_dimension:Pl(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function zD(e,t,n){return await Rl(e,t.map((r,o)=>({id:r.id,vector:n[o],payload:PD(r.document.metadata)}))),{refreshed:t.map(r=>r.id),skipped:[],warnings:[]}}async function UD(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await ls(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(n){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${$(n)}`]}}}async function qD(e){let t=[],n=[];for(let r of DD){let o=Ml.join(e,r);try{if(!await Y(o))continue;await Jn(o),t.push(r)}catch(i){n.push(LD(r,i))}}return{invalidated:t,warnings:n}}async function N_(e,t,n={}){let r=Hn(t);if(r.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await FD(e,r,n);if(!("settings"in o))return o;let i=or(o.settings,yt()),s=await $D(e,o.settings.id_prefix,o.settings.item_format,r,i.type_to_folder,o.settings.schema),a=s.documents.length>0||s.missingIds.length>0?await M_(e):{entries:{},embedding:null,warnings:[]},c=MD(o.provider),l=a.entries,d={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Dl(a.embedding,c))d={refreshed:[],skipped:s.documents.map(h=>h.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let h=await jD(o.settings,o.provider,s.documents);if(Ll(a.embedding,h.vector_dimension))d={refreshed:[],skipped:s.documents.map(E=>E.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=Nl(c,h.vector_dimension);let E=await zD(o.vectorStore,s.documents,h.vectors);d={refreshed:E.refreshed,skipped:E.skipped,warnings:[...h.warnings,...E.warnings]}}}catch(h){d={refreshed:[],skipped:s.documents.map(E=>E.id),warnings:[`search_semantic_refresh_failed:${$(h)}`]}}let p=await UD(o.vectorStore,s.missingIds),f=new Set(d.refreshed),y=Object.fromEntries(s.documents.filter(h=>f.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),g=[];if(Object.keys(y).length>0||s.missingIds.length>0){let h={...l,...P_(y)};for(let E of s.missingIds)delete h[E];try{await F_(e,h,u)}catch(E){g.push(`search_vectorization_status_ledger_write_failed:${$(E)}`)}g.push(...a.warnings)}return{refreshed:Hn([...d.refreshed,...p.refreshed]),skipped:Hn([...s.skippedIds,...d.skipped,...p.skipped]),warnings:[...s.warnings,...d.warnings,...p.warnings,...g]}}function GD(e,t){let n=t?zn(e).settings:e;return!!(ns(n).active&&as(n).active)}async function Fl(e,t,n={}){let r=await qD(e),o=Hn(t);if(o.length===0)return{invalidated:r.invalidated,refreshed:[],skipped:[],warnings:r.warnings};if(!await Y(ye(e))){let c=await N_(e,o);return{invalidated:r.invalidated,refreshed:c.refreshed,skipped:c.skipped,warnings:[...r.warnings,...c.warnings]}}let i;try{let c=await kt(e),l=c.warnings.find(d=>d.startsWith("settings_read_"));if(l)return{invalidated:r.invalidated,refreshed:[],skipped:o,warnings:[...r.warnings,`search_semantic_refresh_skipped:settings_read_failed:${l}`]};i=c.settings}catch(c){return{invalidated:r.invalidated,refreshed:[],skipped:o,warnings:[...r.warnings,`search_semantic_refresh_skipped:settings_read_failed:${$(c)}`]}}if(i.search.mutation_refresh_policy==="cache_only")return{invalidated:r.invalidated,refreshed:[],skipped:o,warnings:r.warnings};let s=i.search.mutation_refresh_policy==="semantic_auto";if(n.background&&GD(i,s))return await Zg(e,o),{invalidated:r.invalidated,refreshed:[],skipped:[],warnings:[...r.warnings,"search_semantic_refresh_scheduled_background"],scheduled:!0};let a=await N_(e,o,{settings:i,apply_runtime_defaults:s});return{invalidated:r.invalidated,refreshed:a.refreshed,skipped:a.skipped,warnings:[...r.warnings,...a.warnings]}}import{createRequire as VD}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]="8eb48648-6e55-5710-990e-6471c7cdcde0")}catch{}})();var $_=new Set(["1","true","yes","on"]);function BD(){return!!($_.has((process.env.PM_SENTRY_DISABLED??"").trim().toLowerCase())||$_.has((process.env.PM_TELEMETRY_DISABLED??"").trim().toLowerCase())||process.env.VITEST||process.env.VITEST_WORKER_ID)}var G_=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,HD=new RegExp(`\\b(${G_.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu"),WD=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,KD=/file:\/\/\/?[^\s"'`),;]+/giu,YD=/\b[A-Za-z]:\\[^\s"'`),;]+/g,XD=/\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,JD=/(?:^|[_-])(path|filename|file|module|cwd|dir|directory|location|source|script)s?$/i;var QD=["[starter-extension] activating","[starter-extension] all 8 capabilities registered.","[starter-extension] commands:","[starter] preflight check for workspace","[starter] output_format service override active","[pm-ext-ts-starter] activating","[pm-ext-ts-starter] all capabilities registered.","run `pm init` first to initialise a pm workspace"];function j_(e){let t=e.trim();return t.length===0?!1:t.startsWith("/")||t.startsWith("file://")||/^[A-Za-z]:\\/.test(t)||t.startsWith("\\\\")?!0:t.includes("/home/")}function Ke(e,t){if(t&&JD.test(t)&&j_(e))return"[scrubbed_path]";let n=e.replaceAll(HD,(r,o)=>`${o}=[scrubbed]`).replaceAll(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/giu,"[scrubbed_email]").replaceAll(/bearer\s+[a-z0-9._=-]+/giu,"bearer [scrubbed]").replaceAll(/sntr[ysu]_[A-Za-z0-9_-]+/g,"[scrubbed_sentry_token]").replaceAll(XD,"[scrubbed_ip]").replaceAll(KD,"[scrubbed_path]").replaceAll(YD,"[scrubbed_path]").replaceAll(WD,(r,o)=>`${o}[scrubbed_path]`);return j_(n)?"[scrubbed_path]":n}function Ot(e){let t={};for(let[n,r]of Object.entries(e))G_.test(n)?t[n]="[scrubbed]":typeof r=="string"?t[n]=Ke(r,n):Array.isArray(r)?t[n]=r.map(o=>typeof o=="string"?Ke(o,n):o&&typeof o=="object"?Ot(o):o):r&&typeof r=="object"?t[n]=Ot(r):t[n]=r;return t}function ZD(e){for(let n of["filename","absPath","abs_path","module"]){let r=e[n];typeof r=="string"&&(e[n]=Ke(r,n))}let t=e.context_line;typeof t=="string"&&(e.context_line=Ke(t,"context_line"));for(let n of["pre_context","post_context"]){let r=e[n];Array.isArray(r)&&(e[n]=r.map(o=>typeof o=="string"?Ke(o,n):o))}e.vars&&typeof e.vars=="object"&&(e.vars=Ot(e.vars)),e.data&&typeof e.data=="object"&&(e.data=Ot(e.data))}var eL=VD(import.meta.url),tL=()=>eL("@sentry/node"),$l,z_=!1,nL=tL,rL="https://bf7ad2ec76c0051c2ee94e48e8bd6868@o4510603477712896.ingest.de.sentry.io/4511316775338064";function jl(e){return/^\s*PmCliError:/.test(e)}function zl(e){let t=e.trim().toLowerCase();return t.length===0?!1:QD.some(n=>t.includes(n))}function oL(e){return e.logger!=="console"?!1:typeof e.message=="string"&&zl(e.message)?!0:Array.isArray(e.exception?.values)&&e.exception.values.some(t=>typeof t.value=="string"&&zl(t.value))}function iL(e){if(e.logger!=="console")return!1;let t=n=>typeof n=="string"&&/^\(node:\d+\) MaxListenersExceededWarning: Possible EventEmitter memory leak detected\./.test(n);return t(e.message)?!0:Array.isArray(e.exception?.values)&&e.exception.values.some(n=>t(n.value))}function sL(e){return!!(e.exception?.values?.some(t=>t.type==="PmCliError")||e.exception?.values?.some(t=>typeof t.value=="string"&&jl(t.value))||e.logger==="console"&&typeof e.message=="string"&&jl(e.message))}function V_(e){return e.category==="console"&&typeof e.message=="string"&&jl(e.message)}function B_(e){return e.category==="console"&&typeof e.message=="string"&&zl(e.message)}function aL(){return Gs(import.meta.url,["../../.."])??"0.0.0"}function cL(){let e=process.env.SENTRY_ENVIRONMENT?.trim();return e&&e.length>0?e:process.env.VITEST||process.env.VITEST_WORKER_ID||process.env.NODE_ENV==="test"?"test":process.env.CI?"ci":"production"}var U_=.2;function lL(){let e=process.env.SENTRY_TRACES_SAMPLE_RATE?.trim();if(!e)return U_;let t=Number(e);return!Number.isFinite(t)||t<0||t>1?U_:t}function dL(e){if(e.exception?.values){for(let t of e.exception.values)if(t.value&&(t.value=Ke(t.value,"value")),t.stacktrace?.frames)for(let n of t.stacktrace.frames)ZD(n)}}function H_(e){if(e.breadcrumbs)for(let t of e.breadcrumbs)t.message&&(t.message=Ke(t.message)),t.data&&typeof t.data=="object"&&(t.data=Ot(t.data))}function W_(e){if(e.contexts)for(let[t,n]of Object.entries(e.contexts))n&&typeof n=="object"&&(e.contexts[t]=Ot(n))}function q_(e,t){let n=e,r=n[t];r&&typeof r=="object"&&(n[t]=Ot(r))}var uL=e=>{if(sL(e)||oL(e))return null;iL(e)&&(e.level="warning",e.tags={...e.tags,"pm.diagnostic_class":"node_runtime_warning"}),e.message&&(e.message=Ke(e.message,"message")),e.transaction&&(e.transaction=Ke(e.transaction,"transaction")),dL(e),H_(e),q_(e,"extra"),W_(e);for(let t of["request","user","tags"])q_(e,t);return e},fL=e=>(e.breadcrumbs&&(e.breadcrumbs=e.breadcrumbs.filter(t=>!V_(t)&&!B_(t)),H_(e)),W_(e),e),pL=e=>V_(e)||B_(e)?null:(e.message&&(e.message=Ke(e.message,"message")),e.data&&typeof e.data=="object"&&(e.data=Ot(e.data)),e);async function mL(){if(z_)return $l;if(z_=!0,BD())return;let e=nL();$l=e;let t=process.env.SENTRY_DSN?.trim()||rL,n=aL();return e.init({dsn:t,release:`pm-cli@${n}`,environment:cL(),tracesSampleRate:lL(),enableLogs:!0,attachStacktrace:!0,normalizeDepth:6,shutdownTimeout:3e3,sendDefaultPii:!1,serverName:void 0,integrations:[e.extraErrorDataIntegration({depth:4}),e.captureConsoleIntegration({levels:["warn","error"]})],initialScope:{tags:{"cli.name":"pm-cli","cli.version":n,"runtime.node":process.version,"runtime.platform":process.platform,"runtime.arch":process.arch}},beforeSend:uL,beforeSendTransaction:fL,beforeBreadcrumb:pL}),e}function ln(){return $l}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e896db69-ed90-53f1-a227-e3d061b3bc8d")}catch{}})();var gL=new Set(["init","config","completion","completion-statuses","completion-tags","completion-types"]),_L=new Set(["list","list-all","list-open","list-in-progress","list-blocked","list-closed","list-canceled","list-draft","search","get","context","calendar","history","activity","aggregate","deps","contracts","stats"]),yL=new Set(["create","update","update-many","close-many","append","close","delete","restore","claim","release","comments","notes","learnings","files","docs","start-task","pause-task","close-task"]),hL=new Set(["test","test-all","test-runs","test-verify","trace-test","test-ping"]),bL=new Set(["health","validate","normalize","reindex","gc","telemetry","extension-doctor"]);function wL(e){return e.trim().replaceAll(/\s+/g," ").toLowerCase()}function K_(e){let t=e?.trim().toLowerCase();return t&&t.length>0?t:void 0}var EL=[{code:"unknown_command",matches:e=>e.includes("unknown command")},{code:"unknown_option",matches:e=>e.includes("unknown option")},{code:"missing_required_option",matches:e=>e.includes("missing required options")||e.includes("missing required option")},{code:"missing_required_argument",matches:e=>e.includes("missing required argument")},{code:"no_update_fields",matches:e=>e.includes("no update flags provided")},{code:"ownership_conflict",matches:e=>e.includes("is assigned to")&&e.includes("use --force")},{code:"lock_conflict",matches:e=>e.includes("is locked")},{code:"terminal_state_conflict",matches:e=>e.includes("already terminal")&&e.includes("use --force")},{code:"tracker_not_initialized",matches:e=>e.includes("tracker is not initialized")},{code:"item_not_found",matches:e=>e.includes(" not found")},{code:"close_through_update",matches:e=>e.includes('use "pm close <id> <text>" to close an item')||e.includes("invalid --status value")&&e.includes('"closed"')},{code:"invalid_argument_value",matches:e=>e.startsWith("invalid ")||e.includes(" must be ")||e.includes(" requires ")},{code:"invalid_command_usage",matches:e=>e.includes("either as positional")&&e.includes("not both")}],TL=new Map([[_.USAGE,"invalid_command_usage"],[_.NOT_FOUND,"item_not_found"],[_.CONFLICT,"lock_conflict"],[_.DEPENDENCY_FAILED,"dependency_failed"]]);function Wn(e){let t=wL(e),n=t.length>0?t.split(" "):["<unknown>"],r=n[0],o=n[n.length-1],i="other";return gL.has(r)?i="setup":_L.has(r)?i="query":yL.has(r)?i="mutation":hL.has(r)?i="testing":r==="extension"?i="extension":bL.has(r)&&(i="diagnostics"),{command_path:t.length>0?t:"<unknown>",command_root:r,command_leaf:o,command_depth:n.length,command_family:i}}function Ul(e){if(e.ok)return;let t=K_(e.errorCode);if(t)return t;let n=(e.errorMessage??"").trim().toLowerCase();for(let o of EL)if(o.matches(n))return o.code;let r=Number.isFinite(e.exitCode)?Math.max(0,Math.trunc(e.exitCode)):void 0;return r!==void 0?TL.get(r)??"command_failed":"command_failed"}function Kn(e){if(e.ok)return"success";let t=K_(e.errorCode);return t==="unknown_command"?"nonexistent_command":t==="unknown_option"?"invalid_option":t==="missing_required_option"?"missing_required_option":t==="missing_required_argument"?"missing_required_argument":t==="health_findings"?"health_findings":t==="validation_findings"?"validation_findings":e.errorCategory==="usage"?"invalid_usage":e.errorCategory==="validation"?"validation_failed":e.errorCategory==="conflict"?"conflict":e.errorCategory==="runtime"?"runtime_failed":"unknown_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]="ffe56aed-b794-5bf4-99fd-e3c5fe065163")}catch{}})();var Yn;function It(e,t,n){if(n===void 0)return;let r=e;typeof r.setAttribute=="function"&&r.setAttribute(t,n)}function us(e,t,n){typeof n=="string"&&n.trim().length>0&&e.setTag(t,n)}function vL(e,t,n){e.setTag("pm.ok",t),e.setTag("pm.command_ok",t),typeof n?.exit_code=="number"&&(e.setTag("pm.exit_code",String(n.exit_code)),e.setTag("pm.command_exit_code",String(n.exit_code))),us(e,"pm.error_code",n?.error_code),us(e,"pm.error_category",n?.error_category),us(e,"pm.command_resolution",n?.command_resolution),us(e,"pm.resolution_stage",n?.resolution_stage)}function AL(e,t,n,r){It(e,"pm.ok",t),It(e,"pm.command_ok",t),It(e,"pm.exit_code",n),It(e,"pm.command_exit_code",n),It(e,"pm.error_code",r?.error_code),It(e,"pm.error_category",r?.error_category),It(e,"pm.command_resolution",r?.command_resolution),It(e,"pm.resolution_stage",r?.resolution_stage)}function SL(e,t,n,r){let o=ln();if(!o)return;let i=Wn(e);o.setTag("pm.command",e),o.setTag("pm.command_root",i.command_root),o.setTag("pm.command_family",i.command_family),typeof r?.source_context=="string"&&r.source_context.trim().length>0&&o.setTag("pm.source_context",r.source_context);let s=t.map(a=>a.startsWith("--")?a.split("=")[0]:a);o.setContext("pm.command",{name:e,root:i.command_root,leaf:i.command_leaf,family:i.command_family,args:s,option_keys:Object.keys(n).sort(),source_context:r?.source_context,source_context_source:r?.source_context_source}),o.addBreadcrumb({category:"pm.command",message:`pm ${e}`,level:"info",data:{args:s,command_root:i.command_root,command_family:i.command_family,source_context:r?.source_context}})}function kL(e){let t=ln();t&&(Yn=t.startInactiveSpan({op:"pm.command",name:`pm ${e}`,forceTransaction:!0}))}function xL(e,t,n){if(!Yn)return;let r=e?"true":"false",o=typeof n?.exit_code=="number"?String(n.exit_code):void 0,i=ln();i&&vL(i,r,n),AL(Yn,r,o,n),Yn.setStatus(e?{code:1}:{code:2,message:t??"command_failed"}),Yn.end(),Yn=void 0}var CL="unclassified_runtime_error";function OL(e){let t=typeof e=="object"&&e!==null?e:void 0,n=typeof t?.exitCode=="number",r=n?Math.trunc(t?.exitCode):_.GENERIC_FAILURE;return{error_code:typeof t?.code=="string"&&t.code.length>0&&n?t?.code:CL,exit_code:r}}function IL(e){let t=OL(e);return{"pm.error_code":t.error_code,"pm.exit_code":String(t.exit_code)}}function RL(e){if(!DL(e))return;let t=ln();if(!t)return;let n=IL(e);if(e instanceof Error){let r={};"exitCode"in e&&typeof e.exitCode=="number"&&(r.exit_code=e.exitCode),"context"in e&&typeof e.context=="object"&&(r.error_context=e.context),t.captureException(e,{extra:r,tags:n})}else t.captureException(new Error(String(e)),{tags:n})}function NL(e){let t=ln();if(!t)return;let n=e.command_resolution??Kn({ok:!1,errorCode:e.error_code,errorCategory:e.error_category}),r=e.resolution_stage??"unknown",o={"pm.command":e.command,"pm.error_code":e.error_code,"pm.error_category":e.error_category,"pm.exit_code":e.exit_code,"pm.error_message":e.error_message,"pm.command_resolution":n,"pm.resolution_stage":r,"pm.source_context":e.source_context??""},i=t.logger;if(i&&typeof i.warn=="function"){i.warn("pm_cli_usage_error",o);return}t.captureMessage(`pm_cli_usage_error:${e.error_code}`,{level:"warning",tags:{"pm.command":e.command,"pm.error_code":e.error_code,"pm.error_category":e.error_category,"pm.exit_code":String(e.exit_code),"pm.command_resolution":n,"pm.resolution_stage":r,"pm.source_context":e.source_context??"unknown"},extra:o})}function DL(e){if(e instanceof b||e instanceof Error&&e.name==="AbortError"&&/(?:ctrl\+c|sigint|user[- ]initiated)/i.test(e.message))return!1;if(typeof e=="object"&&e!==null&&"exitCode"in e&&typeof e.exitCode=="number"){if(e instanceof Error&&e.name==="CommandError")return!1;let t=Math.trunc(e.exitCode);return!new Set([_.SUCCESS,_.USAGE,_.NOT_FOUND,_.CONFLICT]).has(t)}return!0}async function LL(e=3e3){let t=ln();if(t)try{await t.flush(e)}catch{}}import{promises as Y_}from"node:fs";import X_ 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]="611f01b6-0c72-5ea2-a44f-78877c69706c")}catch{}})();var PL="session.json";function J_(e){return X_.join(Ys(e),PL)}async function ql(e){try{let t=await Y_.readFile(J_(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n.focused_item;return typeof r=="string"&&r.trim().length>0?{focused_item:r}:{}}catch{return{}}}async function Q_(e,t){let n=J_(e);await Y_.mkdir(X_.dirname(n),{recursive:!0}),await P(n,JSON.stringify(t))}async function ML(e){return(await ql(e)).focused_item}async function FL(e,t){let n=await ql(e);await Q_(e,{...n,focused_item:t})}async function $L(e){let n={...await ql(e)};delete n.focused_item,await Q_(e,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]="7775a1f2-5167-5853-a2c5-a44d46f8e80e")}catch{}})();var jL=/\b(?:gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/,zL=/\bnpm_[A-Za-z0-9]{36}\b/,UL=/\bxox[baprs]-(?=[A-Za-z0-9-]{20,80}\b)(?=[A-Za-z0-9-]*\d)[A-Za-z0-9-]{20,80}\b/,qL=/-----BEGIN (?:[A-Z0-9]+ )?PRIVATE KEY-----/,GL=/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/,Z_=/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,VL=[{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"}],Vl=new Map(VL.map(e=>[e.action,e]));function BL(e){let t=new Map;for(let r of e)t.set(r,(t.get(r)??0)+1);let n=0;for(let r of t.values()){let o=r/e.length;n-=o*Math.log2(o)}return n}function Gl(e,t="$",n=new WeakSet){return typeof e=="string"?[{path:t,value:e}]:typeof e!="object"||e===null?[]:n.has(e)?[]:(n.add(e),Array.isArray(e)?e.flatMap((r,o)=>Gl(r,`${t}[${o}]`,n)):Object.entries(e).flatMap(([r,o])=>Gl(o,`${t}.${r}`,n)))}function ey(e){let t=[];for(let n of Gl(e)){jL.test(n.value)&&t.push({rule:"github_token",path:n.path}),zL.test(n.value)&&t.push({rule:"npm_token",path:n.path}),UL.test(n.value)&&t.push({rule:"slack_token",path:n.path}),qL.test(n.value)&&t.push({rule:"private_key",path:n.path}),GL.test(n.value)&&t.push({rule:"aws_access_key",path:n.path}),Z_.lastIndex=0;for(let r of n.value.matchAll(Z_)){let o=r[1];if(BL(o)>=3.5){t.push({rule:"high_entropy_assignment",path:n.path});break}}}return t.filter((n,r,o)=>o.findIndex(i=>i.rule===n.rule&&i.path===n.path)===r)}function HL(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new b("Mutation author is required by workspace policy.",_.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 n;try{n=ey(e.payload)}catch{return{author:t,findings:[],warnings:["secret_guard_scan_failed_open"],override_applied:!1}}if(n.length===0)return{author:t,findings:n,warnings:[],override_applied:!1};let r=[...new Set(n.map(o=>o.rule))].sort().join(",");if(e.settings.secret_guard==="block"&&e.force!==!0)throw new b(`Mutation blocked by secret guard (${r}). No detected value was logged.`,_.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:n,warnings:[`secret_guard_detected:${n.length}:rules=${r}`,...e.settings.secret_guard==="block"&&e.force===!0?["secret_guard_force_override"]:[]],override_applied:e.settings.secret_guard==="block"&&e.force===!0}}function WL(e){return Vl.has(e.trim().toLowerCase())}function KL(){return[...Vl.keys()].sort((e,t)=>e.localeCompare(t))}function S2(e){return Vl.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]="64312ac7-5a99-5a21-b99f-2bdef1b54a06")}catch{}})();var YL=/\b[a-z][a-z0-9]*-\d+(?:-[a-z0-9]+)*\b/giu;function Bl(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ny(e){return[...new Set(Bl(e).match(/[\p{L}\p{N}]+/gu)??[])]}function ty(e){let t=Bl(e);return{normalized:t,tokens:ny(t),issueCodes:[...new Set(t.match(YL)?.map(n=>n.toLowerCase())??[])]}}function ry(e,t){let n=new Set(e),r=new Set(t),o=new Set([...n,...r]);if(o.size===0)return 1;let i=0;for(let s of n)r.has(s)&&(i+=1);return i/o.size}function XL(e,t){return JL(ty(e),ty(t))}function JL(e,t){if(e.normalized===t.normalized)return{score:1,reason:"exact_title"};let n=new Set(e.issueCodes);return t.issueCodes.some(r=>n.has(r))?{score:.99,reason:"issue_code"}:{score:ry(e.tokens,t.tokens),reason:"title_token_jaccard"}}import QL 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]="376bb9d2-e202-57e7-86c8-d70a7d3fa7ab")}catch{}})();function fs(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function ZL(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,o)=>o.time-r.time)[0]?.value??e.updated_at}function oy(e,t){let n=Math.max(1,Math.trunc(t.threshold_hours)),r=(t.now??new Date).getTime(),o=fs(t.in_progress_status),i=[];for(let s of e){if(fs(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=ZL(s,t.last_history_activity?.(s)),c=Date.parse(a);if(!Number.isFinite(c))continue;let l=Math.max(0,Math.floor((r-c)/36e5));l>=n&&i.push({id:s.id,last_activity_at:a,age_hours:l})}return i.sort((s,a)=>a.age_hours-s.age_hours||s.id.localeCompare(a.id)),{threshold_hours:n,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 eP(e,t,n){let r=new Map;return await Promise.all(t.filter(o=>fs(String(o.status))===fs(n.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await Yt(QL.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&&r.set(o.id,s)})),oy(t,{...n,last_history_activity:o=>r.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]="c43dd9f2-78ac-5c22-970a-0016a06b87b3")}catch{}})();var tP=Object.freeze({"<":"<",">":">",""":'"',"'":"'","&":"&"}),nP=/&(?:lt|gt|quot|#39|amp);/g;function rP(e){return typeof e!="string"||!e.includes("<")&&!e.includes(">")?e:e.replace(nP,t=>tP[t])}function oP(e){return Hl(e,new WeakMap)}function Hl(e,t){if(typeof e=="string")return rP(e);if(Array.isArray(e)){if(t.has(e))return t.get(e);let n=[];t.set(e,n);for(let r of e)n.push(Hl(r,t));return n}if(e!==null&&typeof e=="object"){if(!iP(e))return e;if(t.has(e))return t.get(e);let n=e,r=Object.create(Object.getPrototypeOf(e));t.set(e,r);for(let[o,i]of Object.entries(n))Object.defineProperty(r,o,{value:Hl(i,t),enumerable:!0,writable:!0,configurable:!0});return r}return e}function iP(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===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]="0ce743d1-917a-5c96-b038-c95e3922bc48")}catch{}})();function sP(e){let t=null;return()=>(t??=e(),t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="868dfae8-2575-5d5f-8425-c7e68aefdc84")}catch{}})();function iy(e){return e.split(/[\s,|]+/).map(t=>t.trim()).filter(t=>t.startsWith("--"))}function aP(e){return iy(e)[0]??null}function cP(e,t){let n=aP(t);if(n===null)return!1;let r=o=>o.slice(2).replaceAll("-","_");return iy(e).some(o=>!o.slice(2).includes("-")||n===o?!1:r(n)===r(o))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4ecab833-db06-5baa-bfe6-d28b4c97f85a")}catch{}})();function lP(e,t){if(e==null)return[];let n=t?.separators??/,/,o=e.split(n).map(a=>a.trim()).filter(a=>a.length>0),s=t?.unique!==!1?Array.from(new Set(o)):o;return t?.sort===!0?[...s].sort():s}import sy from"node:fs/promises";import ps 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]="4baf0ef3-2412-51cf-9ade-18b5c6e610d1")}catch{}})();function dP(e){return"json_markdown"}function ay(e,t){return ps.relative(e,t).replaceAll("\\","/")}function uP(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function fP(e,t,n="item_format:migrate",r=ie,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,l=dP(t),d=Object.entries(r);for(let[u,p]of d){let f=ps.join(e,p),y=[];try{y=await sy.readdir(f)}catch{continue}let g=new Map;for(let E of y){let O=ps.join(f,E),z=ar(O);if(!z)continue;let U=ps.extname(E),oe=E.slice(0,E.length-U.length).trim();if(oe.length===0)continue;let De=g.get(oe)??{};De[z]=O,g.set(oe,De)}let h=[...g.keys()].sort((E,O)=>E.localeCompare(O));for(let E of h){let O=g.get(E);c+=1;let z=O[l];if(!z)continue;let U=O[t]??z,oe=U===O[t]?t:l;try{let De=await sy.readFile(U,"utf8"),Le=Wt(De,{format:oe,schema:o,onWarning:Bd=>a.push(`item_format_migration_parse_warning:${E}:${Bd}`)}),Lt=yn(e,u,E,t,r),Pt=xr(Le,{format:t,schema:o});await W(Lt)!==Pt&&(await P(Lt,Pt),a.push(...await ae({path:Lt,scope:"project",op:n})),i.add(E)),await Jn(z),s.add(ay(e,z)),a.push(...await ae({path:z,scope:"project",op:`${n}:remove`})),i.add(E)}catch(De){a.push(`item_format_migration_skipped:${ay(e,U)}:${uP(De)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((u,p)=>u.localeCompare(p)),removed:[...s].sort((u,p)=>u.localeCompare(p)),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]="f280c1df-b134-57c3-91f6-cbf5a37e6e31")}catch{}})();var pP=new Set(["completed","superseded"]);function mP(e){return e!==void 0&&pP.has(e)}function gP(e){if(e.type.trim().toLowerCase()!=="plan")return!1;let t=e.plan_steps??[];return t.length>0&&t.every(n=>n.status==="completed")}import _P from"node:readline/promises";import{stdin as yP,stdout as cy}from"node: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]="6783b122-a1a8-5f86-9ac5-2c3e811622ed")}catch{}})();var hP="PM_TELEMETRY_PROMPT",ly=new Set(["0","false","no","off"]),bP=new Set(["init","completion","completion-statuses","completion-tags","completion-types"]);function wP(e){return typeof e!="string"?!1:ly.has(e.trim().toLowerCase())}function EP(e){if(typeof e!="string")return!1;let t=e.trim().toLowerCase();return t.length===0?!1:!ly.has(t)}function TP(e,t){if(t.json===!0||t.quiet===!0||process.stdin.isTTY!==!0||process.stdout.isTTY!==!0||wP(process.env[hP])||EP(process.env.CI))return!0;let n=e.trim().toLowerCase();return n.length===0?!0:bP.has(n)}function vP(e){let t=e.trim().toLowerCase();return!(t==="n"||t==="no")}async function AP(e){let n=`pm telemetry helps improve reliability and usage diagnostics.
|
|
177
|
+
It is enabled by default and can be changed anytime via:
|
|
178
|
+
pm config global set telemetry-tracking --policy disabled
|
|
179
|
+
Enable telemetry now? [${e?"Y/n":"y/N"}] `,r=_P.createInterface({input:yP,output:cy});try{let o=await r.question(n);return o.trim().length===0?e:vP(o)}finally{r.close()}}async function SP(e,t){if(!TP(e,t))try{let n=ft(process.cwd()),r=await Ge(n);if(r.telemetry.first_run_prompt_completed)return;let o=await AP(r.telemetry.enabled);r.telemetry.enabled=o,r.telemetry.first_run_prompt_completed=!0,await jr(n,r,"telemetry:first_run_prompt"),cy.write(`Telemetry ${o?"enabled":"disabled"} for this CLI install. Update any time with pm config global set telemetry-tracking --policy ${o?"disabled":"enabled"}.
|
|
180
|
+
`)}catch{}}import Xe from"node:crypto";import{spawn as kP}from"node:child_process";import{mkdirSync as Wl,rmSync as xP,statSync as hy}from"node:fs";import{mkdir as Kl,readdir as CP,rm as ed,stat as by}from"node:fs/promises";import td from"node:os";import Ae 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]="fea9d81b-3deb-51f4-9ec3-76396ae1307d")}catch{}})();var OP=Ae.join("runtime","telemetry","events.jsonl"),IP=Ae.join("runtime","telemetry","state.json"),RP=Ae.join("runtime","telemetry","otel-spans.jsonl"),NP=8,dy=500,gs=1,uy=1,DP=100,LP=36e5,PP=3e4,wy=5e3,MP=864e5,_s=65536,Ey=6,Ty=20,vy=15,FP=8192,Ay=[25,50,100,200],$P=3600*1e3,Sy=6e4,jP=6e4,zP="OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",UP="OTEL_EXPORTER_OTLP_ENDPOINT",qP="OTEL_SERVICE_NAME",GP="PM_TELEMETRY_DISABLED",VP="PM_NO_TELEMETRY",fy=new Set(["1","true","yes","on"]),BP="PM_TELEMETRY_OTEL_DISABLED",HP=new Set(["1","true","yes","on"]),WP="PM_TELEMETRY_INLINE_FLUSH",ky="PM_TELEMETRY_FLUSH_CHILD",KP="PM_TELEMETRY_SOURCE_CONTEXT",YP=["user","automation","test","dogfood"],py=Promise.resolve(),my=Promise.resolve();var XP=new Set(YP),JP=new Set(["1","true","yes","on"]),ys=Xe.randomUUID(),QP=["token","secret","password","passwd","api_key","apikey","authorization","cookie","session","credentials","bearer"],ZP=new Set(["literal","literals","regex","regexes","replacement","replacements"]),xy="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",eM=new RegExp(`\\b(${xy})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),tM=new RegExp(`(--${xy})(=|\\s+)([^\\s,;]+)`,"giu"),nM=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,rM=/bearer\s+[a-z0-9._=-]+/giu,oM=/\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 Qr(e){return Ae.join(e,OP)}function hs(e){return Ae.join(e,RP)}function iM(e){return Ae.dirname(Qr(e))}function Cy(e){return Ae.join(e,IP)}function nd(e){return Ae.join(e,"runtime","telemetry","flush.lock")}function Oy(e){return Ae.join(e,"runtime","telemetry","flush.spawn.lock")}function sM(){return Ae.join(Ze(import.meta.url,["../../.."]),"dist","cli","telemetry-flush.js")}function aM(){if(Xl(process.env[WP])||Xl(process.env[ky]))return!0;let e=(process.env.NODE_ENV??"").trim().toLowerCase();return typeof process.env.VITEST=="string"||typeof process.env.VITEST_WORKER_ID=="string"||e==="test"}async function cM(e){let t=await W(Cy(e));if(!t||t.trim().length===0)return{};try{let n=JSON.parse(t);return typeof n!="object"||n===null||Array.isArray(n)?{}:n}catch{return{}}}async function Ye(e,t){try{let r={...await cM(e),...t},o=Object.fromEntries(Object.entries(r).filter(([,i])=>i!==void 0).sort((i,s)=>i[0].localeCompare(s[0])));await P(Cy(e),`${JSON.stringify(o,null,2)}
|
|
181
|
+
`)}catch{}}function Yl(e){let t=e.trim().toLowerCase().replaceAll("-","_").replaceAll(/[^a-z0-9_]+/g,"_"),n=t.split("_").filter(r=>r.length>0);return ZP.has(t)||QP.some(r=>t===r||t.endsWith(`_${r}`)||n.includes(r))}function Iy(e){return e.replaceAll(eM,(n,r,o)=>`${r}${o}[redacted]`).replaceAll(tM,(n,r,o)=>`${r}${o}[redacted]`)}function Ry(e){return e.replaceAll(nM,(t,n)=>`${n}[redacted_path]`)}function Ny(e){let t=e>=65&&e<=90,n=e>=97&&e<=122,r=e>=48&&e<=57;return t||n||r}function Dy(e){if(!e)return!1;let t=e.charCodeAt(0);return Ny(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function Ly(e){if(!e)return!1;let t=e.charCodeAt(0);return Ny(t)?!0:e==="."||e==="-"}function lM(e){let t=e.indexOf("@");if(t<=0||t!==e.lastIndexOf("@")||t===e.length-1)return!1;let n=e.slice(0,t),r=e.slice(t+1),o=r.lastIndexOf(".");if(o<=0||o===r.length-1||r.length-(o+1)<2)return!1;for(let i of n)if(!Dy(i))return!1;for(let i of r)if(!Ly(i))return!1;return!0}function dM(e){let t="",n=0;for(;n<e.length;){let r=e.indexOf("@",n);if(r<0){t+=e.slice(n);break}let o=r-1;for(;o>=n&&Dy(e[o]);)o-=1;o+=1;let i=r+1;for(;i<e.length&&Ly(e[i]);)i+=1;let s=e.slice(o,i);if(lM(s)){t+=e.slice(n,o),t+="[redacted_email]",n=i;continue}t+=e.slice(n,r+1),n=r+1}return t}function Py(e){return dM(e).replaceAll(rM,"bearer [redacted_token]").replaceAll(oM,"[redacted_ip]")}function uM(e){let t=Py(e),n=Iy(t),r=Ry(n),o=r.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":r.length>512?`${r.slice(0,509)}...`:r}function fM(e){let t=Py(e),n=Iy(t),r=Ry(n),o=r.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":r.length>2048?`${r.slice(0,2045)}...`:r}function Q(e,t="redacted"){return t==="max"?fM(e):uM(e)}function dn(e,t,n="redacted",r=0){if(t&&Yl(t))return"[redacted]";if(e==null)return e;if(typeof e=="string")return Q(e,n);if(typeof e=="number"||typeof e=="boolean")return e;if(r>=Ey)return"[depth_truncated]";if(Array.isArray(e))return e.slice(0,Ty).map(o=>dn(o,void 0,n,r+1));if(typeof e=="object"){let o=e,i={};for(let[s,a]of Object.entries(o))i[s]=dn(a,s,n,r+1);return i}return String(e)}function My(e,t="redacted"){let n=[],r=!1;for(let o of e){let i=Q(o,t);if(r){n.push("[redacted]"),r=!1;continue}if(i.startsWith("--")){let s=i.slice(2),a=s.indexOf("=");if(a>=0){let c=s.slice(0,a),l=s.slice(a+1);Yl(c)?n.push(`--${c}=[redacted]`):n.push(`--${c}=${Q(l,t)}`);continue}if(Yl(s)){n.push(`--${s}`),r=!0;continue}}n.push(i)}return n}function Fy(e){let t=e?.trim().toLowerCase();return t==="minimal"||t==="redacted"||t==="max"?t:"redacted"}function Xl(e){return JP.has((e??"").trim().toLowerCase())}function $y(e){let t=typeof e=="string"?e.trim():"";return t.length>0?t:"0.0.0"}function rd(e){let t=e?.trim();return t&&t.length>0?t:void 0}function od(e,t){return Number.isFinite(e)?Math.max(0,Math.trunc(e)):t?0:1}function jy(e){if(!e.ok)return typeof e.errorCategory=="string"&&e.errorCategory.trim().length>0?e.errorCategory:typeof e.errorCode=="string"&&e.errorCode.trim().length>0?_o(e.errorCode):"unknown"}function zy(e){let t=(process.env[KP]??"").trim().toLowerCase();if(XP.has(t))return{source_context:t,source_context_source:"env_override"};let n=(process.env.NODE_ENV??"").trim().toLowerCase();if(typeof process.env.VITEST=="string"||typeof process.env.VITEST_WORKER_ID=="string"||n==="test")return{source_context:"test",source_context_source:"inferred"};let r=process.stdin.isTTY!==!0||process.stdout.isTTY!==!0,o=Xl(process.env.CI),i=e.json===!0||e.quiet===!0;return r||o||i?{source_context:"automation",source_context_source:"inferred"}:{source_context:"user",source_context_source:"inferred"}}function le(e,t){return Xe.createHash("sha256").update(`${e}:${t}`).digest("hex")}function id(e,t){let n=(rc()??"").trim(),r=di({env:process.env,argv:process.argv}),o=r.harness!==void 0||r.model!==void 0;return e==="minimal"?{has_author_context:n.length>0,has_agent_context:o}:{...n.length>0?{author_context_hash:le(t,n)}:{},...r.harness?{agent_harness_hash:le(t,r.harness)}:{},...r.model?{agent_model_hash:le(t,r.model)}:{},...r.model_source?{agent_model_source:r.model_source}:{}}}function Jl(e,t=0){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(t>=Ey)return"[depth_truncated]";if(Array.isArray(e))return e.slice(0,Ty).map(n=>Jl(n,t+1));if(typeof e=="object"){let n=e,r={},o=Object.keys(n).sort((i,s)=>i.localeCompare(s));for(let i of o)r[i]=Jl(n[i],t+1);return r}return String(e)}function Ql(e,t){return le(e,JSON.stringify(Jl(t)))}function Uy(e,t){return{hashes:t.map(n=>le(e,n)),digest:le(e,t.join("\0"))}}function qy(e,t,n,r){let o=Q(typeof r=="string"?r:"","redacted"),i=typeof n=="string"&&n.length>0?n:"unknown_error",s=`${t}\0${i}\0${o}`;return le(e,s)}function sd(){return fy.has((process.env[GP]??"").trim().toLowerCase())||fy.has((process.env[VP]??"").trim().toLowerCase())}function pM(){if(HP.has((process.env[BP]??"").trim().toLowerCase()))return null;let e=(process.env[zP]??"").trim();if(e.length>0)try{return new URL(e).toString()}catch{return null}let t=(process.env[UP]??"").trim();if(t.length===0)return null;try{let n=new URL(t),r=n.pathname.replace(/\/+$/,"");return r.endsWith("/v1/traces")||(n.pathname=`${r.length===0?"":r}/v1/traces`),n.toString()}catch{return null}}function gy(e){let t=Date.parse(e),n=Number.isNaN(t)?Date.now():t;return`${BigInt(n)*1000000n}`}function Ne(e,t){return{key:e,value:{stringValue:t}}}function mM(e,t){return{key:e,value:{boolValue:t}}}function _y(e,t){return{key:e,value:{intValue:String(Math.max(0,Math.trunc(t)))}}}function gM(e,t,n,r){if(typeof e.otel_traces_endpoint!="string"||e.otel_traces_endpoint.trim().length===0||typeof e.otel_trace_id!="string"||e.otel_trace_id.length===0||typeof e.otel_span_id!="string"||e.otel_span_id.length===0)return null;let o=Q((process.env[qP]??"").trim()),i=o.length>0?o:"pm-cli",s=od(t.exit_code,t.ok),a=rd(t.error_code),c=jy({ok:t.ok,errorCode:a,errorCategory:t.error_category}),l=[Ne("pm.command",Q(e.command)),Ne("pm.version",e.pm_version),Ne("pm.source_context",e.source_context),Ne("pm.source_context_source",e.source_context_source),Ne("pm.installation_id",e.installation_id),Ne("pm.session_id",ys),Ne("pm.pm_root_hash",e.pm_root_hash),Ne("pm.cwd_hash",e.cwd_hash),mM("pm.ok",t.ok),_y("pm.exit_code",s),_y("pm.duration_ms",r)];typeof a=="string"&&l.push(Ne("pm.error_code",a)),typeof c=="string"&&l.push(Ne("pm.error_category",c)),typeof t.error=="string"&&t.error.trim().length>0&&l.push(Ne("pm.error",Q(t.error)));let d={resourceSpans:[{resource:{attributes:[Ne("service.name",i)]},scopeSpans:[{scope:{name:"pm-cli.telemetry",version:"1"},spans:[{traceId:e.otel_trace_id,spanId:e.otel_span_id,name:`pm.command.${Q(e.command)}`,kind:1,startTimeUnixNano:gy(e.started_at),endTimeUnixNano:gy(n),attributes:l,status:{code:t.ok?1:2,message:t.ok?"":Q(typeof t.error=="string"?t.error:"command_failed")}}]}]}]};return{endpoint:e.otel_traces_endpoint,payload:d}}function _M(e,t="redacted"){if(e==null)return{type:"nullish"};if(typeof e=="string")return{type:"string",value:Q(e,t)};if(typeof e=="number"||typeof e=="boolean")return{type:typeof e,value:e};if(Array.isArray(e))return{type:"array",length:e.length,sample:e.slice(0,5).map(n=>dn(n,void 0,t))};if(typeof e=="object"){let n=e,r=Object.keys(n).sort((s,a)=>s.localeCompare(a)),o={},i=0;for(let s of r.slice(0,25)){let a=dn(n[s],s,t),c=JSON.stringify(a).length;if(i+c>FP){o[s]="[preview_truncated]";break}i+=c,o[s]=a}return{type:"object",key_count:r.length,keys_preview:r.slice(0,50),preview:o}}return{type:typeof e,value:String(e)}}function yM(e){let{captureLevel:t,context:n,pmVersion:r,sourceContext:o,pmRootHash:i,cwdHash:s,installationId:a}=e,c=Wn(n.command),l=Uy(a,n.args),d=le(a,`${n.command}\0${n.args.join("\0")}`),u=Ql(a,n.options),p=Ql(a,n.global),f=id(t,a);return t==="minimal"?{capture_level:t,pm_version:r,source_context:o.source_context,source_context_source:o.source_context_source,command_taxonomy:c,command_args_digest:l.digest,command_invocation_digest:d,command_options_digest:u,global_options_digest:p,...f}:{pm_version:r,source_context:o.source_context,source_context_source:o.source_context_source,command_taxonomy:c,...f,command_args:My(n.args,t),command_args_hashes:l.hashes,command_args_digest:l.digest,command_invocation_digest:d,command_options:dn(n.options,void 0,t),command_options_digest:u,global_options:dn(n.global,void 0,t),global_options_digest:p,pm_root_hash:i,cwd_hash:s,capture_level:t,runtime:{node:process.version,platform:process.platform,arch:process.arch,hostname_hash:le(a,td.hostname()),stdin_tty:process.stdin.isTTY===!0,stdout_tty:process.stdout.isTTY===!0}}}function hM(e){let{captureLevel:t,pmVersion:n,sourceContext:r,outcome:o,durationMs:i,startedAt:s,command:a,installationId:c,commandTaxonomy:l,exitCode:d,errorCode:u,errorCategory:p,commandResolution:f,resolutionStage:y}=e,g=o.ok===!1?qy(c,a,u,o.error):void 0,h=id(t,c);return t==="minimal"?{capture_level:t,pm_version:n,source_context:r.source_context,source_context_source:r.source_context_source,command_taxonomy:l,command_resolution:f,resolution_stage:y,ok:o.ok,exit_code:d,error_code:u,error_category:p,error:o.error?Q(o.error,"redacted"):void 0,error_fingerprint:g,duration_ms:i,...h}:{capture_level:t,pm_version:n,source_context:r.source_context,source_context_source:r.source_context_source,command_taxonomy:l,command_resolution:f,resolution_stage:y,...h,ok:o.ok,exit_code:d,error_code:u,error_category:p,error:o.error?Q(o.error,t):void 0,error_fingerprint:g,duration_ms:i,started_at:s,result_summary:_M(o.result,t)}}function bM(e){let{captureLevel:t,pmVersion:n,sourceContext:r,command:o,commandTaxonomy:i,commandResolution:s,resolutionStage:a,args:c,options:l,pmRootHash:d,cwdHash:u,installationId:p,errorCode:f,errorMessage:y,errorCategory:g,exitCode:h}=e,E=Uy(p,c),O=le(p,o),z=Ql(p,l),U=qy(p,o,f,y),oe=id(t,p);return t==="minimal"?{capture_level:t,pm_version:n,source_context:r.source_context,source_context_source:r.source_context_source,command_taxonomy:i,command_resolution:s,resolution_stage:a,attempted_command_digest:O,attempted_args_digest:E.digest,attempted_options_digest:z,error_code:f,error_category:g,exit_code:h,error:Q(y,"redacted"),error_fingerprint:U,...oe}:{capture_level:t,pm_version:n,source_context:r.source_context,source_context_source:r.source_context_source,command_taxonomy:i,command_resolution:s,resolution_stage:a,...oe,attempted_command:Q(o,t),attempted_command_digest:O,attempted_args:My(c,t),attempted_args_hashes:E.hashes,attempted_args_digest:E.digest,attempted_options:dn(l,void 0,t),attempted_options_digest:z,error_code:f,error_category:g,exit_code:h,error:Q(y,t),error_fingerprint:U,pm_root_hash:d,cwd_hash:u,runtime:{node:process.version,platform:process.platform,arch:process.arch,hostname_hash:le(p,td.hostname()),stdin_tty:process.stdin.isTTY===!0,stdout_tty:process.stdout.isTTY===!0}}}async function ad(e){let t=await Ge(e),n=!1;return t.telemetry.installation_id.trim().length===0&&(t.telemetry.installation_id=Xe.randomUUID(),n=!0),n&&await jr(e,t,"telemetry:install_id"),{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days))}}async function cd(e,t){let r=JSON.stringify({client_schema_version:uy,event:t,attempts:0});if(r.length>_s){let o={...t,payload:{...t.payload,result_summary:{truncated:!0,reason:"payload_size_exceeded",original_bytes:r.length}}};r=JSON.stringify({client_schema_version:uy,event:o,attempts:0})}await Zr(async()=>{await lt(Qr(e),r)})}function Gy(e){let t=[];for(let n of e.split(`
|
|
182
|
+
`)){let r=n.trim();if(r.length!==0)try{let o=JSON.parse(r);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 Vy(e){let t=Math.min(PP*2**Math.max(e-1,0),LP);return new Date(Date.now()+t).toISOString()}function By(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 wM(e){return By(e.next_attempt_after)}function Hy(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*MP}function EM(e,t){let n=e.event?.occurred_at;if(typeof n!="string"||n.trim().length===0)return!1;let r=Date.parse(n);return Number.isNaN(r)?!1:r<t}function ld(e,t){let n=Hy(t),r=[],o=0;for(let i of e){if(JSON.stringify(i).length>_s||EM(i,n)||i.attempts>=vy){o+=1;continue}r.push(i)}return{entries:r,prunedCount:o}}async function ms(e,t){let n=t.map(o=>JSON.stringify(o)).join(`
|
|
183
|
+
`),r=n.length>0?`${n}
|
|
184
|
+
`:"";for(let o=0;;o+=1)try{await P(Qr(e),r);return}catch(i){let s=Ay[o];if(s===void 0||!Wy(i))throw i;await Ky(s)}}function Wy(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function Ky(e){return new Promise(t=>{setTimeout(t,e)})}async function TM(e,t){let n={id:Xe.randomUUID(),endpoint:t.endpoint,payload:t.payload,enqueued_at:X(),attempts:0},r=JSON.stringify(n);r.length>_s||await Zr(async()=>{await lt(hs(e),r)})}function vM(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return Xe.createHash("sha256").update(t).digest("hex").slice(0,32)}function Yy(e){let t=[];for(let n of e.split(`
|
|
185
|
+
`)){let r=n.trim();if(r.length!==0)try{let o=JSON.parse(r);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=vM(o)),t.push(o))}catch{}}return t}function AM(e,t){if(typeof e.enqueued_at!="string"||e.enqueued_at.trim().length===0)return!1;let n=Date.parse(e.enqueued_at);return Number.isNaN(n)?!1:n<t}function Xy(e,t){let n=Hy(t),r=[],o=0;for(let i of e){if(JSON.stringify(i).length>_s||AM(i,n)||i.attempts>=vy){o+=1;continue}r.push(i)}if(r.length>dy){let i=r.length-dy;return o+=i,{entries:r.slice(i),prunedCount:o}}return{entries:r,prunedCount:o}}async function SM(e,t){let n=t.map(o=>JSON.stringify(o)).join(`
|
|
186
|
+
`),r=n.length>0?`${n}
|
|
187
|
+
`:"";for(let o=0;;o+=1)try{await P(hs(e),r);return}catch(i){let s=Ay[o];if(s===void 0||!Wy(i))throw i;await Ky(s)}}async function yy(e,t,n,r){return Zr(async()=>{let o=await W(hs(e)),i=o===null?[]:Yy(o),s=[];for(let c of i){if(n.has(c.id))continue;let l=r.get(c.id);s.push(l?{...c,attempts:l.attempts,next_attempt_after:l.next_attempt_after}:c)}let{entries:a}=Xy(s,t);return await SM(e,a),a.length})}async function kM(e,t){let n=await W(hs(e));if(n===null||n.trim().length===0){await Ye(e,{pending_otel_spans:0});return}let r=Yy(n),{entries:o,prunedCount:i}=Xy(r,t),s=o.filter(y=>By(y.next_attempt_after)).slice(0,NP);if(s.length===0){let y=i>0?await yy(e,t,new Set,new Map):o.length;await Ye(e,{pending_otel_spans:y});return}let a=X(),c=new Set,l=new Map,d=0,u;await Promise.all(s.map(async y=>{try{let g=await fetch(y.endpoint,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(y.payload),signal:AbortSignal.timeout(wy)});if(!g.ok)throw new Error(`local_otel_export_http_${g.status}`);c.add(y.id),d+=1}catch(g){u=g instanceof Error?Q(g.message,"redacted"):"local_otel_export_failed";let h=y.attempts+1;l.set(y.id,{attempts:h,next_attempt_after:Vy(h)})}}));let p=await yy(e,t,c,l),f={pending_otel_spans:p,last_otel_attempt_at:a};d>0&&(f.last_otel_success_at=a),u!==void 0?(f.last_otel_failure_at=a,f.last_otel_failure_error=u):p===0&&(f.last_otel_failure_at=void 0,f.last_otel_failure_error=void 0),await Ye(e,f)}async function Jy(e,t,n){try{await IM(e,t,n)}catch{}try{await kM(e,n)}catch{}}async function xM(e,t=$P){try{let n=iM(e),r=await CP(n,{withFileTypes:!0}),o=Date.now()-Math.max(0,t);await Promise.all(r.filter(i=>i.isFile()&&/^\.events\.jsonl\.\d+\.\d+\.[a-f0-9]+\.tmp$/.test(i.name)).map(async i=>{let s=Ae.join(n,i.name);(await by(s)).mtimeMs<o&&await ed(s,{force:!0})}))}catch{}}async function Zr(e){let t=my.catch(()=>{}).then(e);return my=t.catch(()=>{}),t}async function dd(e){let t=await W(Qr(e));return t===null||t.trim().length===0?[]:Gy(t)}async function CM(e,t,n){return Zr(async()=>{let r=await dd(e),{entries:o}=ld(r,n),i=o.filter(s=>!t.has(s.event.event_id));return await ms(e,i),i})}async function OM(e,t,n,r){return Zr(async()=>{let o=await dd(e),{entries:i}=ld(o,r),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:n,next_attempt_after:Vy(c)}});return await ms(e,s),s})}async function IM(e,t,n){await xM(e);let r=t.trim();if(r.length===0)return;let o=await W(Qr(e));if(o===null||o.trim().length===0){await Ye(e,{endpoint:r,queue_entries:0});return}let i=Gy(o);if(i.length===0){await Ye(e,{endpoint:r,queue_entries:0});return}let{entries:s,prunedCount:a}=ld(i,n);if(s.length===0){await ms(e,[]),await Ye(e,{endpoint:r,queue_entries:0});return}let c=s.filter(f=>wM(f)).slice(0,DP);if(c.length===0){a>0&&await ms(e,s),await Ye(e,{endpoint:r,queue_entries:s.length});return}let l=new Set(c.map(f=>f.event.event_id)),d=X(),u={"content-type":"application/json"},p=process.env.PM_TELEMETRY_INGEST_KEY?.trim();p&&(u["x-pm-telemetry-key"]=p);try{let f=await fetch(r,{method:"POST",headers:u,body:JSON.stringify({schema_version:gs,events:c.map(y=>y.event)}),signal:AbortSignal.timeout(wy)});if(!f.ok)throw new Error(`telemetry_flush_http_${f.status}`)}catch(f){let y=await OM(e,l,d,n),g=f instanceof Error?Q(f.message,"redacted"):"telemetry_flush_failed";await Ye(e,{endpoint:r,queue_entries:y.length,last_attempted_flush_at:d,last_failed_flush_at:d,last_failed_flush_error:g});return}try{let f=await CM(e,l,n);await Ye(e,{endpoint:r,queue_entries:f.length,last_attempted_flush_at:d,last_successful_flush_at:d,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(f){let y=f instanceof Error?Q(f.message,"redacted"):"telemetry_flush_failed",g=await dd(e).catch(()=>s);await Ye(e,{endpoint:r,queue_entries:g.length,last_attempted_flush_at:d,last_failed_flush_at:d,last_failed_flush_error:y})}}async function RM(e){let t=nd(e);await Kl(Ae.dirname(t),{recursive:!0});try{return await Kl(t),!0}catch(n){if(typeof n!="object"||n===null||!("code"in n)||n.code!=="EEXIST")throw n}try{let n=await by(t);return Date.now()-n.mtimeMs<Sy?!1:(await ed(t,{recursive:!0,force:!0}),await Kl(t),!0)}catch{return!1}}function NM(e,t){try{return Date.now()-hy(e).mtimeMs<t}catch{return!1}}function Qy(e){try{xP(e,{recursive:!0,force:!0})}catch{}}function Zy(e){if(typeof e!="object"||e===null||!("code"in e))return;let t=e.code;return typeof t=="string"?t:void 0}function DM(e){try{return Wl(e),!0}catch(t){let n=Zy(t);if(n==="EEXIST"||n!=="ENOENT")return!1}try{return Wl(Ae.dirname(e),{recursive:!0}),Wl(e),!0}catch{return!1}}function LM(e){if(NM(nd(e),Sy))return!1;let t=Oy(e);try{if(Date.now()-hy(t).mtimeMs<jP)return!1;Qy(t)}catch(n){if(Zy(n)!=="ENOENT")return!1}return DM(t)}function Zl(e){Qy(Oy(e))}async function PM(e,t,n){let r=await RM(e);if(Zl(e),!!r)try{await Jy(e,t,n)}finally{try{await ed(nd(e),{recursive:!0,force:!0})}catch{}}}function ud(e,t,n){if(aM()){let r=py,o=Jy(e,t,n);py=Promise.allSettled([r,o]).then(()=>{});return}try{if(!LM(e))return;let o=kP(process.execPath,[sM()],{detached:!0,stdio:"ignore",cwd:td.tmpdir(),env:{...process.env,PM_GLOBAL_PATH:e,[ky]:"1"}});o.on("error",()=>{Zl(e)}),o.unref()}catch{Zl(e)}}async function l5(e=ft(process.cwd())){if(!sd())try{if(!(await Ge(e)).telemetry.enabled)return;let{endpoint:n,retentionDays:r}=await ad(e);await PM(e,n,r)}catch{}}async function MM(e){if(sd()||e.command==="telemetry"&&e.args.some(t=>t.trim().toLowerCase()==="clear"))return null;try{let t=ft(process.cwd()),n=await Ge(t);if(!n.telemetry.enabled)return null;let r=Fy(n.telemetry.capture_level),{installationId:o,endpoint:i,retentionDays:s}=await ad(t),a=$y(e.pm_version),c=zy(e.global),l=le(o,e.pm_root),d=le(o,process.cwd()),u=pM(),p=X(),f={schema_version:gs,event_id:Xe.randomUUID(),event_type:"command_start",occurred_at:p,installation_id:o,session_id:ys,command:e.command,payload:yM({captureLevel:r,context:e,pmVersion:a,sourceContext:c,pmRootHash:l,cwdHash:d,installationId:o})};await cd(t,f),ud(t,i,s);let y=Wn(e.command);return{started_at:p,started_at_ms:Date.now(),command:e.command,command_taxonomy:y,pm_version:a,source_context:c.source_context,source_context_source:c.source_context_source,installation_id:o,pm_root_hash:l,cwd_hash:d,endpoint:i,retention_days:s,global_pm_root:t,capture_level:r,otel_traces_endpoint:u??void 0,otel_trace_id:u?Xe.randomBytes(16).toString("hex"):void 0,otel_span_id:u?Xe.randomBytes(8).toString("hex"):void 0}}catch{return null}}async function FM(e,t){if(e)try{let n=X(),r=Math.max(0,Date.now()-e.started_at_ms),o=rd(Ul({ok:t.ok,errorCode:t.error_code,errorMessage:t.error,exitCode:t.exit_code})),i=jy({ok:t.ok,errorCode:o,errorCategory:t.error_category}),s=od(t.exit_code,t.ok),a=t.command_resolution??Kn({ok:t.ok,errorCode:o,errorCategory:i}),c=t.resolution_stage??"execute",l={schema_version:gs,event_id:Xe.randomUUID(),event_type:"command_finish",occurred_at:n,installation_id:e.installation_id,session_id:ys,command:e.command,payload:hM({captureLevel:e.capture_level,pmVersion:e.pm_version,sourceContext:{source_context:e.source_context,source_context_source:e.source_context_source},outcome:t,durationMs:r,startedAt:e.started_at,command:e.command,installationId:e.installation_id,commandTaxonomy:e.command_taxonomy,exitCode:s,errorCode:o,errorCategory:i,commandResolution:a,resolutionStage:c})};await cd(e.global_pm_root,l);let d=gM(e,{...t,exit_code:s,error_code:o,error_category:i},n,r);d&&await TM(e.global_pm_root,d),ud(e.global_pm_root,e.endpoint,e.retention_days)}catch{}}async function $M(e){if(!sd())try{let t=ft(process.cwd()),n=await Ge(t);if(!n.telemetry.enabled)return;let r=Fy(n.telemetry.capture_level),{installationId:o,endpoint:i,retentionDays:s}=await ad(t),a=$y(e.pm_version),c=zy(e.global),l=le(o,e.pm_root),d=le(o,process.cwd()),u=X(),p=rd(Ul({ok:!1,errorCode:e.error_code,errorMessage:e.error_message,exitCode:e.exit_code})),f=e.error_category??_o(p),y=od(e.exit_code,!1),g=e.command.trim().length>0?e.command:"<unknown>",h=Wn(g),E=e.command_resolution??Kn({ok:!1,errorCode:p,errorCategory:f}),O=e.resolution_stage??"unknown",z={schema_version:gs,event_id:Xe.randomUUID(),event_type:"command_error",occurred_at:u,installation_id:o,session_id:ys,command:Q(g,"redacted"),payload:bM({captureLevel:r,pmVersion:a,sourceContext:c,command:g,commandTaxonomy:h,commandResolution:E,resolutionStage:O,args:e.args,options:e.options,pmRootHash:l,cwdHash:d,installationId:o,errorCode:p,errorCategory:f,exitCode:y,errorMessage:e.error_message})};await cd(t,z),ud(t,i,s)}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]="febc7f96-1757-5c07-8d99-ed5fce742afa")}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]="940f11a8-f40d-5169-ba74-e91920d32c4a")}catch{}})();var jM={fetch:"get",read:"get",show:"get",view:"get",comment:"comments",note:"notes",learning:"learnings"};(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]="3b9b9ebe-8d98-5983-8257-b7b77c7e6194")}catch{}})();var fd=[{target:"status",keys:["status"]},{target:"type",keys:["type"]},{target:"tag",keys:["tag","tags"]},{target:"priority",keys:["priority"]},{target:"deadlineBefore",keys:["deadlineBefore"]},{target:"deadlineAfter",keys:["deadlineAfter"]},{target:"updatedAfter",keys:["updatedAfter"]},{target:"updatedBefore",keys:["updatedBefore"]},{target:"createdAfter",keys:["createdAfter"]},{target:"createdBefore",keys:["createdBefore"]},{target:"ids",keys:["ids"]},{target:"assignee",keys:["assignee"]},{target:"assigneeFilter",keys:["assigneeFilter","assignee_filter"]},{target:"parent",keys:["parent"]},{target:"sprint",keys:["sprint"]},{target:"release",keys:["release"]},{target:"limit",keys:["limit"]},{target:"offset",keys:["offset"]},{target:"after",keys:["after"]},{target:"fields",keys:["fields"]},{target:"sort",keys:["sort"]},{target:"order",keys:["order"]},{target:"treeDepth",keys:["treeDepth","tree_depth"]}],bs=[{target:"mode",keys:["mode"]},{target:"matchMode",keys:["matchMode","match_mode"]},{target:"minScore",keys:["minScore","min_score"]},{target:"semanticWeight",keys:["semanticWeight","semantic_weight"]},{target:"status",keys:["status"]},{target:"type",keys:["type"]},{target:"tag",keys:["tag","tags"]},{target:"priority",keys:["priority"]},{target:"deadlineBefore",keys:["deadlineBefore"]},{target:"deadlineAfter",keys:["deadlineAfter"]},{target:"updatedAfter",keys:["updatedAfter"]},{target:"updatedBefore",keys:["updatedBefore"]},{target:"createdAfter",keys:["createdAfter"]},{target:"createdBefore",keys:["createdBefore"]},{target:"assignee",keys:["assignee"]},{target:"sprint",keys:["sprint"]},{target:"release",keys:["release"]},{target:"parent",keys:["parent"]},{target:"fields",keys:["fields"]},{target:"limit",keys:["limit"]},{target:"after",keys:["after"]}],zM=[{target:"view",keys:["view"]},{target:"date",keys:["date"]},{target:"from",keys:["from"]},{target:"to",keys:["to"]},{target:"limit",keys:["limit"]},{target:"type",keys:["type"]},{target:"tag",keys:["tag"]},{target:"priority",keys:["priority"]},{target:"status",keys:["status"]},{target:"assignee",keys:["assignee"]},{target:"assigneeFilter",keys:["assigneeFilter","assignee_filter"]},{target:"sprint",keys:["sprint"]},{target:"release",keys:["release"]},{target:"include",keys:["include"]},{target:"recurrenceLookaheadDays",keys:["recurrenceLookaheadDays","recurrence_lookahead_days"]},{target:"recurrenceLookbackDays",keys:["recurrenceLookbackDays","recurrence_lookback_days"]},{target:"occurrenceLimit",keys:["occurrenceLimit","occurrence_limit"]},{target:"format",keys:["format"]}],ws=[{target:"date",keys:["date"]},{target:"from",keys:["from"]},{target:"to",keys:["to"]},{target:"type",keys:["type"]},{target:"tag",keys:["tag"]},{target:"priority",keys:["priority"]},{target:"assignee",keys:["assignee"]},{target:"assigneeFilter",keys:["assigneeFilter","assignee_filter"]},{target:"sprint",keys:["sprint"]},{target:"release",keys:["release"]},{target:"parent",keys:["parent"]},{target:"limit",keys:["limit","maxItems","max_items"]},{target:"after",keys:["after"]},{target:"format",keys:["format"]},{target:"depth",keys:["depth"]},{target:"fields",keys:["fields"]},{target:"activityLimit",keys:["activityLimit","activity_limit"]},{target:"staleThreshold",keys:["staleThreshold","stale_threshold"]},{target:"tokenBudget",keys:["tokenBudget","token_budget"]}],Es=[{target:"type",keys:["type"]},{target:"tag",keys:["tag"]},{target:"priority",keys:["priority"]},{target:"assignee",keys:["assignee"]},{target:"assigneeFilter",keys:["assigneeFilter","assignee_filter"]},{target:"sprint",keys:["sprint"]},{target:"release",keys:["release"]},{target:"parent",keys:["parent"]},{target:"limit",keys:["limit"]},{target:"blockedLimit",keys:["blockedLimit","blocked_limit"]},{target:"format",keys:["format"]},{target:"tokenBudget",keys:["tokenBudget","token_budget"]}],pd=[{target:"id",keys:["id"]},{target:"op",keys:["op"]},{target:"author",keys:["author"]},{target:"from",keys:["from"]},{target:"to",keys:["to"]},{target:"limit",keys:["limit"]}];function at(e,t){for(let n of t.keys){let r=e[n];if(typeof r=="string")return r}}function Ts(e,t){for(let n of t.keys)if(Object.hasOwn(e,n))return e[n]}function vs(e,t){for(let n of t.keys){let r=e[n];if(Array.isArray(r))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]="b0f52c3d-091d-51db-a4c1-bb177414dd7f")}catch{}})();var md=[{target:"title",keys:["title"],option:"--title, -t <value>",description:"Item title [required] (or pass title as the first positional argument)"},{target:"id",keys:["id"],option:"--id <value>",description:"Explicit item id (normalized with the configured id_prefix)"},{target:"description",keys:["description"],option:"--description, -d <value>",description:"Item description (allow empty string)"},{target:"type",keys:["type"],option:"--type <value>",description:"Item type (built-ins plus any configured custom types)"},{target:"template",keys:["template"],option:"--template <value>",description:"Apply named create template defaults before explicit flags"},{target:"createMode",keys:["createMode","create_mode"],option:"--create-mode <value>",description:"Create required-option policy mode: strict|progressive",aliasOptions:[{option:"--create_mode <value>",description:"Alias for --create-mode"}]},{target:"schedulePreset",keys:["schedulePreset","schedule_preset"],option:"--schedule-preset <value>",description:"Scheduling preset for Reminder|Meeting|Event: lightweight",aliasOptions:[{option:"--schedule_preset <value>",description:"Alias for --schedule-preset"}]},{target:"status",keys:["status"],option:"--status, -s <value>",description:"Item status"},{target:"closeReason",keys:["closeReason","close_reason"],option:"--close-reason <value>",description:"Close reason when creating directly in a terminal status",aliasOptions:[{option:"--close_reason <value>",description:"Alias for --close-reason"}]},{target:"completedAt",keys:["completedAt","completed_at"],option:"--completed-at <value>",description:"Actual completion time for a terminal imported item",aliasOptions:[{option:"--completed_at <value>",description:"Alias for --completed-at"}]},{target:"priority",keys:["priority"],option:"--priority, -p <value>",description:"Priority 0..4"},{target:"tags",keys:["tags"],option:"--tags <value>",description:"Comma-separated tags"},{target:"addTags",keys:["addTags","add_tags"],option:"--add-tags <value>",description:"Add tags additively on top of --tags (repeatable; CSV accepted)",repeatable:!0,aliasOptions:[{option:"--add_tags <value>",description:"Alias for --add-tags"}]},{target:"body",keys:["body"],option:"--body, -b <value>",description:"Item markdown body (allow empty string)"},{target:"deadline",keys:["deadline"],option:"--deadline <value>",description:"Deadline (ISO/date string or relative +6h/+1d/+2w/+6m)"},{target:"estimatedMinutes",keys:["estimate","estimatedMinutes","estimated_minutes"],option:"--estimate, --estimated-minutes <value>",description:"Estimated minutes",aliasOptions:[{option:"--estimated_minutes <value>",description:"Alias for --estimated-minutes"}]},{target:"acceptanceCriteria",keys:["acceptanceCriteria","acceptance_criteria","ac"],option:"--acceptance-criteria <value>",description:"Acceptance criteria (repeatable; values join with '; '; allow empty string)",repeatable:!0,aliasOptions:[{option:"--acceptance_criteria <value>",description:"Alias for --acceptance-criteria"},{option:"--ac <value>",description:"Alias for --acceptance-criteria"}]},{target:"definitionOfReady",keys:["definitionOfReady","definition_of_ready"],option:"--definition-of-ready <value>",description:"Definition of ready (allow empty string)",aliasOptions:[{option:"--definition_of_ready <value>",description:"Alias for --definition-of-ready"}]},{target:"order",keys:["order"],option:"--order <value>",description:"Planning order/rank integer"},{target:"rank",keys:["rank"],option:"--rank <value>",description:"Alias for --order"},{target:"goal",keys:["goal"],option:"--goal <value>",description:"Goal identifier"},{target:"objective",keys:["objective"],option:"--objective <value>",description:"Objective identifier"},{target:"value",keys:["value"],option:"--value <value>",description:"Business value summary"},{target:"impact",keys:["impact"],option:"--impact <value>",description:"Business impact summary"},{target:"outcome",keys:["outcome"],option:"--outcome <value>",description:"Expected outcome summary"},{target:"whyNow",keys:["whyNow","why_now"],option:"--why-now <value>",description:"Why-now rationale",aliasOptions:[{option:"--why_now <value>",description:"Alias for --why-now"}]},{target:"author",keys:["author"],option:"--author <value>",description:"Mutation author"},{target:"message",keys:["message"],option:"--message <value>",description:"History message (allow empty string)"},{target:"assignee",keys:["assignee"],option:"--assignee <value>",description:"Item assignee"},{target:"parent",keys:["parent"],option:"--parent <value>",description:"Parent item ID"},{target:"allowMissingParent",keys:["allowMissingParent","allow_missing_parent"],option:"--allow-missing-parent",description:"Allow creating with an unresolved parent reference and emit a validation warning"},{target:"reviewer",keys:["reviewer"],option:"--reviewer <value>",description:"Reviewer"},{target:"risk",keys:["risk"],option:"--risk <value>",description:"Risk level: low|med|medium|high|critical (med persists as medium)"},{target:"confidence",keys:["confidence"],option:"--confidence <value>",description:"Confidence level: 0..100|low|med|medium|high (med persists as medium)"},{target:"sprint",keys:["sprint"],option:"--sprint <value>",description:"Sprint identifier"},{target:"release",keys:["release"],option:"--release <value>",description:"Release identifier"},{target:"blockedBy",keys:["blockedBy","blocked_by"],option:"--blocked-by <value>",description:"Set latest blocked-by item ID or reason; resolved item IDs append a blocked_by dependency edge",aliasOptions:[{option:"--blocked_by <value>",description:"Alias for --blocked-by"}]},{target:"blockedReason",keys:["blockedReason","blocked_reason"],option:"--blocked-reason <value>",description:"Blocked reason",aliasOptions:[{option:"--blocked_reason <value>",description:"Alias for --blocked-reason"}]},{target:"unblockNote",keys:["unblockNote","unblock_note"],option:"--unblock-note <value>",description:"Unblock rationale note",aliasOptions:[{option:"--unblock_note <value>",description:"Alias for --unblock-note"}]},{target:"reporter",keys:["reporter"],option:"--reporter <value>",description:"Issue reporter"},{target:"severity",keys:["severity"],option:"--severity <value>",description:"Issue severity: low|med|medium|high|critical (med persists as medium)"},{target:"environment",keys:["environment"],option:"--environment <value>",description:"Issue environment context"},{target:"reproSteps",keys:["reproSteps","repro_steps"],option:"--repro-steps <value>",description:"Issue reproduction steps",aliasOptions:[{option:"--repro_steps <value>",description:"Alias for --repro-steps"}]},{target:"resolution",keys:["resolution"],option:"--resolution <value>",description:"Issue resolution summary"},{target:"expectedResult",keys:["expectedResult","expected_result","expected"],option:"--expected-result <value>",description:"Issue expected behavior",aliasOptions:[{option:"--expected_result <value>",description:"Alias for --expected-result"},{option:"--expected <value>",description:"Short alias for --expected-result"}]},{target:"actualResult",keys:["actualResult","actual_result","actual"],option:"--actual-result <value>",description:"Issue observed behavior",aliasOptions:[{option:"--actual_result <value>",description:"Alias for --actual-result"},{option:"--actual <value>",description:"Short alias for --actual-result"}]},{target:"affectedVersion",keys:["affectedVersion","affected_version"],option:"--affected-version <value>",description:"Affected version identifier",aliasOptions:[{option:"--affected_version <value>",description:"Alias for --affected-version"}]},{target:"fixedVersion",keys:["fixedVersion","fixed_version"],option:"--fixed-version <value>",description:"Fixed version identifier",aliasOptions:[{option:"--fixed_version <value>",description:"Alias for --fixed-version"}]},{target:"component",keys:["component"],option:"--component <value>",description:"Issue component ownership"},{target:"regression",keys:["regression"],option:"--regression [value]",description:"Regression marker; bare flag means true, or pass true|false|1|0"},{target:"customerImpact",keys:["customerImpact","customer_impact"],option:"--customer-impact <value>",description:"Customer impact summary",aliasOptions:[{option:"--customer_impact <value>",description:"Alias for --customer-impact"}]},{target:"dep",keys:["dep"],option:"--dep <value>",description:"Seed dependency entry (key=value CSV, markdown key:value lines, or - for stdin; repeatable)",repeatable:!0},{target:"typeOption",keys:["typeOption","type_option"],option:"--type-option <value>",description:"Type option key=value or key=<name>,value=<value> (also accepts key:value and markdown pairs; use - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--type_option <value>",description:"Alias for --type-option"}]},{target:"field",keys:["field"],option:"--field <name=value>",description:"Set a field declared by an active extension registerItemFields registration (repeatable)",repeatable:!0},{target:"unset",keys:["unset"],option:"--unset <field>",description:"Clear scalar metadata field by name (repeatable)",repeatable:!0},{target:"reminder",keys:["reminder"],option:"--reminder <value>",description:"Seed reminder entry at=<iso|relative>,text=<text> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"event",keys:["event"],option:"--event <value>",description:"Seed event entry start=<iso|relative>,end=<iso|relative>,duration=<relative|30min|PT30M>,title=<text>,all_day=<true|false>,recur_* fields (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"comment",keys:["comment"],option:"--comment <value>",description:"Seed comment entry (text=<value> CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0},{target:"note",keys:["note"],option:"--note <value>",description:"Seed note entry (text=<value> CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0},{target:"learning",keys:["learning"],option:"--learning <value>",description:"Seed learning entry (text=<value> CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0},{target:"file",keys:["file"],option:"--file <value>",description:"Seed linked file entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0},{target:"test",keys:["test"],option:"--test <value>",description:"Seed linked test entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0},{target:"doc",keys:["doc"],option:"--doc <value>",description:"Seed linked doc entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0}],gd=md.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),As=md.filter(e=>e.repeatable===!0).map(e=>({target:e.target,keys:e.keys})),_d=[{target:"title",keys:["title"],option:"--title, -t <value>",description:"Set title"},{target:"description",keys:["description"],option:"--description, -d <value>",description:"Set description"},{target:"body",keys:["body"],option:"--body, -b <value>",description:"Set body (allow empty string)"},{target:"status",keys:["status"],option:"--status, -s <value>",description:"Set status (use close command for closed)"},{target:"closeReason",keys:["closeReason","close_reason"],option:"--close-reason <value>",description:"Set close reason",aliasOptions:[{option:"--close_reason <value>",description:"Alias for --close-reason"}]},{target:"priority",keys:["priority"],option:"--priority, -p <value>",description:"Set priority"},{target:"type",keys:["type"],option:"--type <value>",description:"Set type"},{target:"tags",keys:["tags"],option:"--tags <value>",description:"Set comma-separated tags (replaces existing). Use --add-tags / --remove-tags to mutate additively."},{target:"addTags",keys:["addTags","add_tags"],option:"--add-tags <value>",description:"Add tags to the existing list without replacing it (repeatable; CSV accepted)",repeatable:!0,aliasOptions:[{option:"--add_tags <value>",description:"Alias for --add-tags"}]},{target:"removeTags",keys:["removeTags","remove_tags"],option:"--remove-tags <value>",description:"Remove tags from the existing list (repeatable; CSV accepted)",repeatable:!0,aliasOptions:[{option:"--remove_tags <value>",description:"Alias for --remove-tags"}]},{target:"deadline",keys:["deadline"],option:"--deadline <value>",description:"Set deadline (ISO/date string or relative)"},{target:"estimatedMinutes",keys:["estimate","estimatedMinutes","estimated_minutes"],option:"--estimate, --estimated-minutes <value>",description:"Set estimated minutes",aliasOptions:[{option:"--estimated_minutes <value>",description:"Alias for --estimated-minutes"}]},{target:"acceptanceCriteria",keys:["acceptanceCriteria","acceptance_criteria","ac"],option:"--acceptance-criteria <value>",description:"Set acceptance criteria (repeatable; values join with '; ')",repeatable:!0,aliasOptions:[{option:"--acceptance_criteria <value>",description:"Alias for --acceptance-criteria"},{option:"--ac <value>",description:"Alias for --acceptance-criteria"}]},{target:"addAc",keys:["addAc","add_ac"],option:"--add-ac <value>",description:"Add one semicolon-free acceptance criterion without replacing the existing list (repeatable)",repeatable:!0,aliasOptions:[{option:"--add_ac <value>",description:"Alias for --add-ac"}]},{target:"removeAc",keys:["removeAc","remove_ac"],option:"--remove-ac <value>",description:"Remove one semicolon-free acceptance criterion by exact text match (repeatable)",repeatable:!0,aliasOptions:[{option:"--remove_ac <value>",description:"Alias for --remove-ac"}]},{target:"definitionOfReady",keys:["definitionOfReady","definition_of_ready"],option:"--definition-of-ready <value>",description:"Set definition of ready",aliasOptions:[{option:"--definition_of_ready <value>",description:"Alias for --definition-of-ready"}]},{target:"order",keys:["order"],option:"--order <value>",description:"Set planning order/rank integer"},{target:"rank",keys:["rank"],option:"--rank <value>",description:"Alias for --order"},{target:"goal",keys:["goal"],option:"--goal <value>",description:"Set goal identifier"},{target:"objective",keys:["objective"],option:"--objective <value>",description:"Set objective identifier"},{target:"value",keys:["value"],option:"--value <value>",description:"Set business value summary"},{target:"impact",keys:["impact"],option:"--impact <value>",description:"Set business impact summary"},{target:"outcome",keys:["outcome"],option:"--outcome <value>",description:"Set expected outcome summary"},{target:"whyNow",keys:["whyNow","why_now"],option:"--why-now <value>",description:"Set why-now rationale",aliasOptions:[{option:"--why_now <value>",description:"Alias for --why-now"}]},{target:"author",keys:["author"],option:"--author <value>",description:"Mutation author"},{target:"message",keys:["message"],option:"--message <value>",description:"Mutation message"},{target:"assignee",keys:["assignee"],option:"--assignee <value>",description:"Set assignee"},{target:"parent",keys:["parent"],option:"--parent <value>",description:"Set parent item ID"},{target:"allowMissingParent",keys:["allowMissingParent","allow_missing_parent"],option:"--allow-missing-parent",description:"Allow updating to an unresolved parent reference and emit a validation warning"},{target:"completedAt",keys:["completedAt","completed_at"],option:"--completed-at <value>",description:"Correct the actual completion timestamp on a terminal item"},{target:"reviewer",keys:["reviewer"],option:"--reviewer <value>",description:"Set reviewer"},{target:"risk",keys:["risk"],option:"--risk <value>",description:"Set risk level: low|med|medium|high|critical (med persists as medium)"},{target:"confidence",keys:["confidence"],option:"--confidence <value>",description:"Set confidence level: 0..100|low|med|medium|high (med persists as medium)"},{target:"sprint",keys:["sprint"],option:"--sprint <value>",description:"Set sprint identifier"},{target:"release",keys:["release"],option:"--release <value>",description:"Set release identifier"},{target:"blockedBy",keys:["blockedBy","blocked_by"],option:"--blocked-by <value>",description:"Set latest blocked-by item ID or reason; resolved item IDs append a blocked_by dependency edge",aliasOptions:[{option:"--blocked_by <value>",description:"Alias for --blocked-by"}]},{target:"blockedReason",keys:["blockedReason","blocked_reason"],option:"--blocked-reason <value>",description:"Set blocked reason",aliasOptions:[{option:"--blocked_reason <value>",description:"Alias for --blocked-reason"}]},{target:"unblockNote",keys:["unblockNote","unblock_note"],option:"--unblock-note <value>",description:"Set unblock rationale note",aliasOptions:[{option:"--unblock_note <value>",description:"Alias for --unblock-note"}]},{target:"reporter",keys:["reporter"],option:"--reporter <value>",description:"Set issue reporter"},{target:"severity",keys:["severity"],option:"--severity <value>",description:"Set issue severity: low|med|medium|high|critical (med persists as medium)"},{target:"environment",keys:["environment"],option:"--environment <value>",description:"Set issue environment context"},{target:"reproSteps",keys:["reproSteps","repro_steps"],option:"--repro-steps <value>",description:"Set issue reproduction steps",aliasOptions:[{option:"--repro_steps <value>",description:"Alias for --repro-steps"}]},{target:"resolution",keys:["resolution"],option:"--resolution <value>",description:"Set issue resolution summary"},{target:"expectedResult",keys:["expectedResult","expected_result","expected"],option:"--expected-result <value>",description:"Set issue expected behavior",aliasOptions:[{option:"--expected_result <value>",description:"Alias for --expected-result"},{option:"--expected <value>",description:"Short alias for --expected-result"}]},{target:"actualResult",keys:["actualResult","actual_result","actual"],option:"--actual-result <value>",description:"Set issue observed behavior",aliasOptions:[{option:"--actual_result <value>",description:"Alias for --actual-result"},{option:"--actual <value>",description:"Short alias for --actual-result"}]},{target:"affectedVersion",keys:["affectedVersion","affected_version"],option:"--affected-version <value>",description:"Set affected version identifier",aliasOptions:[{option:"--affected_version <value>",description:"Alias for --affected-version"}]},{target:"fixedVersion",keys:["fixedVersion","fixed_version"],option:"--fixed-version <value>",description:"Set fixed version identifier",aliasOptions:[{option:"--fixed_version <value>",description:"Alias for --fixed-version"}]},{target:"component",keys:["component"],option:"--component <value>",description:"Set issue component ownership"},{target:"regression",keys:["regression"],option:"--regression [value]",description:"Set regression marker; bare flag means true, or pass true|false|1|0"},{target:"customerImpact",keys:["customerImpact","customer_impact"],option:"--customer-impact <value>",description:"Set customer impact summary",aliasOptions:[{option:"--customer_impact <value>",description:"Alias for --customer-impact"}]},{target:"dep",keys:["dep"],option:"--dep <value>",description:"Add dependency entries id=<id>,kind=<value>,author=<value>,created_at=<iso|now>,source_kind=<value> (repeatable)",repeatable:!0},{target:"depRemove",keys:["depRemove","dep_remove"],option:"--dep-remove <value>",description:"Remove dependencies by id or id=<id>,kind=<value>,source_kind=<value> selectors (repeatable)",repeatable:!0,aliasOptions:[{option:"--dep_remove <value>",description:"Alias for --dep-remove"}]},{target:"comment",keys:["comment"],option:"--comment <value>",description:"Append comment seed author=<value>,created_at=<iso|now>,text=<value> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"note",keys:["note"],option:"--note <value>",description:"Append note seed author=<value>,created_at=<iso|now>,text=<value> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"learning",keys:["learning"],option:"--learning <value>",description:"Append learning seed author=<value>,created_at=<iso|now>,text=<value> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"file",keys:["file"],option:"--file <value>",description:"Append linked file path=<value>,scope=<project|global>,note=<text> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"test",keys:["test"],option:"--test <value>",description:"Append linked test command=<value>,path=<value>,scope=<project|global>,timeout_seconds=<n>,pm_context_mode=<schema|tracker|auto> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"doc",keys:["doc"],option:"--doc <value>",description:"Append linked doc path=<value>,scope=<project|global>,note=<text> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"reminder",keys:["reminder"],option:"--reminder <value>",description:"Set reminders at=<iso|relative>,text=<text> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"event",keys:["event"],option:"--event <value>",description:"Set events start=<iso|relative>,end=<iso|relative>,duration=<relative|30min|PT30M>,title=<text>,all_day=<true|false>,recur_* fields (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0},{target:"typeOption",keys:["typeOption","type_option"],option:"--type-option <value>",description:"Set type options key=value or key=<name>,value=<value> (also accepts key:value and markdown pairs; use - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--type_option <value>",description:"Alias for --type-option"}]},{target:"field",keys:["field"],option:"--field <name=value>",description:"Set a field declared by an active extension registerItemFields registration (repeatable)",repeatable:!0},{target:"unset",keys:["unset"],option:"--unset <field>",description:"Clear scalar metadata field by name (repeatable)",repeatable:!0}],yd=_d.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),Ss=_d.filter(e=>e.repeatable===!0).map(e=>({target:e.target,keys:e.keys}));(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]="13ab1164-d2b1-5954-80e8-08c6b12779da")}catch{}})();function ee(e){return e.map(t=>({...t}))}var hd=[{param:"status",flag:"--status"},{param:"type",flag:"--type"},{param:"tag",flag:"--tag"},{param:"priority",flag:"--priority"},{param:"deadlineBefore",flag:"--deadline-before"},{param:"deadlineAfter",flag:"--deadline-after"}],eh=[{param:"updatedAfter",flag:"--updated-after"},{param:"updatedBefore",flag:"--updated-before"},{param:"createdAfter",flag:"--created-after"},{param:"createdBefore",flag:"--created-before"}],UM=[{param:"today",flag:"--today",booleanish:!0},{param:"recent",flag:"--recent",booleanish:!0},...eh],th=[{param:"assignee",flag:"--assignee"},{param:"assigneeFilter",flag:"--assignee-filter"},{param:"parent",flag:"--parent"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"}],qM=[{param:"assignee",flag:"--assignee"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"parent",flag:"--parent"}],GM=[...hd,...th],nh=[{param:"filterReviewerMissing",flag:"--filter-reviewer-missing"},{param:"filterRiskMissing",flag:"--filter-risk-missing"},{param:"filterConfidenceMissing",flag:"--filter-confidence-missing"},{param:"filterSprintMissing",flag:"--filter-sprint-missing"},{param:"filterReleaseMissing",flag:"--filter-release-missing"}],VM=[{param:"filterAcMissing",flag:"--filter-ac-missing"},{param:"filterEstimatesMissing",flag:"--filter-estimates-missing"},{param:"filterResolutionMissing",flag:"--filter-resolution-missing"},{param:"filterMetadataMissing",flag:"--filter-metadata-missing"}],rh=[{param:"hasNotes",flag:"--has-notes"},{param:"noNotes",flag:"--no-notes"},{param:"hasLearnings",flag:"--has-learnings"},{param:"noLearnings",flag:"--no-learnings"},{param:"hasFiles",flag:"--has-files"},{param:"noFiles",flag:"--no-files"},{param:"filterFilesMissing",flag:"--filter-files-missing"},{param:"hasDocs",flag:"--has-docs"},{param:"noDocs",flag:"--no-docs"},{param:"filterDocsMissing",flag:"--filter-docs-missing"},{param:"hasTests",flag:"--has-tests"},{param:"noTests",flag:"--no-tests"},{param:"hasComments",flag:"--has-comments"},{param:"noComments",flag:"--no-comments"},{param:"hasDeps",flag:"--has-deps"},{param:"noDeps",flag:"--no-deps"},{param:"hasBody",flag:"--has-body"},{param:"emptyBody",flag:"--empty-body"},{param:"hasLinkedCommand",flag:"--has-linked-command"},{param:"noLinkedCommand",flag:"--no-linked-command"}],bd=[{param:"for",flag:"--for"},{param:"tokenBudget",flag:"--token-budget"},...ee(hd),...ee(UM),{param:"ids",flag:"--ids"},...ee(th),...ee(VM),...ee(nh),...ee(rh),{param:"limit",flag:"--limit"},{param:"offset",flag:"--offset"},{param:"after",flag:"--after"},{param:"fields",flag:"--fields"},{param:"sort",flag:"--sort"},{param:"order",flag:"--order"},{param:"tree",flag:"--tree"},{param:"treeDepth",flag:"--tree-depth"}],wd=[{param:"groupBy",flag:"--group-by"},{param:"sum",flag:"--sum"},{param:"avg",flag:"--avg"},...ee(GM)],Ed=[{param:"for",flag:"--for"},{param:"tokenBudget",flag:"--token-budget"},{param:"matchMode",flag:"--match-mode"},{param:"minScore",flag:"--min-score"},{param:"count",flag:"--count",booleanish:!0},{param:"semanticWeight",flag:"--semantic-weight"},...ee(hd),...ee(eh),...ee(qM),...ee(nh),...ee(rh),{param:"fields",flag:"--fields"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"}],oh=[{param:"parent",flag:"--parent"},{param:"reviewer",flag:"--reviewer"},{param:"risk",flag:"--risk"},{param:"confidence",flag:"--confidence"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"blockedBy",flag:"--blocked-by"},{param:"blockedReason",flag:"--blocked-reason"},{param:"unblockNote",flag:"--unblock-note"},{param:"reporter",flag:"--reporter"},{param:"severity",flag:"--severity"},{param:"environment",flag:"--environment"},{param:"reproSteps",flag:"--repro-steps"},{param:"resolution",flag:"--resolution"},{param:"expectedResult",flag:"--expected-result"},{param:"actualResult",flag:"--actual-result"},{param:"affectedVersion",flag:"--affected-version"},{param:"fixedVersion",flag:"--fixed-version"},{param:"component",flag:"--component"},{param:"regression",flag:"--regression",booleanish:!0},{param:"customerImpact",flag:"--customer-impact"},{param:"definitionOfReady",flag:"--definition-of-ready",allowEmpty:!0},{param:"order",flag:"--order"},{param:"rank",flag:"--rank"},{param:"goal",flag:"--goal"},{param:"objective",flag:"--objective"},{param:"value",flag:"--value"},{param:"impact",flag:"--impact"},{param:"outcome",flag:"--outcome"},{param:"whyNow",flag:"--why-now"}],ks=ee(oh),ih=[{param:"id",flag:"--id"},{param:"title",flag:"--title"},{param:"description",flag:"--description",allowEmpty:!0},{param:"type",flag:"--type"},{param:"template",flag:"--template"},{param:"createMode",flag:"--create-mode"},{param:"schedulePreset",flag:"--schedule-preset"},{param:"status",flag:"--status"},{param:"priority",flag:"--priority"},{param:"tags",flag:"--tags",allowEmpty:!0},{param:"addTags",flag:"--add-tags",repeatable:!0},{param:"body",flag:"--body",allowEmpty:!0},{param:"deadline",flag:"--deadline"},{param:"estimate",flag:"--estimate"},{param:"acceptanceCriteria",flag:"--acceptance-criteria",allowEmpty:!0},{param:"author",flag:"--author"},{param:"message",flag:"--message",allowEmpty:!0},{param:"assignee",flag:"--assignee"},{param:"allowMissingParent",flag:"--allow-missing-parent"},{param:"allowDuplicate",flag:"--allow-duplicate",booleanish:!0},{param:"reminder",flag:"--reminder",repeatable:!0},{param:"event",flag:"--event",repeatable:!0},{param:"typeOption",flag:"--type-option",repeatable:!0},{param:"field",flag:"--field",repeatable:!0},{param:"dep",flag:"--dep",repeatable:!0},{param:"comment",flag:"--comment",repeatable:!0},{param:"note",flag:"--note",repeatable:!0},{param:"learning",flag:"--learning",repeatable:!0},{param:"linkedFile",flag:"--file",repeatable:!0},{param:"linkedTest",flag:"--test",repeatable:!0},{param:"doc",flag:"--doc",repeatable:!0},{param:"unset",flag:"--unset",repeatable:!0},{param:"clearDeps",flag:"--clear-deps"},{param:"clearComments",flag:"--clear-comments"},{param:"clearNotes",flag:"--clear-notes"},{param:"clearLearnings",flag:"--clear-learnings"},{param:"clearFiles",flag:"--clear-files"},{param:"clearTests",flag:"--clear-tests"},{param:"clearDocs",flag:"--clear-docs"},{param:"clearReminders",flag:"--clear-reminders"},{param:"clearEvents",flag:"--clear-events"},{param:"clearTypeOptions",flag:"--clear-type-options"}],Td=ee(ih),sh=[{param:"title",flag:"--title"},{param:"description",flag:"--description",allowEmpty:!0},{param:"body",flag:"--body",allowEmpty:!0},{param:"status",flag:"--status"},{param:"closeReason",flag:"--close-reason"},{param:"completedAt",flag:"--completed-at"},{param:"priority",flag:"--priority"},{param:"type",flag:"--type"},{param:"tags",flag:"--tags",allowEmpty:!0},{param:"addTags",flag:"--add-tags",repeatable:!0},{param:"removeTags",flag:"--remove-tags",repeatable:!0},{param:"deadline",flag:"--deadline"},{param:"estimate",flag:"--estimate"},{param:"acceptanceCriteria",flag:"--acceptance-criteria",allowEmpty:!0},{param:"addAc",flag:"--add-ac",repeatable:!0},{param:"removeAc",flag:"--remove-ac",repeatable:!0},{param:"author",flag:"--author"},{param:"message",flag:"--message",allowEmpty:!0},{param:"assignee",flag:"--assignee"},{param:"allowMissingParent",flag:"--allow-missing-parent"},{param:"dep",flag:"--dep",repeatable:!0},{param:"depRemove",flag:"--dep-remove",repeatable:!0},{param:"replaceDeps",flag:"--replace-deps"},{param:"replaceTests",flag:"--replace-tests"},{param:"replaceFiles",flag:"--replace-files"},{param:"replaceDocs",flag:"--replace-docs"},{param:"comment",flag:"--comment",repeatable:!0},{param:"note",flag:"--note",repeatable:!0},{param:"learning",flag:"--learning",repeatable:!0},{param:"linkedFile",flag:"--file",repeatable:!0},{param:"linkedTest",flag:"--test",repeatable:!0},{param:"doc",flag:"--doc",repeatable:!0},{param:"reminder",flag:"--reminder",repeatable:!0},{param:"event",flag:"--event",repeatable:!0},{param:"typeOption",flag:"--type-option",repeatable:!0},{param:"field",flag:"--field",repeatable:!0},{param:"unset",flag:"--unset",repeatable:!0},{param:"clearDeps",flag:"--clear-deps"},{param:"clearComments",flag:"--clear-comments"},{param:"clearNotes",flag:"--clear-notes"},{param:"clearLearnings",flag:"--clear-learnings"},{param:"clearFiles",flag:"--clear-files"},{param:"clearTests",flag:"--clear-tests"},{param:"clearDocs",flag:"--clear-docs"},{param:"clearReminders",flag:"--clear-reminders"},{param:"clearEvents",flag:"--clear-events"},{param:"clearTypeOptions",flag:"--clear-type-options"}],vd=ee(sh),Ad=[{param:"filterStatus",flag:"--filter-status"},{param:"filterType",flag:"--filter-type"},{param:"filterTag",flag:"--filter-tag"},{param:"filterPriority",flag:"--filter-priority"},{param:"filterDeadlineBefore",flag:"--filter-deadline-before"},{param:"filterDeadlineAfter",flag:"--filter-deadline-after"},{param:"filterUpdatedAfter",flag:"--filter-updated-after"},{param:"filterUpdatedBefore",flag:"--filter-updated-before"},{param:"filterCreatedAfter",flag:"--filter-created-after"},{param:"filterCreatedBefore",flag:"--filter-created-before"},{param:"filterAssignee",flag:"--filter-assignee"},{param:"filterAssigneeFilter",flag:"--filter-assignee-filter"},{param:"filterParent",flag:"--filter-parent"},{param:"filterSprint",flag:"--filter-sprint"},{param:"filterRelease",flag:"--filter-release"},{param:"filterAcMissing",flag:"--filter-ac-missing"},{param:"filterEstimatesMissing",flag:"--filter-estimates-missing"},{param:"filterResolutionMissing",flag:"--filter-resolution-missing"},{param:"filterMetadataMissing",flag:"--filter-metadata-missing"},{param:"filterReviewerMissing",flag:"--filter-reviewer-missing"},{param:"filterRiskMissing",flag:"--filter-risk-missing"},{param:"filterConfidenceMissing",flag:"--filter-confidence-missing"},{param:"filterSprintMissing",flag:"--filter-sprint-missing"},{param:"filterReleaseMissing",flag:"--filter-release-missing"},{param:"filterHasNotes",flag:"--filter-has-notes"},{param:"filterNoNotes",flag:"--filter-no-notes"},{param:"filterHasLearnings",flag:"--filter-has-learnings"},{param:"filterNoLearnings",flag:"--filter-no-learnings"},{param:"filterHasFiles",flag:"--filter-has-files"},{param:"filterNoFiles",flag:"--filter-no-files"},{param:"filterHasDocs",flag:"--filter-has-docs"},{param:"filterNoDocs",flag:"--filter-no-docs"},{param:"filterHasTests",flag:"--filter-has-tests"},{param:"filterNoTests",flag:"--filter-no-tests"},{param:"filterHasComments",flag:"--filter-has-comments"},{param:"filterNoComments",flag:"--filter-no-comments"},{param:"filterHasDeps",flag:"--filter-has-deps"},{param:"filterNoDeps",flag:"--filter-no-deps"},{param:"filterHasBody",flag:"--filter-has-body"},{param:"filterEmptyBody",flag:"--filter-empty-body"},{param:"filterHasLinkedCommand",flag:"--filter-has-linked-command"},{param:"filterNoLinkedCommand",flag:"--filter-no-linked-command"},{param:"ids",flag:"--ids"},{param:"limit",flag:"--limit"},{param:"offset",flag:"--offset"}],Sd=ee(Ad),kd=ee(Ad),BM=[{param:"view",flag:"--view"},{param:"date",flag:"--date"},{param:"from",flag:"--from"},{param:"to",flag:"--to"},{param:"type",flag:"--type"},{param:"tag",flag:"--tag"},{param:"priority",flag:"--priority"},{param:"status",flag:"--status"},{param:"assignee",flag:"--assignee"},{param:"assigneeFilter",flag:"--assignee-filter"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"include",flag:"--include"},{param:"recurrenceLookaheadDays",flag:"--recurrence-lookahead-days"},{param:"recurrenceLookbackDays",flag:"--recurrence-lookback-days"},{param:"occurrenceLimit",flag:"--occurrence-limit"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"},{param:"format",flag:"--format"}],xd=[{param:"id",flag:"--id"},{param:"op",flag:"--op"},{param:"author",flag:"--author"},{param:"from",flag:"--from"},{param:"to",flag:"--to"},{param:"limit",flag:"--limit"},{param:"unbounded",flag:"--unbounded"},{param:"compact",flag:"--compact"},{param:"full",flag:"--full"},{param:"provenance",flag:"--provenance"},{param:"provenanceSummary",flag:"--provenance-summary"},{param:"harness",flag:"--harness",repeatable:!0},{param:"agentInstance",flag:"--agent-instance",repeatable:!0},{param:"provenanceFilter",flag:"--provenance-filter",repeatable:!0}],Cd=[{param:"for",flag:"--for"},{param:"date",flag:"--date"},{param:"from",flag:"--from"},{param:"to",flag:"--to"},{param:"type",flag:"--type"},{param:"tag",flag:"--tag"},{param:"priority",flag:"--priority"},{param:"assignee",flag:"--assignee"},{param:"assigneeFilter",flag:"--assignee-filter"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"parent",flag:"--parent"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"},{param:"format",flag:"--format"},{param:"depth",flag:"--depth"},{param:"fields",flag:"--fields"},{param:"section",flag:"--section",repeatable:!0},{param:"activityLimit",flag:"--activity-limit"},{param:"staleThreshold",flag:"--stale-threshold"},{param:"tokenBudget",flag:"--token-budget"},{param:"explainRanking",flag:"--explain-ranking"},{param:"noTags",flag:"--no-tags"},{param:"noExtensionHealth",flag:"--no-extension-health"}],HM=[{param:"format",flag:"--format"},{param:"maxDepth",flag:"--max-depth"},{param:"collapse",flag:"--collapse"},{param:"summary",flag:"--summary"},{param:"nodeLimit",flag:"--node-limit"},{param:"edgeLimit",flag:"--edge-limit"},{param:"tokenBudget",flag:"--token-budget"},{param:"cursor",flag:"--cursor"},{param:"direction",flag:"--direction"},{param:"kind",flag:"--kind",repeatable:!0}],WM=[{param:"kind",flag:"--kind",repeatable:!0},{param:"maxDepth",flag:"--max-depth"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"},{param:"direction",flag:"--direction"},{param:"maxPaths",flag:"--max-paths"},{param:"sample",flag:"--sample"},{param:"exemptIsolate",flag:"--exempt-isolate",repeatable:!0},{param:"exemptIsolateType",flag:"--exempt-isolate-type",repeatable:!0},{param:"saveBaseline",flag:"--save-baseline"},{param:"rebuild",flag:"--rebuild"},{param:"clear",flag:"--clear"},{param:"summary",flag:"--summary"}];(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]="f73e79d8-2a65-5a25-8c6f-ec9b06651634")}catch{}})();function eo(e){return[...new Set(Array.from(e,t=>t.trim()).filter(t=>t.length>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]="932a6144-c4b4-5153-b8ff-0ef29e308bd0")}catch{}})();function Id(e){return e.startsWith("--")?`--${e.slice(2).replaceAll("_","-")}`:e}function to(e){let t=new Map;for(let n of e){let r=Id(n.flag),o=t.get(r)??new Set;n.flag!==r&&o.add(n.flag);for(let i of n.aliases??[])i!==r&&o.add(i);t.set(r,o)}return e.map(n=>{let r=Id(n.flag);if(n.flag!==r)return n;let o=eo([...n.aliases??[],...t.get(r)]).filter(i=>i!==r);return o.length===0?n:{...n,aliases:o}})}function KM(e){let t=to(e),n=new Set(t.map(r=>r.flag));return t.filter(r=>{let o=Id(r.flag);return r.flag===o||!n.has(o)})}var xs=ba.map(e=>({flag:e.flag,...e.aliases?{aliases:[...e.aliases]}:{},...e.value_name?{value_name:e.value_name}:{}})),YM=[...xs,{flag:"--version"}],ah=[{flag:"--filter-reviewer-missing"},{flag:"--filter-risk-missing"},{flag:"--filter-confidence-missing"},{flag:"--filter-sprint-missing"},{flag:"--filter-release-missing"},{flag:"--has-notes"},{flag:"--no-notes"},{flag:"--has-learnings"},{flag:"--no-learnings"},{flag:"--has-files"},{flag:"--no-files"},{flag:"--filter-files-missing"},{flag:"--has-docs"},{flag:"--no-docs"},{flag:"--filter-docs-missing"},{flag:"--has-tests"},{flag:"--no-tests"},{flag:"--has-comments"},{flag:"--no-comments"},{flag:"--has-deps"},{flag:"--no-deps"},{flag:"--has-body"},{flag:"--empty-body"},{flag:"--has-linked-command"},{flag:"--no-linked-command"}],ch=[{flag:"--filter-reviewer-missing"},{flag:"--filter-risk-missing"},{flag:"--filter-confidence-missing"},{flag:"--filter-sprint-missing"},{flag:"--filter-release-missing"},{flag:"--filter-has-notes"},{flag:"--filter-no-notes"},{flag:"--filter-has-learnings"},{flag:"--filter-no-learnings"},{flag:"--filter-has-files"},{flag:"--filter-no-files"},{flag:"--filter-has-docs"},{flag:"--filter-no-docs"},{flag:"--filter-has-tests"},{flag:"--filter-no-tests"},{flag:"--filter-has-comments"},{flag:"--filter-no-comments"},{flag:"--filter-has-deps"},{flag:"--filter-no-deps"},{flag:"--filter-has-body"},{flag:"--filter-empty-body"},{flag:"--filter-has-linked-command"},{flag:"--filter-no-linked-command"},{flag:"--ids",list:!0},{flag:"--limit"},{flag:"--offset"}],lh=Pd([{flag:"--for",value_name:"intent"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--status",list:!0},{flag:"--type",list:!0},{flag:"--tag",aliases:["--tags"],list:!0},{flag:"--priority",list:!0},{flag:"--deadline-before"},{flag:"--deadline-after"},{flag:"--today"},{flag:"--recent"},{flag:"--updated-after"},{flag:"--updated-before"},{flag:"--created-after"},{flag:"--created-before"},{flag:"--ids",list:!0},{flag:"--assignee",list:!0},{flag:"--assignee-filter"},{flag:"--assignee_filter"},{flag:"--parent"},{flag:"--sprint",list:!0},{flag:"--release",list:!0},{flag:"--filter-ac-missing"},{flag:"--filter-estimates-missing",aliases:["--filter-estimate-missing"]},{flag:"--filter-resolution-missing"},{flag:"--filter-metadata-missing"},...ah,{flag:"--limit"},{flag:"--offset"},{flag:"--after"},{flag:"--no-truncate"},{flag:"--compact"},{flag:"--brief"},{flag:"--full"},{flag:"--fields",list:!0},{flag:"--sort"},{flag:"--order"},{flag:"--tree"},{flag:"--tree-depth"},{flag:"--tree_depth"},{flag:"--include-body"},{flag:"--strict-read"},{flag:"--format"},{flag:"--stream"}],new Set(["--limit","--token-budget","--offset","--after","--no-truncate","--compact","--brief","--full","--fields","--include-body","--strict-read"])),dh=[{flag:"--group-by",list:!0},{flag:"--count"},{flag:"--completion"},{flag:"--sum"},{flag:"--avg"},{flag:"--include-unparented"},{flag:"--include_unparented"},{flag:"--status",list:!0},{flag:"--type",list:!0},{flag:"--tag",list:!0},{flag:"--priority",list:!0},{flag:"--deadline-before"},{flag:"--deadline-after"},{flag:"--assignee",list:!0},{flag:"--assignee-filter"},{flag:"--assignee_filter"},{flag:"--parent"},{flag:"--sprint",list:!0},{flag:"--release",list:!0}],uh=[{flag:"--add",aliases:["--comment","--body"]},{flag:"--stdin"},{flag:"--file"},{flag:"--edit"},{flag:"--delete"},{flag:"--limit"},{flag:"--full-history"},{flag:"--author"},{flag:"--message"},{flag:"--force"}];function Pd(e,t){return e.map(n=>t.has(n.flag)?{...n,cursor_semantics:"presentation"}:n)}var fh=[{flag:"--add",aliases:["--note"]},{flag:"--add-json"},{flag:"--stdin"},{flag:"--file"},{flag:"--edit"},{flag:"--delete"},{flag:"--limit"},{flag:"--since"},{flag:"--event-type"},{flag:"--include-meta"},{flag:"--full-history"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],ph=[{flag:"--add",aliases:["--learning"]},{flag:"--limit"},{flag:"--full-history"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],mh=[{flag:"--add"},{flag:"--add-glob"},{flag:"--remove"},{flag:"--migrate"},{flag:"--note"},{flag:"--list"},{flag:"--append-stable"},{flag:"--validate-paths"},{flag:"--scope"},{flag:"--limit"},{flag:"--offset"},{flag:"--no-truncate"},{flag:"--strict-read"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],gh=[{flag:"--add"},{flag:"--add-glob"},{flag:"--remove"},{flag:"--migrate"},{flag:"--note"},{flag:"--list"},{flag:"--validate-paths"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],_h=[{flag:"--limit"},{flag:"--compact"},{flag:"--full"},{flag:"--provenance"},{flag:"--provenance-summary"},{flag:"--harness",repeatable:!0},{flag:"--agent-instance",repeatable:!0},{flag:"--provenance-filter",repeatable:!0},{flag:"--diff"},{flag:"--field"},{flag:"--verify"},{flag:"--strict-exit"},{flag:"--fail-on-warn"},{flag:"--format"}],yh=[{flag:"--dry-run"},{flag:"--output"},{flag:"--item-path"},{flag:"--prefer"}],hh=[{flag:"--literal"},{flag:"--regex"},{flag:"--replacement"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],bh=[{flag:"--all"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],wh=[{flag:"--event",repeatable:!0},{flag:"--all-actionable"},{flag:"--attributed-author",aliases:["--attributed_author"]},{flag:"--reviewer"},{flag:"--reason"}],Eh=[{flag:"--before"},{flag:"--ids",list:!0},{flag:"--all-over",value_type:"number"},{flag:"--closed"},{flag:"--all-streams"},{flag:"--min-entries",value_type:"number"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Th=[{flag:"--description"},{flag:"--default-status",aliases:["--default_status"]},{flag:"--folder"},{flag:"--alias"},{flag:"--role"},{flag:"--order"},{flag:"--type"},{flag:"--commands"},{flag:"--cli-flag"},{flag:"--required"},{flag:"--required-on-create"},{flag:"--no-allow-unset"},{flag:"--required-types"},{flag:"--infer"},{flag:"--min-count"},{flag:"--apply"},{flag:"--to"},{flag:"--migration-id",aliases:["--migration_id"]},{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],vh=[{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],Ah=[{flag:"--title"},{flag:"--description"},{flag:"--scope"},{flag:"--parent"},{flag:"--related"},{flag:"--blocks"},{flag:"--blocked-by",aliases:["--blocked_by"]},{flag:"--harness"},{flag:"--mode"},{flag:"--resume-context",aliases:["--resume_context"]},{flag:"--tags",aliases:["--tag"],list:!0},{flag:"--priority"},{flag:"--status",short:"-s"},{flag:"--create-mode",aliases:["--create_mode"]},{flag:"--deadline"},{flag:"--estimate",aliases:["--estimated-minutes","--estimated_minutes"]},{flag:"--acceptance-criteria",aliases:["--acceptance_criteria","--ac"],repeatable:!0},{flag:"--definition-of-ready",aliases:["--definition_of_ready"]},{flag:"--order"},{flag:"--rank"},{flag:"--goal"},{flag:"--objective"},{flag:"--value"},{flag:"--impact"},{flag:"--outcome"},{flag:"--why-now",aliases:["--why_now"]},{flag:"--assignee"},{flag:"--reviewer"},{flag:"--risk"},{flag:"--confidence"},{flag:"--sprint"},{flag:"--release"},{flag:"--blocked-reason",aliases:["--blocked_reason"]},{flag:"--unblock-note",aliases:["--unblock_note"]},{flag:"--reporter"},{flag:"--severity"},{flag:"--environment"},{flag:"--repro-steps",aliases:["--repro_steps"]},{flag:"--resolution"},{flag:"--expected-result",aliases:["--expected_result","--expected"]},{flag:"--actual-result",aliases:["--actual_result","--actual"]},{flag:"--affected-version",aliases:["--affected_version"]},{flag:"--fixed-version",aliases:["--fixed_version"]},{flag:"--component"},{flag:"--regression"},{flag:"--customer-impact",aliases:["--customer_impact"]},{flag:"--comment",repeatable:!0},{flag:"--note",repeatable:!0},{flag:"--learning",repeatable:!0},{flag:"--reminder",repeatable:!0},{flag:"--event",repeatable:!0},{flag:"--type-option",aliases:["--type_option"],repeatable:!0},{flag:"--body"},{flag:"--claim"},{flag:"--from-search",aliases:["--from_search"]},{flag:"--template"},{flag:"--step-title",aliases:["--step_title"]},{flag:"--step"},{flag:"--step-body",aliases:["--step_body"]},{flag:"--step-owner",aliases:["--step_owner"]},{flag:"--step-status",aliases:["--step_status"]},{flag:"--step-evidence",aliases:["--step_evidence"]},{flag:"--step-blocked-reason",aliases:["--step_blocked_reason"]},{flag:"--step-replacement",aliases:["--step_replacement"]},{flag:"--depends-on",aliases:["--depends_on"]},{flag:"--link"},{flag:"--link-kind",aliases:["--link_kind"]},{flag:"--link-note",aliases:["--link_note"]},{flag:"--promote-to-item-dep",aliases:["--promote_to_item_dep"]},{flag:"--allow-multiple-active",aliases:["--allow_multiple_active"]},{flag:"--file"},{flag:"--test"},{flag:"--doc"},{flag:"--decision-text",aliases:["--decision_text","--decision"]},{flag:"--decision-rationale",aliases:["--decision_rationale"]},{flag:"--decision-evidence",aliases:["--decision_evidence"]},{flag:"--discovery-text",aliases:["--discovery_text","--discovery"]},{flag:"--validation-text",aliases:["--validation_text","--validation"]},{flag:"--validation-command",aliases:["--validation_command"]},{flag:"--validation-expected",aliases:["--validation_expected"]},{flag:"--depth"},{flag:"--field"},{flag:"--fields",list:!0},{flag:"--steps"},{flag:"--materialize-type",aliases:["--materialize_type"]},{flag:"--materialize-parent",aliases:["--materialize_parent"]},{flag:"--materialize-tags",aliases:["--materialize_tags"]},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Sh=[{flag:"--id-prefix",aliases:["--prefix"]},{flag:"--preset"},{flag:"--type-preset"},{flag:"--defaults",short:"-y",aliases:["--yes"]},{flag:"--author"},{flag:"--agent-guidance"},{flag:"--with-packages"},{flag:"--no-merge-fence"},{flag:"--workspace"},{flag:"--force"},{flag:"--verbose"}],kh=[{flag:"--criterion"},{flag:"--clear-criteria"},{flag:"--format"},{flag:"--policy"},{flag:"--default-depth"},{flag:"--activity-limit"},{flag:"--stale-threshold-days"},{flag:"--section-hierarchy"},{flag:"--section-activity"},{flag:"--section-progress"},{flag:"--section-blockers"},{flag:"--section-files"},{flag:"--section-workload"},{flag:"--section-staleness"},{flag:"--section-tests"}],Md=[{flag:"--init"},{flag:"--scaffold"},{flag:"--capability"},{flag:"--install"},{flag:"--uninstall"},{flag:"--explore"},{flag:"--list"},{flag:"--manage"},{flag:"--describe"},{flag:"--markdown"},{flag:"--output"},{flag:"--reload"},{flag:"--watch"},{flag:"--doctor"},{flag:"--catalog"},{flag:"--adopt"},{flag:"--adopt-all"},{flag:"--activate"},{flag:"--deactivate"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--gh"},{flag:"--github"},{flag:"--ref"},{flag:"--detail"},{flag:"--trace"},{flag:"--runtime-probe"},{flag:"--fix-managed-state"},{flag:"--isolated"},{flag:"--ignore-global"},{flag:"--strict-exit"},{flag:"--fail-on-warn"}],me=[{flag:"--project"},{flag:"--local"},{flag:"--global"}],Fd=[...me,{flag:"--capability"}],Rd=[...Md,{flag:"--declarative"}],xh=[...Fd,{flag:"--declarative"}],Ch=[{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],Oh=me,Ih=me,Rh=[...me,{flag:"--markdown"},{flag:"--output"}],Nh=me,Dh=me,Lh=me,Ph=[...me,{flag:"--dry-run"}],Mh=[...me,{flag:"--runtime-probe"},{flag:"--fix-managed-state"}],Fh=[...me,{flag:"--watch"}],$h=[...me,{flag:"--detail"},{flag:"--trace"},{flag:"--fix-managed-state"},{flag:"--isolated"},{flag:"--ignore-global"},{flag:"--strict-exit"},{flag:"--fail-on-warn"}],jh=[...me,{flag:"--fields",list:!0}],zh=[...me,{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],Uh=[{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],qh=[{flag:"--dry-run"},{flag:"--cli-only"},{flag:"--packages-only"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--repair"},{flag:"--tag"},{flag:"--package-name"}],XM=[{flag:"--mode"},{flag:"--progress"}],Gh=[{flag:"--reason"},{flag:"--close-reason"},{flag:"--completed-at"},{flag:"--duplicate-of"},{flag:"--author"},{flag:"--message"},{flag:"--validate-close"},{flag:"--resolution"},{flag:"--expected-result",aliases:["--expected_result","--expected"]},{flag:"--actual-result",aliases:["--actual_result","--actual"]},{flag:"--force"}],Vh=[{flag:"--filter-status",list:!0},{flag:"--filter-type"},{flag:"--filter-tag"},{flag:"--filter-priority"},{flag:"--filter-deadline-before"},{flag:"--filter-deadline-after"},{flag:"--filter-updated-after"},{flag:"--filter-updated-before"},{flag:"--filter-created-after"},{flag:"--filter-created-before"},{flag:"--filter-assignee"},{flag:"--filter-assignee-filter"},{flag:"--filter-assignee_filter"},{flag:"--filter-parent"},{flag:"--filter-sprint"},{flag:"--filter-release"},...ch,{flag:"--reason"},{flag:"--completed-at"},{flag:"--resolution"},{flag:"--expected-result",aliases:["--expected_result","--expected"]},{flag:"--actual-result",aliases:["--actual_result","--actual"]},{flag:"--validate-close"},{flag:"--author"},{flag:"--message"},{flag:"--force"},{flag:"--dry-run"},{flag:"--rollback"},{flag:"--no-checkpoint"}],Bh=[{flag:"--body",short:"-b"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Hh=[{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"},{flag:"--if-available"},{flag:"--next"},{flag:"--type"},{flag:"--tag"},{flag:"--priority"},{flag:"--assignee-filter"},{flag:"--parent"},{flag:"--sprint"},{flag:"--release"},{flag:"--max-attempts"},{flag:"--include-decisions"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--explain-ranking",aliases:["--explain_ranking"]}],Wh=[{flag:"--author"},{flag:"--message"},{flag:"--force"}],Kh=[{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Yh=[{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],Xh=[{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],Jh=[{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],Qh=[{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--validate-close"},{flag:"--force"}],Zh=[{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--tags"},{flag:"--priority"},{flag:"--body"},{flag:"--description"},{flag:"--author"},{flag:"--message"}],$d=[{flag:"--start"},{flag:"--duration"},{flag:"--end"},{flag:"--location"},{flag:"--timezone"},{flag:"--all-day"},...Zh],eb=$d,tb=[{flag:"--at"},{flag:"--text"},...Zh],nb=[{flag:"--add"},{flag:"--add-json"},{flag:"--remove"},{flag:"--run"},{flag:"--match"},{flag:"--only-index"},{flag:"--only-last"},{flag:"--background"},{flag:"--timeout"},{flag:"--progress"},{flag:"--env-set"},{flag:"--env-clear"},{flag:"--shared-host-safe"},{flag:"--pm-context"},{flag:"--override-linked-pm-context"},{flag:"--fail-on-context-mismatch"},{flag:"--fail-on-skipped"},{flag:"--fail-on-empty-test-run"},{flag:"--require-assertions-for-pm"},{flag:"--check-context"},{flag:"--auto-pm-context"},{flag:"--measure",list:!0},{flag:"--metric-below"},{flag:"--metric-diff"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],rb=[{flag:"--status"},{flag:"--limit"},{flag:"--offset"},{flag:"--background"},{flag:"--timeout"},{flag:"--progress"},{flag:"--env-set"},{flag:"--env-clear"},{flag:"--shared-host-safe"},{flag:"--pm-context"},{flag:"--override-linked-pm-context"},{flag:"--fail-on-context-mismatch"},{flag:"--fail-on-skipped"},{flag:"--fail-on-empty-test-run"},{flag:"--require-assertions-for-pm"},{flag:"--check-context"},{flag:"--auto-pm-context"}],ob=[{flag:"--limit"}],ib=[{flag:"--status"},{flag:"--limit"},{flag:"--stream"},{flag:"--tail"},{flag:"--force"},{flag:"--author"}],sb=[{flag:"--dry-run"},{flag:"--scope"}],ab=[{flag:"--storage"},{flag:"--metadata-coverage"},{flag:"--field-utilization"},{flag:"--by-assignee"},{flag:"--by-tag"},{flag:"--by-priority"},{flag:"--tag-prefix"},{flag:"--analytics"}],cb=[{flag:"--status",repeatable:!0,list:!0},{flag:"--since"},{flag:"--threshold"},{flag:"--limit"}],lb=[{flag:"--strict-directories"},{flag:"--require-merge-drivers"},{flag:"--strict-exit"},{flag:"--fail-on-warn"},{flag:"--check-only"},{flag:"--check-telemetry"},{flag:"--no-refresh"},{flag:"--refresh-vectors"},{flag:"--verbose-stale-items"},{flag:"--verbose-author-events"},{flag:"--brief"},{flag:"--summary"},{flag:"--skip-vectors"},{flag:"--skip-integrity"},{flag:"--skip-drift"},{flag:"--full"}],db=[{flag:"--check-metadata"},{flag:"--metadata-profile"},{flag:"--check-resolution"},{flag:"--check-lifecycle"},{flag:"--check-stale-blockers"},{flag:"--dependency-cycle-severity"},{flag:"--parent-cycle-severity"},{flag:"--check-files"},{flag:"--scan-mode"},{flag:"--include-pm-internals"},{flag:"--verbose-file-lists"},{flag:"--verbose-diagnostics"},{flag:"--all-affected-ids"},{flag:"--strict-exit"},{flag:"--fail-on-warn"},{flag:"--fix-hints"},{flag:"--auto-fix"},{flag:"--dry-run"},{flag:"--fix-scope"},{flag:"--prune-missing"},{flag:"--check-history-drift"},{flag:"--check-command-references"},{flag:"--check-storage-integrity"},{flag:"--counts"},{flag:"--full"}],ub=[{flag:"--assignee"},{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--reviewer"},{flag:"--risk"},{flag:"--confidence"},{flag:"--sprint"},{flag:"--release"},{flag:"--blocked-by"},{flag:"--blocked-reason"},{flag:"--unblock-note"},{flag:"--reporter"},{flag:"--severity"},{flag:"--environment"},{flag:"--repro-steps"},{flag:"--resolution"},{flag:"--expected-result"},{flag:"--actual-result"},{flag:"--affected-version"},{flag:"--fixed-version"}],fb=[{flag:"--component"},{flag:"--regression"},{flag:"--customer-impact"},{flag:"--customer_impact"},{flag:"--definition-of-ready"},{flag:"--definition_of_ready"},{flag:"--order"},{flag:"--rank"},{flag:"--goal"},{flag:"--objective"},{flag:"--value"},{flag:"--impact"},{flag:"--outcome"},{flag:"--why-now"},{flag:"--why_now"}],pb=[{short:"-p",flag:"--priority"},{flag:"--type"},{flag:"--tags",aliases:["--tag"],list:!0},{flag:"--add-tags",aliases:["--add_tags"]},{flag:"--remove-tags",aliases:["--remove_tags"]},{flag:"--deadline"},{flag:"--estimate"},{flag:"--estimated-minutes"},{flag:"--estimated_minutes"},{flag:"--acceptance-criteria"},{flag:"--acceptance_criteria"},{flag:"--ac"},{flag:"--add-ac",aliases:["--add_ac"]},{flag:"--remove-ac",aliases:["--remove_ac"]}],Nd=[{flag:"--stdin-json"},{short:"-t",flag:"--title"},{flag:"--id"},{short:"-d",flag:"--description"},{flag:"--type"},{flag:"--template"},{flag:"--create-mode"},{flag:"--create_mode"},{flag:"--schedule-preset"},{flag:"--schedule_preset"},{short:"-s",flag:"--status"},{flag:"--close-reason"},{flag:"--close_reason"},{flag:"--completed-at"},{flag:"--completed_at"},{short:"-p",flag:"--priority"},{flag:"--tags",aliases:["--tag"],list:!0},{flag:"--add-tags",aliases:["--add_tags"]},{short:"-b",flag:"--body"},{flag:"--body-file"},{flag:"--deadline"},{flag:"--estimate"},{flag:"--estimated-minutes"},{flag:"--estimated_minutes"},{flag:"--acceptance-criteria"},{flag:"--acceptance_criteria"},{flag:"--ac"},{flag:"--author"},{flag:"--message"},...ub,...fb,{flag:"--blocked_by"},{flag:"--blocked_reason"},{flag:"--unblock_note"},{flag:"--repro_steps"},{flag:"--expected_result"},{flag:"--actual_result"},{flag:"--expected"},{flag:"--actual"},{flag:"--affected_version"},{flag:"--fixed_version"},{flag:"--dep"},{flag:"--type-option"},{flag:"--type_option"},{flag:"--field"},{flag:"--reminder"},{flag:"--event"},{flag:"--comment"},{flag:"--note"},{flag:"--learning"},{flag:"--file"},{flag:"--test"},{flag:"--doc"},{flag:"--unset"},{flag:"--clear-deps"},{flag:"--clear-comments"},{flag:"--clear-notes"},{flag:"--clear-learnings"},{flag:"--clear-files"},{flag:"--clear-tests"},{flag:"--clear-docs"},{flag:"--clear-reminders"},{flag:"--clear-events"},{flag:"--clear-type-options"},{flag:"--allow-duplicate",value_type:"boolean"}],mb=[{flag:"--transaction-id",value_name:"value"},{flag:"--stdin-json"},{flag:"--dry-run"},{flag:"--create-compensation",value_name:"mode"},{flag:"--lock-ttl-seconds",value_name:"n"},{flag:"--lock-wait-ms",value_name:"n"},{flag:"--author",value_name:"value"}],gb=[{flag:"--transaction-id",value_name:"value",required:!0},{flag:"--reason",value_name:"value"},{flag:"--file",value_name:"value",repeatable:!0},{flag:"--doc",value_name:"value",repeatable:!0},{flag:"--test",value_name:"value",repeatable:!0},{flag:"--comment",value_name:"value",repeatable:!0},{flag:"--note",value_name:"value",repeatable:!0},{flag:"--learning",value_name:"value",repeatable:!0},{flag:"--resolution",value_name:"value"},{flag:"--expected-result",value_name:"value"},{flag:"--actual-result",value_name:"value"},{flag:"--completed-at",value_name:"value"},{flag:"--validate-close",value_name:"mode"},{flag:"--lock-ttl-seconds",value_name:"n"},{flag:"--lock-wait-ms",value_name:"n"},{flag:"--dry-run"},{flag:"--force"},{flag:"--author",value_name:"value"}],_b=[{flag:"--title"},{flag:"--author"},{flag:"--message"},{flag:"--allow-duplicate",value_type:"boolean"}],yb=[{flag:"--clear"}],hb=[{flag:"--stdin-json"},{short:"-t",flag:"--title"},{short:"-d",flag:"--description"},{short:"-b",flag:"--body"},{flag:"--body-file"},{short:"-s",flag:"--status"},{flag:"--close-reason"},{flag:"--close_reason"},{flag:"--completed-at"},...pb,...ub,{flag:"--fixed_version"},...fb,{flag:"--author"},{flag:"--message"},{flag:"--blocked_by"},{flag:"--blocked_reason"},{flag:"--unblock_note"},{flag:"--repro_steps"},{flag:"--expected_result"},{flag:"--actual_result"},{flag:"--expected"},{flag:"--actual"},{flag:"--affected_version"},{flag:"--dep"},{flag:"--dep-remove"},{flag:"--dep_remove"},{flag:"--replace-deps"},{flag:"--replace-tests"},{flag:"--replace-files"},{flag:"--replace-docs"},{flag:"--comment"},{flag:"--note"},{flag:"--learning"},{flag:"--file"},{flag:"--test"},{flag:"--doc"},{flag:"--reminder"},{flag:"--event"},{flag:"--type-option"},{flag:"--type_option"},{flag:"--field"},{flag:"--unset"},{flag:"--clear-deps"},{flag:"--clear-comments"},{flag:"--clear-notes"},{flag:"--clear-learnings"},{flag:"--clear-files"},{flag:"--clear-tests"},{flag:"--clear-docs"},{flag:"--clear-reminders"},{flag:"--clear-events"},{flag:"--clear-type-options"},{flag:"--force"}],bb=[{flag:"--filter-status",list:!0},{flag:"--filter-type",list:!0},{flag:"--filter-tag",list:!0},{flag:"--filter-priority",list:!0},{flag:"--filter-deadline-before"},{flag:"--filter-deadline-after"},{flag:"--filter-updated-after"},{flag:"--filter-updated-before"},{flag:"--filter-created-after"},{flag:"--filter-created-before"},{flag:"--filter-assignee",list:!0},{flag:"--filter-assignee-filter"},{flag:"--filter-assignee_filter"},{flag:"--filter-parent"},{flag:"--filter-sprint",list:!0},{flag:"--filter-release",list:!0},{flag:"--filter-ac-missing"},{flag:"--filter-estimates-missing",aliases:["--filter-estimate-missing"]},{flag:"--filter-resolution-missing"},{flag:"--filter-metadata-missing"},...ch,{flag:"--dry-run"},{flag:"--rollback"},{flag:"--no-checkpoint"},{short:"-t",flag:"--title"},{short:"-d",flag:"--description"},{short:"-b",flag:"--body"},...pb,{flag:"--definition-of-ready"},{flag:"--definition_of_ready"},{flag:"--order"},{flag:"--rank"},{flag:"--goal"},{flag:"--objective"},{flag:"--value"},{flag:"--impact"},{flag:"--outcome"},{flag:"--why-now"},{flag:"--why_now"},{flag:"--reviewer"},{flag:"--risk"},{flag:"--confidence"},{flag:"--sprint"},{flag:"--release"},{flag:"--reporter"},{flag:"--severity"},{flag:"--environment"},{flag:"--repro-steps"},{flag:"--repro_steps"},{flag:"--resolution"},{flag:"--expected-result"},{flag:"--expected_result"},{flag:"--expected"},{flag:"--actual-result"},{flag:"--actual_result"},{flag:"--actual"},{flag:"--affected-version"},{flag:"--affected_version"},{flag:"--fixed-version"},{flag:"--fixed_version"},{flag:"--component"},{flag:"--regression"},{flag:"--customer-impact"},{flag:"--customer_impact"},{flag:"--dep"},{flag:"--dep-remove"},{flag:"--dep_remove"},{flag:"--replace-deps"},{flag:"--replace-tests"},{flag:"--replace-files"},{flag:"--replace-docs"},{flag:"--comment"},{flag:"--note"},{flag:"--learning"},{flag:"--file"},{flag:"--test"},{flag:"--doc"},{flag:"--reminder"},{flag:"--event"},{flag:"--type-option"},{flag:"--type_option"},{flag:"--unset"},{flag:"--clear-deps"},{flag:"--clear-comments"},{flag:"--clear-notes"},{flag:"--clear-learnings"},{flag:"--clear-files"},{flag:"--clear-tests"},{flag:"--clear-docs"},{flag:"--clear-reminders"},{flag:"--clear-events"},{flag:"--clear-type-options"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Dd=[{flag:"--view"},{flag:"--date"},{flag:"--from"},{flag:"--to"},{flag:"--past"},{flag:"--full-period"},{flag:"--full_period"},{flag:"--type"},{flag:"--tag"},{flag:"--priority"},{flag:"--status"},{flag:"--assignee"},{flag:"--assignee-filter"},{flag:"--assignee_filter"},{flag:"--sprint"},{flag:"--release"},{flag:"--include"},{flag:"--recurrence-lookahead-days"},{flag:"--recurrence-lookback-days"},{flag:"--occurrence-limit"},{flag:"--limit"},{flag:"--format"}],wb=[{flag:"--id"},{flag:"--op"},{flag:"--author"},{flag:"--from"},{flag:"--to"},{flag:"--limit"},{flag:"--unbounded"},{flag:"--compact"},{flag:"--full"},{flag:"--provenance"},{flag:"--provenance-summary"},{flag:"--harness",repeatable:!0},{flag:"--agent-instance",repeatable:!0},{flag:"--provenance-filter",repeatable:!0},{flag:"--stream"}],Eb=[{flag:"--since"},{flag:"--type",repeatable:!0},{flag:"--author",repeatable:!0},{flag:"--item",repeatable:!0},{flag:"--limit",value_type:"number"},{flag:"--full"},{flag:"--provenance"},{flag:"--provenance-summary"},{flag:"--harness",repeatable:!0},{flag:"--agent-instance",repeatable:!0},{flag:"--provenance-filter",repeatable:!0},{flag:"--follow"},{flag:"--interval-ms",value_type:"number"}],Ld=Pd([{flag:"--for",value_name:"intent"},{flag:"--date"},{flag:"--from"},{flag:"--to"},{flag:"--past"},{flag:"--type"},{flag:"--tag"},{flag:"--priority"},{flag:"--assignee"},{flag:"--assignee-filter"},{flag:"--assignee_filter"},{flag:"--sprint"},{flag:"--release"},{flag:"--parent"},{flag:"--limit",aliases:["--max-items"]},{flag:"--after"},{flag:"--format"},{flag:"--depth"},{flag:"--fields",list:!0},{flag:"--section"},{flag:"--activity-limit"},{flag:"--stale-threshold"},{flag:"--explain-ranking"},{flag:"--explain_ranking"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--no-extension-health"},{flag:"--no-tags"}],new Set(["--limit","--after","--format","--fields","--section","--activity-limit","--stale-threshold","--explain-ranking","--explain_ranking","--no-extension-health","--no-tags"])),Tb=[{flag:"--for",value_name:"intent"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--depth"},{flag:"--full"},{flag:"--fields",list:!0},{flag:"--at"},{flag:"--tree"},{flag:"--tree-depth"},{flag:"--tree_depth"},{flag:"--format"}],vb=[{flag:"--list"},{flag:"--format"},{flag:"--depth"}],Ab=[{flag:"--format"},{flag:"--max-depth"},{flag:"--collapse"},{flag:"--summary"},{flag:"--full"},{flag:"--node-limit"},{flag:"--edge-limit"},{flag:"--token-budget"},{flag:"--cursor"},{flag:"--direction"},{flag:"--kind",list:!0}],Sb=[{flag:"--kind",list:!0},{flag:"--max-depth"},{flag:"--limit"},{flag:"--after"},{flag:"--direction"},{flag:"--max-paths"},{flag:"--sample"},{flag:"--exempt-isolate",list:!0},{flag:"--exempt-isolate-type",list:!0},{flag:"--save-baseline"},{flag:"--rebuild"},{flag:"--clear"},{flag:"--summary"},{flag:"--full"}],kb=[{flag:"--mode"},{flag:"--k"},{flag:"--fail-under"},{flag:"--queries"},{flag:"--format"}],Rt=[{flag:"--dry-run"},{flag:"--force"},{flag:"--author"},{flag:"--message"}],xb=[{flag:"--for",value_name:"intent"},{flag:"--type"},{flag:"--tag"},{flag:"--priority"},{flag:"--assignee"},{flag:"--assignee-filter"},{flag:"--assignee_filter"},{flag:"--sprint"},{flag:"--release"},{flag:"--parent"},{flag:"--limit"},{flag:"--blocked-limit"},{flag:"--blocked_limit"},{flag:"--ready-only"},{flag:"--ready_only"},{flag:"--format"},{flag:"--explain-ranking"},{flag:"--explain_ranking"},{flag:"--token-budget",aliases:["--token_budget"]}],Cb=Pd([{flag:"--for",value_name:"intent"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--mode"},{flag:"--semantic"},{flag:"--hybrid"},{flag:"--match-mode"},{flag:"--min-score"},{flag:"--count"},{flag:"--semantic-weight"},{flag:"--include-linked"},{flag:"--title-exact"},{flag:"--phrase-exact"},{flag:"--highlight"},{flag:"--compact"},{flag:"--full"},{flag:"--fields",list:!0},{flag:"--format"},{flag:"--limit"},{flag:"--after"},{flag:"--status",list:!0},{flag:"--type",list:!0},{flag:"--tag",aliases:["--tags"],list:!0},{flag:"--priority",list:!0},{flag:"--deadline-before"},{flag:"--deadline-after"},{flag:"--updated-after"},{flag:"--updated-before"},{flag:"--created-after"},{flag:"--created-before"},{flag:"--assignee",list:!0},{flag:"--sprint",list:!0},{flag:"--release",list:!0},{flag:"--parent"},...ah],new Set(["--highlight","--compact","--full","--fields","--format","--limit","--token-budget","--after"])),Ob=[{flag:"--action"},{flag:"--command"},{flag:"--summary"},{flag:"--schema-only"},{flag:"--flags-only"},{flag:"--availability-only"},{flag:"--runtime-only"},{flag:"--active-only"},{flag:"--full"}],Ib=[{flag:"--eager-tags"}];function Rb(e){let t=new Set,n=[];for(let r of e){let o=(r.aliases??[]).join(","),i=`${r.flag}|${r.short??""}|${o}`;t.has(i)||(t.add(i),n.push(r))}return n}function Od(e){return to(Rb([...xs,...e]))}var JM=["list","list-all","list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled"],Nb=new Map([...JM.map(e=>[e,lh]),["templates",Nd],["cal",Dd],["ctx",Ld],["test-runs-worker",ib],["init",Sh],["config",kh],["extension",Md],["package",Rd],["packages",Rd],["install",Uh],["upgrade",qh],["create",Nd],["item mutate",mb],["item complete",gb],["copy",_b],["focus",yb],["aggregate",dh],["calendar",Dd],["context",Ld],["get",Tb],["guide",vb],["search",Cb],["next",xb],["eval",kb],["workspace",Rt],["workspace snapshot",Rt],["workspace snapshot create",Rt],["workspace snapshot list",Rt],["workspace snapshot inspect",Rt],["workspace snapshot restore",Rt],["workspace snapshot delete",Rt],["history",_h],["history-redact",hh],["history-repair",bh],["history-author-acknowledge",wh],["history-compact",Eh],["merge",yh],["schema",Th],["profile",vh],["plan",Ah],["activity",wb],["events",Eb],["restore",Wh],["update",hb],["update-many",bb],["close",Gh],["close-many",Vh],["delete",Kh],["append",Bh],["comments",uh],["notes",fh],["learnings",ph],["files",mh],["docs",gh],["deps",Ab],["graph",Sb],["test",nb],["test-all",rb],["telemetry",ob],["health",lb],["validate",db],["gc",sb],["stats",ab],["duplicates",cb],["contracts",Ob],["completion",Ib],["claim",Hh],["release",Yh],["start-task",Xh],["pause-task",Jh],["close-task",Qh],["meet",$d],["event",eb],["remind",tb]]),Db=new Map([["install",Ch],["uninstall",Oh],["explore",Ih],["manage",Mh],["describe",Rh],["reload",Fh],["doctor",$h],["catalog",jh],["adopt",zh],["adopt-all",Nh],["activate",Dh],["deactivate",Lh],["migrate",Ph]]);function Lb(e){return typeof e!="string"?"":e.trim().toLowerCase()}function QM(e){let t=Lb(e);if(Nb.has(t))return!0;let[n,r,...o]=t.split(/\s+/);return(n==="extension"||n==="package"||n==="packages")&&r!==void 0&&o.length===0&&(r==="init"||Db.has(r))}function ZM(e,t){return t==="init"?e==="extension"?Fd:xh:Db.get(t)??[]}function jd(e){let t=Lb(e);if(t.length===0)return Od([]);let[n,r,...o]=t.split(/\s+/);return(n==="extension"||n==="package"||n==="packages")&&r!==void 0&&o.length===0?Od(ZM(n,r)):Od(Nb.get(t)??[])}function eF(e,t=!0){let r=to(e).flatMap(i=>[i.short,i.flag,...i.aliases??[]]).filter(i=>!!i),o=t?[...r,...xs.flatMap(i=>[i.short,i.flag,...i.aliases??[]]).filter(i=>!!i)]:r;return eo(o).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]="35c4b819-02d6-582a-a7eb-fe3f4a4903d9")}catch{}})();var no={json:{type:"boolean",default:!0},quiet:{type:"boolean"},profile:{type:"boolean"},noExtensions:{type:"boolean"},noPager:{type:"boolean"},tokenAccounting:{type:"boolean"},outputInclude:{type:"string",minLength:1},outputLimit:{anyOf:[{type:"integer",minimum:1},{const:"unbounded"}]},outputBudget:{type:"integer",minimum:1},outputFormat:{type:"string",enum:["json","toon"]},outputSession:{anyOf:[{type:"string",minLength:1},{type:"object",additionalProperties:!1,required:["version","id","token_budget","spent_tokens","seen_item_ids"],properties:{version:{const:1},id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},token_budget:{type:"integer",minimum:256},spent_tokens:{type:"integer",minimum:0},seen_item_ids:{type:"array",maxItems:_i,items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"}}}}]},path:{type:"string"},pmExecutable:{type:"string"},timeoutMs:{type:"number"},id:{type:"string"},target:{type:"string"},snapshotAction:{type:"string",enum:["create","list","inspect","restore","delete"]},artifact:{type:"string",enum:["item","history","relationship","json"]},basePath:{type:"string"},oursPath:{type:"string"},theirsPath:{type:"string"},outputPath:{type:"string"},itemPath:{type:"string"},prefer:{type:"string",enum:["ours","theirs"]},includeReconciled:{type:"boolean"},lockTtlSeconds:{type:"number"},lockWaitMs:{type:"number"},capability:{type:"string",minLength:1},declarative:{type:"boolean"},output:{type:"string",minLength:1},markdown:{type:"boolean"},init:{type:"boolean"},install:{type:"boolean"},uninstall:{type:"boolean"},explore:{type:"boolean"},manage:{type:"boolean"},describe:{type:"boolean"},doctor:{type:"boolean"},catalog:{type:"boolean"},adopt:{type:"boolean"},adoptAll:{type:"boolean"},activate:{type:"boolean"},deactivate:{type:"boolean"},filterFilesMissing:{type:"boolean"},filterDocsMissing:{type:"boolean"},matchMode:{type:"string",enum:["all","any","phrase"]},minScore:{anyOf:[{type:"number"},{type:"string",pattern:"^\\d+(\\.\\d+)?$"}]},rank:{anyOf:[{type:"number"},{type:"string",pattern:"^-?\\d+$"}]},exemptIsolateType:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},saveBaseline:{type:"boolean"},rebuild:{type:"boolean"},github:{type:"string"},ref:{type:"string"},query:{type:"string"},queries:{type:"string"},k:{anyOf:[{type:"number"},{type:"string"}]},failUnder:{anyOf:[{type:"number"},{type:"string"}]},for:{type:"string",minLength:1},keywords:{type:"string"},fields:{type:"string"},sort:{type:"string",enum:["priority","deadline","updated_at","created_at","title","parent"]},prefix:{type:"string"},idPrefix:{type:"string"},workspace:{type:"string"},preset:{type:"string",enum:["minimal","default","strict","custom"]},typePreset:{type:"string",enum:["agile","ops","research"]},defaults:{type:"boolean"},verbose:{type:"boolean"},agentGuidance:{type:"string",enum:["ask","add","skip","status"]},withPackages:{type:"boolean"},mergeFence:{type:"boolean"},scope:{type:"string",enum:["project","global"]},allOver:{type:"number"},minEntries:{type:"number"},closed:{type:"boolean"},allStreams:{type:"boolean"},contractAction:{type:"string"},command:{type:"string"},summary:{type:"boolean"},schemaOnly:{type:"boolean"},flagsOnly:{type:"boolean"},availabilityOnly:{type:"boolean"},runtimeOnly:{type:"boolean"},activeOnly:{type:"boolean"},eagerTags:{type:"boolean"},fullChangedFields:{type:"boolean"},provenance:{type:"boolean"},provenanceSummary:{type:"boolean"},agentInstance:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},provenanceFilter:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},idOnly:{type:"boolean"},allowMissingParent:{type:"boolean"},allowDuplicate:{type:"boolean"},duplicateOf:{type:"string"},configAction:{type:"string",enum:["get","set","list","export"]},key:{type:"string"},title:{type:"string"},item:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},start:{type:"string"},duration:{type:"string"},end:{type:"string"},location:{type:"string"},timezone:{type:"string"},allDay:{type:"boolean"},description:{type:"string"},type:{type:"string"},template:{type:"string"},createMode:{type:"string",enum:["strict","progressive"]},schedulePreset:{type:"string",enum:["lightweight"]},status:{type:"string"},since:{type:"string",format:"date-time"},threshold:{type:"number",minimum:0,maximum:1},filterStatus:{type:"string"},filterType:{type:"string"},filterTag:{type:"string"},filterPriority:{anyOf:[{type:"string"},{type:"number"}]},filterDeadlineBefore:{type:"string"},filterDeadlineAfter:{type:"string"},filterUpdatedAfter:{type:"string"},filterUpdatedBefore:{type:"string"},filterCreatedAfter:{type:"string"},filterCreatedBefore:{type:"string"},filterAssignee:{type:"string"},filterAssigneeFilter:{type:"string",enum:["assigned","unassigned"]},filterParent:{type:"string"},filterSprint:{type:"string"},filterRelease:{type:"string"},closeReason:{type:"string"},completedAt:{type:"string",format:"date-time"},reason:{type:"string"},priority:{anyOf:[{type:"string"},{type:"number"}]},tags:{type:"string"},addTags:{type:"array",items:{type:"string"}},removeTags:{type:"array",items:{type:"string"}},addAc:{type:"array",items:{type:"string"}},removeAc:{type:"array",items:{type:"string"}},body:{type:"string"},deadline:{type:"string"},estimate:{anyOf:[{type:"string"},{type:"number"}]},acceptanceCriteria:{type:"string"},author:{type:"string"},message:{type:"string"},assignee:{type:"string"},assigneeFilter:{type:"string",enum:["assigned","unassigned"]},parent:{type:"string"},reviewer:{type:"string"},attributedAuthor:{type:"string"},historyEvent:{type:"array",items:{type:"string"}},risk:{type:"string"},confidence:{anyOf:[{type:"string"},{type:"number"}]},sprint:{type:"string"},release:{type:"string"},blockedBy:{type:"string"},blockedReason:{type:"string"},unblockNote:{type:"string"},reporter:{type:"string"},severity:{type:"string"},environment:{type:"string"},reproSteps:{type:"string"},resolution:{type:"string"},expectedResult:{type:"string"},actualResult:{type:"string"},affectedVersion:{type:"string"},fixedVersion:{type:"string"},component:{type:"string"},regression:{anyOf:[{type:"boolean"},{type:"string"},{type:"number"}]},customerImpact:{type:"string"},definitionOfReady:{type:"string"},order:{anyOf:[{type:"string"},{type:"number"}]},goal:{type:"string"},objective:{type:"string"},value:{type:"string"},impact:{type:"string"},outcome:{type:"string"},whyNow:{type:"string"},mode:{type:"string",enum:["keyword","semantic","hybrid"]},semanticWeight:{anyOf:[{type:"string"},{type:"number"}]},op:{type:"string"},compact:{type:"boolean"},brief:{type:"boolean"},full:{type:"boolean"},view:{type:"string",enum:["agenda","day","week","month"]},date:{type:"string"},from:{type:"string"},before:{type:"string"},at:{type:"string"},to:{type:"string"},migrationId:{type:"string"},fieldTypeScope:{type:"string"},past:{type:"boolean"},fullPeriod:{type:"boolean"},include:{type:"string"},recurrenceLookaheadDays:{anyOf:[{type:"string"},{type:"number"}]},recurrenceLookbackDays:{anyOf:[{type:"string"},{type:"number"}]},occurrenceLimit:{anyOf:[{type:"string"},{type:"number"}]},includeLinked:{type:"boolean"},semantic:{type:"boolean"},hybrid:{type:"boolean"},titleExact:{type:"boolean"},phraseExact:{type:"boolean"},highlight:{type:"boolean"},includeBody:{type:"boolean"},noTruncate:{type:"boolean"},strictRead:{type:"boolean"},tag:{type:"string"},deadlineBefore:{type:"string"},deadlineAfter:{type:"string"},today:{type:"boolean"},recent:{type:"boolean"},updatedAfter:{type:"string"},updatedBefore:{type:"string"},createdAfter:{type:"string"},createdBefore:{type:"string"},filterAcMissing:{type:"boolean"},filterEstimatesMissing:{type:"boolean"},filterResolutionMissing:{type:"boolean"},filterMetadataMissing:{type:"boolean"},filterReviewerMissing:{type:"boolean"},filterRiskMissing:{type:"boolean"},filterConfidenceMissing:{type:"boolean"},filterSprintMissing:{type:"boolean"},filterReleaseMissing:{type:"boolean"},hasNotes:{type:"boolean"},noNotes:{type:"boolean"},hasLearnings:{type:"boolean"},noLearnings:{type:"boolean"},hasFiles:{type:"boolean"},noFiles:{type:"boolean"},hasDocs:{type:"boolean"},noDocs:{type:"boolean"},hasTests:{type:"boolean"},noTests:{type:"boolean"},hasComments:{type:"boolean"},noComments:{type:"boolean"},hasDeps:{type:"boolean"},noDeps:{type:"boolean"},hasBody:{type:"boolean"},emptyBody:{type:"boolean"},hasLinkedCommand:{type:"boolean"},noLinkedCommand:{type:"boolean"},filterHasNotes:{type:"boolean"},filterNoNotes:{type:"boolean"},filterHasLearnings:{type:"boolean"},filterNoLearnings:{type:"boolean"},filterHasFiles:{type:"boolean"},filterNoFiles:{type:"boolean"},filterHasDocs:{type:"boolean"},filterNoDocs:{type:"boolean"},filterHasTests:{type:"boolean"},filterNoTests:{type:"boolean"},filterHasComments:{type:"boolean"},filterNoComments:{type:"boolean"},filterHasDeps:{type:"boolean"},filterNoDeps:{type:"boolean"},filterHasBody:{type:"boolean"},filterEmptyBody:{type:"boolean"},filterHasLinkedCommand:{type:"boolean"},filterNoLinkedCommand:{type:"boolean"},ids:{type:"string"},limit:{anyOf:[{type:"string"},{type:"number"}]},blockedLimit:{anyOf:[{type:"string"},{type:"number"}]},readyOnly:{type:"boolean"},offset:{anyOf:[{type:"string"},{type:"number"}]},progress:{type:"boolean"},background:{type:"boolean"},runId:{type:"string"},stream:{anyOf:[{type:"boolean"},{type:"string",enum:["stdout","stderr","both","rows","ndjson","jsonl"]}]},tail:{anyOf:[{type:"string"},{type:"number"}]},addJson:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},eventType:{type:"string"},includeMeta:{type:"boolean"},allActionable:{type:"boolean"},verboseAuthorEvents:{type:"boolean"},match:{type:"string"},onlyIndex:{anyOf:[{type:"string"},{type:"number"}]},onlyLast:{type:"boolean"},envSet:{type:"array",items:{type:"string"}},envClear:{type:"array",items:{type:"string"}},sharedHostSafe:{type:"boolean"},detail:{type:"string",enum:["summary","deep"]},trace:{type:"boolean"},reload:{type:"boolean"},watch:{type:"boolean"},runtimeProbe:{type:"boolean"},fixManagedState:{type:"boolean"},isolated:{type:"boolean"},ignoreGlobal:{type:"boolean"},pmContext:{type:"string",enum:["schema","tracker","auto"]},overrideLinkedPmContext:{type:"boolean"},failOnContextMismatch:{type:"boolean"},failOnSkipped:{type:"boolean"},failOnEmptyTestRun:{type:"boolean"},requireAssertionsForPm:{type:"boolean"},checkContext:{type:"boolean"},autoPmContext:{type:"boolean"},measure:{type:"array",items:{type:"string"}},metricBelow:{type:"string"},metricDiff:{type:"string"},diff:{type:"boolean"},storage:{type:"boolean"},metadataCoverage:{type:"boolean"},fieldUtilization:{type:"boolean"},byAssignee:{type:"boolean"},byTag:{type:"boolean"},byPriority:{type:"boolean"},tagPrefix:{type:"string"},measurements:{type:"boolean"},metric:{type:"string"},measurementLimit:{type:"integer",minimum:0,maximum:1e3},observe:{type:"array",items:{type:"string"}},improvementDirection:{type:"string",enum:["higher","lower","target"]},measurementSource:{type:"string"},measurementItem:{type:"string"},measurementRevision:{type:"string"},provenanceCoverage:{type:"boolean"},fleetAttribution:{type:"boolean"},eventLimit:{type:"integer",minimum:1,maximum:1e5},minimumSample:{type:"integer",minimum:1,maximum:1e4},verify:{type:"boolean"},literal:{type:"array",items:{type:"string"}},regex:{type:"array",items:{type:"string"}},replacement:{type:"string"},timeout:{anyOf:[{type:"string"},{type:"number"}]},validateClose:{type:"string",enum:["off","warn","strict"]},checkMetadata:{type:"boolean"},metadataProfile:{type:"string",enum:["core","strict","custom"]},checkResolution:{type:"boolean"},checkLifecycle:{type:"boolean"},checkStaleBlockers:{type:"boolean"},dependencyCycleSeverity:{type:"string",enum:["off","warn","error"]},parentCycleSeverity:{type:"string",enum:["off","warn","error"]},checkFiles:{type:"boolean"},checkStorageIntegrity:{type:"boolean"},strictDirectories:{type:"boolean"},requireMergeDrivers:{type:"boolean"},checkOnly:{type:"boolean"},checkTelemetry:{type:"boolean"},noRefresh:{type:"boolean"},refreshVectors:{type:"boolean"},verboseStaleItems:{type:"boolean"},skipVectors:{type:"boolean"},skipIntegrity:{type:"boolean"},skipDrift:{type:"boolean"},verboseDiagnostics:{type:"boolean"},allAffectedIds:{type:"boolean"},scanMode:{type:"string",enum:["default","tracked-all","tracked-all-strict"]},includePmInternals:{type:"boolean"},verboseFileLists:{type:"boolean"},strictExit:{type:"boolean"},failOnWarn:{type:"boolean"},fixHints:{type:"boolean"},autoFix:{type:"boolean"},fixScope:{type:"array",items:{type:"string",enum:["metadata","resolution","estimates","lifecycle"]}},pruneMissing:{type:"boolean"},checkHistoryDrift:{type:"boolean"},checkCommandReferences:{type:"boolean"},counts:{type:"boolean"},edit:{type:"integer",minimum:1},delete:{type:"integer",minimum:1},dryRun:{type:"boolean"},all:{type:"boolean"},clear:{type:"boolean"},cliOnly:{type:"boolean"},packagesOnly:{type:"boolean"},repair:{type:"boolean"},packageName:{type:"string"},rollback:{type:"string"},noCheckpoint:{type:"boolean"},force:{type:"boolean"},ifAvailable:{type:"boolean"},next:{type:"boolean"},maxAttempts:{anyOf:[{type:"integer",minimum:1,maximum:100},{type:"string",pattern:"^(?:[1-9]|[1-9][0-9]|100)$"}]},includeDecisions:{type:"boolean"},explainRanking:{type:"boolean"},noTags:{type:"boolean"},noExtensionHealth:{type:"boolean"},run:{type:"boolean"},count:{type:"boolean"},sum:{type:"string"},avg:{type:"string"},tree:{type:"boolean"},treeDepth:{anyOf:[{type:"string"},{type:"number"}]},includeUnparented:{type:"boolean"},gcScope:{type:"array",items:{type:"string",enum:["index","embeddings","runtime","locks"]}},maxDepth:{anyOf:[{type:"string"},{type:"number"}]},nodeLimit:{anyOf:[{type:"string"},{type:"integer",minimum:1}]},edgeLimit:{anyOf:[{type:"string"},{type:"integer",minimum:1}]},tokenBudget:{anyOf:[{type:"string"},{type:"integer",minimum:1}]},cursor:{type:"string"},direction:{type:"string",enum:["outgoing","incoming","both"]},kind:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},after:{type:"string"},maxPaths:{anyOf:[{type:"string"},{type:"integer",minimum:1}]},sample:{anyOf:[{type:"string"},{type:"integer",minimum:1}]},exemptIsolate:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},collapse:{type:"string",enum:["none","repeated"]},shell:{type:"string",enum:["bash","zsh","fish"]},stdin:{type:"boolean"},file:{type:"string"},preserveSourceIds:{type:"boolean"},folder:{type:"string"},subcommand:{type:"string"},name:{type:"string"},defaultStatus:{type:"string"},alias:{type:"array",items:{type:"string"}},role:{type:"array",items:{type:"string"}},fieldType:{type:"string",enum:["string","number","boolean","string_array"]},commands:{type:"array",items:{type:"string"}},cliFlag:{type:"string"},required:{type:"boolean"},requiredOnCreate:{type:"boolean"},allowUnset:{type:"boolean"},requiredTypes:{type:"array",items:{type:"string"}},infer:{type:"boolean"},minCount:{type:"number"},text:{type:"string"},add:{type:"array",items:{type:"string"}},addGlob:{type:"array",items:{type:"string"}},remove:{type:"array",items:{type:"string"}},migrate:{type:"array",items:{type:"string"}},discover:{type:"boolean"},apply:{type:"boolean"},discoveryNote:{type:"string"},lookupPath:{type:"array",items:{type:"string"}},addNote:{type:"string"},list:{type:"boolean"},appendStable:{type:"boolean"},validatePaths:{type:"boolean"},dep:{type:"array",items:{type:"string"}},depRemove:{type:"array",items:{type:"string"}},replaceDeps:{type:"boolean"},replaceTests:{type:"boolean"},replaceFiles:{type:"boolean"},replaceDocs:{type:"boolean"},comment:{type:"array",items:{type:"string"}},note:{type:"array",items:{type:"string"}},learning:{type:"array",items:{type:"string"}},linkedFile:{type:"array",items:{type:"string"}},linkedTest:{type:"array",items:{type:"string"}},doc:{type:"array",items:{type:"string"}},reminder:{type:"array",items:{type:"string"}},event:{type:"array",items:{type:"string"}},typeOption:{type:"array",items:{type:"string"}},field:{type:"array",items:{type:"string"}},unset:{type:"array",items:{type:"string"}},clearDeps:{type:"boolean"},clearComments:{type:"boolean"},clearNotes:{type:"boolean"},clearLearnings:{type:"boolean"},clearFiles:{type:"boolean"},clearTests:{type:"boolean"},clearDocs:{type:"boolean"},clearReminders:{type:"boolean"},clearEvents:{type:"boolean"},clearTypeOptions:{type:"boolean"},criterion:{type:"array",items:{type:"string"}},clearCriteria:{type:"boolean"},groupBy:{type:"string"},completion:{type:"boolean"},format:{type:"string"},unbounded:{type:"boolean"},depth:{type:"string",enum:["brief","standard","deep","full"]},section:{type:"array",items:{type:"string",enum:["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]}},activityLimit:{anyOf:[{type:"string"},{type:"number"}]},staleThreshold:{type:"string"},policy:{type:"string"}},Pb={activity:{harness:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},events:{since:{type:"string",minLength:1},type:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},author:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},item:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},limit:{type:"integer",minimum:0,maximum:1e3},harness:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},history:{harness:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},remind:{at:{type:"string",minLength:1}}},tF=["create","show","add-step","update-step","complete-step","block-step","reorder-step","remove-step","link","unlink","decision","discovery","validation","resume","approve","materialize"],zd={subcommand:{type:"string",enum:[...tF]},stepRef:{type:"string"},reorderTo:{anyOf:[{type:"string"},{type:"number"}]},scope:{type:"string"},harness:{type:"string",enum:[...lu]},mode:{type:"string",enum:[...cu]},resumeContext:{type:"string"},related:{type:"string"},blocks:{type:"string"},claim:{type:"boolean"},fromSearch:{type:"string"},stepTitle:{type:"string"},step:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},stepBody:{type:"string"},stepOwner:{type:"string"},stepStatus:{type:"string",enum:[...ko]},stepEvidence:{type:"string"},stepBlockedReason:{type:"string"},stepReplacement:{type:"string"},dependsOn:{type:"string"},link:{type:"string"},linkKind:{type:"string",enum:[...du]},linkNote:{type:"string"},promoteToItemDep:{type:"boolean"},allowMultipleActive:{type:"boolean"},file:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},test:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},doc:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},decisionText:{type:"string"},decision:{type:"string"},decisionRationale:{type:"string"},decisionEvidence:{type:"string"},discoveryText:{type:"string"},discovery:{type:"string"},validationText:{type:"string"},validation:{type:"string"},validationCommand:{type:"string"},validationExpected:{type:"string"},steps:{type:"array",items:{type:"string"}},materializeType:{type:"string"},materializeParent:{type:"string"},materializeTags:{type:"string"},field:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},Ud={subcommand:{description:"Plan workflow operation to run.",examples:["create","show","add-step","approve"]},stepRef:{description:"Plan step id or order for step lifecycle subcommands.",examples:["plan-step-001","1"]},reorderTo:{description:"New integer order for reorder-step.",examples:[1,"2"]},scope:{description:"Short free-text scope statement describing what the Plan covers.",examples:["Release readiness audit","Search package migration"]},mode:{description:"Plan lifecycle mode.",examples:["draft","research","approved"]},step:{description:"Ordered initial step titles for create (string or array, never comma-split; stepTitle, when also set, becomes the first step). For step subcommands a single value aliases stepTitle.",examples:[["Read the code","Write the fix","Run the tests"]]},file:{description:"File link to attach while creating or materializing a Plan.",examples:["path=src/cli.ts,note=implementation surface"]},test:{description:"Test command link to attach while creating or materializing a Plan.",examples:["command=pnpm build,timeout_seconds=300"]},doc:{description:"Documentation link to attach while creating or materializing a Plan.",examples:["path=docs/SDK.md,note=public API reference"]}},ro={action:{description:"Tool action to execute."},pmExecutable:{description:"Override the pm executable used by actions that invoke or verify an external CLI process.",examples:["pm","node dist/cli.js"]},force:{description:"Allow the selected action to override its supported ownership, terminal-state, or destructive-operation guard."},limit:{description:"Maximum number of rows returned by the selected action.",examples:[10,"25"]},text:{description:"Text payload used by append, comment, note, or learning mutations."},path:{description:"Optional PM data root override for this invocation.",examples:[".agents/pm"]},scope:{description:"Scope selector for commands that operate on project or global state. Linked files, docs, and tests default to project scope when omitted.",examples:["project","global"]},detail:{description:"Detail mode for commands that support concise and deep diagnostics.",examples:["summary","deep"]},trace:{description:"When true for extension-doctor, include actionable registration traces in deep diagnostics."},reload:{description:"When true for extension action payloads, trigger cache-busted extension module reload."},watch:{description:"When true for extension-reload/extension action payloads, enable watch mode semantics."},runtimeProbe:{description:"When true for extension-manage, run a doctor-like runtime activation probe for parity fields."},fixManagedState:{description:"When true for extension-manage/extension-doctor, adopt unmanaged extensions before diagnostics/update checks."},isolated:{description:"When true for extension-doctor/package-doctor, ignore global registrations for hermetic project diagnostics."},ignoreGlobal:{description:"Alias for isolated on extension-doctor/package-doctor action payloads."},target:{description:"Positional target argument for the selected action (ID, source, package source, or extension name).",examples:["pm-a1b2",".agents/pm/extensions/sample","sample-extension"]},capability:{description:"Starter capability selected by extension-init or package-init scaffolding.",examples:["commands","hooks","search","schema"]},declarative:{description:"Generate the package composeExtension declarative blueprint starter."},output:{description:"File path for commands that write generated output, such as package/extension describe Markdown references.",examples:["docs/pm-package-reference.md"]},markdown:{description:"Render the package or extension description as Markdown instead of structured output.",examples:[!0]},github:{description:"GitHub shorthand owner/repo[/path] source for package/extension install actions.",examples:["org/repo/extensions/sample"]},ref:{description:"Git ref/branch/tag used when installing from GitHub shorthand/URL sources.",examples:["main","v1.0.0"]},cliOnly:{description:"Restrict upgrade to the pm CLI/SDK npm package."},packagesOnly:{description:"Restrict upgrade to managed installable pm packages."},repair:{description:"Force npm global reinstall semantics when upgrading the pm CLI/SDK."},tag:{description:"npm version or dist-tag used for CLI and registry package upgrades.",examples:["latest","next","2026.5.11"]},today:{description:"When true for list actions, include only items updated since local midnight today."},recent:{description:"When true for list actions, include only items updated in the last seven days."},packageName:{description:"Override the pm CLI package name for self-upgrade automation and tests.",examples:["@unbrained/pm-cli"]},json:{description:"Emit machine-readable JSON output."},quiet:{description:"Suppress stdout payload output."},noExtensions:{description:"Disable extension loading for this invocation."},noPager:{description:"Disable pager integration for help and long output."},tokenAccounting:{description:"Request a bounded transport-level receipt for output emitted by a compatible CLI or MCP host."},outputInclude:{description:"Comma-separated fields or sections retained by any built-in read action.",examples:["id,title,status","summary,counts"]},outputLimit:{description:"Universal read row ceiling, or unbounded to disable the shared ceiling.",examples:[10,"unbounded"]},outputBudget:{description:"Universal estimated-token ceiling for a read result.",examples:[600,1200]},outputFormat:{description:"Universal read-result encoding selector.",examples:["toon","json"]},outputSession:{description:"Caller-carried JSON session state that enforces a token ceiling across read calls and replaces repeated item facts with resolvable context references.",examples:[{version:1,id:"orientation",token_budget:4e3,spent_tokens:0,seen_item_ids:[]}]},profile:{description:"Emit deterministic timing diagnostics to stderr."},timeoutMs:{description:"Tool execution timeout in milliseconds.",examples:[12e4]},id:{description:"Item identifier for read or mutation actions.",examples:["pm-a1b2"]},runId:{description:"Background test run identifier.",examples:["tr-kq9x3f-93acde"]},title:{description:"Item title text."},description:{description:"Item description text."},type:{description:"Item type name from the active runtime type registry.",examples:["Task","Feature"]},subcommand:{description:"Subcommand selector for schema, profile, telemetry, and graph actions."},name:{description:"Custom definition name, schema migration source name, or profile name.",examples:["Spike","review","component"]},defaultStatus:{description:"Default status hint recorded for a custom item type.",examples:["open"]},alias:{description:"Aliases for the custom item type or status (repeatable).",examples:[["spike","research"]]},role:{description:"Lifecycle roles for a custom status (schema add-status): draft, active, blocked, terminal, terminal_done, terminal_canceled, default_open, default_close, default_cancel.",examples:[["active"],["terminal","terminal_done"]]},fieldType:{description:"Value type for a custom field (schema add-field): string, number, boolean, or string_array.",examples:["string","number","string_array"]},fieldTypeScope:{description:"Optional item type restricting which records participate in schema rename-field.",examples:["Issue","Feature"]},migrationId:{description:"Optional stable idempotency override used to persist and resume a schema migration plan; omitted values are derived from the workspace and normalized request.",examples:["severity-to-impact-v2"]},commands:{description:"Commands a custom field is wired onto (schema add-field): create, update, update_many, list, search, calendar, context.",examples:[["create","update"],["create","update","list"]]},cliFlag:{description:"Override the auto-derived CLI flag for a custom field (schema add-field).",examples:["--owner"]},required:{description:"Mark a custom field as always required (schema add-field)."},requiredOnCreate:{description:"Mark a custom field as required at create time (schema add-field)."},allowUnset:{description:"Whether a custom field may be cleared via --unset (schema add-field); defaults to true."},allowDuplicate:{description:"Explicitly proceed when strict similarity governance finds likely duplicate items."},requiredTypes:{description:"Restrict a custom field's requirement to specific item types (schema add-field).",examples:[["Bug"],["Story","Spike"]]},infer:{description:"Infer custom item types from title-prefix conventions (schema add-type); previews unless apply is true."},minCount:{description:"Minimum number of items sharing a title prefix for schema add-type inference (default 10).",examples:[10,25]},preset:{description:"Governance preset for initialization flows.",examples:["minimal","default","strict"]},idPrefix:{description:"Tracker item identifier prefix used by initialization; overrides the positional compatibility prefix.",examples:["pm","work"]},workspace:{description:"Workspace directory where initialization resolves or creates the tracker.",examples:[".","packages/app"]},typePreset:{description:"Domain item-type preset registered during initialization.",examples:["agile","ops","research"]},defaults:{description:"Use non-interactive setup defaults during initialization."},verbose:{description:"Include the full resolved settings tree in init output."},agentGuidance:{description:"Control AGENTS.md/CLAUDE.md guidance behavior during init: ask, add, skip, or status.",examples:["ask","add","skip","status"]},withPackages:{description:"Install all bundled first-party pm packages during initialization."},mergeFence:{description:"Install the repository merge-driver fence for a fresh Git-backed tracker; set false to opt out."},createMode:{description:"Create required-option policy mode.",examples:["strict","progressive"]},schedulePreset:{description:"Schedule-centric create preset for Reminder, Meeting, and Event types.",examples:["lightweight"]},status:{description:"Item status value. Statuses are project-configurable via .agents/pm/settings.json (schema block); the built-in defaults are draft, open, in_progress, blocked, closed, canceled. Custom statuses defined for the project are accepted \u2014 discover the active set with the pm_contracts tool (workspace.statuses) or `pm contracts`. Unknown statuses are rejected at runtime with a did-you-mean hint rather than blocked by a fixed schema enum.",examples:["open","in_progress"]},since:{description:"Inclusive ISO 8601 creation timestamp lower bound for duplicate discovery.",examples:["2026-01-01T00:00:00.000Z"]},threshold:{description:"Minimum duplicate similarity score from zero through one.",examples:[.85]},priority:{description:"Priority value in range 0..4.",examples:[0,1,"2"]},order:{description:"Planning order/rank value for create/update, or sort direction (asc|desc) for list-family sorting.",examples:[0,1,"2","asc","desc"]},sort:{description:"List-family sort field selector.",examples:["priority","deadline","updated_at","created_at","title","parent"]},tags:{description:"Comma-delimited tag list.",examples:["pm-cli,agent-ux"]},addTags:{description:"Tags to add to the existing list without replacing it. Each entry may be CSV or a JSON array.",examples:[["agent-ux"],["fix","security"]]},addAc:{description:"Acceptance criteria appended individually without replacing the existing list (one criterion per entry).",examples:[["error path covered by a regression test"]]},removeAc:{description:"Acceptance criteria removed individually by exact text match (one criterion per entry).",examples:[["superseded manual QA step"]]},removeTags:{description:"Tags to remove from the existing list. Each entry may be CSV or a JSON array.",examples:[["stale"],["legacy","wontfix"]]},deadline:{description:"ISO/date timestamp or relative offset (+6h/+1d/+2w/+6m).",examples:["2026-04-01T00:00:00.000Z","+1d"]},reminder:{description:"Repeatable reminder seed entries at=<iso|relative>,text=<text>.",examples:[["at=+2d,text=Review PR"]]},event:{description:"Repeatable event seed entries start=<iso|relative> with end=<iso|relative> or duration=<relative|30min|PT30M>. Bare `m` remains months for backward compatibility.",examples:[["start=2026-07-01T10:00:00Z,duration=2h,title=planning"],["start=2026-07-01T10:00:00Z,duration=30min,title=standup"],["start=2026-07-01T10:00:00Z,duration=PT30M,title=window"]]},historyEvent:{description:"Unknown-author history target in <item-id>:<one-based-line> form.",examples:[["pm-example:4","pm-example:5"]]},estimate:{description:"Estimated effort in minutes.",examples:[60,"120"]},acceptanceCriteria:{description:"Acceptance criteria text."},author:{description:"Intentional mutation-author override. Agent harness identity is automatic when omitted."},attributedAuthor:{description:"Principal attributed to the immutable unknown-author history events after review.",examples:["reviewed-principal"]},message:{description:"History message for mutation audit trail."},assignee:{description:"Assignee identity."},assigneeFilter:{description:"Assignee presence selector for list, calendar, and context filters.",examples:["assigned","unassigned"]},parent:{description:"Parent item ID filter for hierarchical list queries.",examples:["pm-epic01"]},blockedLimit:{description:"Cap blocked rows returned by the next action (defaults to the ready --limit).",examples:["3"]},readyOnly:{description:"When true, the next action omits the blocked companion list."},unset:{description:"Repeatable list of item-metadata fields to clear explicitly during create/update mutations.",examples:[["deadline","assignee"],["close-reason"]]},clearDeps:{description:"When true, clear linked dependencies."},replaceDeps:{description:"When true for update, atomically replace dependencies with the supplied --dep values."},replaceTests:{description:"When true for update, atomically replace linked tests with the supplied --test values."},replaceFiles:{description:"When true for update, atomically replace linked files with the supplied --file values."},replaceDocs:{description:"When true for update, atomically replace linked docs with the supplied --doc values."},lookupPath:{description:"One or more source paths whose referencing pm items should be returned by files lookup.",examples:[["src/sdk/files.ts"],["README.md","docs/SDK.md"]]},clearComments:{description:"When true, clear item comments."},clearNotes:{description:"When true, clear item notes."},clearLearnings:{description:"When true, clear item learnings."},clearFiles:{description:"When true, clear linked files."},clearTests:{description:"When true, clear linked tests."},clearDocs:{description:"When true, clear linked docs."},clearReminders:{description:"When true, clear reminders."},clearEvents:{description:"When true, clear events."},clearTypeOptions:{description:"When true, clear type option metadata."},clearCriteria:{description:"When true for config set criteria-list keys (definition-of-done, metadata-required-fields, lifecycle pattern lists), clear the criteria list."},mode:{description:"Mode selector for search and reindex (keyword|semantic|hybrid).",examples:["keyword","hybrid"]},semanticWeight:{description:"Per-query hybrid semantic weight override in [0,1] for search action; invalid values fall back to settings.",examples:[.2,"0.7"]},op:{description:"History operation filter for activity output.",examples:["create","update","close","update_ownership_bypass"]},fullPeriod:{description:"For day/week/month calendar views, include the full anchored period instead of clipping the start to now."},progress:{description:"Emit progress diagnostics to stderr for long-running operations."},background:{description:"Run linked tests in managed background mode."},addJson:{description:"JSON input: one structured context event for notes, or repeatable linked-test entries for test.",examples:[['{"command":"node scripts/run-tests.mjs test -- tests/unit/output.spec.ts","timeout_seconds":240}']]},eventType:{description:"For notes action, return structured context events whose top-level type matches this value."},includeMeta:{description:"Include structured-event counts for notes reads; filtered reads also include total, returned, limit, and has-more metadata."},allActionable:{description:"For history-author-acknowledge, select every currently actionable undispositioned event."},match:{description:"Run only linked tests whose command or path contains this case-insensitive substring.",examples:["output.spec.ts","coverage"]},onlyIndex:{description:"Run only the 1-based linked-test index from pm test <id> --list order.",examples:[1,"2"]},onlyLast:{description:"Run only the most recently added linked-test entry."},envSet:{description:"Repeatable runtime environment KEY=VALUE overrides for linked-test execution.",examples:[["PORT=0","PLAYWRIGHT_HTML_OPEN=never"]]},envClear:{description:"Repeatable runtime environment variable names to clear before linked-test execution.",examples:[["PLAYWRIGHT_BASE_URL"]]},sharedHostSafe:{description:"Apply additive shared-host-safe runtime defaults during linked-test execution."},pmContext:{description:"PM linked-test context mode (schema keeps isolated tracker data; tracker seeds source tracker data; auto uses tracker for PM tracker-read linked commands).",examples:["schema","tracker","auto"]},overrideLinkedPmContext:{description:"Force run-level --pm-context to override per-linked-test pm_context_mode metadata for all linked-test entries."},failOnContextMismatch:{description:"Fail linked PM command runs when source and sandbox tracker item counts differ."},failOnSkipped:{description:"Treat skipped linked tests as dependency-failed policy violations."},failOnEmptyTestRun:{description:"Treat successful linked-test commands that report zero executed tests as failures."},requireAssertionsForPm:{description:"Require assertion metadata for linked PM command test entries during run execution."},checkContext:{description:"Run linked PM command context preflight diagnostics before command execution."},autoPmContext:{description:"Auto-remediate PM tracker-read linked commands by routing those entries through tracker context regardless of linked-test pm_context_mode overrides."},measure:{description:"Repeatable numeric run evidence in name=value[,unit=...][,threshold=...] form.",examples:[["coverage=100,unit=percent,threshold=100"]]},metricBelow:{description:"Return recorded evidence below a name=value threshold.",examples:["coverage=100"]},metricDiff:{description:"Compare the latest and previous values for one metric.",examples:["coverage"]},dryRun:{description:"Preview command effects without mutating storage artifacts."},all:{description:"For history-repair action: scan every stream for drift and repair each drifted stream in one audited pass (mutually exclusive with id)."},clear:{description:"For focus action: clear the session focused item instead of setting it (mutually exclusive with id)."},gcScope:{description:"Repeatable gc scope selector values (index, embeddings, runtime, locks, checkpoints, transactions).",examples:[["index","embeddings"],["runtime"],["locks"],["checkpoints"]]},storage:{description:"For stats action: include aggregate history-stream storage metrics (total streams/lines/bytes, largest + deepest streams, oldest/newest entries) for compaction and storage planning."},fieldUtilization:{description:"For stats action: include a field_utilization block reporting present/total/percent for content fields (notes, learnings, files, docs, tests, comments, deps, body, linked_command) across all items so under-documented dimensions are visible at a glance."},measurements:{description:"For stats action: include the audited append-only improvement ledger and baseline-to-latest trends."},metric:{description:"Exact improvement metric name used to filter ledger reads.",examples:["quality.coverage.lines"]},measurementLimit:{description:"Maximum newest improvement observations returned by stats.",examples:[50]},observe:{description:"Repeatable audited observation in name=value[,unit=...][,threshold=...] form.",examples:[["quality.coverage.lines=100,unit=percent,threshold=100"]]},improvementDirection:{description:"Improvement direction for newly recorded observations.",examples:["higher","lower","target"]},measurementSource:{description:"Producing gate or instrument for a new observation.",examples:["pnpm coverage"]},measurementItem:{description:"Tracked item that owns an improvement observation.",examples:["pm-123abc"]},measurementRevision:{description:"Explicit source revision for a new observation.",examples:["0123456789abcdef"]},provenanceCoverage:{description:"For stats action: compare configured provenance descriptors with bounded immutable-history observations."},fleetAttribution:{description:"For stats action: derive observational throughput, rework, and defect-escape rates by harness, model, and author source."},eventLimit:{description:"Maximum immutable history events consumed by an analytics projection.",examples:[1e4]},minimumSample:{description:"Minimum denominator before analytics rates are reported.",examples:[5]},offset:{description:"Number of matching rows to skip before limit is applied.",examples:[0,50,"100"]},provenance:{description:"Return patch-free immutable author, harness, instance, and extensible provenance rows."},provenanceSummary:{description:"Include bounded observed, unavailable, legacy-missing, and unresolved-author counts."},agentInstance:{description:"Privacy-safe agent invocation fingerprint filter, supplied once or as a list.",examples:["a1b2c3d4",["a1b2c3d4","e5f6g7h8"]]},provenanceFilter:{description:"Exact extensible provenance predicate in dimension=value form, supplied once or as a list.",examples:["model=gpt-5.6-sol",["effort=xhigh","role=reviewer"]]},before:{description:"For history-compact, compact entries strictly before this boundary (version number or ISO timestamp). Single-id mode only.",examples:["5","2026-06-01T00:00:00.000Z"]},at:{description:"Read-only historical projection boundary as an item version or ISO timestamp.",examples:["3","2026-07-01T12:00:00.000Z"]},allOver:{description:"For history-compact bulk mode, compact every stream with more than N entries. When history.compact_policy is enabled and this is omitted, the policy's max_entries is used.",examples:[200,"500"]},minEntries:{description:"For history-compact bulk mode, skip streams with at most N entries as already-compact (default 3).",examples:[3,"10"]},closed:{description:"For history-compact bulk mode, compact only closed (terminal) items' history streams."},allStreams:{description:"For history-compact bulk mode, compact every history stream regardless of lifecycle state."},literal:{description:"Repeatable literal matcher used by history-redact to scrub exact string values.",examples:["[redacted_path_prefix]/private/path"]},regex:{description:"Repeatable regex matcher used by history-redact. Accepts either /pattern/flags or a raw pattern (global mode is auto-enabled).",examples:["/192\\\\.168\\\\.[0-9.]+/g","token=[A-Za-z0-9_-]+"]},replacement:{description:'Replacement text used by history-redact (defaults to "[redacted]").',examples:["[scrubbed_path]"]},validateClose:{description:'Close-time metadata validation mode ("off", "warn", or "strict").',examples:["off","warn","strict"]},checkMetadata:{description:"Run metadata completeness checks."},metadataProfile:{description:"Select metadata validation profile for --check-metadata.",examples:["core","strict","custom"]},checkResolution:{description:"Run closed-item resolution metadata checks."},checkLifecycle:{description:"Run active-item lifecycle governance drift checks."},checkStaleBlockers:{description:"Include stale blocker-pattern diagnostics in lifecycle checks."},dependencyCycleSeverity:{description:"Set dependency-cycle warning policy for lifecycle checks.",examples:["off","warn","error"]},parentCycleSeverity:{description:"Set parent-cycle warning policy for lifecycle checks.",examples:["off","warn","error"]},checkFiles:{description:"Run linked-file and orphaned-file checks."},checkStorageIntegrity:{description:"Run deep item, history, index, and vector storage integrity checks."},strictDirectories:{description:"Treat optional item-type directories as required health failures."},requireMergeDrivers:{description:"Treat never-installed clone-local semantic merge drivers as required health failures."},checkOnly:{description:"For health action, run read-only diagnostics without refreshing vectors."},checkTelemetry:{description:"For health action, probe telemetry endpoint health and include network diagnostics."},noRefresh:{description:"For health action, skip vector refresh while still running checks."},refreshVectors:{description:"For health action, explicitly refresh stale vectors."},verboseStaleItems:{description:"For health action, include full stale-item arrays in vectorization details."},verboseAuthorEvents:{description:"For health action, include every actionable unknown-author event coordinate."},skipVectors:{description:"For health action, skip vectorization checks for a faster diagnostic run."},skipIntegrity:{description:"For health action, skip item/history file integrity checks for a faster diagnostic run."},skipDrift:{description:"For health action, skip history drift hash checks for a faster diagnostic run."},scanMode:{description:"Select file candidate scan mode for --check-files.",examples:["default","tracked-all","tracked-all-strict"]},includePmInternals:{description:"Include PM storage internals in tracked-all candidate scans."},verboseFileLists:{description:"For validate action, include full file-path lists for --check-files details."},verboseDiagnostics:{description:"For validate action, include full diagnostic ID lists instead of compact summaries."},strictExit:{description:"Return non-zero exit when health/validate/extension-doctor warnings are present."},failOnWarn:{description:"Alias for strictExit in health/validate/extension-doctor action payloads."},fixHints:{description:"For validate action, add a machine-executable fix_hints[] of pm commands to each failing check's details."},autoFix:{description:"For validate action, apply the safe, deterministic subset of fix-hint remediations (field backfills) automatically; combine with dryRun to preview and fixScope to grant gated scopes."},fixScope:{description:"For validate action, grant --auto-fix scopes (metadata, resolution, estimates, lifecycle). Defaults to the safe scopes metadata and resolution; estimates (per-type default estimated_minutes backfill) and lifecycle must be named explicitly.",examples:[["estimates"],["lifecycle"],["metadata","resolution"]]},pruneMissing:{description:"For validate action, remove stale linked-file/doc LINKS whose paths classified as deleted (link removal only \u2014 never touches real files); honors dryRun."},checkHistoryDrift:{description:"Run item/history hash drift checks."},checkCommandReferences:{description:"Run linked-command PM-ID reference checks."},edit:{description:"For comments, notes, and learnings actions, replace the annotation at this 1-based index with supplied replacement text."},delete:{description:"For comments, notes, and learnings actions, delete the annotation at this 1-based index."},stdin:{description:"For comments, notes, and learnings actions, read annotation text from piped stdin (supports multiline markdown)."},file:{description:"CLI-only path to an input file for commands that read payload text; tool actions exclude host file access.",examples:["notes/comment.md"]},preserveSourceIds:{description:"Preserve explicit source IDs during Beads imports instead of normalizing to tracker prefix.",examples:[!0]},appendStable:{description:"When true for files action, preserve existing linked-file order and append new links without full-array resorting."},discover:{description:"When true for files action, use `pm files discover <id>` to scan item text for referenced file paths."},apply:{description:"Persist changes instead of returning a dry-run preview: for files discovery, add the missing discovered file links; for schema add-type --infer, register the inferred custom item types."},discoveryNote:{description:"Note attached to file links added by files discovery.",examples:["discovered from item text"]},addNote:{description:"Note attached to every link added by add/addGlob in this call (per-entry embedded note= wins; requires add or addGlob). Maps to the CLI --note flag on pm files/pm docs.",examples:["command wiring"]},list:{description:"When true, list command-specific entries without mutating state (for example linked paths for files/docs or topics for guide).",examples:[!0]},stream:{description:"Stream selector: test-runs logs accepts stdout|stderr|both; activity accepts boolean/rows|ndjson|jsonl for line-delimited output.",examples:["stderr","stdout","both","rows","ndjson","jsonl",!0]},tail:{description:"Number of lines to tail for background run logs.",examples:[100]},query:{description:"Search query text for search action."},for:{description:"Named context intent projection declared for the selected read action.",examples:["orient","inspect","triage","execute","discover"]},keywords:{description:"Alias for query in search action payloads."},includeLinked:{description:"Include readable linked docs/files/tests content in keyword and hybrid lexical scoring."},titleExact:{description:"For search action, require exact normalized title match for the full query string."},phraseExact:{description:"For search action, require exact normalized query phrase match in item text fields."},highlight:{description:"For search action, emit per-field matched-text snippets (wrapped in \xAB\u2026\xBB) on each hit. Off by default."},includeBody:{description:"When true for list-family actions, include item body text in projected rows."},noTruncate:{description:"When true for list-family actions, return every matched row, overriding any limit (surfaces total when rows were dropped)."},strictRead:{description:"When true for list-family actions, fail if any source item or item directory cannot be read."},compact:{description:"Render compact projection output for search and list-family actions."},brief:{description:"Emit compact low-token output for commands that support terse projections or health details.",examples:[!0]},full:{description:"Enable command-specific full/detail output mode when supported, such as deep item reads for get or full payload mode for search/history."},fields:{description:"Comma-separated projection fields for get, search, list-family, or context outputs. Valid field names are command-specific (e.g. score/matched_fields apply to search; context projects focus-row fields such as priority/deadline/completion_pct).",examples:["id,title,status,parent,type","id,title,score,matched_fields","id,title,priority,deadline"]},groupBy:{description:"Comma-separated aggregate grouping fields (supported: parent,type,priority,status,assignee,tags,sprint,release).",examples:["parent,type","type,status","priority,assignee","tags","sprint,release"]},count:{description:"Enable grouped count output for aggregate action."},completion:{description:"For aggregate action, add open/in_progress/closed/other counts and completion_pct per group."},sum:{description:"Numeric field to sum per aggregate group (count and null_count are still returned).",examples:["estimated_minutes","priority"]},avg:{description:"Numeric field to average per aggregate group (count and null_count are still returned).",examples:["estimated_minutes","priority"]},tree:{description:"When true for list/get actions, render recursive parent/child tree ordering."},treeDepth:{description:"Maximum recursion depth for tree output (0 keeps root rows only).",examples:[0,1,"2"]},includeUnparented:{description:"Include unparented rows when aggregate grouping includes parent."},maxDepth:{description:"Maximum dependency traversal depth for deps action (0 keeps only the root node).",examples:[0,1,"2"]},nodeLimit:{description:"Maximum related nodes returned by deps --format context.",examples:[10,"20"]},edgeLimit:{description:"Maximum related edges returned by deps --format context.",examples:[20,"40"]},tokenBudget:{description:"Maximum estimated output tokens for the command output.",examples:[600,"1200"]},cursor:{description:"Opaque continuation cursor returned by deps --format context."},direction:{description:'Graph-context traversal direction for deps action ("outgoing", "incoming", or "both").',examples:["both","incoming"]},kind:{description:"Registered relationship kinds narrowing deps --format context traversal (string, comma-separated, or array).",examples:["blocked_by",["parent","related"]]},after:{description:"Continuation cursor resuming a bounded listing or traversal after this previously returned id.",examples:["pm-x1y2"]},maxPaths:{description:"Maximum enumerated paths for graph paths queries.",examples:[5,"10"]},sample:{description:"Maximum evidence sample entries per graph audit finding.",examples:[10,"25"]},exemptIsolate:{description:"Item ids the graph audit treats as explicitly valid isolates (string, comma-separated, or array).",examples:["pm-x1y2",["pm-x1y2","pm-a3b4"]]},exemptIsolateType:{description:"Item types whose active isolates the graph audit treats as policy-valid (string, comma-separated, or array).",examples:["Reminder",["Reminder","Event"]]},saveBaseline:{description:"When true, persist the graph audit census as the change-since-baseline comparison point (audit only)."},rebuild:{description:"When true, rebuild and warm the durable graph index (graph index only)."},collapse:{description:'Dependency tree collapse mode for deps action ("none" or "repeated").',examples:["none","repeated"]},summary:{description:"When true, return the command's compact summary projection (deps counts, health rollup, or contracts command intents)."},shell:{description:"Shell target for completion generation.",examples:["bash"]},eagerTags:{description:"When true for completion, eagerly embed current tracker tags into generated scripts (legacy mode)."},contractAction:{description:"Filter contracts schema to one tool action.",examples:["create","update"]},command:{description:"Scope contracts output to one CLI command name; action/schema surfaces narrow by default.",examples:["create","search","list"]},schemaOnly:{description:"When true, contracts action returns schema-focused payloads (mutually exclusive with flagsOnly/availabilityOnly)."},flagsOnly:{description:"When true, contracts action returns only command flag surface payloads (mutually exclusive projection mode)."},availabilityOnly:{description:"When true, contracts action returns only action availability payloads (mutually exclusive projection mode)."},runtimeOnly:{description:"When true, contracts action only includes actions invocable in the current runtime."},activeOnly:{description:"Alias for runtimeOnly in contracts action payloads."},depth:{description:"Context depth level controlling how many sections are included (brief=focus+agenda, standard=+hierarchy/activity/progress/workload, deep=all sections, full=every section with no per-section row cap).",examples:["brief","standard","deep","full"]},section:{description:"Repeatable section selector for context; overrides --depth when provided.",examples:[["hierarchy","activity"],["blockers","files","staleness"]]},activityLimit:{description:"Maximum number of recent activity entries to include in context output.",examples:[5,10,"20"]},staleThreshold:{description:"Staleness cutoff in days for context staleness section (e.g. 7 or 7d).",examples:["7","14d","30"]}},Mb={stats:{since:{description:"Inclusive ISO 8601 timestamp or negative duration lower bound for provenance and fleet analytics.",examples:["2026-08-01T00:00:00.000Z","-30d"]}},events:{since:{description:"Durable event cursor returned as next_cursor, or an inclusive event timestamp.",examples:["eyJmaW5nZXJwcmludCI6Ii4uLiJ9","2026-08-01T00:00:00.000Z"]},type:{description:"Mutation event type filter, supplied once or as a list.",examples:["create",["create","update"]]},author:{description:"Mutation author filter, supplied once or as a list.",examples:["agent-a",["agent-a","agent-b"]]},item:{description:"Tracked item id filter, supplied once or as a list.",examples:["pm-a1b2",["pm-a1b2","pm-c3d4"]]},limit:{description:"Maximum mutation events returned, from 0 through 1000.",examples:[0,100]}},remind:{at:{description:"Reminder time as an ISO 8601 timestamp or supported relative expression.",examples:["2026-08-02T09:00:00+02:00","tomorrow 09:00"]}},deps:{tokenBudget:{description:"Maximum estimated output tokens for deps --format context.",examples:[600,"1200"]}},comments:{full:{description:"Return the complete post-mutation comment history instead of the bounded mutation receipt projection."}},notes:{full:{description:"Return the complete post-mutation note history instead of the bounded mutation receipt projection."},since:{description:"Inclusive ISO 8601 creation timestamp lower bound for structured note event filtering.",examples:["2026-01-01T00:00:00.000Z"]}},learnings:{full:{description:"Return the complete post-mutation learning history instead of the bounded mutation receipt projection."}},next:{tag:{description:"Only recommend items carrying this exact tag.",examples:["sdk","release"]},tokenBudget:{description:"Maximum estimated output tokens for the recommendation context.",examples:[600,"1200"]}},claim:{tag:{description:"When claiming the next item, only consider work carrying this exact tag.",examples:["sdk","release"]},tokenBudget:{description:"Maximum estimated output tokens for the next-item context returned with the claim.",examples:[600,"1200"]}},close:{text:{description:"Backward-compatible alias for the item close reason when reason is not provided."}},"close-task":{text:{description:"Close reason used before releasing the item's active assignment."}},schema:{name:{description:"Custom item type name (add-type/remove-type/show), custom status id (show-status/add-status/remove-status), or custom field key (add-field/remove-field/show-field). Required for those subcommands.",examples:["Spike","review","component"]}},profile:{name:{description:"Profile name for show/apply/lint. Built-in profiles are agile, ops, and research; an active extension can contribute additional archetype names that resolve here too.",examples:["agile","ops","research"]}},graph:{subcommand:{description:"Graph query selector: ancestors|descendants|predecessors|successors|paths|impact|analyze|audit|communities|redundancy|dominators|slack|centrality|articulation|plan|index. Traversals, paths, impact, and dominators require id; paths also requires target; slack reports critical-path float, centrality ranks betweenness/closeness/degree, articulation reports cut points and bridges; plan derives dry-run remediation proposals from the governance audit; index reports, rebuilds, or clears the durable cross-process graph index.",examples:["successors","audit"]},clear:{description:"When true, delete the durable graph index (graph index only)."},id:{description:"Root item id for traversal, paths, impact, and dominators graph queries.",examples:["pm-x1y2"]},target:{description:"Target item id for graph paths queries.",examples:["pm-a3b4"]},direction:{description:'Edge orientation for graph paths/impact/dominators queries ("outgoing", "incoming", or "both"; default "both").',examples:["incoming"]},kind:{description:"Registered relationship kinds narrowing the graph query (string, comma-separated, or array).",examples:["blocked_by",["parent","related"]]},maxDepth:{description:"Maximum graph traversal depth (non-negative integer).",examples:[2,"4"]},after:{description:"Resume a hierarchy/ordering graph traversal after this previously returned node id.",examples:["pm-x1y2"]},limit:{description:"Maximum returned rows per bounded graph collection (traversal ids, impact rows, analyze/communities samples, redundancy rows, dominator bottlenecks).",examples:[10,"25"]},summary:{description:"When true, return counts-first graph envelopes without row collections."}}};(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]="d9f01e68-6b54-5861-a4b5-ae40613c2047")}catch{}})();var nF=["json","quiet","profile","noExtensions","noPager","tokenAccounting","path","pmExecutable","timeoutMs"],rF=["outputInclude","outputLimit","outputBudget","outputFormat","outputSession"],Ub=new Set(["action","cwd","options",...Object.keys(no).filter(e=>e!=="severity")]);function oF(e){let t=e.trim().toLowerCase(),n="";for(let r=0;r<t.length;r+=1){let o=t[r];if(o!=="-"&&o!=="_"){n+=o;continue}let i=r+1;for(;t[i]==="-"||t[i]==="_";)i+=1;let s=t[i];if(s!==void 0&&(s>="a"&&s<="z"||s>="0"&&s<="9")){n+=s.toUpperCase(),r=i;continue}n+=t.slice(r,i),r=i-1}return Ub.has(n)?{field:e,property:n,owner:"mcp_tool_input",nested_path:`options.${n}`}:void 0}var iF={create:["fullChangedFields","idOnly"],copy:["fullChangedFields","idOnly"],update:["fullChangedFields","idOnly"],close:["fullChangedFields","idOnly"],restore:["fullChangedFields","idOnly"],append:["fullChangedFields"],"update-many":["fullChangedFields"],"close-many":["fullChangedFields"]},qb=["createMode","status","deadline","estimate","acceptanceCriteria","definitionOfReady","order","rank","goal","objective","value","impact","outcome","whyNow","assignee","reviewer","risk","confidence","sprint","release","blockedReason","unblockNote","reporter","severity","environment","reproSteps","resolution","expectedResult","actualResult","affectedVersion","fixedVersion","component","regression","customerImpact","comment","note","learning","reminder","event","typeOption"],BH=Object.freeze({"close-many":["list","expected_result","expected","actual_result","actual","validate_close","dry_run","checkpoint","no_checkpoint","filterAssignee_filter"],"update-many":["list","update","dry_run","checkpoint","no_checkpoint","filterAssignee_filter"],...Object.fromEntries(rt.filter(e=>e==="install"||e==="extension"||e==="package"||e.startsWith("extension-")||e.startsWith("package-")).map(e=>[e,["project","local","global"]]))});function Se(e){return eo(e)}var sF=Se([...Td.map(e=>e.param),...ks.map(e=>e.param),"assignee","closeReason","completedAt"]),Gb=Se([...vd.map(e=>e.param),...ks.map(e=>e.param),"force"]),aF=Se([...Sd.map(e=>e.param),...Gb.filter(e=>e!=="allowMissingParent"&&e!=="completedAt"),"dryRun","rollback","noCheckpoint"]),cF=Se([...kd.map(e=>e.param),"reason","completedAt","resolution","expectedResult","actualResult","validateClose","dryRun","rollback","noCheckpoint","author","message","force"]),Fb=Se([...Cd.map(e=>e.param),"past","section"]),lF=Se([...xd.map(e=>e.param),"stream"]),Nt=Se([...bd.map(e=>e.param),"includeBody","noTruncate","strictRead","compact","brief","full"]),Dt=[[{property:"today",schema:{const:!0}},{property:"recent",schema:{const:!0}}],[{property:"today",schema:{const:!0}},{property:"updatedAfter",schema:{type:"string",pattern:"\\S"}}],[{property:"recent",schema:{const:!0}},{property:"updatedAfter",schema:{type:"string",pattern:"\\S"}}]],dF=[[{property:"summary",schema:{const:!0}},{property:"schemaOnly",schema:{const:!0}}],[{property:"summary",schema:{const:!0}},{property:"flagsOnly",schema:{const:!0}}],[{property:"summary",schema:{const:!0}},{property:"availabilityOnly",schema:{const:!0}}],[{property:"schemaOnly",schema:{const:!0}},{property:"flagsOnly",schema:{const:!0}}],[{property:"schemaOnly",schema:{const:!0}},{property:"availabilityOnly",schema:{const:!0}}],[{property:"flagsOnly",schema:{const:!0}},{property:"availabilityOnly",schema:{const:!0}}]],uF=Se([...wd.map(e=>e.param),"count","completion","includeUnparented"]),fF=Se(["query","keywords","mode","semantic","hybrid","includeLinked","titleExact","phraseExact","highlight","compact","full",...Ed.map(e=>e.param)]),$b=Se(["type","tag","priority","assignee","assigneeFilter","sprint","release","parent","limit","blockedLimit","readyOnly","format","includeDecisions","tokenBudget","explainRanking"]),ge=["author","message","force"],Vb=["text","reason","closeReason","completedAt","duplicateOf","validateClose","resolution","expectedResult","actualResult"],oo=["author","assignee","message","force"],pF=["target","scope","capability","declarative","github","ref","init","install","uninstall","explore","manage","describe","markdown","output","reload","doctor","catalog","list","adopt","adoptAll","activate","deactivate","runtimeProbe","fixManagedState","isolated","ignoreGlobal","detail","trace","watch","strictExit","failOnWarn"];function jb(e){return{[`${e}-init`]:{required:["target"],optional:["scope","capability",...e==="package"?["declarative"]:[]]},[`${e}-install`]:{optional:["target","github","scope","ref"],anyOfRequired:[["target"],["github"]]},[`${e}-uninstall`]:{required:["target"],optional:["scope"]},[`${e}-explore`]:{optional:["scope"]},[`${e}-manage`]:{optional:["scope","runtimeProbe","fixManagedState"]},[`${e}-describe`]:{optional:["target","scope","markdown","output"]},[`${e}-reload`]:{optional:["scope","watch"]},[`${e}-doctor`]:{optional:["scope","detail","trace","fixManagedState","isolated","ignoreGlobal","strictExit","failOnWarn"]},[`${e}-catalog`]:{optional:["scope","fields"]},[`${e}-adopt`]:{required:["target"],optional:["scope","github","ref"]},[`${e}-adopt-all`]:{optional:["scope"]},[`${e}-activate`]:{required:["target"],optional:["scope"]},[`${e}-deactivate`]:{required:["target"],optional:["scope"]},[e]:{optional:pF}}}var zb={required:["title"],optional:["start","duration","end","location","timezone","allDay","parent","allowMissingParent","tags","priority","body","description","author","message"]},Cs={init:{optional:["prefix","idPrefix","workspace","preset","typePreset","defaults","author","agentGuidance","withPackages","mergeFence","force","verbose"]},config:{required:["scope","configAction"],optional:["key","value","criterion","clearCriteria","format","policy"]},...jb("extension"),...jb("package"),install:{optional:["target","github","scope","ref"],anyOfRequired:[["target"],["github"]]},upgrade:{optional:["target","scope","dryRun","cliOnly","packagesOnly","repair","tag","packageName"]},create:{required:["title","description","type","status","priority","message"],optional:sF},copy:{required:["id"],optional:["title","author","message","allowDuplicate"]},focus:{optional:["id","clear"],mutuallyExclusive:[["id","clear"]]},list:{optional:Nt,mutuallyExclusiveWhen:Dt},"list-all":{optional:Nt,mutuallyExclusiveWhen:Dt},"list-draft":{optional:Nt,mutuallyExclusiveWhen:Dt},"list-open":{optional:Nt,mutuallyExclusiveWhen:Dt},"list-in-progress":{optional:Nt,mutuallyExclusiveWhen:Dt},"list-blocked":{optional:Nt,mutuallyExclusiveWhen:Dt},"list-closed":{optional:Nt,mutuallyExclusiveWhen:Dt},"list-canceled":{optional:Nt,mutuallyExclusiveWhen:Dt},aggregate:{optional:uF},guide:{optional:["list","format","depth"]},context:{optional:Fb},ctx:{optional:Fb},get:{required:["id"],optional:["for","tokenBudget","at","depth","full","fields","tree","treeDepth","format"]},search:{optional:fF,anyOfRequired:[["query"],["keywords"]]},eval:{optional:["mode","k","failUnder","queries","format"]},events:{optional:["since","type","author","item","limit","full","provenance","provenanceSummary","harness","agentInstance","provenanceFilter"]},merge:{required:["subcommand"],optional:["dryRun","author","message","force","includeReconciled","artifact","basePath","oursPath","theirsPath","output","outputPath","itemPath","prefer"]},workspace:{required:["subcommand","snapshotAction"],optional:["name","target","dryRun","force","author","message","lockTtlSeconds","lockWaitMs"]},meet:zb,event:zb,remind:{required:["title"],optional:["at","text","parent","allowMissingParent","tags","priority","body","description","author","message"]},next:{optional:[...$b,"for"]},reindex:{optional:["mode","progress"]},history:{required:["id"],optional:["limit","compact","full","provenance","provenanceSummary","harness","agentInstance","provenanceFilter","diff","verify","field","strictExit","failOnWarn","format"]},"history-redact":{required:["id"],optional:["literal","regex","replacement","dryRun",...ge],anyOfRequired:[["literal"],["regex"]]},"history-repair":{optional:["id","all","dryRun",...ge],oneOfRequired:[["id"],["all"]]},"history-author-acknowledge":{required:["attributedAuthor","reviewer","reason"],optional:["historyEvent","allActionable"],oneOfRequired:[["historyEvent"],["allActionable"]]},"history-compact":{optional:["id","before","ids","allOver","closed","allStreams","minEntries","dryRun",...ge]},schema:{required:["subcommand"],optional:["name","description","defaultStatus","folder","alias","role","order","fieldType","commands","cliFlag","required","requiredOnCreate","allowUnset","requiredTypes","typePreset","infer","minCount","apply","to","migrationId","fieldTypeScope","dryRun","author","force"],conditionalRequired:[{property:"subcommand",value:"show",required:["name"]},{property:"subcommand",value:"show-status",required:["name"]},{property:"subcommand",value:"add-type",required:["name"]},{property:"subcommand",value:"remove-type",required:["name"]},{property:"subcommand",value:"add-status",required:["name"]},{property:"subcommand",value:"remove-status",required:["name"]},{property:"subcommand",value:"add-field",required:["name"]},{property:"subcommand",value:"remove-field",required:["name"]},{property:"subcommand",value:"show-field",required:["name"]},{property:"subcommand",value:"rename-type",required:["name","to"]},{property:"subcommand",value:"rename-field",required:["name","to"]},{property:"subcommand",value:"remap-status",required:["name","to"]},{property:"subcommand",value:"apply-preset",required:["typePreset"]}]},profile:{required:["subcommand"],optional:["name","dryRun","author","force"],conditionalRequired:[{property:"subcommand",value:"show",required:["name"]},{property:"subcommand",value:"apply",required:["name"]},{property:"subcommand",value:"lint",required:["name"]}]},plan:{required:["subcommand"],optional:["id","stepRef","reorderTo","title","description","template","scope","parent","related","blocks","blockedBy","harness","mode","resumeContext","tags","priority",...qb,"body","claim","fromSearch","stepTitle","step","stepBody","stepOwner","stepStatus","stepEvidence","stepBlockedReason","stepReplacement","dependsOn","link","linkKind","linkNote","promoteToItemDep","allowMultipleActive","file","test","doc","decisionText","decision","decisionRationale","decisionEvidence","discoveryText","discovery","validationText","validation","validationCommand","validationExpected","depth","fields","steps","materializeType","materializeParent","materializeTags","field",...ge]},activity:{optional:lF},restore:{required:["id","target"],optional:ge},update:{required:["id"],optional:Gb},"update-many":{optional:aF},close:{required:["id"],optional:[...Vb,...ge]},"close-many":{optional:cF},delete:{required:["id"],optional:["dryRun",...ge]},append:{required:["id","body"],optional:ge},comments:{required:["id"],optional:["text","add","stdin","edit","delete","limit","full",...ge]},notes:{required:["id"],optional:["text","add","addJson","stdin","edit","delete","limit","since","eventType","includeMeta","full",...ge],mutuallyExclusive:[["addJson","add"],["addJson","stdin"],["addJson","file"],["addJson","edit"],["addJson","delete"]]},learnings:{required:["id"],optional:["text","add","stdin","edit","delete","limit","full",...ge]},files:{required:[],optional:["id","add","addGlob","remove","migrate","list","addNote","discover","apply","discoveryNote","appendStable","validatePaths","lookupPath","scope","limit","offset","noTruncate","strictRead",...ge],anyOfRequired:[["id"],["lookupPath"]],dependentAnyOfRequired:[{property:"addNote",anyOfRequired:[["add"],["addGlob"]]}]},docs:{required:["id"],optional:["add","addGlob","remove","migrate","addNote","list","validatePaths",...ge],dependentAnyOfRequired:[{property:"addNote",anyOfRequired:[["add"],["addGlob"]]}]},deps:{required:["id"],optional:["format","maxDepth","collapse","summary","full","nodeLimit","edgeLimit","tokenBudget","cursor","direction","kind"]},graph:{required:["subcommand"],optional:["id","target","kind","maxDepth","limit","after","direction","maxPaths","sample","exemptIsolate","exemptIsolateType","saveBaseline","rebuild","clear","summary","full"]},test:{required:["id"],optional:["add","addJson","remove","run","match","onlyIndex","onlyLast","background","timeout","progress","envSet","envClear","sharedHostSafe","pmContext","overrideLinkedPmContext","failOnContextMismatch","failOnSkipped","failOnEmptyTestRun","requireAssertionsForPm","checkContext","autoPmContext","measure","metricBelow","metricDiff",...ge]},"test-all":{optional:["status","limit","offset","background","timeout","progress","envSet","envClear","sharedHostSafe","pmContext","overrideLinkedPmContext","failOnContextMismatch","failOnSkipped","failOnEmptyTestRun","requireAssertionsForPm","checkContext","autoPmContext"]},telemetry:{optional:["subcommand","limit"]},"test-runs-list":{optional:["status","limit"]},"test-runs-status":{required:["runId"]},"test-runs-logs":{required:["runId"],optional:["stream","tail"]},"test-runs-stop":{required:["runId"],optional:["force"]},"test-runs-resume":{required:["runId"],optional:["author"]},stats:{optional:["storage","metadataCoverage","fieldUtilization","byAssignee","byTag","byPriority","tagPrefix","measurements","metric","measurementLimit","observe","improvementDirection","measurementSource","measurementItem","measurementRevision","author","message","provenanceCoverage","fleetAttribution","since","eventLimit","minimumSample"]},duplicates:{optional:["status","since","threshold","limit"]},health:{optional:["strictDirectories","requireMergeDrivers","strictExit","failOnWarn","checkOnly","checkTelemetry","noRefresh","refreshVectors","verboseStaleItems","verboseAuthorEvents","brief","summary","skipVectors","skipIntegrity","skipDrift","full"]},validate:{optional:["checkStorageIntegrity","checkMetadata","metadataProfile","checkResolution","checkLifecycle","checkStaleBlockers","dependencyCycleSeverity","parentCycleSeverity","checkFiles","scanMode","includePmInternals","verboseFileLists","verboseDiagnostics","allAffectedIds","strictExit","failOnWarn","fixHints","autoFix","dryRun","fixScope","pruneMissing","checkHistoryDrift","checkCommandReferences","counts","full"]},gc:{optional:["dryRun","gcScope"]},contracts:{optional:["contractAction","command","summary","schemaOnly","flagsOnly","availabilityOnly","runtimeOnly","activeOnly","full"],mutuallyExclusiveWhen:dF},completion:{required:["shell"],optional:["eagerTags"]},claim:{optional:["id","next","ifAvailable","maxAttempts","includeDecisions",...$b,...oo],oneOfRequired:[["id"],["next"]]},release:{required:["id"],optional:oo},"start-task":{required:["id"],optional:oo},"pause-task":{required:["id"],optional:oo},"close-task":{required:["id"],optional:["text","validateClose",...oo]}},mF=Object.freeze(Object.fromEntries(rt.map(e=>[e,Cs[e]])));function Bb(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").trim().replace(/^./,t=>t.toUpperCase()).concat(".")}function gF(e,t){let n=typeof t=="object"&&t!==null?{...t}:{},r=ro[e];return{...n,description:r?.description??Bb(e),...r?.examples?{examples:r.examples}:{}}}function _F(e,t){if(e==="plan"&&Object.prototype.hasOwnProperty.call(Ud,t))return Ud[t];let n=Mb[e];return n&&Object.prototype.hasOwnProperty.call(n,t)?n[t]:ro[t]}function yF(e,t,n){let r=typeof n=="object"&&n!==null?{...n}:{},o=_F(e,t);return{...r,description:o?.description??Bb(t),...o?.examples?{examples:o.examples}:{}}}function hF(e,t){let n=Pb[e];return n&&Object.prototype.hasOwnProperty.call(n,t)?n[t]:e==="plan"&&Object.prototype.hasOwnProperty.call(zd,t)?zd[t]:(e==="get"||e==="history"||e==="search")&&t==="format"?{type:"string",enum:["json","toon"]}:no[t]}function bF(e,t){let n={action:{const:e,description:ro.action?.description??"Tool action to execute."}};for(let r of t){if(r==="action")continue;let o=hF(e,r);o&&(n[r]=yF(e,r,o))}return n}function wF(e,t){let n=t.flat();return t.map(r=>{let o=n.filter(i=>!r.includes(i));return{required:[...r],...o.length>0?{not:{anyOf:o.map(i=>({required:[i]}))}}:{},...e==="history-repair"&&r.includes("all")?{properties:{all:{const:!0}}}:e==="claim"&&r.includes("next")?{properties:{next:{const:!0}}}:{}}})}function EF(e){let t=[];if(e.conditionalRequired&&e.conditionalRequired.length>0)for(let n of e.conditionalRequired)t.push({if:{properties:{[n.property]:{const:n.value}},required:[n.property]},then:{required:n.required}});if(e.dependentAnyOfRequired&&e.dependentAnyOfRequired.length>0)for(let n of e.dependentAnyOfRequired)t.push({if:{required:[n.property]},then:{anyOf:n.anyOfRequired.map(r=>({required:[...r]}))}});if(e.mutuallyExclusive&&e.mutuallyExclusive.length>0)for(let n of e.mutuallyExclusive)t.push({not:{required:Se(n)}});if(e.mutuallyExclusiveWhen&&e.mutuallyExclusiveWhen.length>0)for(let n of e.mutuallyExclusiveWhen)t.push({not:{allOf:n.map(r=>({properties:{[r.property]:r.schema},required:[r.property]}))}});return t}function qd(e){if(!Object.prototype.hasOwnProperty.call(Cs,e))return;let t=Cs[e],n=iF[e]??[];return Se(["action",...nF,...Dn(e)!==void 0?rF:[],...n,...t.required??[],...t.optional??[]])}function Hb(e){let t=Cs[e],n=Se(t.required??[]),r=qd(e),o={type:"object",additionalProperties:!1,required:["action",...n],title:`pm action "${e}" parameters`,properties:bF(e,r)};t.anyOfRequired&&t.anyOfRequired.length>0&&(o.anyOf=t.anyOfRequired.map(s=>({required:[...s]}))),t.oneOfRequired&&t.oneOfRequired.length>0&&(o.oneOf=wF(e,t.oneOfRequired));let i=EF(t);return i.length>0&&(o.allOf=i),o}function TF(e,t={}){let n=Hb(e),r={...n.properties};delete r.action;let o=[...n.anyOf??[],...n.oneOf??[]],i=(t.required??n.required.map(String)).filter(a=>a==="action"?!1:t.required===void 0?!0:!o.some(c=>c.required?.map(String).includes(a))),s={type:"object",additionalProperties:t.additionalProperties??!0,properties:{...r,options:{type:"object",additionalProperties:!0,description:"Advanced command options forwarded to the selected pm action."},...t.properties},required:i};return n.anyOf!==void 0&&(s.anyOf=n.anyOf),n.oneOf!==void 0&&(s.oneOf=n.oneOf),n.allOf!==void 0&&(s.allOf=n.allOf),s}function Wb(e){let t,n=()=>t??=e();return new Proxy({},{get:(r,o)=>n()[o],has:(r,o)=>o in n(),ownKeys:()=>Reflect.ownKeys(n()),getOwnPropertyDescriptor:(r,o)=>{let i=Reflect.getOwnPropertyDescriptor(n(),o);return i&&(i.configurable=!0),i}})}var Gd="4.4.1",Kb=Gd.split(".")[0],Yb="1.1.0",vF=Wb(()=>({$schema:"https://json-schema.org/draft/2020-12/schema",$id:`https://schema.unbrained.dev/pm-cli/tool-parameters-v${Kb}.schema.json`,title:"pm-cli tool parameters (action-scoped strict schema)","x-schema-version":Gd,type:"object",oneOf:rt.map(e=>Hb(e))}));function AF(e,t){let n=gF(e,t);if(typeof n.type=="string")return n;let o=(Array.isArray(n.anyOf)?n.anyOf:[]).find(a=>typeof a.type=="string");if(o){let{anyOf:a,...c}=n;return{...o,...c}}let{anyOf:i,...s}=n;return{...s,type:"string"}}function SF(){let e={action:{type:"string",description:ro.action?.description??"Tool action to execute."},options:{type:"object",additionalProperties:!0,description:"Advanced command options object forwarded to the selected pm action."}};for(let t of Object.keys(no).sort())e[t]=AF(t,no[t]);return{title:"pm-cli tool parameters (provider-compatible flat schema)","x-schema-version":Yb,type:"object",additionalProperties:!1,required:["action"],properties:e}}var kF=Wb(SF);(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]="0fd4d2b0-725f-53ed-8b2b-2eeb19406cb7")}catch{}})();var xF=new Set(["--author","--follow","--help","--lean","--token-accounting","--output-include","--output-limit","--output-budget","--output-format","--output-session","--no-changed-fields","--no-extensions","--no-pager","--pm-path","--profile","--quiet","--interval-ms"]),CF=new Set([...Bp,...Hp]),OF=new Set(["--brief","--format","--full","--full-changed-fields","--id-only","--no-truncate","--stream"]),IF=new Set(["--body-file","--file","--stdin-json"]),RF=new Set(["--global","--local","--project"]),NF=new Set(["--activity-limit","--default-depth","--section-activity","--section-blockers","--section-files","--section-hierarchy","--section-progress","--section-staleness","--section-tests","--section-workload","--stale-threshold-days"]),DF=new Set(["action","path","pmExecutable","timeoutMs"]),LF=new Set(["configAction","id","name","query","reason","subcommand","target","text"]),PF={event:{title:"<title>"},files:{lookupPath:"lookup <path...>"},meet:{title:"<title>"},merge:{subcommand:"<subcommand>"},remind:{title:"<title>"},workspace:{name:"<name>",subcommand:"snapshot",snapshotAction:"<snapshot-action>",target:"<target>"}},MF={init:{"--id-prefix":"idPrefix","--no-merge-fence":"mergeFence","--workspace":"workspace"},create:{"--ac":"acceptanceCriteria","--estimated-minutes":"estimate","--file":"linkedFile","--test":"linkedTest","--expected":"expectedResult","--actual":"actualResult"},update:{"--ac":"acceptanceCriteria","--estimated-minutes":"estimate","--file":"linkedFile","--test":"linkedTest","--expected":"expectedResult","--actual":"actualResult"},"update-many":{"--ac":"acceptanceCriteria","--estimated-minutes":"estimate","--file":"linkedFile","--test":"linkedTest","--expected":"expectedResult","--actual":"actualResult"},files:{"--note":"addNote"},docs:{"--note":"addNote"},comments:{"--full-history":"full"},notes:{"--file":"text","--full-history":"full"},learnings:{"--full-history":"full"},gc:{"--scope":"gcScope"},contracts:{"--action":"contractAction"},schema:{"--no-allow-unset":"allowUnset","--type":"fieldTypeScope"},"history-author-acknowledge":{"--event":"historyEvent","--all-actionable":"allActionable"},"extension-init":{"--capability":"capability"},"package-init":{"--capability":"capability"},"extension-install":{"--gh":"github"},"package-install":{"--gh":"github"},"extension-adopt":{"--gh":"github"},"package-adopt":{"--gh":"github"},extension:{"--gh":"github","--scaffold":"init"},package:{"--gh":"github","--scaffold":"init"},install:{"--gh":"github"}},Jb={stats:{"--analytics":["measurements","metric","measurementLimit","observe","improvementDirection","measurementSource","measurementItem","measurementRevision","author","message","provenanceCoverage","fleetAttribution","since","eventLimit","minimumSample"]}};function FF(e){return e.startsWith("extension-")?`extension ${e.slice(10)}`:e.startsWith("package-")?`package ${e.slice(8)}`:e}function Xb(e,t){let n=MF[e]?.[t];return n!==void 0?n:t.replace(/^--/,"").replaceAll("_","-").replace(/-([a-z])/g,(r,o)=>o.toUpperCase())}function $F(e){let t=new Set;return e.filter(({flag:n})=>!n.startsWith("--")||t.has(n)?!1:(t.add(n),!0))}function jF(e,t){return t.find(({aliases:n})=>n?.includes(e))?.flag}function zF(e,t,n,r){let o=Jb[e]?.[t.flag];if(o!==void 0&&o.every(a=>r.has(a)))return{surface:"cli",input:t.flag,counterpart:o[0],disposition:"shared",reason:"The validated CLI JSON object fans out across strict SDK parameters."};let i=Xb(e,t.flag);if(r.has(i))return{surface:"cli",input:t.flag,counterpart:i,disposition:"shared",reason:"The CLI flag maps directly to a strict SDK action parameter."};let s=jF(t.flag,n);if(s!==void 0){let a=Xb(e,s);if(r.has(a))return{surface:"cli",input:t.flag,counterpart:a,disposition:"compatibility_alias",reason:`Compatibility spelling for ${s}.`}}return xF.has(t.flag)?{surface:"cli",input:t.flag,disposition:"cli_transport",reason:"CLI process transport is supplied by the in-process SDK host."}:OF.has(t.flag)?{surface:"cli",input:t.flag,disposition:"cli_presentation",reason:"CLI rendering or mutation projection does not alter the SDK result envelope."}:IF.has(t.flag)?{surface:"cli",input:t.flag,disposition:"cli_adapter",reason:"Local file or stdin adaptation is a CLI boundary concern."}:NF.has(t.flag)?{surface:"cli",input:t.flag,counterpart:"key",disposition:"compatibility_alias",reason:"CLI config shorthand normalizes to the SDK configAction/key/value contract."}:RF.has(t.flag)?{surface:"cli",input:t.flag,counterpart:"scope",disposition:"cli_scope_selector",reason:"Mutually exclusive CLI scope switches normalize to the SDK scope parameter."}:{surface:"cli",input:t.flag,counterpart:i,disposition:"unclassified",reason:"The CLI flag has no strict SDK parameter or approved boundary classification."}}function UF(e,t,n){let r=Object.entries(Jb[e]??{}).find(([s,a])=>a.includes(t)&&n.some(({input:c,disposition:l})=>c===s&&l==="shared"));if(r!==void 0)return{surface:"sdk",input:t,counterpart:r[0],disposition:"shared",reason:"The strict SDK parameter is reachable through the validated CLI JSON object."};let o=n.find(({counterpart:s,disposition:a})=>s===t&&(a==="shared"||a==="compatibility_alias"||a==="cli_scope_selector"));if(o!==void 0)return{surface:"sdk",input:t,counterpart:o.input,disposition:"shared",reason:"The strict SDK parameter is reachable from the CLI contract."};let i=PF[e]?.[t];return i!==void 0?{surface:"sdk",input:t,counterpart:i,disposition:"shared",reason:"The strict SDK parameter maps to a canonical CLI positional argument."}:DF.has(t)?{surface:"sdk",input:t,disposition:"sdk_transport",reason:"The SDK host supplies in-process transport and workspace selection."}:LF.has(t)?{surface:"sdk",input:t,disposition:"cli_positional",reason:"The CLI accepts this SDK parameter as a positional command argument."}:{surface:"sdk",input:t,disposition:"sdk_native",reason:"The typed SDK exposes this structured input without a canonical CLI long flag."}}function qF(e={}){let t=e.actions??rt,n=e.resolveFlags??jd,r=e.resolveParameters??qd;return t.map(o=>{let i=FF(o),s=$F(n(i)).filter(({flag:d})=>Dn(o)!==void 0||!CF.has(d)),a=new Set(r(o)??[]),c=s.map(d=>zF(o,d,s,a)),l=[...a].sort((d,u)=>d.localeCompare(u)).map(d=>UF(o,d,c));return{action:o,command:i,cli:c,sdk:l,unclassified:[...c,...l].filter(({disposition:d})=>d==="unclassified")}})}(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]="8071fd9d-649a-5fce-b342-84b11066d559")}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]="13c02696-29a7-598e-888a-3502fd88bfbe")}catch{}})();import{Option as GF}from"commander";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d44229ca-8c70-5d55-a168-32bfe66711e6")}catch{}})();async function gW(e,t,n,r,o){let i=sr(process.cwd(),r.path),s=await xe("command_result",{command:e,args:t,options:n,global:r,pm_root:i,result:o});return s.handled?s.result:o}function _W(e,t){for(let[n,r]of Object.entries(t))e.setOptionValueWithSource(n,r,"cli")}function Qb(e,t){let n=[],r=new Set;for(let o of t.keys){if(!Object.hasOwn(e,o))continue;let i=e[o];if(i!=null){if(typeof i=="string"){n.push(i);continue}if(!Array.isArray(i)||!i.every(s=>typeof s=="string"))return;r.has(i)||(r.add(i),n.push(...i))}}return n.length>0?n.join("; "):void 0}var Vd=Symbol("pm.resolvedGlobalOptions");function VF(e){return typeof e=="object"&&e!==null?e:{}}function _e(e,t){return e.find(r=>r.target===t)??{target:t,keys:[t]}}function yW(e,t){e[Vd]={...t}}function hW(e){delete e[Vd]}function Os(e,t){return typeof e[t]=="string"?e[t]:void 0}function bW(e){let t=BF(e),n=e[Vd];if(n)return{...n,...t.length>0?{command:t}:{}};let r=VF(e),o=typeof r.optsWithGlobals=="function"?r.optsWithGlobals():typeof r.opts=="function"?r.opts():{};return{json:o.json===!0?!0:void 0,quiet:!!o.quiet,noChangedFields:o.changedFields===!1,...o.fullChangedFields===!0?{fullChangedFields:!0}:{},idOnly:o.idOnly===!0,...o.lean===!0?{lean:!0}:{},...o.tokenAccounting===!0?{tokenAccounting:!0}:{},outputInclude:Os(o,"outputInclude"),outputLimit:Os(o,"outputLimit"),outputBudget:Os(o,"outputBudget"),outputSession:Os(o,"outputSession"),...o.outputFormat==="toon"||o.outputFormat==="json"?{outputFormat:o.outputFormat}:{},path:typeof o.pmPath=="string"?o.pmPath:typeof o.path=="string"?o.path:void 0,noExtensions:o.extensions===!1,noPager:!!o.noPager,profile:!!o.profile,...t.length>0?{command:t}:{},...typeof o.author=="string"?{author:o.author}:{}}}function BF(e){let t=[],n=e;for(;n?.parent;)t.unshift(n.name()),n=n.parent;return t.join(" ")}async function wW(e){if(e.json===!0)return e;let t=sr(process.cwd(),e.path);if(!await Y(ye(t)))return e;let n=await Ge(t);return{...e,defaultOutputFormat:n.output.default_format}}function HF(e,t){let n=t??[];return n.push(e),n}function je(e,t,n){if(typeof n!="string")return;let r=n.trim();r.length!==0&&e.push(t,r)}function Je(e,t,n){n===!0&&e.push(t)}function Xn(e,t,n){if(Array.isArray(n))for(let r of n){if(typeof r!="string")continue;let o=r.trim();o.length!==0&&e.push(t,o)}}function T(e,t){return e[t]===!0?!0:void 0}function ct(e,t){return e[t]===!1?!0:void 0}function EW(e,t){return typeof e[t]=="string"?e[t]:void 0}function WF(e,t,n,r=!1,o=void 0){let i=new GF(t,n).hideHelp();r&&i.argParser(o??HF),e.addOption(i)}function TW(e,t,n){for(let[r,o]of t)WF(e,r,o,n)}function Zb(e,t){return t.some(n=>e[n]===!0)?!0:void 0}function ew(e,t){let n=Ts(e,t);return typeof n=="string"||typeof n=="number"&&Number.isFinite(n)?n:void 0}function Is(e,t){for(let[n,r]of Object.entries(t))n==="__proto__"||n==="constructor"||n==="prototype"||Object.hasOwn(e,n)||(e[n]=r)}function vW(e,t){let n=["test",e,"--run","--json","--progress"];return Xn(n,"--add",t.add),Xn(n,"--add-json",t.addJson),Xn(n,"--remove",t.remove),je(n,"--match",t.match),je(n,"--only-index",t.onlyIndex),Je(n,"--only-last",t.onlyLast),Xn(n,"--measure",t.measure),je(n,"--metric-below",t.metricBelow),je(n,"--metric-diff",t.metricDiff),tw(n,t),je(n,"--author",t.author),je(n,"--message",t.message),Je(n,"--force",t.force),n}function tw(e,t){je(e,"--timeout",t.timeout),Xn(e,"--env-set",t.envSet),Xn(e,"--env-clear",t.envClear),Je(e,"--shared-host-safe",t.sharedHostSafe),je(e,"--pm-context",t.pmContext),Je(e,"--override-linked-pm-context",t.overrideLinkedPmContext),Je(e,"--fail-on-context-mismatch",t.failOnContextMismatch),Je(e,"--fail-on-skipped",t.failOnSkipped),Je(e,"--fail-on-empty-test-run",t.failOnEmptyTestRun),Je(e,"--require-assertions-for-pm",t.requireAssertionsForPm),Je(e,"--check-context",t.checkContext),Je(e,"--auto-pm-context",t.autoPmContext)}function AW(e){let t=["test-all","--json","--progress"];return je(t,"--status",e.status),je(t,"--limit",e.limit),je(t,"--offset",e.offset),tw(t,e),t}function KF(e){return e.join(",")}function SW(e,t={}){let n=s=>at(e,_e(gd,s)),r=s=>vs(e,_e(As,s)),o=n("type");if(t.requireType!==!1&&o===void 0)throw new b("Missing required option --type <value>. Why required: create resolves runtime schema fields/workflow from item type. Retry: add --type <built-in or configured custom type> (example: --type Task).",_.USAGE);let i={title:n("title"),description:n("description"),type:o,template:n("template"),createMode:n("createMode"),schedulePreset:n("schedulePreset"),status:n("status"),closeReason:n("closeReason"),completedAt:n("completedAt"),priority:n("priority"),tags:n("tags"),addTags:r("addTags"),body:n("body"),deadline:n("deadline"),estimatedMinutes:n("estimatedMinutes"),acceptanceCriteria:Qb(e,_e(As,"acceptanceCriteria")),definitionOfReady:n("definitionOfReady"),order:n("order"),rank:n("rank"),goal:n("goal"),objective:n("objective"),value:n("value"),impact:n("impact"),outcome:n("outcome"),whyNow:n("whyNow"),author:n("author"),message:n("message"),assignee:n("assignee"),parent:n("parent"),allowMissingParent:Zb(e,["allowMissingParent","allow_missing_parent"])===!0,allowDuplicate:T(e,"allowDuplicate")===!0,reviewer:n("reviewer"),risk:n("risk"),confidence:n("confidence"),sprint:n("sprint"),release:n("release"),blockedBy:n("blockedBy"),blockedReason:n("blockedReason"),unblockNote:n("unblockNote"),reporter:n("reporter"),severity:n("severity"),environment:n("environment"),reproSteps:n("reproSteps"),resolution:n("resolution"),expectedResult:n("expectedResult"),actualResult:n("actualResult"),affectedVersion:n("affectedVersion"),fixedVersion:n("fixedVersion"),component:n("component"),regression:e.regression===!0?"true":n("regression"),customerImpact:n("customerImpact"),dep:r("dep"),comment:r("comment"),note:r("note"),learning:r("learning"),file:r("file"),test:r("test"),doc:r("doc"),reminder:r("reminder"),event:r("event"),typeOption:r("typeOption"),field:r("field"),unset:r("unset"),clearDeps:T(e,"clearDeps"),clearComments:T(e,"clearComments"),clearNotes:T(e,"clearNotes"),clearLearnings:T(e,"clearLearnings"),clearFiles:T(e,"clearFiles"),clearTests:T(e,"clearTests"),clearDocs:T(e,"clearDocs"),clearReminders:T(e,"clearReminders"),clearEvents:T(e,"clearEvents"),clearTypeOptions:T(e,"clearTypeOptions")};return Is(i,e),i}function kW(e){let t=o=>at(e,_e(yd,o)),n=o=>vs(e,_e(Ss,o)),r={title:t("title"),description:t("description"),body:t("body"),status:t("status"),closeReason:t("closeReason"),priority:t("priority"),type:t("type"),tags:t("tags"),addTags:n("addTags"),removeTags:n("removeTags"),deadline:t("deadline"),estimatedMinutes:t("estimatedMinutes"),acceptanceCriteria:Qb(e,_e(Ss,"acceptanceCriteria")),addAc:n("addAc"),removeAc:n("removeAc"),definitionOfReady:t("definitionOfReady"),order:t("order"),rank:t("rank"),goal:t("goal"),objective:t("objective"),value:t("value"),impact:t("impact"),outcome:t("outcome"),whyNow:t("whyNow"),author:t("author"),message:t("message"),force:!!e.force,ownershipMetadataBypass:e.ownershipMetadataBypass===!0?!0:void 0,ownershipDependencyBypass:e.ownershipDependencyBypass===!0?!0:void 0,assignee:t("assignee"),parent:t("parent"),reviewer:t("reviewer"),risk:t("risk"),confidence:t("confidence"),sprint:t("sprint"),release:t("release"),blockedBy:t("blockedBy"),blockedReason:t("blockedReason"),unblockNote:t("unblockNote"),reporter:t("reporter"),severity:t("severity"),environment:t("environment"),reproSteps:t("reproSteps"),resolution:t("resolution"),expectedResult:t("expectedResult"),actualResult:t("actualResult"),affectedVersion:t("affectedVersion"),fixedVersion:t("fixedVersion"),component:t("component"),regression:e.regression===!0?"true":t("regression"),customerImpact:t("customerImpact"),dep:n("dep"),depRemove:n("depRemove"),replaceDeps:T(e,"replaceDeps"),replaceTests:T(e,"replaceTests"),replaceFiles:T(e,"replaceFiles"),replaceDocs:T(e,"replaceDocs"),comment:n("comment"),note:n("note"),learning:n("learning"),file:n("file"),test:n("test"),doc:n("doc"),reminder:n("reminder"),event:n("event"),typeOption:n("typeOption"),field:n("field"),unset:n("unset"),clearDeps:T(e,"clearDeps"),clearComments:T(e,"clearComments"),clearNotes:T(e,"clearNotes"),clearLearnings:T(e,"clearLearnings"),clearFiles:T(e,"clearFiles"),clearTests:T(e,"clearTests"),clearDocs:T(e,"clearDocs"),clearReminders:T(e,"clearReminders"),clearEvents:T(e,"clearEvents"),clearTypeOptions:T(e,"clearTypeOptions")};return Is(r,e),r}var YF=new Set(["filterStatus","filterType","filterTag","filterPriority","filterDeadlineBefore","filterDeadlineAfter","filterUpdatedAfter","filterUpdatedBefore","filterCreatedAfter","filterCreatedBefore","filterAssignee","filterAssigneeFilter","filterAssignee_filter","filterParent","filterSprint","filterRelease","filterAcMissing","filterEstimatesMissing","filterEstimateMissing","filterResolutionMissing","filterMetadataMissing","filterReviewerMissing","filterRiskMissing","filterConfidenceMissing","filterSprintMissing","filterReleaseMissing","filterHasNotes","filterNoNotes","filterHasLearnings","filterNoLearnings","filterHasFiles","filterNoFiles","filterHasDocs","filterNoDocs","filterHasTests","filterNoTests","filterHasComments","filterNoComments","filterHasDeps","filterNoDeps","filterHasBody","filterEmptyBody","filterHasLinkedCommand","filterNoLinkedCommand","ids","limit","offset","dryRun","rollback","checkpoint"]);function xW(e){let t={};for(let[n,r]of Object.entries(e))YF.has(n)||(t[n]=r);return t}function D(e,t){let n=_e(fd,t),r=at(e,n);if(r!==void 0)return r;for(let o of n.keys){let i=e[o];if(Array.isArray(i)){let s=i.filter(a=>typeof a=="string");if(s.length>0)return s.join(",")}if(t==="ids"&&typeof i=="string")return i;if(typeof i=="number"&&Number.isFinite(i))return String(i)}}function nw(e){let t=T(e,"filterFilesMissing"),n=T(e,"filterDocsMissing");return{filterReviewerMissing:T(e,"filterReviewerMissing"),filterRiskMissing:T(e,"filterRiskMissing"),filterConfidenceMissing:T(e,"filterConfidenceMissing"),filterSprintMissing:T(e,"filterSprintMissing"),filterReleaseMissing:T(e,"filterReleaseMissing"),hasNotes:T(e,"hasNotes"),hasLearnings:T(e,"hasLearnings"),hasFiles:T(e,"hasFiles"),hasDocs:T(e,"hasDocs"),hasTests:T(e,"hasTests"),hasComments:T(e,"hasComments"),hasDeps:T(e,"hasDeps"),hasBody:T(e,"hasBody"),hasLinkedCommand:T(e,"hasLinkedCommand"),noNotes:ct(e,"notes"),noLearnings:ct(e,"learnings"),noFiles:ct(e,"files")??t,filterFilesMissing:t,noDocs:ct(e,"docs")??n,filterDocsMissing:n,noTests:ct(e,"tests"),noComments:ct(e,"comments"),noDeps:ct(e,"deps"),emptyBody:T(e,"emptyBody"),noLinkedCommand:ct(e,"linkedCommand")}}function CW(e){let t={status:D(e,"status"),type:D(e,"type"),tag:D(e,"tag"),priority:D(e,"priority"),deadlineBefore:D(e,"deadlineBefore"),deadlineAfter:D(e,"deadlineAfter"),updatedAfter:D(e,"updatedAfter"),updatedBefore:D(e,"updatedBefore"),createdAfter:D(e,"createdAfter"),createdBefore:D(e,"createdBefore"),today:T(e,"today"),recent:T(e,"recent"),ids:D(e,"ids"),assignee:D(e,"assignee"),assigneeFilter:D(e,"assigneeFilter"),parent:D(e,"parent"),sprint:D(e,"sprint"),release:D(e,"release"),limit:D(e,"limit"),offset:D(e,"offset"),noTruncate:ct(e,"truncate"),includeBody:T(e,"includeBody"),strictRead:T(e,"strictRead"),compact:T(e,"compact"),brief:T(e,"brief"),full:T(e,"full"),fields:D(e,"fields"),sort:D(e,"sort"),order:D(e,"order"),tree:T(e,"tree"),treeDepth:D(e,"treeDepth"),filterAcMissing:T(e,"filterAcMissing"),filterEstimatesMissing:Zb(e,["filterEstimatesMissing","filterEstimateMissing"]),filterResolutionMissing:T(e,"filterResolutionMissing"),filterMetadataMissing:T(e,"filterMetadataMissing"),...nw(e)};return Is(t,e),t}function OW(e){return{groupBy:typeof e.groupBy=="string"?e.groupBy:void 0,count:e.count===!0?!0:void 0,completion:e.completion===!0?!0:void 0,sum:typeof e.sum=="string"?e.sum:void 0,avg:typeof e.avg=="string"?e.avg:void 0,includeUnparented:e.includeUnparented===!0||e.include_unparented===!0,status:typeof e.status=="string"?e.status:void 0,type:D(e,"type"),tag:D(e,"tag"),priority:D(e,"priority"),deadlineBefore:D(e,"deadlineBefore"),deadlineAfter:D(e,"deadlineAfter"),assignee:D(e,"assignee"),assigneeFilter:D(e,"assigneeFilter"),parent:D(e,"parent"),sprint:D(e,"sprint"),release:D(e,"release")}}function IW(e,t,n){if(Tn(t),n.quiet)return;let r=Array.isArray(t.warnings)?t.warnings:[],o={type:"meta",command:e,count:t.count,now:t.now,filters:t.filters};if(r.length>0&&(o.warnings=r),!!ot(`${JSON.stringify(o)}
|
|
188
|
+
`)){for(let i of t.items)if(!ot(`${JSON.stringify({type:"item",command:e,item:i})}
|
|
189
|
+
`))return;ot(`${JSON.stringify({type:"end",command:e,count:t.count})}
|
|
190
|
+
`)}}function RW(e,t,n){if(Tn(e),n.quiet)return;let r={type:"meta",command:"activity",count:e.count,filters:{id:t.id??null,op:t.op??null,author:t.author??null,from:t.from??null,to:t.to??null,limit:t.limit??null}};if(!ot(`${JSON.stringify(r)}
|
|
191
|
+
`))return;let o=e.compact&&e.compact_activity?e.compact_activity:e.activity??[];for(let i of o)if(!ot(`${JSON.stringify({type:"entry",command:"activity",entry:i})}
|
|
192
|
+
`))return;ot(`${JSON.stringify({type:"end",command:"activity",count:e.count})}
|
|
193
|
+
`)}function NW(e){let t=l=>at(e,_e(bs,l)),n=l=>{let d=Ts(e,_e(bs,l));if(typeof d=="string"||typeof d=="number"&&Number.isFinite(d))return d},r=t("fields"),o=e.compact===!0,i=e.full===!0,s=!o&&!i&&r===void 0,c={mode:e.semantic===!0?"semantic":e.hybrid===!0?"hybrid":t("mode"),matchMode:t("matchMode"),minScore:n("minScore"),count:T(e,"count"),semanticWeight:n("semanticWeight"),includeLinked:T(e,"includeLinked"),titleExact:T(e,"titleExact"),phraseExact:T(e,"phraseExact"),highlight:T(e,"highlight"),status:t("status"),type:t("type"),tag:t("tag"),priority:t("priority"),deadlineBefore:t("deadlineBefore"),deadlineAfter:t("deadlineAfter"),updatedAfter:t("updatedAfter"),updatedBefore:t("updatedBefore"),createdAfter:t("createdAfter"),createdBefore:t("createdBefore"),assignee:t("assignee"),sprint:t("sprint"),release:t("release"),parent:t("parent"),limit:t("limit"),fields:r,compact:o||s?!0:void 0,full:T(e,"full"),...nw(e)};return Is(c,e),c}function DW(e){let t=e.map(n=>n.trim()).filter(n=>n.length>0).join(" ");if(t.length===0)throw new b("Search query must not be empty",_.USAGE);return t}function LW(e){let t=n=>at(e,_e(pd,n));return{id:t("id"),op:t("op"),author:t("author"),from:t("from"),to:t("to"),limit:t("limit"),compact:e.full===!0||e.provenance===!0?!1:e.compact!==!1,unbounded:T(e,"unbounded"),provenance:T(e,"provenance"),provenanceSummary:T(e,"provenanceSummary"),harness:Array.isArray(e.harness)?e.harness:void 0,agentInstance:Array.isArray(e.agentInstance)?e.agentInstance:void 0,provenanceFilter:Array.isArray(e.provenanceFilter)?e.provenanceFilter:void 0}}var XF=new Set(["","rows","ndjson","jsonl","true","1","yes","on"]),JF=new Set(["false","off","none","0"]);function PW(e){if(e===!0)return!0;if(e===!1||e===void 0||e===null)return!1;if(typeof e=="string"){let t=e.trim().toLowerCase();if(XF.has(t))return!0;if(JF.has(t))return!1}throw new b("Activity --stream accepts rows|ndjson|jsonl (or no value)",_.USAGE)}function MW(e){let t=s=>at(e,_e(ws,s)),n=s=>ew(e,_e(ws,s)),r=e.section,o=Array.isArray(r)?r.filter(s=>typeof s=="string"&&s.trim().length>0):typeof r=="string"&&r.trim().length>0?[r]:void 0,i={date:t("date"),from:t("from"),to:t("to"),past:e.past===!0?!0:void 0,type:t("type"),tag:t("tag"),priority:t("priority"),assignee:t("assignee"),assigneeFilter:t("assigneeFilter"),sprint:t("sprint"),release:t("release"),parent:t("parent"),limit:t("limit"),format:t("format"),depth:t("depth"),fields:t("fields"),section:o&&o.length>0?o:void 0,activityLimit:t("activityLimit"),staleThreshold:t("staleThreshold"),tokenBudget:n("tokenBudget"),noExtensionHealth:e.extensionHealth===!1?!0:void 0,noTags:e.tags===!1?!0:void 0};for(let[s,a]of Object.entries(e))Object.hasOwn(i,s)||(i[s]=a);return i}function FW(e){let t=o=>at(e,_e(Es,o)),n=o=>ew(e,_e(Es,o)),r={type:t("type"),tag:t("tag"),priority:n("priority"),assignee:t("assignee"),assigneeFilter:t("assigneeFilter"),sprint:t("sprint"),release:t("release"),parent:t("parent"),limit:t("limit"),blockedLimit:t("blockedLimit"),readyOnly:e.readyOnly===!0||e.ready_only===!0?!0:void 0,format:t("format"),tokenBudget:n("tokenBudget")};for(let[o,i]of Object.entries(e))Object.hasOwn(r,o)||(r[o]=i);return r}function QF(e){if(!e||typeof e!="object")return[];let t=e,n=new Set,r=a=>{if(typeof a!="string")return;let c=a.trim();c.length!==0&&n.add(c)};r(t.id);let o=t.item;o&&typeof o=="object"&&r(o.id);let i=t.ids;if(Array.isArray(i))for(let a of i)r(a);let s=t.items;if(Array.isArray(s))for(let a of s)!a||typeof a!="object"||r(a.id);return[...n].sort((a,c)=>a.localeCompare(c))}async function $W(e,t){let n=sr(process.cwd(),e.path),r=await Fl(n,QF(t),{background:!sl()});e.profile&&r.warnings.length>0&&Ic(`profile:search_refresh_warnings=${KF(r.warnings)}`)}export{ZF as a,so as b,Y as c,W as d,P as e,Jn as f,ze as g,ao as h,Ds as i,o$ as j,co as k,lo as l,uo as m,fo as n,po as o,mo as p,aw as q,cw as r,a$ as s,ie as t,dw as u,Pe as v,Fs as w,uw as x,Ls as y,S as z,_ as A,_o as B,b as C,L as D,pw as E,$ as F,Yd as G,d$ as H,mw as I,Kd as J,Xd as K,gw as L,ho as M,hw as N,g$ as O,X as P,dt as Q,te as R,E$ as S,Mw as T,zw as U,Uw as V,Gw as W,Vw as X,Us as Y,qs as Z,ha as _,Ze as $,Gs as aa,Xw as ba,mn as ca,su as da,gn as ea,wo as fa,_n as ga,Eo as ha,M$ as ia,F$ as ja,$$ as ka,vo as la,Ao as ma,j$ as na,z$ as oa,U$ as pa,q$ as qa,So as ra,tr as sa,Vs as ta,cu as ua,ko as va,lu as wa,du as xa,G$ as ya,V$ as za,Ws as Aa,Ks as Ba,pE as Ca,rr as Da,Co as Ea,or as Fa,hu as Ga,bu as Ha,RE as Ia,LE as Ja,Oo as Ka,Eu as La,ij as Ma,sr as Na,sj as Oa,ft as Pa,ye as Qa,yn as Ra,ar as Sa,hn as Ta,Tu as Ua,Io as Va,VE as Wa,aj as Xa,BE as Ya,HE as Za,cj as _a,lj as $a,WE as ab,dj as bb,et as cb,V as db,Bu as eb,Hu as fb,Ku as gb,Yu as hb,Qs as ib,Zs as jb,pj as kb,tT as lb,vu as mb,mj as nb,Au as ob,ea as pb,iT as qb,sT as rb,ur as sb,ta as tb,na as ub,ra as vb,oa as wb,ia as xb,Lo as yb,sa as zb,Tj as Ab,we as Bb,ne as Cb,Ft as Db,Iu as Eb,aa as Fb,Ru as Gb,ca as Hb,la as Ib,da as Jb,ua as Kb,fa as Lb,pa as Mb,ga as Nb,_a as Ob,ya as Pb,KT as Qb,rv as Rb,iv as Sb,vf as Tb,Af as Ub,yv as Vb,S1 as Wb,Hv as Xb,Wv as Yb,D1 as Zb,If as _b,Kv as $b,Ra as ac,Jv as bc,Qv as cc,U1 as dc,nA as ec,rA as fc,oA as gc,iA as hc,sA as ic,aA as jc,cA as kc,yt as lc,lA as mc,dA as nc,Tn as oc,uA as pc,Qo as qc,br as rc,fA as sc,pA as tc,ae as uc,Zo as vc,Me as wc,Na as xc,mA as yc,gA as zc,_A as Ac,yA as Bc,xe as Cc,ei as Dc,wr as Ec,vA as Fc,kA as Gc,xA as Hc,CA as Ic,J1 as Jc,ce as Kc,Fa as Lc,Ue as Mc,ue as Nc,tS as Oc,Xf as Pc,$a as Qc,ti as Rc,ja as Sc,Qf as Tc,nS as Uc,sS as Vc,aS as Wc,An as Xc,np as Yc,cz as Zc,rp as _c,cS as $c,lz as ad,Ht as bd,op as cd,dS as dd,ri as ed,kr as fd,bk as gd,Wt as hd,xr as id,Ce as jd,Xa as kd,wt as ld,Qa as md,xk as nd,Ck as od,yp as pd,Rk as qd,Uz as rd,Uk as sd,qk as td,di as ud,rc as vd,Gk as wd,qz as xd,Vk as yd,oc as zd,Cr as Ad,Yt as Bd,oq as Cd,iq as Dd,ic as Ed,Xz as Fd,Sp as Gd,fi as Hd,Cp as Id,ex as Jd,tx as Kd,tU as Ld,qe as Md,nU as Nd,rx as Od,sx as Pd,fx as Qd,Ip as Rd,cU as Sd,lU as Td,cc as Ud,lc as Vd,dU as Wd,_x as Xd,uU as Yd,fU as Zd,uc as _d,Qt as $d,pi as ae,mi as be,Lp as ce,fc as de,_i as ee,pc as fe,Mp as ge,mc as he,Fp as ie,Rn as je,Gp as ke,Bp as le,Hp as me,Nx as ne,Dn as oe,kU as pe,Kp as qe,Xp as re,xU as se,Jp as te,Zp as ue,Jx as ve,PU as we,Zx as xe,tm as ye,MU as ze,rm as Ae,tC as Be,iC as Ce,om as De,im as Ee,sm as Fe,am as Ge,aC as He,cC as Ie,cm as Je,Ir as Ke,jU as Le,lm as Me,Tc as Ne,rt as Oe,lC as Pe,dC as Qe,uC as Re,fC as Se,pC as Te,mC as Ue,dm as Ve,gC as We,um as Xe,vc as Ye,fm as Ze,pm as _e,vC as $e,Rr as af,_m as bf,ot as cf,bm as df,Em as ef,Ic as ff,ZC as gf,Dr as hf,Pc as if,oO as jf,Zt as kf,en as lf,sO as mf,Mn as nf,ki as of,Lr as pf,aO as qf,cO as rf,Fc as sf,Fn as tf,xi as uf,Oq as vf,Iq as wf,$c as xf,fO as yf,Oi as zf,Dm as Af,Ie as Bf,Mr as Cf,Uc as Df,UO as Ef,qO as Ff,GO as Gf,qc as Hf,HO as If,Xm as Jf,Ii as Kf,tn as Lf,JO as Mf,TG as Nf,ZO as Of,Qm as Pf,eI as Qf,tI as Rf,eg as Sf,nI as Tf,rI as Uf,oI as Vf,iI as Wf,fI as Xf,gI as Yf,_I as Zf,hI as _f,bI as $f,wI as ag,vI as bg,NG as cg,kI as dg,$G as eg,II as fg,NI as gg,DI as hg,LI as ig,PI as jg,Hc as kg,$I as lg,WG as mg,KG as ng,YG as og,XG as pg,JG as qg,QG as rg,ZG as sg,UI as tg,qI as ug,GI as vg,VI as wg,Wc as xg,BI as yg,HI as zg,WI as Ag,aV as Bg,Fi as Cg,wR as Dg,kt as Eg,Ge as Fg,jr as Gg,zn as Hg,Wg as Ig,sl as Jg,FV as Kg,LN as Lg,PN as Mg,MN as Ng,dl as Og,VN as Pg,Ji as Qg,_0 as Rg,Qi as Sg,Hr as Tg,Wr as Ug,Kr as Vg,x0 as Wg,C0 as Xg,EB as Yg,yl as Zg,y_ as _g,L0 as $g,P0 as ah,xB as bh,ns as ch,T_ as dh,hl as eh,W0 as fh,K0 as gh,IB as hh,v_ as ih,Vn as jh,wl as kh,Tl as lh,as as mh,UB as nh,Rl as oh,ls as ph,I_ as qh,ds as rh,Nl as sh,Dl as th,Ll as uh,Pl as vh,M_ as wh,F_ as xh,N_ as yh,Fl as zh,mL as Ah,Kn as Bh,SL as Ch,kL as Dh,xL as Eh,RL as Fh,NL as Gh,LL as Hh,ML as Ih,FL as Jh,$L as Kh,VL as Lh,ey as Mh,HL as Nh,WL as Oh,KL as Ph,S2 as Qh,Bl as Rh,ny as Sh,ty as Th,ry as Uh,XL as Vh,JL as Wh,oy as Xh,eP as Yh,oP as Zh,sP as _h,cP as $h,lP as ai,fP as bi,mP as ci,gP as di,SP as ei,gs as fi,vy as gi,YP as hi,l5 as ii,MM as ji,FM as ki,$M as li,jM as mi,fd as ni,bs as oi,zM as pi,ws as qi,Es as ri,pd as si,at as ti,Ts as ui,vs as vi,md as wi,gd as xi,As as yi,_d as zi,yd as Ai,Ss as Bi,bd as Ci,wd as Di,Ed as Ei,oh as Fi,ks as Gi,ih as Hi,Td as Ii,sh as Ji,vd as Ki,Ad as Li,Sd as Mi,kd as Ni,BM as Oi,xd as Pi,Cd as Qi,HM as Ri,WM as Si,to as Ti,KM as Ui,xs as Vi,YM as Wi,lh as Xi,dh as Yi,uh as Zi,fh as _i,ph as $i,mh as aj,gh as bj,_h as cj,yh as dj,hh as ej,bh as fj,wh as gj,Eh as hj,Th as ij,vh as jj,Ah as kj,Sh as lj,kh as mj,Md as nj,me as oj,Fd as pj,Rd as qj,xh as rj,Ch as sj,Oh as tj,Ih as uj,Rh as vj,Nh as wj,Dh as xj,Lh as yj,Ph as zj,Mh as Aj,Fh as Bj,$h as Cj,jh as Dj,zh as Ej,Uh as Fj,qh as Gj,XM as Hj,Gh as Ij,Vh as Jj,Bh as Kj,Hh as Lj,Wh as Mj,Kh as Nj,Yh as Oj,Xh as Pj,Jh as Qj,Qh as Rj,$d as Sj,eb as Tj,tb as Uj,nb as Vj,rb as Wj,ob as Xj,ib as Yj,sb as Zj,ab as _j,cb as $j,lb as ak,db as bk,Nd as ck,mb as dk,gb as ek,_b as fk,yb as gk,hb as hk,bb as ik,Dd as jk,wb as kk,Eb as lk,Ld as mk,Tb as nk,vb as ok,Ab as pk,Sb as qk,kb as rk,Rt as sk,xb as tk,Cb as uk,Ob as vk,Ib as wk,QM as xk,jd as yk,eF as zk,Ub as Ak,oF as Bk,qb as Ck,Vb as Dk,mF as Ek,TF as Fk,Gd as Gk,Kb as Hk,Yb as Ik,vF as Jk,kF as Kk,qF as Lk,gW as Mk,_W as Nk,yW as Ok,hW as Pk,bW as Qk,BF as Rk,wW as Sk,HF as Tk,EW as Uk,WF as Vk,TW as Wk,vW as Xk,AW as Yk,KF as Zk,SW as _k,kW as $k,xW as al,CW as bl,OW as cl,IW as dl,RW as el,NW as fl,DW as gl,LW as hl,PW as il,MW as jl,FW as kl,$W as ll};
|
|
194
|
+
//# sourceMappingURL=chunk-PFSD3DAN.js.map
|