@unbrained/pm-cli 2026.9.30 → 2026.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +12 -0
  3. package/dist/cli/register-list-query.d.ts +8 -5
  4. package/dist/cli/register-list-query.js +2 -2
  5. package/dist/cli-bundle/bundle-manifest.json +82 -82
  6. package/dist/cli-bundle/chunks/{chunk-6XTJLOKW.js → chunk-7E2EBJLY.js} +2 -2
  7. package/dist/cli-bundle/chunks/{chunk-O23CQ5T4.js → chunk-A2UPOCSW.js} +7 -7
  8. package/dist/cli-bundle/chunks/{chunk-BTCE36JS.js → chunk-AYHLUJKD.js} +2 -2
  9. package/dist/cli-bundle/chunks/{chunk-6YEET7XI.js → chunk-DGOIXJZJ.js} +42 -42
  10. package/dist/cli-bundle/chunks/{chunk-BX4LEJX4.js → chunk-HGJLVN56.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-A6NDNRCK.js → chunk-JAVO3Z42.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-EGAIIWI3.js → chunk-SCZMJ5DC.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-FYTXVVZG.js → chunk-TV3YDE36.js} +2 -2
  14. package/dist/cli-bundle/chunks/{chunk-XRN3JYNN.js → chunk-VWVFKPLX.js} +2 -2
  15. package/dist/cli-bundle/chunks/{register-list-query-SYNBVMNG.js → register-list-query-L6HAHW7V.js} +6 -6
  16. package/dist/cli-bundle/chunks/{register-mutation-4GSUK23D.js → register-mutation-6OCZVTW5.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-operations-7FCJUC4Z.js → register-operations-3E5U4TOE.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-setup-YTWW2KL5.js → register-setup-VUD37N4A.js} +2 -2
  19. package/dist/cli-bundle/focused-chunks/{chunk-KZULQIAG.js → chunk-6275G2AN.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/{chunk-EFD4ATS7.js → chunk-DJPP2HAK.js} +2 -2
  21. package/dist/cli-bundle/focused-chunks/{chunk-AKB3JN57.js → chunk-YBQ27KG7.js} +45 -45
  22. package/dist/cli-bundle/main.js +2 -2
  23. package/dist/cli-bundle/sdk-contracts.js +1 -1
  24. package/dist/cli-bundle/sdk-core.js +1 -1
  25. package/dist/cli-bundle/sdk-governance.js +1 -1
  26. package/dist/cli-bundle/sdk-merge.js +22 -22
  27. package/dist/cli-bundle/sdk-query.js +1 -1
  28. package/dist/cli-bundle/sdk-runtime.js +1 -1
  29. package/dist/cli-bundle/sdk-testing.js +1 -1
  30. package/dist/cli-bundle/sdk.js +1 -1
  31. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  32. package/dist/sdk/merge/install.d.ts +2 -2
  33. package/dist/sdk/merge/install.js +1 -1
  34. package/dist/sdk/public-surface.json +1 -1
  35. package/dist/sdk/query/get.d.ts +19 -15
  36. package/dist/sdk/query/get.js +1 -1
  37. package/docs/BOUNDED_CONTEXT_READS.md +10 -7
  38. package/docs/COMMANDS.md +1 -1
  39. package/docs/MERGE_SAFETY.md +12 -6
  40. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
  41. package/marketplace.json +2 -2
  42. package/package.json +1 -1
  43. package/packages/pm-beads/package.json +1 -1
  44. package/packages/pm-calendar/package.json +1 -1
  45. package/packages/pm-command-kit/package.json +1 -1
  46. package/packages/pm-digital-twin/package.json +1 -1
  47. package/packages/pm-governance-audit/package.json +1 -1
  48. package/packages/pm-guide-shell/package.json +1 -1
  49. package/packages/pm-kanban/package.json +1 -1
  50. package/packages/pm-lifecycle-hooks/package.json +1 -1
  51. package/packages/pm-linked-test-adapters/package.json +1 -1
  52. package/packages/pm-search-advanced/package.json +1 -1
  53. package/packages/pm-templates/package.json +1 -1
  54. package/packages/pm-todos/package.json +1 -1
  55. package/packages/pm-vcs/package.json +1 -1
  56. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  57. package/plugins/pm-claude/package.json +2 -2
  58. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  59. package/plugins/pm-codex/package.json +2 -2
  60. package/plugins/pm-codex/plugin.json +1 -1
@@ -1,4 +1,4 @@
1
- import Dd from"fast-json-patch";import{createHash as GE}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]="1e3cba21-c5a4-541a-9841-484cfbb70f4e")}catch{}})();var Pm=["sha256","sha512"],BE="sha256",Lm="sha256";function Ne(e){if(e===void 0)return BE;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function mn(e,t){return GE(Ne(t)).update(e,"utf8").digest("hex")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="24b1fb96-5c1e-5669-be21-fdeef4d413a6")}catch{}})();function wo(e){let t=[],n=e[0]?.op==="history_compact_baseline",r=n?1:void 0,o=!1;for(let[i,s]of e.entries())s.op==="delete"&&(o=!0),s.op==="create"&&(r!==void 0&&t.push({prior_genesis_index:r,repeated_create_index:i+1,sequence:o?"delete_then_create":n?"checkpoint_then_create":"multiple_creates"}),r??=i+1,o=!1);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]="e88ce29f-3547-5b51-856f-bb4618ae53b1")}catch{}})();var et=["commands","renderers","hooks","schema","importers","search","parser","preflight","services"],ns=2,Oc=Object.freeze({migration:"schema",validation:"schema"}),rs=Object.freeze({version:ns,capabilities:[...et],legacy_aliases:{...Oc}}),os=["off","warn","enforce"],is=["off","warn","enforce"],ss=["none","restricted","strict"],Mm=["block","warn"],as=["commands.override","commands.handler","hooks.beforecommand","hooks.beforemutation","hooks.aftercommand","hooks.onwrite","hooks.onread","hooks.onindex","schema.flags","schema.itemfields","schema.itemtypes","schema.relationshipkinds","schema.migrations","schema.profiles","parser.override","preflight.override","services.override","renderers.override","importers.importer","importers.exporter","search.provider","search.vectorstore","services.assuranceprovider"],kr=["output_format","error_format","help_format","lock_acquire","lock_release","history_append","item_store_write","item_store_delete","context_relevance","command_result"];function cs(){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]="89d6c349-10d7-596d-90a1-65afcc65eb91")}catch{}})();var $m=["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"],WE=["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",...$m,"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"],We=WE;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6e329ab1-f22d-5749-b8a4-0a6e7a1c8023")}catch{}})();var xc=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"]}]),Rc=Object.freeze({draft_status:"draft",open_status:"open",in_progress_status:"in_progress",blocked_status:"blocked",close_status:"closed",canceled_status:"canceled"}),Er=".agents/pm",ls="settings.json";var Nc=["","epics","features","tasks","chores","issues","schema","history","search","extensions","locks"],VE=["decisions","events","reminders","milestones","meetings","plans"],Oq=[...Nc,...VE],He={Epic:"epics",Feature:"features",Task:"tasks",Chore:"chores",Issue:"issues",Decision:"decisions",Event:"events",Reminder:"reminders",Milestone:"milestones",Meeting:"meetings",Plan:"plans"},Dc={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}},Pc=["no active blocker","ready for planned execution sequencing","work completed","work is closed"],Un={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 Fm(e){return e?[...e]:void 0}var _e={version:1,id_prefix:"pm-",ids:{token_length:4},author_default:"",agent_identity:{probes_enabled:!0,identity_vocabulary:{version:1,aliases:{}},harness_signals:[]},mutation_guard:{require_attributed_author:!1,secret_guard:"advise",stale_in_progress_hours:72},item_format:"toon",locks:{ttl_seconds:1800,wait_ms:3e3},checkpoints:{retention_days:14},output:{default_format:"toon"},ux:{deprecation_hints:!0},history:{missing_stream:"auto_create",compact_policy:{enabled:!1,max_entries:500,trigger:"health_warn"}},validation:{sprint_release_format:"warn",parent_reference:"warn",metadata_profile:"core",metadata_required_fields:[],lifecycle_stale_blocker_reason_patterns:[...Pc],lifecycle_closure_like_blocked_reason_patterns:[...Un.blocked_reason],lifecycle_closure_like_resolution_patterns:[...Un.resolution],lifecycle_closure_like_actual_result_patterns:[...Un.actual_result],estimate_defaults_by_type:{}},governance:{preset:"minimal",...Dc.minimal},workflow:{definition_of_done:[]},testing:{record_results_to_items:!1,allow_untrusted_linked_tests:!1},telemetry:{enabled:!0,first_run_prompt_completed:!1,capture_level:"redacted",endpoint:"https://pm-cli.unbrained.dev/v1/events",installation_id:"",retention_days:365},agent_guidance:{prompt_completed:!1,declined:!1,declined_at:"",template_version:1,last_checked_files:[]},item_types:{definitions:[]},schema:{version:1,files:{types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"},statuses:xc.map(e=>({...e,aliases:Fm(e.aliases),roles:Fm(e.roles)})),fields:[],workflow:{...Rc},unknown_field_policy:"allow"},extensions:{enabled:[],disabled:[],policy:cs()},search:{score_threshold:0,hybrid_semantic_weight:.7,max_results:50,embedding_model:"",embedding_batch_size:32,embedding_timeout_ms:3e4,scanner_max_batch_retries:3,provider:"",default_mode:"auto",mutation_refresh_policy:"semantic_configured",query_expansion:{enabled:!1,provider:""},rerank:{enabled:!1,model:"",top_k:20}},providers:{openai:{base_url:"",api_key:"",model:""},ollama:{base_url:"",model:""}},context:{default_depth:"brief",activity_limit:10,stale_threshold_days:7,sections:{hierarchy:!0,activity:!0,progress:!0,recently_created:!0,unparented:!0,blockers:!0,files:!0,workload:!0,staleness:!0,tests:!0}},vector_store:{adapter:"",collection_name:"pm_items",qdrant:{url:"",api_key:""},lancedb:{path:""}}},ds={metadata:{},body:""},_={SUCCESS:0,GENERIC_FAILURE:1,USAGE:2,NOT_FOUND:3,CONFLICT:4,DEPENDENCY_FAILED:5,NO_EFFECT:6,PARTIAL_EFFECT:7},xq=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"});import{encode as QS}from"@toon-format/toon";import{isDeepStrictEqual as up}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e33ee377-aae0-5158-9af6-e6081287a85b")}catch{}})();var Lc=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],jm=Lc,Sr=["draft","open","in_progress","blocked","closed","canceled"],Tr=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],pn=["string","number","boolean","string_array","array","object"],Ar=["create","update","update_many","list","search","calendar","context"],us=["allow","warn","reject"];var Mc=["project","global"];var fs=["low","medium","high","critical"],ms=["low","medium","high"];var Um=["minimal","default","strict","custom"];var ps=["daily","weekly","monthly","yearly"],bo=["mon","tue","wed","thu","fri","sat","sun"];function $c(e){return bo.indexOf(e)}var zm=["draft","research","review","approved","executing","paused","completed","superseded"],_s=["pending","in_progress","completed","blocked","skipped","superseded"],Hm=["codex","claude-code","cursor","generic"],qm=["related","blocks","blocked_by","depends_on","discovered_from","implements","recurs_from","verifies","supersedes"];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0ca7f52c-fb31-5cd9-b689-a918f4e61816")}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]="c3a7c240-7575-5db7-98fa-9dd010c9ff7d")}catch{}})();var g=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}};import KE 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]="c036d6cf-6a10-5c74-9e2f-e7c953339e2c")}catch{}})();function JE(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 YE(e){let t=Object.keys(e).sort(),n={};for(let r of t){let o=e[r];o!==void 0&&(n[r]=gs(o))}return n}function gs(e){let t=JE(e);if(t!==void 0)return t;if(Array.isArray(e))return e.map(r=>gs(r));if(e instanceof Date)return e.toISOString();let n=e;if(typeof n.toJSON=="function"){let r=n.toJSON();if(r!==e)return gs(r)}return YE(e)}function O(e){return JSON.stringify(gs(e))}function Gm(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 XE(e,t){if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.toString()===t.toString()}function ZE(e,t){if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime()}function QE(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(!Gm(o,n,r,De))return!1;return!0}function eS(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(!Gm([o,i],n,r,([a,c],[l,d])=>De(a,l)&&De(c,d)))return!1;return!0}function tS(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)=>De(n,t[r]))}function nS(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]||!De(e[i],t[i]))return!1}return!0}var rS=[XE,ZE,QE,eS,tS];function De(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 rS){let r=n(e,t);if(r!==void 0)return r}return nS(e,t)}function Pe(e){return KE.createHash("sha256").update(e,"utf8").digest("hex")}function _n(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]="43f7bd27-7874-56f9-a497-e6f67a3ae9be")}catch{}})();function Ir(e){let t=Math.ceil(e.size/2);for(let n of e.keys()){if(t===0)return;e.delete(n),t-=1}}import{AsyncLocalStorage as oS}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]="38ed5847-939e-5846-bc7d-6d257d36a25f")}catch{}})();var iS=new oS;function Bm(){let e=iS.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(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5bd8db9-cd23-5529-ad78-b7e87bd43b59")}catch{}})();var sS=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function j(){return Bm()??new Date().toISOString()}function ht(e){return Number.isFinite(Date.parse(e))}function Kt(e){let t=sS.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,n,r,o,i,s,a,c,l]=t,[d,u,f,m,p,w]=[n,r,o,i,s,a].map(Number);return u>=1&&u<=12&&f>=1&&f<=cS(d,u-1)&&m<=23&&p<=59&&w<=59&&(c===void 0||Number(c)<=23)&&(l===void 0||Number(l)<=59)}function gn(e){let t=/\.(\d+)(?:Z|[+-]\d{2}:\d{2})$/iu.exec(e)?.[1];return Kt(e)&&(t===void 0||/^\d{0,3}0*$/u.test(t))}var aS=1e4,hs=new Map;function Wm(e){let t=hs.get(e);if(t!==void 0)return t;let n=Date.parse(e);return hs.size>=aS&&Ir(hs),hs.set(e,n),n}function ye(e,t){let n=Wm(e),r=Wm(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function cS(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}import Vm from"node:path";import*as we from"node:fs/promises";import ys from"node:path";import lS 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]="1240aa49-b3fa-57d3-b6e1-7f911005a757")}catch{}})();var dS=[10,25,50,100];async function hn(e){await we.mkdir(e,{recursive:!0})}async function M(e){try{return await we.access(e),!0}catch{return!1}}function yt(e){return F(e)||zn(e,"ENOTDIR")}function F(e){return zn(e,"ENOENT")}async function K(e){try{return await we.readFile(e,"utf8")}catch(t){if(yt(t))return null;throw t}}async function q(e,t){let n=ys.dirname(e);await hn(n);let r=ys.join(n,`.${ys.basename(e)}.${process.pid}.${Date.now()}.${lS.randomBytes(4).toString("hex")}.tmp`);await we.writeFile(r,t,"utf8");try{await we.rename(r,e)}catch(o){if(process.platform==="win32"&&(zn(o,"EPERM")||zn(o,"EBUSY"))){let i=o;for(let s of dS){await new Promise(a=>setTimeout(a,s));try{await we.rename(r,e);return}catch(a){if(i=a,!zn(a,"EPERM")&&!zn(a,"EBUSY"))break}}try{await we.unlink(r)}catch{}throw i}if(zn(o,"EXDEV")){try{await we.copyFile(r,e)}finally{try{await we.unlink(r)}catch{}}return}try{await we.unlink(r)}catch{}throw o}}async function Fc(e,t){let n=ys.dirname(e);await hn(n);let r=await we.open(e,"a");try{await r.writeFile(`${t}
1
+ import Dd from"fast-json-patch";import{createHash as GE}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]="1e3cba21-c5a4-541a-9841-484cfbb70f4e")}catch{}})();var Pm=["sha256","sha512"],BE="sha256",Lm="sha256";function Ne(e){if(e===void 0)return BE;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function mn(e,t){return GE(Ne(t)).update(e,"utf8").digest("hex")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="24b1fb96-5c1e-5669-be21-fdeef4d413a6")}catch{}})();function wo(e){let t=[],n=e[0]?.op==="history_compact_baseline",r=n?1:void 0,o=!1;for(let[i,s]of e.entries())s.op==="delete"&&(o=!0),s.op==="create"&&(r!==void 0&&t.push({prior_genesis_index:r,repeated_create_index:i+1,sequence:o?"delete_then_create":n?"checkpoint_then_create":"multiple_creates"}),r??=i+1,o=!1);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]="e88ce29f-3547-5b51-856f-bb4618ae53b1")}catch{}})();var et=["commands","renderers","hooks","schema","importers","search","parser","preflight","services"],ns=2,Oc=Object.freeze({migration:"schema",validation:"schema"}),rs=Object.freeze({version:ns,capabilities:[...et],legacy_aliases:{...Oc}}),os=["off","warn","enforce"],is=["off","warn","enforce"],ss=["none","restricted","strict"],Mm=["block","warn"],as=["commands.override","commands.handler","hooks.beforecommand","hooks.beforemutation","hooks.aftercommand","hooks.onwrite","hooks.onread","hooks.onindex","schema.flags","schema.itemfields","schema.itemtypes","schema.relationshipkinds","schema.migrations","schema.profiles","parser.override","preflight.override","services.override","renderers.override","importers.importer","importers.exporter","search.provider","search.vectorstore","services.assuranceprovider"],kr=["output_format","error_format","help_format","lock_acquire","lock_release","history_append","item_store_write","item_store_delete","context_relevance","command_result"];function cs(){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]="89d6c349-10d7-596d-90a1-65afcc65eb91")}catch{}})();var $m=["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"],WE=["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",...$m,"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"],We=WE;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6e329ab1-f22d-5749-b8a4-0a6e7a1c8023")}catch{}})();var xc=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"]}]),Rc=Object.freeze({draft_status:"draft",open_status:"open",in_progress_status:"in_progress",blocked_status:"blocked",close_status:"closed",canceled_status:"canceled"}),Er=".agents/pm",ls="settings.json";var Nc=["","epics","features","tasks","chores","issues","schema","history","search","extensions","locks"],VE=["decisions","events","reminders","milestones","meetings","plans"],xq=[...Nc,...VE],He={Epic:"epics",Feature:"features",Task:"tasks",Chore:"chores",Issue:"issues",Decision:"decisions",Event:"events",Reminder:"reminders",Milestone:"milestones",Meeting:"meetings",Plan:"plans"},Dc={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}},Pc=["no active blocker","ready for planned execution sequencing","work completed","work is closed"],Un={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 Fm(e){return e?[...e]:void 0}var _e={version:1,id_prefix:"pm-",ids:{token_length:4},author_default:"",agent_identity:{probes_enabled:!0,identity_vocabulary:{version:1,aliases:{}},harness_signals:[]},mutation_guard:{require_attributed_author:!1,secret_guard:"advise",stale_in_progress_hours:72},item_format:"toon",locks:{ttl_seconds:1800,wait_ms:3e3},checkpoints:{retention_days:14},output:{default_format:"toon"},ux:{deprecation_hints:!0},history:{missing_stream:"auto_create",compact_policy:{enabled:!1,max_entries:500,trigger:"health_warn"}},validation:{sprint_release_format:"warn",parent_reference:"warn",metadata_profile:"core",metadata_required_fields:[],lifecycle_stale_blocker_reason_patterns:[...Pc],lifecycle_closure_like_blocked_reason_patterns:[...Un.blocked_reason],lifecycle_closure_like_resolution_patterns:[...Un.resolution],lifecycle_closure_like_actual_result_patterns:[...Un.actual_result],estimate_defaults_by_type:{}},governance:{preset:"minimal",...Dc.minimal},workflow:{definition_of_done:[]},testing:{record_results_to_items:!1,allow_untrusted_linked_tests:!1},telemetry:{enabled:!0,first_run_prompt_completed:!1,capture_level:"redacted",endpoint:"https://pm-cli.unbrained.dev/v1/events",installation_id:"",retention_days:365},agent_guidance:{prompt_completed:!1,declined:!1,declined_at:"",template_version:1,last_checked_files:[]},item_types:{definitions:[]},schema:{version:1,files:{types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"},statuses:xc.map(e=>({...e,aliases:Fm(e.aliases),roles:Fm(e.roles)})),fields:[],workflow:{...Rc},unknown_field_policy:"allow"},extensions:{enabled:[],disabled:[],policy:cs()},search:{score_threshold:0,hybrid_semantic_weight:.7,max_results:50,embedding_model:"",embedding_batch_size:32,embedding_timeout_ms:3e4,scanner_max_batch_retries:3,provider:"",default_mode:"auto",mutation_refresh_policy:"semantic_configured",query_expansion:{enabled:!1,provider:""},rerank:{enabled:!1,model:"",top_k:20}},providers:{openai:{base_url:"",api_key:"",model:""},ollama:{base_url:"",model:""}},context:{default_depth:"brief",activity_limit:10,stale_threshold_days:7,sections:{hierarchy:!0,activity:!0,progress:!0,recently_created:!0,unparented:!0,blockers:!0,files:!0,workload:!0,staleness:!0,tests:!0}},vector_store:{adapter:"",collection_name:"pm_items",qdrant:{url:"",api_key:""},lancedb:{path:""}}},ds={metadata:{},body:""},_={SUCCESS:0,GENERIC_FAILURE:1,USAGE:2,NOT_FOUND:3,CONFLICT:4,DEPENDENCY_FAILED:5,NO_EFFECT:6,PARTIAL_EFFECT:7},Rq=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"});import{encode as QS}from"@toon-format/toon";import{isDeepStrictEqual as up}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e33ee377-aae0-5158-9af6-e6081287a85b")}catch{}})();var Lc=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],jm=Lc,Sr=["draft","open","in_progress","blocked","closed","canceled"],Tr=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],pn=["string","number","boolean","string_array","array","object"],Ar=["create","update","update_many","list","search","calendar","context"],us=["allow","warn","reject"];var Mc=["project","global"];var fs=["low","medium","high","critical"],ms=["low","medium","high"];var Um=["minimal","default","strict","custom"];var ps=["daily","weekly","monthly","yearly"],bo=["mon","tue","wed","thu","fri","sat","sun"];function $c(e){return bo.indexOf(e)}var zm=["draft","research","review","approved","executing","paused","completed","superseded"],_s=["pending","in_progress","completed","blocked","skipped","superseded"],Hm=["codex","claude-code","cursor","generic"],qm=["related","blocks","blocked_by","depends_on","discovered_from","implements","recurs_from","verifies","supersedes"];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0ca7f52c-fb31-5cd9-b689-a918f4e61816")}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]="c3a7c240-7575-5db7-98fa-9dd010c9ff7d")}catch{}})();var g=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}};import KE 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]="c036d6cf-6a10-5c74-9e2f-e7c953339e2c")}catch{}})();function JE(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 YE(e){let t=Object.keys(e).sort(),n={};for(let r of t){let o=e[r];o!==void 0&&(n[r]=gs(o))}return n}function gs(e){let t=JE(e);if(t!==void 0)return t;if(Array.isArray(e))return e.map(r=>gs(r));if(e instanceof Date)return e.toISOString();let n=e;if(typeof n.toJSON=="function"){let r=n.toJSON();if(r!==e)return gs(r)}return YE(e)}function O(e){return JSON.stringify(gs(e))}function Gm(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 XE(e,t){if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.toString()===t.toString()}function ZE(e,t){if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime()}function QE(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(!Gm(o,n,r,De))return!1;return!0}function eS(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(!Gm([o,i],n,r,([a,c],[l,d])=>De(a,l)&&De(c,d)))return!1;return!0}function tS(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)=>De(n,t[r]))}function nS(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]||!De(e[i],t[i]))return!1}return!0}var rS=[XE,ZE,QE,eS,tS];function De(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 rS){let r=n(e,t);if(r!==void 0)return r}return nS(e,t)}function Pe(e){return KE.createHash("sha256").update(e,"utf8").digest("hex")}function _n(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]="43f7bd27-7874-56f9-a497-e6f67a3ae9be")}catch{}})();function Ir(e){let t=Math.ceil(e.size/2);for(let n of e.keys()){if(t===0)return;e.delete(n),t-=1}}import{AsyncLocalStorage as oS}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]="38ed5847-939e-5846-bc7d-6d257d36a25f")}catch{}})();var iS=new oS;function Bm(){let e=iS.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(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5bd8db9-cd23-5529-ad78-b7e87bd43b59")}catch{}})();var sS=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function j(){return Bm()??new Date().toISOString()}function ht(e){return Number.isFinite(Date.parse(e))}function Kt(e){let t=sS.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,n,r,o,i,s,a,c,l]=t,[d,u,f,m,p,w]=[n,r,o,i,s,a].map(Number);return u>=1&&u<=12&&f>=1&&f<=cS(d,u-1)&&m<=23&&p<=59&&w<=59&&(c===void 0||Number(c)<=23)&&(l===void 0||Number(l)<=59)}function gn(e){let t=/\.(\d+)(?:Z|[+-]\d{2}:\d{2})$/iu.exec(e)?.[1];return Kt(e)&&(t===void 0||/^\d{0,3}0*$/u.test(t))}var aS=1e4,hs=new Map;function Wm(e){let t=hs.get(e);if(t!==void 0)return t;let n=Date.parse(e);return hs.size>=aS&&Ir(hs),hs.set(e,n),n}function ye(e,t){let n=Wm(e),r=Wm(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function cS(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}import Vm from"node:path";import*as we from"node:fs/promises";import ys from"node:path";import lS 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]="1240aa49-b3fa-57d3-b6e1-7f911005a757")}catch{}})();var dS=[10,25,50,100];async function hn(e){await we.mkdir(e,{recursive:!0})}async function M(e){try{return await we.access(e),!0}catch{return!1}}function yt(e){return F(e)||zn(e,"ENOTDIR")}function F(e){return zn(e,"ENOENT")}async function K(e){try{return await we.readFile(e,"utf8")}catch(t){if(yt(t))return null;throw t}}async function q(e,t){let n=ys.dirname(e);await hn(n);let r=ys.join(n,`.${ys.basename(e)}.${process.pid}.${Date.now()}.${lS.randomBytes(4).toString("hex")}.tmp`);await we.writeFile(r,t,"utf8");try{await we.rename(r,e)}catch(o){if(process.platform==="win32"&&(zn(o,"EPERM")||zn(o,"EBUSY"))){let i=o;for(let s of dS){await new Promise(a=>setTimeout(a,s));try{await we.rename(r,e);return}catch(a){if(i=a,!zn(a,"EPERM")&&!zn(a,"EBUSY"))break}}try{await we.unlink(r)}catch{}throw i}if(zn(o,"EXDEV")){try{await we.copyFile(r,e)}finally{try{await we.unlink(r)}catch{}}return}try{await we.unlink(r)}catch{}throw o}}async function Fc(e,t){let n=ys.dirname(e);await hn(n);let r=await we.open(e,"a");try{await r.writeFile(`${t}
2
2
  `,"utf8")}finally{await r.close()}}function zn(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{link as uS,mkdir as fS,mkdtemp as mS,rm as pS,writeFile as _S}from"node:fs/promises";import jc 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]="fcbdb4d9-ea0e-5944-98c3-4d1944d2641d")}catch{}})();async function Uc(e,t){let n=jc.dirname(e);await fS(n,{recursive:!0});let r=await mS(jc.join(n,".pm-seed-")),o=jc.join(r,"value");try{await _S(o,t,"utf8");try{return await uS(o,e),!0}catch(i){if(i.code==="EEXIST")return!1;throw i}}finally{await pS(r,{recursive:!0,force:!0})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d66d32f8-a5f2-5068-bcd0-b93094d7c6a4")}catch{}})();var gS=2e3,ws=new Map;function be(e){if(typeof e!="string")return"";let t=ws.get(e);if(t!==void 0)return t;let n=e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_");return ws.size>=gS&&Ir(ws),ws.set(e,n),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]="5e083565-3e07-5fb3-81ce-c392feaa8630")}catch{}})();var Le=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),Ym=Rc,Eo=xc,hS=["create","update"],yS=new Set(Tr),wS=new Set(pn),bS=new Set(Ar),vS=new Set(us),kS=new Set(["string","number","boolean","array","object"]),ES=16;function Xm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var SS=[e=>e.type===void 0||typeof e.type=="string"&&kS.has(e.type),e=>!Object.hasOwn(e,"const")||vs(e.const),e=>e.enum===void 0||Array.isArray(e.enum)&&e.enum.every(t=>vs(t)),e=>e.min_length===void 0||Number.isInteger(e.min_length)&&e.min_length>=0,e=>e.min_items===void 0||Number.isInteger(e.min_items)&&e.min_items>=0,e=>e.format===void 0||e.format==="date-time",e=>e.required===void 0||Array.isArray(e.required)&&e.required.every(t=>typeof t=="string"&&t.length>0),e=>e.additional_properties===void 0||typeof e.additional_properties=="boolean",e=>e.properties===void 0||Xm(e.properties),e=>e.one_of===void 0||Array.isArray(e.one_of)&&e.one_of.length>0];function vs(e,t=new Set){if(e===null||typeof e=="string"||typeof e=="boolean")return!0;if(typeof e=="number")return Number.isFinite(e);if(typeof e!="object"||t.has(e))return!1;t.add(e);let n=Array.isArray(e)?e.every(r=>vs(r,t)):Object.values(e).every(r=>vs(r,t));return t.delete(e),n}function bs(e,t=0,n=new Set){if(!Xm(e)||t>ES||n.has(e))return;n.add(e);let r=e,o=r.type,i=r.enum,s=r.one_of,a=r.properties,c=r.items,l=r.required,d=r.min_length,u=r.min_items,f=r.format,m=r.additional_properties;if(!SS.every(v=>v(r))){n.delete(e);return}let p=a===void 0?void 0:Object.fromEntries(Object.entries(a).map(([v,I])=>[v,bs(I,t+1,n)])),w=c===void 0?void 0:bs(c,t+1,n),h=s===void 0?void 0:s.map(v=>bs(v,t+1,n));if([...Object.values(p??{}),...c===void 0?[]:[w],...h??[]].some(v=>v===void 0)){n.delete(e);return}return n.delete(e),Object.fromEntries(Object.entries({type:o,const:Object.hasOwn(r,"const")?r.const:void 0,enum:i,min_length:d,min_items:u,format:f,properties:p,required:l===void 0?void 0:[...new Set(l)],additional_properties:m,items:w,one_of:h}).filter(([,v])=>v!==void 0))}function ko(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 tt(e){if(typeof e!="string"||e.length===0)return;let t=be(e);return t.length>0?t:void 0}function TS(e){return e.startsWith("--")?e.slice(2):e}function Km(e){return typeof e=="string"?TS(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function Zm(e){return e.replaceAll("_","-")}function zc(e,t){let n=tt(e.id);if(!n)return null;let r=[...new Set(ko(e.aliases).map(be).filter(a=>a.length>0))].sort((a,c)=>a.localeCompare(c)),o=ko(e.roles).filter(a=>yS.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 AS(e){return{draft_status:tt(e?.draft_status),open_status:tt(e?.open_status),in_progress_status:tt(e?.in_progress_status),blocked_status:tt(e?.blocked_status),close_status:tt(e?.close_status),canceled_status:tt(e?.canceled_status)}}function Qm(e,t){if(!Array.isArray(t)||t.length!==2)return;let n=be(t[0]),r=be(t[1]);n.length===0||r.length===0||e.pairs.some(o=>o[0]===n&&o[1]===r)||e.pairs.push([n,r])}function IS(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)Qm(n,r);return{typeKey:t.toLowerCase(),record:n}}function CS(e){if(!Array.isArray(e)||e.length===0)return;let t=new Map;for(let r of e){let o=IS(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)Qm(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 ep(e){let t=be(e.key??"");if(!t)return null;let n=be(e.metadata_key??e.front_matter_key??t),r=Km(e.cli_flag??Zm(t));if(!r)return null;let o=ko(e.cli_aliases).map(u=>Km(u)).filter(u=>u.length>0&&u!==r),i=typeof e.type=="string"?e.type.trim().toLowerCase():"string",s=wS.has(i)?i:"string",a=(()=>{let u=ko(e.commands).filter(f=>bS.has(f));return u.length>0?u:[...hS]})(),c=e.description?.trim(),l=ko(e.required_types),d=e.value_schema===void 0?void 0:bs(e.value_schema);return e.value_schema!==void 0&&d===void 0?null:{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"].includes(!0),required:e.required===!0,required_on_create:e.required_on_create===!0,required_types:l,allow_unset:e.allow_unset!==!1,value_schema:d}}function OS(e){let t=new Map;for(let[r,o]of e.entries()){let i=zc(o,r);i&&t.set(i.id,i)}let n=Jm([...t.values()]);return n.length>0?n:Jm(Eo.map((r,o)=>zc(r,o)).filter(r=>r!==null))}function Jm(e){return e.sort((t,n)=>t.order===n.order?t.id.localeCompare(n.id):t.order-n.order)}function xS(e){let t=new Map;for(let n of e??[]){let r=ep(n);r&&t.set(r.key,r)}return[...t.values()].sort((n,r)=>n.key.localeCompare(r.key))}function RS(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 NS(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==Zm(e.key)?e.cli_flag:void 0,cli_aliases:e.cli_aliases.length>0?[...e.cli_aliases]:void 0,description:e.description,type:e.type,commands:[...e.commands],repeatable:e.repeatable===!0?!0:void 0,required:e.required===!0?!0:void 0,required_on_create:e.required_on_create===!0?!0:void 0,required_types:e.required_types.length>0?[...e.required_types]:void 0,allow_unset:e.allow_unset===!1?!1:void 0,value_schema:e.value_schema}}function DS(e){let t=typeof e=="string"?e.trim().toLowerCase():"allow";return vS.has(t)?t:"allow"}function xt(e){let t={...Le,...e?.files},n=e?.statuses&&e.statuses.length>0?e.statuses:Eo,r=OS(n),o=xS(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:t,statuses:r.map(RS),fields:o.map(NS),workflow:{...Ym,...AS(e?.workflow)},type_workflows:CS(e?.type_workflows),unknown_field_policy:DS(e?.unknown_field_policy)}}function PS(e,t,n){try{return JSON.parse(e)}catch{n.push(t);return}}function LS(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 MS(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 $S(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 FS(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 jS(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 qe(e,t,n){let r=t?.trim()||n;return Vm.isAbsolute(r)?r:Vm.join(e,r)}async function tp(e,t){let n=xt(t),r=[{path:qe(e,n.files.types,Le.types),seed:{definitions:[]}},{path:qe(e,n.files.statuses,Le.statuses),seed:{statuses:Eo}},{path:qe(e,n.files.fields,Le.fields),seed:{fields:[]}},{path:qe(e,n.files.workflows,Le.workflows),seed:{workflow:Ym}}],o=[];for(let i of r)await M(i.path)||await Uc(i.path,`${JSON.stringify(i.seed,null,2)}
3
3
  `)&&o.push(i.path);return{created_paths:o}}async function np(e,t){let n=xt(t),r=[],o=qe(e,n.files.types,Le.types),i=qe(e,n.files.statuses,Le.statuses),s=qe(e,n.files.fields,Le.fields),a=qe(e,n.files.workflows,Le.workflows),c,l,d,u,f,m=async(I,A)=>{let C=await K(I);if(C!==null)return PS(C,A,r)},p=await m(o,"runtime_schema_types_invalid_json");p!==void 0&&(c=LS(p),c===void 0&&r.push("runtime_schema_types_invalid_shape"));let w=await m(i,"runtime_schema_statuses_invalid_json");w!==void 0&&(l=MS(w),l===void 0&&r.push("runtime_schema_statuses_invalid_shape"));let h=await m(s,"runtime_schema_fields_invalid_json");h!==void 0&&(d=$S(h),d===void 0&&r.push("runtime_schema_fields_invalid_shape"));let b=await m(a,"runtime_schema_workflows_invalid_json");return b!==void 0&&(u=FS(b),u===void 0&&r.push("runtime_schema_workflows_invalid_shape"),f=jS(b)),{schema:xt({...n,statuses:[...n.statuses,...l??[]],fields:[...n.fields,...d??[]],workflow:{...n.workflow,...u},type_workflows:[...n.type_workflows??[],...f??[]]}),type_definitions_from_file:c,warnings:r,created_paths:[]}}function vo(e,t,n,r=!1){let i=n.map(a=>tt(a)).filter(a=>typeof a=="string").find(a=>e.some(c=>c.id===a));if(r&&i!==void 0)return i;let s=e.find(a=>a.roles.includes(t));return s!==void 0?s.id:i??e[0]?.id}function US(e){let t=new Map,n=new Map;for(let r of e){n.set(r.id,r),t.set(r.id,r.id),t.set(r.id.replaceAll("_","-"),r.id),t.set(r.id.replaceAll("_"," "),r.id);for(let o of r.aliases)t.set(o,r.id),t.set(o.replaceAll("_","-"),r.id),t.set(o.replaceAll("_"," "),r.id)}return{aliasToId:t,byId:n}}function zS(e){let t={activeStatuses:new Set,blockedStatuses:new Set,draftStatuses:new Set,terminalCanceledStatuses:new Set,terminalDoneStatuses:new Set,terminalStatuses:new Set};for(let n of e){let r=new Set(n.roles);(r.has("terminal")||r.has("terminal_done")||r.has("terminal_canceled"))&&t.terminalStatuses.add(n.id),r.has("terminal_done")&&t.terminalDoneStatuses.add(n.id),r.has("terminal_canceled")&&t.terminalCanceledStatuses.add(n.id),r.has("active")&&t.activeStatuses.add(n.id),r.has("blocked")&&t.blockedStatuses.add(n.id),r.has("draft")&&t.draftStatuses.add(n.id)}return t}function ct(e){let t=xt(e),n=t.statuses.map((b,v)=>zc(b,v)).filter(b=>b!==null),{aliasToId:r,byId:o}=US(n),{activeStatuses:i,blockedStatuses:s,draftStatuses:a,terminalCanceledStatuses:c,terminalDoneStatuses:l,terminalStatuses:d}=zS(n),u=t.workflow,f=tt(u.open_status)??vo(n,"default_open",["open","in_progress",Sr[0]]),m=tt(u.in_progress_status)??vo(n,"active",["in_progress","in-progress",f],!0),p=tt(u.blocked_status)??vo(n,"blocked",["blocked"]),w=tt(u.close_status)??vo(n,"default_close",["closed","done","complete"]),h=tt(u.canceled_status)??vo(n,"default_cancel",["canceled","cancelled"]);return{definitions:n,by_id:o,alias_to_id:r,terminal_statuses:d,terminal_done_statuses:l,terminal_canceled_statuses:c,active_statuses:i,blocked_statuses:s,draft_statuses:a,open_status:f,in_progress_status:m,blocked_status:p,close_status:w,canceled_status:h}}function Cr(e,t){let n=be(e);if(n)return t.alias_to_id.get(n)}function ks(e){let t=xt(e),n=new Map,r=t.fields.map(c=>ep(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 Hc(e,t){let n=Cr(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]="42eb2987-269d-5b18-b0fe-5b4334fdb6a0")}catch{}})();var HS=16;function ip(e){return Array.isArray(e)?e.flatMap(t=>ip(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 rp(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 g(`${t} must be one of true|false|1|0|yes|no`,_.USAGE)}function op(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 g(`${t} must be a number`,_.USAGE);return r}function qS(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 g(`${t} must be valid JSON ${n}`,_.USAGE)}function GS(e,t){return t===void 0?!0:t==="array"?Array.isArray(e):t==="object"?typeof e=="object"&&e!==null&&!Array.isArray(e):typeof e===t}function BS(e,t,n){if(t.const!==void 0&&O(e)!==O(t.const))return`${n} must equal ${O(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>O(r)===O(e)))return`${n} must be one of ${t.enum.map(r=>O(r)).join("|")}`;if(!GS(e,t.type))return`${n} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${n} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!Kt(e))return`${n} must be an RFC 3339 date-time`}}function WS(e,t,n,r){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${n} must contain at least ${t.min_items} items`;if(t.items)for(let[o,i]of e.entries()){let s=Es(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function VS(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))return;let o=e;for(let i of t.required??[])if(!Object.hasOwn(o,i))return`${n}.${i} is required`;for(let[i,s]of Object.entries(o)){let a=t.properties?.[i];if(!a){if(t.additional_properties===!1)return`${n}.${i} is not allowed`;continue}let c=Es(s,a,`${n}.${i}`,r+1);if(c)return c}}function Es(e,t,n,r=0){if(r>HS)return`${n} value schema exceeds maximum depth`;let o=BS(e,t,n);if(o)return o;let i=WS(e,t,n,r);if(i)return i;let s=VS(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(Es(e,c,n,r+1)===void 0&&(a+=1,a>1))break;return a===1?void 0:`${n} must match exactly one configured schema variant`}function Hn(e,t,n){if(!e.value_schema||t===void 0)return t;let r=Es(t,e.value_schema,n);if(r)throw new g(r,_.USAGE);return t}function Ss(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:Hn(e,qS(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=ip(t);return e.type==="number"?Hn(e,i.map(s=>op(s,r)),r):e.type==="boolean"?Hn(e,i.map(s=>rp(s,r)),r):Hn(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Hn(e,op(o,r),r):e.type==="boolean"?Hn(e,rp(o,r),r):Hn(e,typeof o=="string"?o:String(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]="8ee74259-29b1-5795-9253-9fa0869e4585")}catch{}})();var Or=1,Ts=1;function As(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Or?t:Or}function sp(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Or))return e}function KS(e,t=Ts){return e<t?"outdated":e>t?"ahead":"current"}function Is(e,t=Ts){let n=[],r=[];for(let o of e){let i=KS(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]="6bb283b8-5c81-562a-926e-e48b83e6ebc8")}catch{}})();var JS={"in-progress":"in_progress",cancelled:"canceled"};function Rt(e,t){if(t){let o=Cr(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=JS[n]??n;if(Sr.includes(r))return r}function ap(e,t){return Rt(e,t)??e}function qc(e,t){return t.terminal_statuses.has(ap(e,t))}import{decode as YS}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]="e48e0cc7-7577-5702-ac17-a4529697444e")}catch{}})();function Gc(e){return{value:YS(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]="45fa31ba-dea9-56db-b971-84c11e8a1c88")}catch{}})();var XS=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function ZS(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(XS);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Me(e){return ZS(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]="49fe564d-671f-5425-96fe-517cb323f773")}catch{}})();function W(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function de(e){return W(e)??void 0}function So(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 xr(e){return Array.isArray(e)&&e.every(t=>typeof t=="number"&&Number.isFinite(t))}function ie(e){if(e instanceof Error){let t=e.message.trim();return t.length>0?t:e.name}return String(e)}function Bc(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 lp(e){let t=Bc(e);return t===null||t<=0||!Number.isInteger(t)?null:t}function yn(e){return typeof e!="object"||e===null?null:e}function cp(e){return typeof e!="object"&&typeof e!="function"||e===null?null:e}function dp(e){let t=cp(e);if(!t)return null;if(typeof t.activate=="function")return t;let n=cp(t.default);return typeof n?.activate=="function"?n: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]="24554781-3fa2-53de-98b1-467843de8560")}catch{}})();var Jc=new Set(["schema","tracker","auto","none"]),pp=new Set(["source","isolated","snapshot"]),eT=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),tT=new Set(["passed","failed","stopped","canceled"]),nT=new Set(_s);function Dr(e){return e.replaceAll("\\","/")}function _p(e){for(let t of e)if(t!==0)return t;return 0}function Os(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var gp=["id","title","description","created_at","updated_at"],rT=new Set(We);function hp(e){if(e?.schema)return{statusRegistry:ct(e.schema),fieldRegistry:ks(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function oT(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function wn(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new g(`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 Io(e,t){throw new g(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 yp(e){let t=new Set(rT);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function P(e,t){e||wn(t)}function Co(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&wn(t),e}function Wc(e,t){let n=e[t];P(typeof n=="string",`${t} must be a string`),P(ht(n),`${t} must be a valid ISO timestamp`)}function fp(e,t,n){let r=e[t];r!==void 0&&P(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function Yc(e,t,n){let r=e[t];r!==void 0&&(P(typeof r=="string",`${n} must be a string`),P(ht(r),`${n} must be a valid ISO timestamp`))}function iT(e){if(e!==void 0){P(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){P(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();P(bo.includes(n),`event.recurrence.by_weekday entries must be one of: ${bo.join(", ")}`)}}}function sT(e){if(e!==void 0){P(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)P(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function aT(e){if(e!==void 0){P(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)P(typeof t=="string","event.recurrence.exdates entries must be strings"),P(ht(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function cT(e){let t=Co(e,"event.recurrence must be an object");P(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();P(ps.includes(n),`event.recurrence.freq must be one of: ${ps.join(", ")}`),fp(t,"interval","event.recurrence.interval"),fp(t,"count","event.recurrence.count"),Yc(t,"until","event.recurrence.until"),iT(t.by_weekday),sT(t.by_month_day),aT(t.exdates)}function lT(e){for(let r of gp)P(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;P(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&P(typeof n=="number"&&Number.isInteger(n)&&n>=Or,`pm_format_version must be an integer >= ${Or}`),t}function dT(e,t){let n=e.status;P(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Rt(n,r),i=r?r.definitions.map(s=>s.id):[...Sr];P(o!==void 0,`status must be one of: ${i.join(", ")}`)}function uT(e){let t=e.priority;P(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;P(Array.isArray(n),"tags must be an array");for(let r of n)P(typeof r=="string","tags entries must be strings")}function fT(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){P(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"||ms.includes(n);P(r,`confidence string value must be one of: ${[...ms,"med"].join(", ")}`);return}P(!1,"confidence must be a number or string")}}function mT(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&wn("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||fs.includes(n);P(r,`severity value must be one of: ${[...fs,"med"].join(", ")}`)}function pT(e){e.regression!==void 0&&typeof e.regression!="boolean"&&wn("regression must be a boolean")}function _T(e){let t=e.reminders;if(t!==void 0){P(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Co(n,"reminders entries must be objects");P(typeof r.at=="string","reminder.at must be a string"),P(ht(r.at),"reminder.at must be a valid ISO timestamp"),P(typeof r.text=="string","reminder.text must be a string"),P(r.text.trim().length>0,"reminder.text must not be empty")}}}function gT(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(P(typeof e[t]=="string",`event.${t} must be a string`),P(e[t].trim().length>0,`event.${t} must not be empty`))}function hT(e){e.recurrence!==void 0&&(cT(e.recurrence),e.recurrence.until!==void 0&&P(ye(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function yT(e){let t=Co(e,"events entries must be objects");P(typeof t.start_at=="string","event.start_at must be a string"),P(ht(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(P(typeof t.end_at=="string","event.end_at must be a string"),P(ht(t.end_at),"event.end_at must be a valid ISO timestamp"),P(ye(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),gT(t),t.all_day!==void 0&&P(typeof t.all_day=="boolean","event.all_day must be a boolean"),hT(t)}function wT(e){let t=e.events;if(t!==void 0){P(Array.isArray(t),"events must be an array");for(let n of t)yT(n)}}function bT(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&P(typeof n=="string",`${t} must be a string`)}}function vT(e){let t=e.type_options;if(t===void 0)return;let n=Co(t,"type_options must be an object");for(let[r,o]of Object.entries(n))P(r.trim().length>0,"type_options keys must be non-empty"),P(typeof o=="string","type_options values must be strings"),P(o.trim().length>0,"type_options values must be non-empty strings")}function kT(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){oT(r,t)&&wn(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=Ss(r,o,`metadata field "${r.metadata_key}"`)}catch(i){wn(String(i?.message).replace(/^Invalid\s+/u,""))}}}function ET(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=yp(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?wn(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Xc(e,t){let n=Co(e,"item metadata must be an object"),r=lT(n);dT(n,t),uT(n),fT(n),mT(n),pT(n),Wc(n,"created_at"),Wc(n,"updated_at"),n.deadline!==void 0&&Wc(n,"deadline"),_T(n),wT(n),Yc(n,"closed_at","closed_at"),Yc(n,"completed_at","completed_at"),bT(n),vT(n),kT(n,r,t),ET(n,t)}function ST(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim(),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=ye(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 Vc(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=ye(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 TT(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=ye(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function AT(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!ps.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>bo.includes(s)))).sort((s,a)=>$c(s)-$c(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=>ht(s)))).sort((s,a)=>ye(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 IT(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(CT).sort(OT)}function CT(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:AT(e.recurrence)};return Os(t),t}function OT(e,t){return _p([ye(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 xT(e){if(!(!e||e.length===0))return e.map(t=>({path:Dr(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function RT(e){if(!e||e.length===0)return;let t=e.map(LT).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)=>_p([ye(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 Rr(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function NT(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Kc(e){return typeof e=="string"?e:""}function DT(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 Cs(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function PT(e){if(!Array.isArray(e))return;let t=e.filter(n=>n&&typeof n.command=="string"&&n.command.trim().length>0).slice(0,32).map(n=>({command:n.command.trim(),requested_pm_context_mode:Cs(n.requested_pm_context_mode,Jc),pm_context_mode:Cs(n.pm_context_mode,Jc),workspace_context_mode:Cs(n.workspace_context_mode,pp),trust_reason:Cs(n.trust_reason,eT)}));return t.length>0?t:void 0}function LT(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=tT.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Kc(e.started_at),finished_at:Kc(e.finished_at),recorded_at:Kc(e.recorded_at),attempt:NT(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Rr(e.passed)??0,failed:Rr(e.failed)??0,skipped:Rr(e.skipped)??0,items:Rr(e.items),linked_tests:Rr(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:DT(e.measurements),executions:PT(e.executions)};return Os(o),o}function MT(e){if(!(!Array.isArray(e)||e.length===0))return e.map(zT)}function To(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 Qc(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function el(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function mp(e){if(!Qc(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!el(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function $T(e){if(!Qc(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!el(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function FT(e){let t=e?.trim().toLowerCase();if(!(!t||!Jc.has(t)))return t}function jT(e){let t=e?.trim().toLowerCase();if(!(!t||!pp.has(t)))return t}function UT(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!Qc(e))return{provenance_invalid:!0};let n=R(e.author),r=R(e.created_at),o=e.source_kind;return!n||!r||!ht(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:R(e.source_ref)}}}function zT(e){let t={command:e.command?.trim()||void 0,path:e.path?Dr(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:FT(e.pm_context_mode),workspace_context_mode:jT(e.workspace_context_mode),...UT(e.provenance,e.provenance_invalid),env_set:mp(e.env_set),env_clear:To(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:To(e.assert_stdout_contains),assert_stdout_regex:To(e.assert_stdout_regex),assert_stderr_contains:To(e.assert_stderr_contains),assert_stderr_regex:To(e.assert_stderr_regex),assert_stdout_min_lines:Rr(e.assert_stdout_min_lines),assert_json_field_equals:mp(e.assert_json_field_equals),assert_json_field_gte:$T(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Os(t),t}function HT(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Dr(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 R(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function qT(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=R(r.id),i=R(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=R(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 GT(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=R(r.path);if(!o)continue;let i={path:Dr(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=R(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function BT(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=R(r.command),i=R(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=Dr(i));let a=R(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function WT(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=R(r.path);if(!o)continue;let i={path:Dr(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=R(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function VT(e){if(e===null||typeof e!="object")return;let t=e,n=R(t.id),r=R(t.title),o=R(t.status),i=o&&nT.has(o)?o:void 0,s=Bc(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 KT(l,t),l}function KT(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=R(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",qT],["files","files",GT],["tests","tests",BT],["docs","docs",WT]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function JT(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=VT(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function YT(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=R(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=R(r.rationale);c&&(a.rationale=c);let l=R(r.evidence);l&&(a.evidence=l);let d=R(r.step_id);d&&(a.step_id=d),t.push(a)}return t.length>0?t:void 0}function XT(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=R(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=R(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function ZT(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=R(r.text);if(!o)continue;let i={text:o},s=R(r.command);s&&(i.command=s);let a=R(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function QT(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 Nr(e){let t=0;for(;t<e.length&&e[t]===`
4
4
  `;)t+=1;return e.slice(t).trimEnd()}function eA(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(ms.includes(t))return t}function tA(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(fs.includes(t))return t}function Ao(e){return e||void 0}function nA(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))el(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function rA(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]=Ss(r,o,`metadata field "${r.metadata_key}"`))}}function oA(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=yp(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&wn(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function Oo(e,t={}){let n=hp(t),r=Rt(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:sp(e.pm_format_version),source_type:R(e.source_type),type_options:QT(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:ST(e.dependencies),comments:Vc(e.comments),notes:Vc(e.notes),learnings:Vc(e.learnings),files:xT(e.files),tests:MT(e.tests),test_runs:RT(e.test_runs),docs:HT(e.docs),deadline:Ao(e.deadline),reminders:TT(e.reminders),events:IT(e.events),closed_at:Ao(e.closed_at),completed_at:Ao(e.completed_at),assignee:R(e.assignee),claim_principal:R(e.claim_principal),source_owner:R(e.source_owner),author:Ao(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:R(e.definition_of_ready),order:e.order,goal:R(e.goal),objective:R(e.objective),value:R(e.value),impact:R(e.impact),outcome:R(e.outcome),why_now:R(e.why_now),parent:R(e.parent),reviewer:R(e.reviewer),risk:e.risk??void 0,confidence:eA(e.confidence),sprint:R(e.sprint),release:R(e.release),blocked_by:R(e.blocked_by),blocked_reason:R(e.blocked_reason),unblock_note:R(e.unblock_note),reporter:R(e.reporter),severity:tA(e.severity),environment:R(e.environment),repro_steps:R(e.repro_steps),resolution:R(e.resolution),expected_result:R(e.expected_result),actual_result:R(e.actual_result),affected_version:R(e.affected_version),fixed_version:R(e.fixed_version),component:R(e.component),regression:e.regression,customer_impact:R(e.customer_impact),close_reason:Ao(e.close_reason),plan_mode:R(e.plan_mode),plan_scope:R(e.plan_scope),plan_harness:R(e.plan_harness),plan_resume_context:R(e.plan_resume_context),plan_steps:JT(e.plan_steps),plan_decisions:YT(e.plan_decisions),plan_discoveries:XT(e.plan_discoveries),plan_validation:ZT(e.plan_validation)};return nA(i,e),rA(i,n),oA(i,n),Os(i),i}function wp(e){return _n(e,We)}function iA(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 sA(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=iA(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 aA(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,18 +7,18 @@ import Dd from"fast-json-patch";import{createHash as GE}from"node:crypto";(funct
7
7
  ${i}
8
8
  `:`${o}
9
9
  `}function uA(e,t={}){let n=Oo(e.metadata,t),r=wp(n),o=Nr(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=QS(s),c;try{c=Gc(a).value}catch(l){throw new g("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(!up(c,s)){let l=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},d=Object.keys(s).find(u=>!up(s[u],l[u]))??"document";throw new g(`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}
10
- `}function Ve(e,t={}){let n=Me(e);if(n)throw new g(`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=hp(t);return r==="toon"?lA(e,o,t):cA(e,o,t)}function Pr(e,t={}){return(t.format??"toon")==="toon"?uA(e,t):dA(e,t)}function lt(e,t={}){return{metadata:Oo(e.metadata,t),body:Nr(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]="82c79093-2a40-5b4c-8d41-637b0ae03c4f")}catch{}})();import ah 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]="da97ee67-b4ef-5eed-94d4-03c9b3b494be")}catch{}})();var fA=["append","cancel","claim","close","comment_add","comment_edit","comment_delete","create","delete","docs_add","docs_remove","files_add","files_remove","files_discover","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","import","improvement_observe","learning_add","learning_edit","learning_delete","normalize","note_add","note_edit","note_delete","plan_create_metadata","plan_create_initial_step","plan_add_step","plan_reorder_step","plan_remove_step","plan_link_step","plan_unlink_step","plan_append_decision","plan_append_discovery","plan_append_validation","plan_resume","plan_approve","plan_materialize","plan_update_step","plan_complete_step","plan_block_step","policy_approve","policy_refused","release","reopen","restore","schema_migration","schema_migration_reference","test_run_track","tests_add","tests_remove","tests_update","update","update_audit","update_ownership_bypass","workspace_snapshot_restore","extension_migrations_apply","merge_reconcile"],mA=["history:author-acknowledge","settings:write","init:type_preset","templates:save","profile:apply-types","profile:apply-statuses","profile:apply-fields","profile:apply-config","schema:add-type","schema:remove-type","schema:add-status","schema:remove-status","schema:add-field","schema:remove-field","schema:apply-preset","schema:infer-types","schema:policy-put","schema:policy-remove","schema:policy-mode","assurance:bundle:apply","assurance:gate:verdict","telemetry:install_id","telemetry:first_run_prompt","telemetry:clear","item_format:auto_select_default"],bp={"init:type-preset":"init:type_preset"},pA=["^config:(?:set|unset):[a-z][a-z0-9_.:-]*$","^assurance:(?:measurement|invariant|gate):(?:put|remove)$","^schema_(?:rename_type|rename_status|remap_status|rename_field|remove_type|remove_status|remove_field)(?:_compensate)?$","^extension:[a-z][a-z0-9_-]*:[a-z][a-z0-9_]*$"];var FG=new Set([...fA,...mA]),jG=pA.map(e=>new RegExp(e,"u"));function _A(e){return Object.hasOwn(bp,e)?bp[e]:e}function xs(e){let t=_A(e),n=t.indexOf(":"),r=n<0?t:t.slice(0,n),o=n<0||n<t.length-1&&!/[\s\p{C}]/u.test(t.slice(n+1));if(/^[a-z][a-z0-9]*(?:[_.-][a-z0-9]+)*$/u.test(r)&&o)return t;throw new TypeError("History operation must use lowercase alphanumeric segments with an optional non-whitespace colon-suffixed retry key.")}import nh from"node:fs/promises";import Fx from"node:path";import{AsyncLocalStorage as n0}from"node:async_hooks";import Xn from"node:fs/promises";import Yn from"node:path";import{pathToFileURL as CC}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]="4c00e38a-27df-5315-91e8-d35c03ed6bf3")}catch{}})();var tl=[{kind:"blocked_by",direction:"directed",traversal:"ordering",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",traversal:"ordering",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",traversal:"hierarchy",outcomeTraversal:"source_to_target",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",traversal:"hierarchy",outcomeTraversal:"target_to_source",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",traversal:"association",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["related_to"],compatibilityVersion:1,allowSelf:!1},{kind:"discovered_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"incident_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"implements",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"recurs_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,temporalOrder:"source_after_target",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"verifies",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"supersedes",direction:"directed",traversal:"semantic",outcomeTraversal:"both",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"supersedable",compatibilityVersion:1,allowSelf:!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]="b658dc99-fdbb-5d10-9dd6-5f5c263bf48b")}catch{}})();function Rs(e){return e.trim().toLowerCase().replaceAll("-","_")}function gA(e){if(e===void 0)return;let t=Rs(e);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid inverse relationship kind: ${e}`);return t}function nl(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)nl(n,t);return Object.freeze(e)}for(let n of Object.values(e))nl(n,t);return Object.freeze(e)}function hA(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 yA(e,t){if(e.temporalOrder!==void 0&&e.temporalOrder!=="source_after_target")throw new TypeError(`Invalid relationship temporal order for ${t}`);if(e.direction!=="directed"&&e.temporalOrder!==void 0)throw new TypeError(`Undirected relationship kind cannot declare temporal order: ${t}`)}function wA(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 bA(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=Rs(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 vA(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}`);if(e.traversal!==void 0&&!["hierarchy","ordering","semantic","association"].includes(e.traversal))throw new TypeError(`Invalid relationship traversal family for ${t}`);if(e.outcomeTraversal!==void 0&&!["source_to_target","target_to_source","both"].includes(e.outcomeTraversal))throw new TypeError(`Invalid outcome traversal for ${t}`);if(e.direction==="undirected"&&e.outcomeTraversal!==void 0&&e.outcomeTraversal!=="both")throw new TypeError(`Undirected relationship kind cannot declare directional outcome traversal: ${t}`)}function kA(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}`)}function EA(e){return e.traversal?e.traversal:e.ordering?"ordering":e.hierarchy?"hierarchy":e.direction==="undirected"?"association":"semantic"}var rl=class{#e=new Map;#n=new Map;constructor(t=tl){for(let n of t)this.register(n)}register(t){let n=bA(t);if(vA(t,n),kA(t,n),hA(t,n),yA(t,n),wA(t,n),this.#e.has(n)||this.#n.has(n))throw new TypeError(`Relationship kind already registered: ${n}`);let r=gA(t.inverse),o=[...new Set((t.aliases??[]).map(Rs))].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,traversal:EA(t),hierarchy:t.hierarchy??!1,hierarchyDirection:t.hierarchy?t.hierarchyDirection??"source_parent":void 0,inverse:r,aliases:Object.freeze(o),payloadSchema:t.payloadSchema?nl(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=Rs(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 qn(){return new rl}var GG=qn();import vp 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]="83a29a06-1b0b-52e6-9617-2fc03861cb18")}catch{}})();function Nt(e,t){let n=vp.relative(e,t);return n.length===0?!0:!n.startsWith("..")&&!vp.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]="de5f8d66-b9dc-555c-a52f-33b1b5368be3")}catch{}})();var SA="__pm_suppress_host_output",ol="@unbrained/pm-cli:suppress-host-output:v1";function kp(e){return e===void 0?{__pm_suppress_host_output:ol}:{__pm_suppress_host_output:ol,result:e}}function il(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&e[SA]===ol}import Ns from"node:fs";import Gn from"node:path";import{fileURLToPath as TA}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]="dc77f588-e4ea-59fc-908f-51b41114430a")}catch{}})();var AA="@unbrained/pm-cli";function IA(e){try{return JSON.parse(Ns.readFileSync(e,"utf8")).name===AA}catch{return!1}}function CA(e){let t=Ns.existsSync(e)&&Ns.statSync(e).isDirectory()?Gn.resolve(e):Gn.dirname(Gn.resolve(e));for(;;){let n=Gn.join(t,"package.json");if(Ns.existsSync(n)&&IA(n))return t;let r=Gn.dirname(t);if(r===t)return;t=r}}function nt(e,t=[]){let n=TA(e),r=CA(n);return r||Gn.resolve(Gn.dirname(n),...t)}import{readFileSync as iI,readdirSync as sB,statSync as sI}from"node:fs";import aI from"node:os";import ue from"node:path";import DA 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]="7647d826-e562-5f8e-86b2-2e40d8714b4d")}catch{}})();function bn(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function OA(e){let t=e.key.trim();if(t.length===0)return null;let n=bn(e.aliases),r=e.description?.trim();return{key:t,values:bn(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 xA=e=>e,Sp=e=>{let t=e.trim().toLowerCase();return t==="create"||t==="update"?t:null};function RA(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 NA(e,t){let n=new Map;for(let r of e??[]){let o=RA(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 Ep(e,t){return t?bn(e):void 0}function sl(e){let t=e?.trim();return t&&t.length>0?t:void 0}function al(e){if(e===void 0||e==="agent"||e==="human"||e==="gate")return e;throw new Error("Item type execution_role must be agent, human, or gate.")}function Ds(e,t={}){let n=t.resolvePolicyCommand??xA,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=bn(e.aliases),l=(e.options??[]).map(u=>OA(u)).filter(u=>u!==null).sort((u,f)=>u.key.localeCompare(f.key)),d=NA(e.command_option_policies,n);return{name:r,description:sl(e.description),default_status:sl(e.default_status),...e.execution_role===void 0?{}:{execution_role:al(e.execution_role)},folder:sl(e.folder),aliases:c.length>0?c:void 0,required_create_fields:Ep(e.required_create_fields,o),required_create_repeatables:Ep(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]="69ea08ca-3793-51d7-a971-95abf442028f")}catch{}})();var PA=Object.freeze({decision:"human",milestone:"gate"}),LA=["title","description","status","priority","tags","body","deadline","estimatedMinutes","acceptanceCriteria","author","message","assignee"],MA=["dep","comment","note","learning","file","test","doc"],cl=["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"],$A=["title","description","type","status","priority","tags","body",...cl,"author","message","dep","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],FA=["title","description","body","status","closeReason","priority","type","tags",...cl,"author","message","comment","note","learning","file","test","doc","reminder","event","typeOption","field","ownershipMetadataBypass","ownershipDependencyBypass","force"],Ap={"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"},jA={...Ap},UA={...Ap},Ip=[["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"]],Cp=[["comment","--comment"],["note","--note"],["learning","--learning"],["file","--file"],["test","--test"],["doc","--doc"],["reminder","--reminder"],["event","--event"],["typeOption","--type-option"]];function Op(e){return Object.fromEntries(e)}var zA=Op([["title","--title"],["description","--description"],["type","--type"],["status","--status"],["priority","--priority"],["tags","--tags"],["body","--body"],...Ip,["author","--author"],["message","--message"],["dep","--dep"],...Cp]),HA=Op([["title","--title"],["description","--description"],["body","--body"],["status","--status"],["closeReason","--close-reason"],["priority","--priority"],["type","--type"],["tags","--tags"],...Ip,...Cp,["author","--author"],["message","--message"],["force","--force"]]);function qA(e){return e.trim().replace(/^--+/,"").toLowerCase()}function GA(e){return e==="create"?$A:FA}function BA(e){return e==="create"?jA:UA}function ll(e,t){let n=qA(t);if(n.length===0)return;let r=BA(e)[n];return r||GA(e).find(o=>o.toLowerCase()===n)}function dl(e,t){return(e==="create"?zA:HA)[t]??`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function Ro(e){let t=WA(e);return t.length===0?"items":t.endsWith("s")?t:`${t}s`}function ul(e){let t=e.trim(),r=t.replaceAll("\\","/").replace(/^\/+/,""),o=DA.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 WA(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 VA(e){return Ds(e,{resolvePolicyCommand:Sp})}function xo(e,t){let n=e[t];return Array.isArray(n)?n.filter(r=>typeof r=="string"):void 0}function KA(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:xo(t,"values")??[],required:t.required===void 0?void 0:!!t.required,aliases:xo(t,"aliases"),description:typeof t.description=="string"?t.description:void 0}}function JA(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 YA(e){if(Array.isArray(e.options))return e.options.map(t=>KA(t)).filter(t=>t!==null)}function XA(e){if(Array.isArray(e.command_option_policies))return e.command_option_policies.map(t=>JA(t)).filter(t=>t!==null)}function ZA(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,execution_role:al(t.execution_role),folder:r,aliases:xo(t,"aliases"),required_create_fields:xo(t,"required_create_fields"),required_create_repeatables:xo(t,"required_create_repeatables"),options:YA(t),command_option_policies:XA(t)}}function QA(e,t){return e.required_create_fields?bn(e.required_create_fields):t?.required_create_fields??[]}function eI(e,t){return e.required_create_repeatables?bn(e.required_create_repeatables):t?.required_create_repeatables??[]}function tI(e,t){return e.options?e.options:t?.options?[...t.options]:[]}function nI(e,t){return e.command_option_policies?e.command_option_policies:t?.command_option_policies?[...t.command_option_policies]:[]}function rI(e,t){let n=t?.name??e.name,r=e.description??t?.description,o=e.default_status??t?.default_status,i=ul(e.folder??t?.folder??Ro(n)),s={name:n,execution_role:e.execution_role,folder:i,aliases:bn([...t?.aliases??[],...e.aliases??[]]),required_create_fields:QA(e,t),required_create_repeatables:eI(e,t),options:tI(e,t),command_option_policies:nI(e,t)};return r&&(s.description=r),o&&(s.default_status=o),s}function Tp(e,t){for(let n of e){let r=VA(n);if(!r)continue;let o=r.name.toLowerCase(),i=t.get(o);t.set(o,rI({...r,execution_role:r.execution_role??i?.execution_role},i))}}function oI(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=ZA(o);i&&t.push(i)}}return t}function ge(e,t=null){let n=new Map;for(let c of jm)n.set(c.toLowerCase(),{name:c,execution_role:PA[c.toLowerCase()]??"agent",folder:He[c],aliases:[],required_create_fields:[...LA],required_create_repeatables:[...MA],options:[],command_option_policies:[]});Tp(e.item_types?.definitions??[],n),Tp(oI(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(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="124443e3-a20b-5fd6-a1d9-e4a09b17dc4a")}catch{}})();var cI={json_markdown:".md",toon:".toon"},lI={".md":"json_markdown",".toon":"toon"};var Jt=[".md",".toon"];function Ps(e){try{return sI(e),!0}catch{return!1}}function dI(e){try{let t=JSON.parse(iI(e,"utf8"));return typeof t!="object"||t===null||Array.isArray(t)?!1:"id_prefix"in t||"item_format"in t}catch{return!1}}function uI(e){let t=ue.resolve(e);for(;;){let n=ue.join(t,Er),r=ue.join(n,ls);if(Ps(r))return n;let o=ue.join(t,ls);if(Ps(o)&&dI(o))return t;let i=ue.dirname(t);if(i===t)return;t=i}}function xp(e){return uI(e)??ue.resolve(e,Er)}function X(e,t){let n=process.env.PM_PATH,r=t?.trim()||n?.trim();if(r){let o=ue.resolve(e,r);if(!Ps(Se(o))){let i=ue.join(o,Er);if(Ps(Se(i)))return i}return o}return xp(e)}function vn(e){let t=ue.resolve(e),n=ue.dirname(t);return ue.basename(t)==="pm"&&ue.basename(n)===".agents"?ue.dirname(n):t}function Bn(e){let t=process.env.PM_GLOBAL_PATH?.trim(),n=t&&t.length>0?t:ue.join(aI.homedir(),".pm-cli");return ue.resolve(e,n)}function Se(e){return ue.join(e,ls)}function fI(e,t,n=He){let r=n[t]??Ro(t);return ue.join(e,r)}function No(e,t,n,r="toon",o=He){return ue.join(fI(e,t,o),`${n}${cI[r]}`)}function Lr(e){let t=e.replaceAll("\\","/"),n=ue.posix.extname(t).toLowerCase();return lI[n]??null}function ve(e,t){if(!/^(?!\.{1,2}$)[^/\\:\0]+$/.test(t))throw new g("Invalid history item id: expected a single filename.",_.USAGE);return ue.join(e,"history",`${t}.jsonl`)}function Rp(e,t){return ue.join(e,"locks",`${t}.lock`)}function Ls(e){return ue.join(e,"runtime")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="44b86710-2d6f-57fe-912d-1cf7482a4f86")}catch{}})();function Np(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]="aade6230-a71b-5cbc-bc9d-022f20e521bd")}catch{}})();function Te(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return t}function $e(e,t){if(t!==void 0&&typeof t!="boolean")throw new TypeError(`${e} must be a boolean when provided`)}function fe(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 Dp(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 Wn(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 Do(e,t){if(Wn(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]="34536eba-0f92-5599-a807-5b39b000e733")}catch{}})();var fl=Object.freeze(["workspace","intake","context","lifecycle","evidence","graph","quality","automation","extensions","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]="ca48c32a-e4e0-5da5-b9cb-b1f713646bad")}catch{}})();var mI=new Set(fl);function pI(e){if(e!==void 0&&!mI.has(String(e)))throw new Error(`registerCommand definition.family must be one of: ${fl.join(", ")}`)}function Pp(e){fe("registerCommand definition.action",e.action),fe("registerCommand definition.family",e.family),fe("registerCommand definition.description",e.description),fe("registerCommand definition.intent",e.intent),fe("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");pI(e.family)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="720821b8-d18d-5a10-a8b9-f16073dc1fc4")}catch{}})();function he(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function _I(){return{json:!1,quiet:!1,noExtensions:!1,profile:!1}}function Lp(e){return e?dt(e):{}}function Mp(e){return e?dt(e):_I()}function dt(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]="7d96fda0-1f2f-5e34-99da-c3c5ad0f53f6")}catch{}})();var gI=new Set(["commands","command_overrides","command_handlers","flag_commands","parser_overrides"]),hI=["commands","command_overrides","command_handlers","hooks","flag_commands","item_types","item_fields","relationship_kinds","migrations","profiles","importers","exporters","search_providers","vector_store_adapters","assurance_providers","parser_overrides","service_overrides","renderer_overrides"];function yI(e,t){for(let n of hI){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=>gI.has(n)?he(i):i.trim()).filter(i=>i.length>0);t[n]=[...new Set(o)].sort((i,s)=>i.localeCompare(s))}return!0}function wI(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=>he(o)))].sort((o,i)=>o.localeCompare(i)),result_discriminator:r.result_discriminator})}return t.sort((n,r)=>n.format.localeCompare(r.format))}function bI(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=>he(o)))].filter(o=>o.length>0).sort((o,i)=>o.localeCompare(i))})}return t}function Mr(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(!yI(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=wI(o);if(s===null)return null;n.renderer_ownership=s}let i=t.preflight_ownership;if(i!==void 0){let s=bI(i);if(s===null)return null;n.preflight_ownership=s}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]="1729c469-5e9c-5d8c-8137-ec506c9fd31b")}catch{}})();function vI(e){let t=Te("registerExporter options.output",e),n=new Set(["channel","receipt","media_type"]);for(let r of Object.keys(t))if(!n.has(r))throw new TypeError(`registerExporter options.output contains unsupported field ${r}`);if(t.channel!=="stdout"&&t.channel!=="file")throw new TypeError("registerExporter options.output.channel must be stdout|file");if(t.receipt!==void 0&&t.receipt!=="suppress"&&t.receipt!=="render")throw new TypeError("registerExporter options.output.receipt must be suppress|render");if(t.channel==="stdout"&&t.receipt==="render")throw new TypeError("registerExporter stdout artifacts cannot render a host receipt");return fe("registerExporter options.output.media_type",t.media_type),{channel:t.channel,receipt:t.receipt??(t.channel==="stdout"?"suppress":"render"),...typeof t.media_type=="string"?{media_type:t.media_type}:{}}}function $p(e,t,n){if(e==="registerImporter"&&t.output!==void 0)throw new TypeError("registerImporter options.output is exporter-only");if(e!=="registerExporter"||t.output===void 0)return;let r=vI(t.output);return!n&&r.channel==="stdout"&&(t.description="Export items with the registered extension adapter. Artifact bytes are written exclusively to stdout and the host receipt is suppressed by default."),r}function ml(e,t,n){return{registration:t,action:n,command:e.command,args:dt(e.args),options:dt(e.options),global:dt(e.global),pm_root:e.pm_root,source_workspace_root:e.source_workspace_root,repo_root:e.repo_root,pm_root_rel:e.pm_root_rel,...e.sdk===void 0?{}:{sdk:e.sdk}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b35d854e-5025-5999-abe7-507f1a25647f")}catch{}})();function Fp(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]="de2a2a0e-8a39-5569-9af9-cbf557bce2a9")}catch{}})();function Dt(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,f=i[d-1]+u,m=s[d-1]+1,p=i[d]+1,w=Math.min(f,m,p);c>1&&d>1&&e[c-1]===t[d-2]&&e[c-2]===t[d-1]&&(w=Math.min(w,o[d-2]+1)),s[d]=w,w<l&&(l=w)}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]="1ddb0411-5fdd-56af-a524-0f6830c288a5")}catch{}})();function Po(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Vn(e){return et.includes(e)}function jp(e){return e.filter(t=>!Vn(t))}function pl(e){let t=e.trim().toLowerCase();return t.length===0?null:Oc[t]??null}function Up(e){let t=Po([...e].map(i=>i.toLowerCase())),n=[],r=[];for(let i of t){let s=pl(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:Po(n),legacy_aliases:o}}function kI(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let n=pl(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 et){let a=Dt(t,s,r);a!==null&&a<i&&(i=a,o=s)}return o}function zp(e,t,n){let r=et.join(","),o=kI(n)??"none";return`extension_capability_unknown:${e}:${t}:${n}:allowed=${r}:suggested=${o}`}function Hp(e,t,n){let r=n.map(o=>`${o.alias}>${o.target}`).join(",");return`extension_capability_legacy_alias:${e}:${t}:aliases=${r}`}function _l(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(m=>m.trim()).filter(m=>m.length>0),l=pl(o),u=(s==="none"?void 0:s)??l??void 0;return{layer:a,name:r,capability:o,allowed_capabilities:c,capability_contract_version:ns,suggested_capability:u,suggestion_source:u?l===u?"legacy_alias":"nearest_match":void 0,legacy_alias_target:l??void 0}}function gl(e){let t=/^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(e.trim());if(!t)return[];let[,n,r,o]=t,i=n,s=[...et],a=[];for(let c of o.split(",")){let[l,d]=c.split(">"),u=l?.trim(),f=d?.trim().toLowerCase();!u||!f||!Vn(f)||a.push({layer:i,name:r,capability:u,allowed_capabilities:s,capability_contract_version:ns,suggested_capability:f,suggestion_source:"legacy_alias",legacy_alias_target:f})}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]="8ea4597b-6a2b-5061-b490-d8aff3fbe7aa")}catch{}})();function ut(e){return typeof e!="string"?"":e.trim().toLowerCase()}function V(e){return new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))}function EI(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 $r(e){return new Set((e??[]).map(t=>EI(t)).filter(t=>t.length>0))}function qp(e){let t=ut(e);return os.includes(t)?t:"off"}function Gp(e){let t=ut(e);return is.includes(t)?t:"off"}function Lo(e){let t=ut(e);return ss.includes(t)?t:"none"}function hl(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return Mm.includes(t)?t:void 0}function Bp(e){if(typeof e=="string"){let t=hl(e)??"block";return{global:t,project:t}}return typeof e=="object"&&e!==null&&!Array.isArray(e)?{global:hl(e.global)??"block",project:hl(e.project)??"block"}:{global:"block",project:"block"}}function SI(e){return e.global===e.project?e.global:{global:e.global,project:e.project}}function Z(e){return[...new Set(e)].sort((t,n)=>t.localeCompare(n))}function TI(e){let t=ut(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?Lo(e.sandbox_profile):void 0,allowedCapabilities:V(e.allowed_capabilities),blockedCapabilities:V(e.blocked_capabilities),allowedSurfaces:$r(e.allowed_surfaces),blockedSurfaces:$r(e.blocked_surfaces),allowedCommands:V(e.allowed_commands),blockedCommands:V(e.blocked_commands),allowedActions:V(e.allowed_actions),blockedActions:V(e.blocked_actions),allowedServices:V(e.allowed_services),blockedServices:V(e.blocked_services)}}}function Wp(e){let t=new Map;for(let n of e??[]){let r=TI(n);r&&t.set(r.name,r.normalized)}return t}function AI(e){let t=[],n=[...e.overridesByName.values()].sort((o,i)=>o.name.localeCompare(i.name));for(let o of Z([...e.allowedCapabilities,...e.blockedCapabilities]))Vn(o)||t.push(`extension_policy_unknown_capability:${o}`);for(let o of n)for(let i of Z([...o.allowedCapabilities,...o.blockedCapabilities]))Vn(i)||t.push(`extension_policy_unknown_capability:${o.name}:${i}`);let r=new Set(as);for(let o of Z([...e.allowedSurfaces,...e.blockedSurfaces]))r.has(o)||t.push(`extension_policy_unknown_surface:${o}`);for(let o of n)for(let i of Z([...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 Vp(e){let t=e.extensions?.policy??{},n=V(t.allowed_capabilities),r=V(t.blocked_capabilities),o=$r(t.allowed_surfaces),i=$r(t.blocked_surfaces),s=Wp(t.extension_overrides);return{mode:qp(t.mode),trustMode:Gp(t.trust_mode),pmMaxVersionExceededMode:Bp(t.pm_max_version_exceeded_mode),requireProvenance:t.require_provenance===!0,trustedExtensions:V(t.trusted_extensions),defaultSandboxProfile:Lo(t.default_sandbox_profile),allowedExtensions:V(t.allowed_extensions),blockedExtensions:V(t.blocked_extensions),allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,allowedCommands:V(t.allowed_commands),blockedCommands:V(t.blocked_commands),allowedActions:V(t.allowed_actions),blockedActions:V(t.blocked_actions),allowedServices:V(t.allowed_services),blockedServices:V(t.blocked_services),overridesByName:s,warnings:AI({allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,overridesByName:s})}}function Kp(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:Z(n.allowedCapabilities)}:{},...n.blockedCapabilities.size>0?{blocked_capabilities:Z(n.blockedCapabilities)}:{},...n.allowedSurfaces.size>0?{allowed_surfaces:Z(n.allowedSurfaces)}:{},...n.blockedSurfaces.size>0?{blocked_surfaces:Z(n.blockedSurfaces)}:{},...n.allowedCommands.size>0?{allowed_commands:Z(n.allowedCommands)}:{},...n.blockedCommands.size>0?{blocked_commands:Z(n.blockedCommands)}:{},...n.allowedActions.size>0?{allowed_actions:Z(n.allowedActions)}:{},...n.blockedActions.size>0?{blocked_actions:Z(n.blockedActions)}:{},...n.allowedServices.size>0?{allowed_services:Z(n.allowedServices)}:{},...n.blockedServices.size>0?{blocked_services:Z(n.blockedServices)}:{}}));return{mode:e.mode,trust_mode:e.trustMode,pm_max_version_exceeded_mode:SI(e.pmMaxVersionExceededMode),require_provenance:e.requireProvenance,trusted_extensions:Z(e.trustedExtensions),default_sandbox_profile:e.defaultSandboxProfile,allowed_extensions:Z(e.allowedExtensions),blocked_extensions:Z(e.blockedExtensions),allowed_capabilities:Z(e.allowedCapabilities),blocked_capabilities:Z(e.blockedCapabilities),allowed_surfaces:Z(e.allowedSurfaces),blocked_surfaces:Z(e.blockedSurfaces),allowed_commands:Z(e.allowedCommands),blocked_commands:Z(e.blockedCommands),allowed_actions:Z(e.allowedActions),blocked_actions:Z(e.blockedActions),allowed_services:Z(e.allowedServices),blocked_services:Z(e.blockedServices),extension_overrides:t}}function Jp(e){let t=Wp(e.extension_overrides);return{mode:qp(e.mode),trustMode:Gp(e.trust_mode),pmMaxVersionExceededMode:Bp(e.pm_max_version_exceeded_mode),requireProvenance:e.require_provenance===!0,trustedExtensions:V(e.trusted_extensions),defaultSandboxProfile:Lo(e.default_sandbox_profile),allowedExtensions:V(e.allowed_extensions),blockedExtensions:V(e.blocked_extensions),allowedCapabilities:V(e.allowed_capabilities),blockedCapabilities:V(e.blocked_capabilities),allowedSurfaces:$r(e.allowed_surfaces),blockedSurfaces:$r(e.blocked_surfaces),allowedCommands:V(e.allowed_commands),blockedCommands:V(e.blocked_commands),allowedActions:V(e.allowed_actions),blockedActions:V(e.blocked_actions),allowedServices:V(e.allowed_services),blockedServices:V(e.blocked_services),overridesByName:t,warnings:[]}}function kn(e,t){return e.overridesByName.get(ut(t))??null}function Fr(e,t,n,r,o){return t.has(n)?o:e.size>0&&!e.has(n)?r:null}function Yp(e,t,n){let r=n.trim().toLowerCase(),o=kn(e,t.name),i=o&&o.allowedCapabilities.size>0?o.allowedCapabilities:e.allowedCapabilities,s=new Set([...e.blockedCapabilities,...o?o.blockedCapabilities:[]]);return Fr(i,s,r,"capability_not_allowlisted","capability_blocked")}function II(e,t,n){let r=kn(e,t.name),o=r&&r.allowedSurfaces.size>0?r.allowedSurfaces:e.allowedSurfaces,i=new Set([...e.blockedSurfaces,...r?r.blockedSurfaces:[]]);return Fr(o,i,n,"surface_not_allowlisted","surface_blocked")}function CI(e,t,n){let r=he(n);if(r.length===0)return null;let o=kn(e,t.name),i=o&&o.allowedCommands.size>0?o.allowedCommands:e.allowedCommands,s=new Set([...e.blockedCommands,...o?o.blockedCommands:[]]);return Fr(i,s,r,"command_not_allowlisted","command_blocked")}function OI(e,t,n){let r=ut(n).replace(/\s+/g,"-");if(r.length===0)return null;let o=kn(e,t.name),i=o&&o.allowedActions.size>0?o.allowedActions:e.allowedActions,s=new Set([...e.blockedActions,...o?o.blockedActions:[]]);return Fr(i,s,r,"action_not_allowlisted","action_blocked")}function xI(e,t,n){let r=ut(n);if(r.length===0)return null;let o=kn(e,t.name),i=o&&o.allowedServices.size>0?o.allowedServices:e.allowedServices,s=new Set([...e.blockedServices,...o?o.blockedServices:[]]);return Fr(i,s,r,"service_not_allowlisted","service_blocked")}function RI(e,t){let n=ut(t.name);return kn(e,t.name)?.disabled===!0?"extension_override_disabled":Fr(e.allowedExtensions,e.blockedExtensions,n,"extension_not_allowlisted","extension_blocked")}function NI(e,t){if(e.trustMode==="off")return null;let n=kn(e,t.name),r=ut(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 DI(e,t){if(e.mode==="off")return null;let r=kn(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 Ms(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 Xp(e,t){if(e.mode==="off"&&e.trustMode==="off")return{allowed:!0,warning:null};let n=[],r=RI(e,t);r&&n.push({reason:r,scope:"extension",mode:e.mode});let o=NI(e,t);o&&n.push({reason:o,scope:"trust",mode:e.trustMode});let i=DI(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:Ms("blocked",s.scope,t,s.reason)};let a=n.find(c=>c.mode==="warn");return a?{allowed:!0,warning:Ms("violation",a.scope,t,a.reason)}:{allowed:!0,warning:null}}function Zp(e,t,n){if(e.mode==="off")return{allowed:!0,warning:null};let r=Yp(e,t,n);return r?{allowed:e.mode==="warn",warning:Ms(e.mode==="warn"?"violation":"blocked","capability",t,r,{capability:n.trim().toLowerCase()})}:{allowed:!0,warning:null}}function PI(e,t,n,r,o){let i=typeof r=="string"?Yp(e,t,r):null,s=II(e,t,n),a=o.command?CI(e,t,o.command):null,c=o.action?OI(e,t,o.action):null,l=o.service?xI(e,t,o.service):null;return i??s??a??c??l}function LI(e,t,n,r){let o={method:ut(e).replace(/\s+/g,"_"),surface:t};return n&&(o.capability=n),r.command&&(o.command=he(r.command)),r.action&&(o.action=ut(r.action).replace(/\s+/g,"-")),r.service&&(o.service=ut(r.service)),o}function Qp(e,t,n,r,o,i){if(e.mode==="off")return{allowed:!0,warning:null};let s=i??{},a=PI(e,t,n,o,s);if(!a)return{allowed:!0,warning:null};let c=Ms(e.mode==="warn"?"violation":"blocked","registration",t,a,LI(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]="01116a5e-62d1-591b-9fd0-84ac6e99f8d0")}catch{}})();function $s(){return{beforeCommand:[],beforeMutation:[],afterCommand:[],onWrite:[],onRead:[],onIndex:[]}}function yl(){return{overrides:[],handlers:[]}}function wl(){return{overrides:[]}}function bl(){return{overrides:[]}}function vl(){return{overrides:[]}}function kl(){return{overrides:[]}}function Fs(){return{commands:[],flags:[],item_fields:[],item_types:[],relationship_kinds:[],migrations:[],profiles:[],importers:[],exporters:[],search_providers:[],vector_store_adapters:[],assurance_providers:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c944ddd-e05b-5d8c-bdc5-7bc9677fa5d1")}catch{}})();var t_=100;function e_(e,t){let n=e[t];if(n!=null)return typeof n!="string"||n.trim().length===0?null:n.trim()}function MI(e){if(e==null)return;let t=yn(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 El(e,t){let n=e[t];return typeof n!="string"||n.trim().length===0?null:n.trim()}function n_(e){if(e!=null)return typeof e!="number"||!Number.isInteger(e)?null:e}function Kn(e){if(e!=null)return typeof e!="boolean"?null:e}function $I(e){let t=n_(e.priority);return t===void 0?t_:t}function FI(e){let t=e.sandbox_profile;if(t==null)return;if(typeof t!="string")return null;let n=Lo(t);return n!==t.trim().toLowerCase()?null:n}function Sl(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}function jI(e){if(e==null)return;let t=yn(e);if(!t)return null;let n=Sl(t.source),r=Sl(t.signature),o=Sl(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 UI(e){if(e==null)return;let t=yn(e);if(!t)return null;let n=Kn(t.fs_read),r=Kn(t.fs_write),o=Kn(t.network),i=Kn(t.env_read),s=Kn(t.env_write),a=Kn(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 zI(e){if(e==null)return{capabilities:[],legacy_aliases:[]};if(!Array.isArray(e)||e.some(n=>typeof n!="string"))return null;let t=Up(e);return{capabilities:t.capabilities,legacy_aliases:t.legacy_aliases}}function HI(e){if(e==null)return;let t=yn(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=>he(o)).filter(o=>o.length>0))].sort((o,i)=>o.localeCompare(i));return r.length>0?{commands:r}:void 0}function qI(e){let t=n_(e.manifest_version);if(t===null)return null;let n=e_(e,"pm_min_version");if(n===null)return null;let r=e_(e,"pm_max_version");if(r===null)return null;let o=MI(e.engines);if(o===null)return null;let i=Kn(e.trusted);if(i===null)return null;let s=FI(e);if(s===null)return null;let a=jI(e.provenance);if(a===null)return null;let c=UI(e.permissions);if(c===null)return null;let l=zI(e.capabilities);if(l===null)return null;let d=HI(e.activation);if(d===null)return null;let u=Mr(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 js(e){if(typeof e!="object"||e===null)return null;let t=e,n=El(t,"name");if(n===null)return null;let r=El(t,"version");if(r===null)return null;let o=El(t,"entry");if(o===null)return null;let i=$I(t);if(i===null)return null;let s=qI(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(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9961b408-ad70-5556-84dd-5ca1b1497c27")}catch{}})();var GI=new Set(["name","version","entry","priority","description","author","capabilities","manifest_version","pm_min_version","pm_max_version","engines","trusted","provenance","sandbox_profile","permissions","activation","contributions","legacy_capability_aliases"]);function BI(e){return{unknownKeys:Object.keys(e).filter(t=>!GI.has(t)).sort((t,n)=>t>n?1:-1),missingVersionBounds:e.pm_min_version===void 0&&e.pm_max_version===void 0}}function Tl(e){let t=BI(e),n=t.unknownKeys.map(r=>({code:"manifest_unknown_key",path:r,...r==="compatibility"?{suggested_key:"pm_min_version"}:{},message:r==="compatibility"?'Manifest key "compatibility" is ignored; declare the canonical pm_min_version and optional pm_max_version fields instead.':`Manifest key "${r}" is not part of the extension manifest contract and will be ignored.`}));return t.missingVersionBounds&&n.push({code:"no_version_bounds_declared",path:"$",suggested_key:"pm_min_version",message:"No canonical pm version bounds are declared; add pm_min_version so compatibility intent is explicit."}),{ok:n.length===0,findings:n}}function r_(e,t,n){return Tl(n).findings.map(r=>r.code==="manifest_unknown_key"?`extension_manifest_unknown_key:${e}:${t.name}:key=${r.path}${r.suggested_key?`:suggested=${r.suggested_key}`:""}`:`extension_manifest_no_version_bounds:${e}:${t.name}:suggested=pm_min_version`)}import{constants as En}from"node:os";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aaf1c6ce-1bc9-5974-a38f-7daf8e4e63cc")}catch{}})();var o_=new Map([["EACCES",{summary:"was denied filesystem permission",recovery:"Grant the required filesystem access, then retry.",category:"permission"}],["EDQUOT",{summary:"exceeded the filesystem quota",recovery:"Raise or reclaim the filesystem quota, then retry.",category:"capacity"}],["EMFILE",{summary:"exhausted the process file-descriptor limit",recovery:"Close unused file handles or raise the process limit, then retry.",category:"resource"}],["ENFILE",{summary:"exhausted the host file-descriptor limit",recovery:"Free host file descriptors or raise the host limit, then retry.",category:"resource"}],["ENOMEM",{summary:"ran out of available memory",recovery:"Free memory or reduce concurrent work, then retry.",category:"resource"}],["ENOSPC",{summary:"ran out of storage space",recovery:"Free storage on the filesystem holding the project, then retry.",category:"capacity"}],["EPERM",{summary:"was denied by the host permission policy",recovery:"Grant the required filesystem permission, then retry.",category:"permission"}],["EROFS",{summary:"targeted a read-only filesystem",recovery:"Use a writable project filesystem or remount it read-write, then retry.",category:"permission"}]]),WI=/^[a-z][a-z0-9_]{0,63}$/u,VI=new Map([[En.errno.EACCES,"EACCES"],[En.errno.EDQUOT,"EDQUOT"],[En.errno.EMFILE,"EMFILE"],[En.errno.ENFILE,"ENFILE"],[En.errno.ENOMEM,"ENOMEM"],[En.errno.ENOSPC,"ENOSPC"],[En.errno.EPERM,"EPERM"],[En.errno.EROFS,"EROFS"]].filter(([e])=>Number.isInteger(e))),KI={capacity:{code:"host_environment_capacity_fault"},permission:{code:"host_environment_permission_fault"},resource:{code:"host_environment_resource_fault"}};function JI(e){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.code=="string"&&o_.has(t.code)?t.code:typeof t.errno!="number"||!Number.isInteger(t.errno)?null:VI.get(Math.abs(t.errno))??null}function YI(e,t,n={}){let r=JI(e);if(r===null)return null;if(!WI.test(t))throw new g("Host environment operation labels must be bounded identifiers.",_.USAGE,{code:"host_environment_operation_invalid",field:"operation"});let o=o_.get(r);return new g(`Host filesystem operation ${t} ${o.summary}.`,_.GENERIC_FAILURE,{code:n.codes?.[o.category]??KI[o.category].code,reason:r,required:o.recovery,why:n.why??"The operating system refused a required project filesystem operation.",nextSteps:[o.recovery,...n.nextSteps??[]],...n.suggestedRetry?{recovery:{suggested_retry:n.suggestedRetry}}:{}})}async function Us(e,t,n={}){try{return await t()}catch(r){throw YI(r,e,n)??r}}import XI 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]="6d77d806-1c41-5235-b56b-802089979395")}catch{}})();async function i_(e,t){let n=Mo.dirname(t.manifest_path),r=Mo.relative(n,t.entry_path);if(r.startsWith("..")||Mo.isAbsolute(r))throw new Error(`Cannot snapshot extension entry outside its package directory: ${t.entry_path}`);let o=Mo.join(e,`${t.layer}-${t.directory.replace(/[^a-zA-Z0-9._-]/gu,"_")}`);return await Us("extension_module_graph_snapshot",()=>XI.cp(n,o,{recursive:!0,force:!0})),Mo.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]="092f2852-fa07-5f0f-8266-e9e2ca078cb6")}catch{}})();function s_(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 he(r)}))];return{run:t,...n.length>0?{commands:n}:{}}}function a_(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]="09098e5c-d021-53ae-96b5-c56394c304da")}catch{}})();var Al=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:"--output-cursor",value_name:"cursor"},{flag:"--output-row-contract"},{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"}]),Il=new Set(Al.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]="f823edae-b035-5547-8d81-2761a9a44034")}catch{}})();var ZI=/^--[a-z0-9][a-z0-9_-]*(?:[ =](?:<[^<>]+>|\[[^[\]]+\]))?$/;function QI(e){if(typeof e!="string")return null;let t=e.trim(),n=t.split(/[ =]/,1)[0];return Il.has(n)?"host_owned_flag_collision":ZI.test(t)?null:"malformed_long_flag"}function c_(e,t){let n=[e,t].find(i=>typeof i=="string"&&Il.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=QI(r);return o===null?null:{token:r,failure:o}}function l_(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]="31da4a5a-1e85-5d77-a09f-2736cc44d850")}catch{}})();var eC=Object.freeze({string:"string",number:"number",int:"number",integer:"number",float:"number",boolean:"boolean",bool:"boolean"});function Cl(e){return typeof e!="string"?null:eC[e.trim().toLowerCase()]??null}function Ol(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 d_(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())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="99f785c2-7c67-5564-9423-3439c41b4557")}catch{}})();var zs=pn;function Hs(e){let t=e.trim().toLowerCase();return zs.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 zs)if(Dt(t,r,n)!==null)return r;return null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="483b4197-5498-568a-bcc4-abd6999a07cc")}catch{}})();function f_(e){return e==="toon"||e==="json"}function m_(e){return kr.includes(e)}function Jn(e,t){if(typeof t!="function")throw new TypeError(`api.hooks.${e} requires a function handler`)}var p_=Symbol("extension_registration_trace");function Yt(e,t){let n=new TypeError(e);return Object.defineProperty(n,p_,{value:t,enumerable:!1,configurable:!1,writable:!1}),n}function __(e){return e instanceof Error?e[p_]:void 0}function $o(e){if(e===null)return null;if(Array.isArray(e))return e.map(t=>$o(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={};for(let r of Object.keys(t).sort((o,i)=>o.localeCompare(i)))n[r]=$o(t[r]);return n}return e}function Fo(e){if(Array.isArray(e))return e.map(t=>Fo(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]=Fo(t[r]);return n}return e}function jr(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return $o(t)}function jo(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return Fo(t)}function Uo(e,t){if(!Array.isArray(t))throw new TypeError(`${e} requires an array of object definitions`);return t.map(n=>jr(e,n))}function Ge(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 xl(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function Rl(e,t){return he(`${e} ${t}`)}function Ho(e,t){return Object.defineProperty(e,"runtime_definition",{value:t,enumerable:!1,writable:!1,configurable:!1}),e}var tC=new Set(["low","medium","high"]),nC=new Set(["number","string_set"]),rC=new Set(["string","number","boolean"]);function g_(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function oC(e,t,n){let r=`registerAssuranceMeasurementProvider provider.keys.${t}`,o=Te(r,n);if(!nC.has(String(o.value_type)))throw new TypeError(`${r}.value_type must be number or string_set`);if(fe(`${r}.description`,o.description),o.parameters===void 0)return;let i=Te(`${r}.parameters`,o.parameters);for(let[s,a]of Object.entries(i)){let c=`${r}.parameters.${s}`;g_(`${c}.name`,s);let l=Te(c,a);if(!rC.has(String(l.type)))throw new TypeError(`${c}.type must be string, number, or boolean`);$e(`${c}.required`,l.required),fe(`${c}.description`,l.description)}if(Object.keys(i).length>50)throw new TypeError(`assurance provider ${e} key ${t} exceeds 50 parameters`)}function h_(e){let t=Te("registerAssuranceMeasurementProvider provider",e),n=g_("registerAssuranceMeasurementProvider provider.id",t.id);if(!/^[a-z0-9][a-z0-9-]*$/u.test(n))throw new TypeError("registerAssuranceMeasurementProvider provider.id must be a stable lowercase id");if(!tC.has(String(t.cost_class)))throw new TypeError("registerAssuranceMeasurementProvider provider.cost_class must be low, medium, or high");if(typeof t.network!="boolean")throw new TypeError("registerAssuranceMeasurementProvider provider.network must be boolean");let r=Te("registerAssuranceMeasurementProvider provider.keys",t.keys);if(Object.keys(r).length===0)throw new TypeError("registerAssuranceMeasurementProvider provider.keys requires at least one key");for(let[o,i]of Object.entries(r)){if(!/^[a-z0-9][a-z0-9-]*$/u.test(o))throw new TypeError(`registerAssuranceMeasurementProvider provider key ${o} must be a stable lowercase id`);oC(n,o,i)}if(t.timeout_ms!==void 0&&(typeof t.timeout_ms!="number"||!Number.isInteger(t.timeout_ms)||t.timeout_ms<1||t.timeout_ms>3e5))throw new TypeError("registerAssuranceMeasurementProvider provider.timeout_ms must be an integer from 1 through 300000");if(typeof t.resolve!="function")throw new TypeError("registerAssuranceMeasurementProvider provider.resolve requires a function handler")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7640f483-6c14-56f1-bccd-cec9ca88e6ea")}catch{}})();var iC=new Set(["default","description","enabled","list","long","repeatable","required","short","type","value_name","value_type","visible"]);function qs(e,t){return Uo(e,t).map(n=>(n.repeatable===!0&&(n.list=!0),n))}function sC(e){return e.trim().toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function Nl(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=sC(t);if(n.length===0)throw new TypeError("registerCommand definition.action must contain alphanumeric characters");return n}function Dl(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=Te(`registerCommand definition.arguments[${r}]`,o),s=Ge(`registerCommand definition.arguments[${r}].name`,i.name);if($e(`registerCommand definition.arguments[${r}].required`,i.required),$e(`registerCommand definition.arguments[${r}].variadic`,i.variadic),fe(`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 Gs(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=Te(`registerFlags flags[${t}]`,n),o=Object.keys(r).filter(c=>!iC.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`);fe(`registerFlags flags[${t}].long`,i),fe(`registerFlags flags[${t}].short`,s);let a=c_(i,s);if(a!==null)throw new TypeError(`registerFlags flags[${t}] ${l_(a.token,a.failure)}`);if(fe(`registerFlags flags[${t}].value_name`,r.value_name),fe(`registerFlags flags[${t}].description`,r.description),$e(`registerFlags flags[${t}].required`,r.required),$e(`registerFlags flags[${t}].enabled`,r.enabled),$e(`registerFlags flags[${t}].visible`,r.visible),$e(`registerFlags flags[${t}].list`,r.list),$e(`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(Dp(`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.`);y_(`registerFlags flags[${t}]`,r)}}function y_(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=Cl(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?Ol(t.default):[t.default];for(let[i,s]of o.entries())if(!d_(s,r)){let a=o.length>1?`default[${i}]`:"default";throw new TypeError(`${e}.${a} (${JSON.stringify(s)}) is not coercible to ${r}.`)}}function w_(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=Te(`registerItemFields fields[${t}]`,n);Ge(`registerItemFields fields[${t}].name`,r.name);let o=Ge(`registerItemFields fields[${t}].type`,r.type);if(Hs(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: ${zs.join(", ")}).${s}`)}$e(`registerItemFields fields[${t}].optional`,r.optional)}}function aC(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=Te(i,o);Ge(`${i}.command`,s.command),Ge(`${i}.option`,s.option),$e(`${i}.enabled`,s.enabled),$e(`${i}.required`,s.required),$e(`${i}.visible`,s.visible)}}function cC(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=Te(i,o);Ge(`${i}.key`,s.key),Wn(`${i}.values`,s.values),$e(`${i}.required`,s.required),Wn(`${i}.aliases`,s.aliases)}}function b_(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=Te(r,n);Ge(`${r}.name`,o.name),fe(`${r}.folder`,o.folder),Wn(`${r}.aliases`,o.aliases),Wn(`${r}.required_create_fields`,o.required_create_fields),Wn(`${r}.required_create_repeatables`,o.required_create_repeatables),aC(t,o.command_option_policies),cC(t,o.options)}}function v_(e){let t=Te("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($e("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 k_=["types","statuses","fields","workflows","config","templates","packages"],lC={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 E_(e){let t=Te("registerProfile profile",e);if(Ge("registerProfile profile.name",t.name),Ge("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 k_){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`);lC[n]?.(`registerProfile profile.${n}[${o}]`,i)}}}}function S_(e){e.summary===void 0&&(e.summary="");for(let t of k_)e[t]===void 0&&(e[t]=[]);return 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]="09c95125-68bd-512b-bb09-c9ef0b2f676e")}catch{}})();function T_(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError("registerService ownership must be an object");if(Reflect.ownKeys(e).some(t=>t!=="passThrough"))throw new TypeError("registerService ownership supports only passThrough");if(e.passThrough!==void 0&&typeof e.passThrough!="boolean")throw new TypeError("registerService ownership.passThrough must be a boolean when provided");return e.passThrough===!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]="d2feae50-9a1e-54fa-98a3-df529be63069")}catch{}})();function A_(e){return typeof e=="string"?e:String(e)}function qo(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 Pl(e,t){let n=qo(e),r=qo(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 I_(e,t){if(e==null)return{kind:"pm_min_version",status:"absent",allowed:!0,required:"",current:t};let n=A_(e);if(typeof e!="string"||n.trim().length===0)return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:t};if(!qo(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=Pl(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 C_(e,t,n){if(e==null)return{kind:"pm_max_version",status:"absent",allowed:!0,required:"",current:t};let r=A_(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())||!qo(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=Pl(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]="736cf7fc-d4da-57ce-90d8-2432085dd2c8")}catch{}})();var dC=5e3;async function O_(e,t,n){let r=[];for(let o of e)try{await o.run(dt(n))}catch{r.push(`extension_hook_failed:${o.layer}:${o.name}:${t}`)}return r}function uC(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 g(`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 g(`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 g(s||`Extension mutation guard ${t.name} denied ${n}.`,_.CONFLICT,{code:o,reason:`${t.layer}:${t.name}`,nextSteps:[i]})}async function Ll(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:dt(t.before),after:t.after===null?null:dt(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 g(`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."]}))},dC),o.unref?.()})])}catch(i){throw i instanceof g?i:new g(`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)}uC(r,n,t.operation)}}async function Ml(e,t){return O_(e.onWrite,"onWrite",t)}async function $l(e,t){return O_(e.onRead,"onRead",t)}function fC(e){return{handled:!1,result:e.payload,warnings:[]}}function mC(e,t){return[...e.overrides].reverse().filter(n=>n.service===t)}function pC(e){return{service:e.service,command:e.command?he(e.command):void 0,args:e.args?dt(e.args):void 0,options:e.options?Lp(e.options):void 0,global:e.global?Mp(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:dt(e.payload)}}function _C(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 gC(e,t){return _C(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 hC(e,t,n){return t.service==="output_format"&&typeof e=="object"&&e!==null&&De(e,n.payload)}function yC(e,t,n){if(t.handled){if(e.passThrough===!0){n.push(`extension_service_pass_through_contract_violated:${e.layer}:${e.name}:${e.service}`);return}return{handled:!0,result:t.result,warnings:n}}}async function Fl(e,t){let n=mC(e,t.service);if(n.length===0)return fC(t);let r=[];for(let o of n)try{let i=pC(t),s=await Promise.resolve(o.run(i));if(hC(s,t,i)){r.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=yC(o,gC(s,t),r);if(a)return a}catch{r.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:t.payload,warnings: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]="3ee03fc2-5b71-508c-8524-d22104fa2194")}catch{}})();var x_=null,OC=Object.freeze(cs()),R_=0;function $_(e=Date.now()){return R_+=1,`${R_}-${e}`}function xC(e,t,n){return n.has(e)?!1:t.size===0?!0:t.has(e)}async function F_(e,t){let[n,r]=await Promise.all([Xn.realpath(e),Xn.realpath(t)]);return Nt(n,r)}function Bs(e,t=process.cwd()){return{global:Yn.join(Bn(t),"extensions"),project:Yn.join(e,"extensions")}}async function RC(e){try{return(await Xn.readdir(e,{withFileTypes:!0})).filter(n=>n.isDirectory()).map(n=>n.name).sort((n,r)=>n.localeCompare(r))}catch{return[]}}function NC(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 N_(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}async function DC(e){let t=new Map;try{let n=JSON.parse(await Xn.readFile(Yn.join(e,".managed-extensions.json"),"utf8")),o=yn(n)?.entries;if(!Array.isArray(o))return t;for(let i of o){if(typeof i!="object"||i===null)continue;let s=i,a=N_(s.source?.package),c=[s.source?.input,s.source?.name,a].map(u=>N_(u)).filter(u=>u!==void 0),l=Mr(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 D_(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 PC(e,t){let n=[...D_(e),...D_(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 P_(e,t,n,r,o){let i=[],s=[],a=[],c=await RC(t),l=await DC(t);for(let d of c){let u=await $C(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 LC(){return{diagnostics:[],warnings:[],candidates:[]}}function L_(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 MC(e,t,n,r,o,i,s){let a=r_(e,t,n);Array.isArray(t.legacy_capability_aliases)&&t.legacy_capability_aliases.length>0&&a.push(Hp(e,t.name,t.legacy_capability_aliases));for(let c of jp(t.capabilities))a.push(zp(e,t.name,c));return r?o||a.push(`extension_entry_missing:${e}:${t.name}`):a.push(`extension_entry_outside_extension:${e}:${t.name}`),i.warning&&a.push(i.warning),s.warning&&a.push(s.warning),a}async function $C(e,t,n,r,o,i,s){let a=Yn.join(t,n),c=Yn.join(a,"manifest.json");if(!await M(c))return L_(e,n,c,`extension_manifest_missing:${e}:${n}`);let l,d;try{let C=JSON.parse(await Xn.readFile(c,"utf8"));d=yn(C),l=js(C)}catch{d=null,l=null}if(!l||!d)return L_(e,n,c,`extension_manifest_invalid:${e}:${n}`);let u=Yn.resolve(a,l.entry),f=Nt(a,u),m=f?await M(u):!1,p=f&&m?await F_(a,u):f,w=xC(l.name,r,o),h=await jC(e,l),b=await UC(e,l,s),v=MC(e,l,d,p,m,h,b),I=p&&m&&h.allowed&&b.allowed,A=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:u,enabled:w,status:I?"ok":"warn"},warnings:v,candidate:Fp({layer:e,directory:n,manifestPath:c,entryPath:u,manifest:l,sourceIdentity:A,extensionReady:I,enabledForLoad:w})}}async function j_(e){let t=Bs(e.pmRoot,e.cwd??process.cwd()),n=Po(e.settings.extensions.enabled),r=Po(e.settings.extensions.disabled),o=Vp(e.settings),i=Kp(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?LC():await P_("global",t.global,s,a,o.pmMaxVersionExceededMode.global),l=await P_("project",t.project,s,a,o.pmMaxVersionExceededMode.project),d=[...o.warnings],u=PC(c.candidates,l.candidates),f=[];for(let m of u){let p={layer:m.layer,name:m.manifest.name,trusted:m.manifest.trusted===!0,provenanceVerified:m.manifest.provenance?.verified===!0,sandboxProfile:m.manifest.sandbox_profile,permissions:m.manifest.permissions&&typeof m.manifest.permissions=="object"?{fs_read:m.manifest.permissions.fs_read,fs_write:m.manifest.permissions.fs_write,network:m.manifest.permissions.network,env_read:m.manifest.permissions.env_read,env_write:m.manifest.permissions.env_write,process_spawn:m.manifest.permissions.process_spawn}:void 0},w=Xp(o,p);if(w.warning&&d.push(w.warning),!!w.allowed){for(let h of m.manifest.capabilities){let b=Zp(o,p,h);b.warning&&d.push(b.warning)}f.push(NC(m))}}return{disabled_by_flag:!1,roots:t,configured_enabled:n,configured_disabled:r,discovered:[...c.diagnostics,...l.diagnostics],effective:f,warnings:[...new Set([...c.warnings,...l.warnings,...d])],policy:i}}function Ul(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}async function FC(){try{let e=nt(import.meta.url,["../../.."]),t=await Xn.readFile(Yn.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 U_(){return x_??=FC(),x_}function z_(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 jC(e,t){if(t.pm_min_version===void 0)return{allowed:!0};let n=I_(t.pm_min_version,await U_()),r=z_(e,t,n);return r?{allowed:n.allowed,warning:r}:{allowed:n.allowed}}async function UC(e,t,n){if(t.pm_max_version===void 0)return{allowed:!0};let r=C_(t.pm_max_version,await U_(),n),o=z_(e,t,r);return o?{allowed:r.allowed,warning:o}:{allowed:r.allowed}}async function M_(e){try{let t=await Xn.stat(e);return`${Math.trunc(t.mtimeMs)}-${t.size}`}catch{return"missing"}}async function zC(e,t){let n=e.entry_path;t.module_graph_snapshot_root&&(n=await i_(t.module_graph_snapshot_root,e));let r=new URL(CC(n).href);if(!(t.cache_bust===!0||typeof t.reload_token=="string"))return r.href;let[i,s]=await Promise.all([M_(e.entry_path),M_(e.manifest_path)]),a=t.reload_token??$_();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 Go(e){let t=await j_(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 zC(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:Ul(a)})}return{...t,warnings:o,loaded:n,failed:r}}function HC(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 qC(e){let t=dp(e);return t?HC(t):null}function GC(e){if(!Array.isArray(e.capabilities))return null;let t=new Set;for(let n of e.capabilities){let r=n.trim().toLowerCase();Vn(r)&&t.add(r)}return t}function se(e,t,n){let r=GC(e);if(r!==null&&!r.has(t))throw Yt(`${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 BC(e){return Object.freeze({name:e.name,layer:e.layer,version:e.version,capabilities:Object.freeze((e.capabilities??[]).filter(t=>et.includes(t))),pm_min_version:e.pm_min_version,pm_max_version:e.pm_max_version,source_package:e.source_package})}function WC(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 jl=class{extension;hooks;#e;#n;#r;#o;#s;#a;#c;#l;#t;#i;#d;#u;constructor(t,n,r,o,i,s,a,c,l,d,u){this.#e=t,this.extension=BC(t),this.#n=WC(t),this.#r=n,this.#o=r,this.#s=o,this.#a=i,this.#c=s,this.#l=a,this.#t=c,this.#i=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.registerAssuranceMeasurementProvider=this.registerAssuranceMeasurementProvider.bind(this),this.hooks={beforeCommand:f=>this.registerBeforeCommand(f),beforeMutation:f=>this.registerBeforeMutation(f),afterCommand:f=>this.registerAfterCommand(f),onWrite:f=>this.registerOnWrite(f),onRead:f=>this.registerOnRead(f),onIndex:f=>this.registerOnIndex(f)}}allowRegistration(t,n,r,o){let i=Qp(this.#u,this.#n,t,n,r,o);return i.warning&&this.#i.push(i.warning),i.allowed}registerCommandTrace(t,n,r,o,i){return{method:"registerCommand",registration_index:t==="override"?this.#o.overrides.length:this.#o.handlers.length,command:n,expected_schema:r,received:$o(o),hint:i}}registerCommandOverride(t,n){let r=he(t);if(r.length===0)throw Yt("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 Yt(`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.#o.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.#i.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 Yt("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 Yt("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=he(t.name);if(n.length===0)throw Yt("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 Yt(`registerCommand requires a command definition run handler (command="${n}", registration_index=${o.registration_index})`,o)}try{Pp(t);let o=Nl(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=Do("registerCommand definition.examples",t.examples),c=Do("registerCommand definition.failure_hints",t.failure_hints),l=Dl(t.arguments);t.flags!==void 0&&(se(this.#e,"schema","registerCommand flags"),this.allowRegistration("schema.flags","registerCommand flags","schema")&&(Gs(t.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:qs("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??"standard",family:t.family??"extensions"};i&&(d.description=i),s&&(d.intent=s),this.#t.commands.push(d)}catch(o){let i=Ul(o),s=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }",t,i),a=Yt(`registerCommand definition metadata invalid (command="${n}", registration_index=${s.registration_index}): ${i}`,s);this.#i.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.#o.handlers.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}registerCommand(t,n){if(se(this.#e,"commands","registerCommand"),typeof t=="string"){this.registerCommandOverride(t,n);return}this.registerCommandDefinition(t)}registerParser(t,n){if(se(this.#e,"parser","registerParser"),!this.allowRegistration("parser.override","registerParser","parser"))return;let r=he(Ge("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(se(this.#e,"preflight","registerPreflight"),!this.allowRegistration("preflight.override","registerPreflight","preflight"))return;let n=s_(t);this.#a.overrides.push({layer:this.#e.layer,name:this.#e.name,...n})}registerService(t,n,r={}){se(this.#e,"services","registerService");let o=String(t).trim().toLowerCase();if(!m_(o))throw new TypeError(`registerService service must be one of: ${kr.join(", ")}`);this.allowRegistration("services.override","registerService","services",{service:o})&&(zo("registerService override",n),this.#c.overrides.push({layer:this.#e.layer,name:this.#e.name,service:o,run:n,...T_(r)?{passThrough:!0}:{}}))}registerRenderer(t,n,r={}){if(se(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(!f_(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 he(s)}))];this.#l.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(se(this.#e,"schema","registerFlags"),!this.allowRegistration("schema.flags","registerFlags","schema"))return;let r=he(Ge("registerFlags targetCommand",t));Gs(n);let o=qs("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(se(this.#e,"schema","registerItemFields"),!this.allowRegistration("schema.itemfields","registerItemFields","schema"))return;w_(t);let n=Uo("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(se(this.#e,"schema","registerItemTypes"),!this.allowRegistration("schema.itemtypes","registerItemTypes","schema"))return;b_(t);let n=Uo("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(se(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=qn();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(se(this.#e,"schema","registerMigration"),!this.allowRegistration("schema.migrations","registerMigration","schema"))return;v_(t);let n=jo("registerMigration definition",t);this.#t.migrations.push(Ho({layer:this.#e.layer,name:this.#e.name,definition:jr("registerMigration definition",t)},n))}registerProfile(t){if(se(this.#e,"schema","registerProfile"),!this.allowRegistration("schema.profiles","registerProfile","schema"))return;let n=Fo(t);E_(n),this.#t.profiles.push({layer:this.#e.layer,name:this.#e.name,profile:S_(n)})}registerImportExportCommandFlags(t,n,r){r.flags!==void 0&&(se(this.#e,"schema",`${t} options.flags`),this.allowRegistration("schema.flags",`${t} options.flags`,"schema")&&(Gs(r.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:qs(`${t} options.flags`,r.flags)})))}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},a=$p(t,s,r?.description!==void 0);fe(`${t} options.action`,s.action),fe(`${t} options.description`,s.description),fe(`${t} options.intent`,s.intent);let c=Nl(n,s.action),l=Do(`${t} options.examples`,s.examples),d=Do(`${t} options.failure_hints`,s.failure_hints),u=Dl(s.arguments);this.registerImportExportCommandFlags(t,n,s);let f={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:c,examples:l,failure_hints:d,arguments:u},m=s.description?.trim();m&&(f.description=m);let p=s.intent?.trim();return p&&(f.intent=p),this.#t.commands.push(f),a}registerImporter(t,n,r){if(se(this.#e,"importers","registerImporter"),!this.allowRegistration("importers.importer","registerImporter","importers"))return;let o=xl(Ge("registerImporter name",t));zo("registerImporter importer",n);let i=Rl(o,"import");this.applyImportExportCommandMetadata("registerImporter",i,r),this.#t.importers.push({layer:this.#e.layer,name:this.#e.name,importer:o}),this.#o.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async s=>n(ml(s,o,"import"))})}registerExporter(t,n,r){if(se(this.#e,"importers","registerExporter"),!this.allowRegistration("importers.exporter","registerExporter","importers"))return;let o=xl(Ge("registerExporter name",t));zo("registerExporter exporter",n);let i=Rl(o,"export"),s=this.applyImportExportCommandMetadata("registerExporter",i,r);this.#t.exporters.push({layer:this.#e.layer,name:this.#e.name,exporter:o,...s===void 0?{}:{output:s}}),this.#o.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async a=>{let c=await n(ml(a,o,"export"));return s?.receipt==="suppress"&&!il(c)?kp(c):c}})}registerSearchProvider(t){if(se(this.#e,"search","registerSearchProvider"),!this.allowRegistration("search.provider","registerSearchProvider","search"))return;let n=jo("registerSearchProvider provider",t);this.#t.search_providers.push(Ho({layer:this.#e.layer,name:this.#e.name,definition:jr("registerSearchProvider provider",t)},n))}registerVectorStoreAdapter(t){if(se(this.#e,"search","registerVectorStoreAdapter"),!this.allowRegistration("search.vectorstore","registerVectorStoreAdapter","search"))return;let n=jo("registerVectorStoreAdapter adapter",t);this.#t.vector_store_adapters.push(Ho({layer:this.#e.layer,name:this.#e.name,definition:jr("registerVectorStoreAdapter adapter",t)},n))}registerAssuranceMeasurementProvider(t){if(se(this.#e,"services","registerAssuranceMeasurementProvider"),!this.allowRegistration("services.assuranceprovider","registerAssuranceMeasurementProvider","services"))return;if(h_(t),t.network&&this.#e.permissions?.network!==!0)throw new TypeError("registerAssuranceMeasurementProvider network provider requires permissions.network=true");let n=jo("registerAssuranceMeasurementProvider provider",t);this.#t.assurance_providers.push(Ho({layer:this.#e.layer,name:this.#e.name,network_permission:this.#e.permissions?.network===!0,definition:jr("registerAssuranceMeasurementProvider provider",t)},n))}registerBeforeCommand(t){se(this.#e,"hooks","api.hooks.beforeCommand"),this.allowRegistration("hooks.beforecommand","api.hooks.beforeCommand","hooks")&&(Jn("beforeCommand",t),this.#r.beforeCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerBeforeMutation(t){se(this.#e,"hooks","api.hooks.beforeMutation"),this.allowRegistration("hooks.beforemutation","api.hooks.beforeMutation","hooks")&&(Jn("beforeMutation",t),this.#r.beforeMutation.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerAfterCommand(t){se(this.#e,"hooks","api.hooks.afterCommand"),this.allowRegistration("hooks.aftercommand","api.hooks.afterCommand","hooks")&&(Jn("afterCommand",t),this.#r.afterCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnWrite(t){se(this.#e,"hooks","api.hooks.onWrite"),this.allowRegistration("hooks.onwrite","api.hooks.onWrite","hooks")&&(Jn("onWrite",t),this.#r.onWrite.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnRead(t){se(this.#e,"hooks","api.hooks.onRead"),this.allowRegistration("hooks.onread","api.hooks.onRead","hooks")&&(Jn("onRead",t),this.#r.onRead.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnIndex(t){se(this.#e,"hooks","api.hooks.onIndex"),this.allowRegistration("hooks.onindex","api.hooks.onIndex","hooks")&&(Jn("onIndex",t),this.#r.onIndex.push({layer:this.#e.layer,name:this.#e.name,run:t}))}};function VC(e,t,n,r,o,i,s,a,c,l,d){return new jl(e,t,n,r,o,i,s,a,c,l,d)}function KC(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,...(e.assurance_providers?.length??0)>0?{assurance_providers:e.assurance_providers.length}:{}}}function JC(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 YC(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 XC(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 ZC=new Set(["output_format"]);function QC(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||ZC.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 Bo(e){let t=Jp(e.policy??OC),n=$s(),r=yl(),o=wl(),i=bl(),s=vl(),a=kl(),c=Fs(),l=[],d=[];for(let m of e.loaded){let p=qC(m.module);if(!p)continue;let w=l.length,h=Np({hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c});try{await p.activate(VC(m,n,r,o,i,s,a,c,d,l,t)),l.length>w&&(h(),d.push(`extension_activation_rolled_back:${m.layer}:${m.name}`))}catch(b){h(),d.push(`extension_activate_failed:${m.layer}:${m.name}`);let v=__(b);l.push({layer:m.layer,name:m.name,entry_path:m.entry_path,error:Ul(b),trace:v})}}let u=[...JC(r),...XC(o),...a_(i),...QC(s),...YC(a)],f=[...new Set([...d,...u])];return{hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c,failed:l,warnings:f,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:KC(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]="b2cf7f56-432d-5c74-ba0f-248c42a97255")}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]="07566a0b-2917-5ed8-828a-d811ae48dfaf")}catch{}})();function Ws(){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]="71c44385-0182-50f8-8e05-3aeebfe57ad9")}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]="40b169fc-3c5f-5b2a-8fed-a9388b07d9f7")}catch{}})();var Vs=null;var r0=null;var o0=null,i0=null;var s0=[],a0=new n0;function Sn(){return a0.getStore()}var c0=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Y(){let e=Sn();return e?e.registrations:o0}function zl(e){if(!e)return;let t=Sn();t?t.affectedItems.push(e):s0.push(e)}function Ks(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"||c0.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function Ae(e){let t=Sn(),n=t?t.hooks:Vs;return n?Ml(n,e):[]}async function Hl(e){let t=Sn(),n=t?t.hooks:Vs;n&&await Ll(n,e)}async function Fe(e){let t=Sn(),n=t?t.hooks:Vs;return n?$l(n,e):[]}function Js(){let e=Sn();return((e?e.hooks:Vs)?.onRead?.length??0)>0}function l0(e,t){let n=Sn(),r=n?n.commandContext:i0;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 Pt(e,t){let n=Sn(),r=n?n.services:r0;return r?Fl(r,l0(e,t)):{handled:!1,result:t,warnings:[]}}import{AsyncLocalStorage as td}from"node:async_hooks";import{createHash as $0}from"node:crypto";import Ke from"node:fs";import lg from"node:os";import er from"node:path";import{AsyncLocalStorage as d0}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]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var u0=new d0,H_=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Ys(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Wo(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=Ys(n.id,128),o=Ys(n.parent_id,128);if(r===void 0||!H_.test(r)||o!==void 0&&!H_.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=Ys(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function ql(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=Ys(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function f0(e,t,n){let r=u0.getStore(),o=ql({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Wo(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={...ql(r?.provenance),...o,...ql(e?.provenance)},a=Wo(e?.episode,!1)??Wo(n,!1)??i??Wo(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 Xs(e,t){return f0(e.session_context,t,e.client_info?.episode)??{}}import{existsSync as Yl,promises as NV,readFileSync as N0}from"node:fs";import Zt from"node:path";import{constants as m0}from"node:fs";import ft from"node:fs/promises";import Qs from"node:path";import{randomUUID as Gl}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]="f0484213-41f9-583e-bd0f-f85e507682b2")}catch{}})();function p0(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.token,a=n.created_at,c=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||s!==void 0&&(typeof s!="string"||s.trim().length===0)||typeof a!="string"||typeof c!="number"||!Number.isFinite(c)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,...typeof s=="string"?{token:s}:{},created_at:a,ttl_seconds:c},warnings:[]}}async function Zs(e,t=!0){try{let n=await ft.readFile(e,"utf8");return t&&await Fe({path:e,scope:"project"}),p0(n)}catch(n){return F(n)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function Xt(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function _0(e,t,n=process.platform){if(Xt(e,"EEXIST"))return!0;if(!Xt(e,"EPERM")&&!Xt(e,"EACCES")&&!Xt(e,"EBUSY"))return!1;try{return await ft.lstat(t),!0}catch(r){if(n!=="win32"||!F(r)&&!Xt(r,"EPERM")&&!Xt(r,"EACCES")&&!Xt(r,"EBUSY"))return!1}try{return await ft.access(Qs.dirname(t),m0.W_OK),!0}catch{return!1}}async function K_(e,t){await Ae({path:e,scope:"project",op:t})}function g0(e,t,n,r=Gl()){return{id:e,pid:process.pid,owner:t,token:r,created_at:j(),ttl_seconds:n}}async function h0(e,t,n,r,o){await ft.mkdir(Qs.dirname(e),{recursive:!0});let i=await Jl(e,t);if(i===null)throw Object.assign(new Error("Lock initialization is contended"),{code:"EEXIST"});try{let s=await ft.open(e,"wx");try{try{await s.writeFile(`${JSON.stringify(g0(t,n,r,o),null,2)}
10
+ `}function Ve(e,t={}){let n=Me(e);if(n)throw new g(`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=hp(t);return r==="toon"?lA(e,o,t):cA(e,o,t)}function Pr(e,t={}){return(t.format??"toon")==="toon"?uA(e,t):dA(e,t)}function lt(e,t={}){return{metadata:Oo(e.metadata,t),body:Nr(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]="82c79093-2a40-5b4c-8d41-637b0ae03c4f")}catch{}})();import ah 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]="da97ee67-b4ef-5eed-94d4-03c9b3b494be")}catch{}})();var fA=["append","cancel","claim","close","comment_add","comment_edit","comment_delete","create","delete","docs_add","docs_remove","files_add","files_remove","files_discover","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","import","improvement_observe","learning_add","learning_edit","learning_delete","normalize","note_add","note_edit","note_delete","plan_create_metadata","plan_create_initial_step","plan_add_step","plan_reorder_step","plan_remove_step","plan_link_step","plan_unlink_step","plan_append_decision","plan_append_discovery","plan_append_validation","plan_resume","plan_approve","plan_materialize","plan_update_step","plan_complete_step","plan_block_step","policy_approve","policy_refused","release","reopen","restore","schema_migration","schema_migration_reference","test_run_track","tests_add","tests_remove","tests_update","update","update_audit","update_ownership_bypass","workspace_snapshot_restore","extension_migrations_apply","merge_reconcile"],mA=["history:author-acknowledge","settings:write","init:type_preset","templates:save","profile:apply-types","profile:apply-statuses","profile:apply-fields","profile:apply-config","schema:add-type","schema:remove-type","schema:add-status","schema:remove-status","schema:add-field","schema:remove-field","schema:apply-preset","schema:infer-types","schema:policy-put","schema:policy-remove","schema:policy-mode","assurance:bundle:apply","assurance:gate:verdict","telemetry:install_id","telemetry:first_run_prompt","telemetry:clear","item_format:auto_select_default"],bp={"init:type-preset":"init:type_preset"},pA=["^config:(?:set|unset):[a-z][a-z0-9_.:-]*$","^assurance:(?:measurement|invariant|gate):(?:put|remove)$","^schema_(?:rename_type|rename_status|remap_status|rename_field|remove_type|remove_status|remove_field)(?:_compensate)?$","^extension:[a-z][a-z0-9_-]*:[a-z][a-z0-9_]*$"];var jG=new Set([...fA,...mA]),UG=pA.map(e=>new RegExp(e,"u"));function _A(e){return Object.hasOwn(bp,e)?bp[e]:e}function xs(e){let t=_A(e),n=t.indexOf(":"),r=n<0?t:t.slice(0,n),o=n<0||n<t.length-1&&!/[\s\p{C}]/u.test(t.slice(n+1));if(/^[a-z][a-z0-9]*(?:[_.-][a-z0-9]+)*$/u.test(r)&&o)return t;throw new TypeError("History operation must use lowercase alphanumeric segments with an optional non-whitespace colon-suffixed retry key.")}import nh from"node:fs/promises";import Fx from"node:path";import{AsyncLocalStorage as n0}from"node:async_hooks";import Xn from"node:fs/promises";import Yn from"node:path";import{pathToFileURL as CC}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]="4c00e38a-27df-5315-91e8-d35c03ed6bf3")}catch{}})();var tl=[{kind:"blocked_by",direction:"directed",traversal:"ordering",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",traversal:"ordering",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",traversal:"hierarchy",outcomeTraversal:"source_to_target",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",traversal:"hierarchy",outcomeTraversal:"target_to_source",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",traversal:"association",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["related_to"],compatibilityVersion:1,allowSelf:!1},{kind:"discovered_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"incident_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"implements",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"recurs_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,temporalOrder:"source_after_target",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"verifies",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"supersedes",direction:"directed",traversal:"semantic",outcomeTraversal:"both",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"supersedable",compatibilityVersion:1,allowSelf:!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]="b658dc99-fdbb-5d10-9dd6-5f5c263bf48b")}catch{}})();function Rs(e){return e.trim().toLowerCase().replaceAll("-","_")}function gA(e){if(e===void 0)return;let t=Rs(e);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid inverse relationship kind: ${e}`);return t}function nl(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)nl(n,t);return Object.freeze(e)}for(let n of Object.values(e))nl(n,t);return Object.freeze(e)}function hA(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 yA(e,t){if(e.temporalOrder!==void 0&&e.temporalOrder!=="source_after_target")throw new TypeError(`Invalid relationship temporal order for ${t}`);if(e.direction!=="directed"&&e.temporalOrder!==void 0)throw new TypeError(`Undirected relationship kind cannot declare temporal order: ${t}`)}function wA(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 bA(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=Rs(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 vA(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}`);if(e.traversal!==void 0&&!["hierarchy","ordering","semantic","association"].includes(e.traversal))throw new TypeError(`Invalid relationship traversal family for ${t}`);if(e.outcomeTraversal!==void 0&&!["source_to_target","target_to_source","both"].includes(e.outcomeTraversal))throw new TypeError(`Invalid outcome traversal for ${t}`);if(e.direction==="undirected"&&e.outcomeTraversal!==void 0&&e.outcomeTraversal!=="both")throw new TypeError(`Undirected relationship kind cannot declare directional outcome traversal: ${t}`)}function kA(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}`)}function EA(e){return e.traversal?e.traversal:e.ordering?"ordering":e.hierarchy?"hierarchy":e.direction==="undirected"?"association":"semantic"}var rl=class{#e=new Map;#n=new Map;constructor(t=tl){for(let n of t)this.register(n)}register(t){let n=bA(t);if(vA(t,n),kA(t,n),hA(t,n),yA(t,n),wA(t,n),this.#e.has(n)||this.#n.has(n))throw new TypeError(`Relationship kind already registered: ${n}`);let r=gA(t.inverse),o=[...new Set((t.aliases??[]).map(Rs))].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,traversal:EA(t),hierarchy:t.hierarchy??!1,hierarchyDirection:t.hierarchy?t.hierarchyDirection??"source_parent":void 0,inverse:r,aliases:Object.freeze(o),payloadSchema:t.payloadSchema?nl(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=Rs(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 qn(){return new rl}var BG=qn();import vp 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]="83a29a06-1b0b-52e6-9617-2fc03861cb18")}catch{}})();function Nt(e,t){let n=vp.relative(e,t);return n.length===0?!0:!n.startsWith("..")&&!vp.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]="de5f8d66-b9dc-555c-a52f-33b1b5368be3")}catch{}})();var SA="__pm_suppress_host_output",ol="@unbrained/pm-cli:suppress-host-output:v1";function kp(e){return e===void 0?{__pm_suppress_host_output:ol}:{__pm_suppress_host_output:ol,result:e}}function il(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&e[SA]===ol}import Ns from"node:fs";import Gn from"node:path";import{fileURLToPath as TA}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]="dc77f588-e4ea-59fc-908f-51b41114430a")}catch{}})();var AA="@unbrained/pm-cli";function IA(e){try{return JSON.parse(Ns.readFileSync(e,"utf8")).name===AA}catch{return!1}}function CA(e){let t=Ns.existsSync(e)&&Ns.statSync(e).isDirectory()?Gn.resolve(e):Gn.dirname(Gn.resolve(e));for(;;){let n=Gn.join(t,"package.json");if(Ns.existsSync(n)&&IA(n))return t;let r=Gn.dirname(t);if(r===t)return;t=r}}function nt(e,t=[]){let n=TA(e),r=CA(n);return r||Gn.resolve(Gn.dirname(n),...t)}import{readFileSync as iI,readdirSync as aB,statSync as sI}from"node:fs";import aI from"node:os";import ue from"node:path";import DA 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]="7647d826-e562-5f8e-86b2-2e40d8714b4d")}catch{}})();function bn(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function OA(e){let t=e.key.trim();if(t.length===0)return null;let n=bn(e.aliases),r=e.description?.trim();return{key:t,values:bn(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 xA=e=>e,Sp=e=>{let t=e.trim().toLowerCase();return t==="create"||t==="update"?t:null};function RA(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 NA(e,t){let n=new Map;for(let r of e??[]){let o=RA(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 Ep(e,t){return t?bn(e):void 0}function sl(e){let t=e?.trim();return t&&t.length>0?t:void 0}function al(e){if(e===void 0||e==="agent"||e==="human"||e==="gate")return e;throw new Error("Item type execution_role must be agent, human, or gate.")}function Ds(e,t={}){let n=t.resolvePolicyCommand??xA,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=bn(e.aliases),l=(e.options??[]).map(u=>OA(u)).filter(u=>u!==null).sort((u,f)=>u.key.localeCompare(f.key)),d=NA(e.command_option_policies,n);return{name:r,description:sl(e.description),default_status:sl(e.default_status),...e.execution_role===void 0?{}:{execution_role:al(e.execution_role)},folder:sl(e.folder),aliases:c.length>0?c:void 0,required_create_fields:Ep(e.required_create_fields,o),required_create_repeatables:Ep(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]="69ea08ca-3793-51d7-a971-95abf442028f")}catch{}})();var PA=Object.freeze({decision:"human",milestone:"gate"}),LA=["title","description","status","priority","tags","body","deadline","estimatedMinutes","acceptanceCriteria","author","message","assignee"],MA=["dep","comment","note","learning","file","test","doc"],cl=["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"],$A=["title","description","type","status","priority","tags","body",...cl,"author","message","dep","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],FA=["title","description","body","status","closeReason","priority","type","tags",...cl,"author","message","comment","note","learning","file","test","doc","reminder","event","typeOption","field","ownershipMetadataBypass","ownershipDependencyBypass","force"],Ap={"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"},jA={...Ap},UA={...Ap},Ip=[["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"]],Cp=[["comment","--comment"],["note","--note"],["learning","--learning"],["file","--file"],["test","--test"],["doc","--doc"],["reminder","--reminder"],["event","--event"],["typeOption","--type-option"]];function Op(e){return Object.fromEntries(e)}var zA=Op([["title","--title"],["description","--description"],["type","--type"],["status","--status"],["priority","--priority"],["tags","--tags"],["body","--body"],...Ip,["author","--author"],["message","--message"],["dep","--dep"],...Cp]),HA=Op([["title","--title"],["description","--description"],["body","--body"],["status","--status"],["closeReason","--close-reason"],["priority","--priority"],["type","--type"],["tags","--tags"],...Ip,...Cp,["author","--author"],["message","--message"],["force","--force"]]);function qA(e){return e.trim().replace(/^--+/,"").toLowerCase()}function GA(e){return e==="create"?$A:FA}function BA(e){return e==="create"?jA:UA}function ll(e,t){let n=qA(t);if(n.length===0)return;let r=BA(e)[n];return r||GA(e).find(o=>o.toLowerCase()===n)}function dl(e,t){return(e==="create"?zA:HA)[t]??`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function Ro(e){let t=WA(e);return t.length===0?"items":t.endsWith("s")?t:`${t}s`}function ul(e){let t=e.trim(),r=t.replaceAll("\\","/").replace(/^\/+/,""),o=DA.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 WA(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 VA(e){return Ds(e,{resolvePolicyCommand:Sp})}function xo(e,t){let n=e[t];return Array.isArray(n)?n.filter(r=>typeof r=="string"):void 0}function KA(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:xo(t,"values")??[],required:t.required===void 0?void 0:!!t.required,aliases:xo(t,"aliases"),description:typeof t.description=="string"?t.description:void 0}}function JA(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 YA(e){if(Array.isArray(e.options))return e.options.map(t=>KA(t)).filter(t=>t!==null)}function XA(e){if(Array.isArray(e.command_option_policies))return e.command_option_policies.map(t=>JA(t)).filter(t=>t!==null)}function ZA(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,execution_role:al(t.execution_role),folder:r,aliases:xo(t,"aliases"),required_create_fields:xo(t,"required_create_fields"),required_create_repeatables:xo(t,"required_create_repeatables"),options:YA(t),command_option_policies:XA(t)}}function QA(e,t){return e.required_create_fields?bn(e.required_create_fields):t?.required_create_fields??[]}function eI(e,t){return e.required_create_repeatables?bn(e.required_create_repeatables):t?.required_create_repeatables??[]}function tI(e,t){return e.options?e.options:t?.options?[...t.options]:[]}function nI(e,t){return e.command_option_policies?e.command_option_policies:t?.command_option_policies?[...t.command_option_policies]:[]}function rI(e,t){let n=t?.name??e.name,r=e.description??t?.description,o=e.default_status??t?.default_status,i=ul(e.folder??t?.folder??Ro(n)),s={name:n,execution_role:e.execution_role,folder:i,aliases:bn([...t?.aliases??[],...e.aliases??[]]),required_create_fields:QA(e,t),required_create_repeatables:eI(e,t),options:tI(e,t),command_option_policies:nI(e,t)};return r&&(s.description=r),o&&(s.default_status=o),s}function Tp(e,t){for(let n of e){let r=VA(n);if(!r)continue;let o=r.name.toLowerCase(),i=t.get(o);t.set(o,rI({...r,execution_role:r.execution_role??i?.execution_role},i))}}function oI(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=ZA(o);i&&t.push(i)}}return t}function ge(e,t=null){let n=new Map;for(let c of jm)n.set(c.toLowerCase(),{name:c,execution_role:PA[c.toLowerCase()]??"agent",folder:He[c],aliases:[],required_create_fields:[...LA],required_create_repeatables:[...MA],options:[],command_option_policies:[]});Tp(e.item_types?.definitions??[],n),Tp(oI(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(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="124443e3-a20b-5fd6-a1d9-e4a09b17dc4a")}catch{}})();var cI={json_markdown:".md",toon:".toon"},lI={".md":"json_markdown",".toon":"toon"};var Jt=[".md",".toon"];function Ps(e){try{return sI(e),!0}catch{return!1}}function dI(e){try{let t=JSON.parse(iI(e,"utf8"));return typeof t!="object"||t===null||Array.isArray(t)?!1:"id_prefix"in t||"item_format"in t}catch{return!1}}function uI(e){let t=ue.resolve(e);for(;;){let n=ue.join(t,Er),r=ue.join(n,ls);if(Ps(r))return n;let o=ue.join(t,ls);if(Ps(o)&&dI(o))return t;let i=ue.dirname(t);if(i===t)return;t=i}}function xp(e){return uI(e)??ue.resolve(e,Er)}function X(e,t){let n=process.env.PM_PATH,r=t?.trim()||n?.trim();if(r){let o=ue.resolve(e,r);if(!Ps(Se(o))){let i=ue.join(o,Er);if(Ps(Se(i)))return i}return o}return xp(e)}function vn(e){let t=ue.resolve(e),n=ue.dirname(t);return ue.basename(t)==="pm"&&ue.basename(n)===".agents"?ue.dirname(n):t}function Bn(e){let t=process.env.PM_GLOBAL_PATH?.trim(),n=t&&t.length>0?t:ue.join(aI.homedir(),".pm-cli");return ue.resolve(e,n)}function Se(e){return ue.join(e,ls)}function fI(e,t,n=He){let r=n[t]??Ro(t);return ue.join(e,r)}function No(e,t,n,r="toon",o=He){return ue.join(fI(e,t,o),`${n}${cI[r]}`)}function Lr(e){let t=e.replaceAll("\\","/"),n=ue.posix.extname(t).toLowerCase();return lI[n]??null}function ve(e,t){if(!/^(?!\.{1,2}$)[^/\\:\0]+$/.test(t))throw new g("Invalid history item id: expected a single filename.",_.USAGE);return ue.join(e,"history",`${t}.jsonl`)}function Rp(e,t){return ue.join(e,"locks",`${t}.lock`)}function Ls(e){return ue.join(e,"runtime")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="44b86710-2d6f-57fe-912d-1cf7482a4f86")}catch{}})();function Np(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]="aade6230-a71b-5cbc-bc9d-022f20e521bd")}catch{}})();function Te(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return t}function $e(e,t){if(t!==void 0&&typeof t!="boolean")throw new TypeError(`${e} must be a boolean when provided`)}function fe(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 Dp(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 Wn(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 Do(e,t){if(Wn(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]="34536eba-0f92-5599-a807-5b39b000e733")}catch{}})();var fl=Object.freeze(["workspace","intake","context","lifecycle","evidence","graph","quality","automation","extensions","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]="ca48c32a-e4e0-5da5-b9cb-b1f713646bad")}catch{}})();var mI=new Set(fl);function pI(e){if(e!==void 0&&!mI.has(String(e)))throw new Error(`registerCommand definition.family must be one of: ${fl.join(", ")}`)}function Pp(e){fe("registerCommand definition.action",e.action),fe("registerCommand definition.family",e.family),fe("registerCommand definition.description",e.description),fe("registerCommand definition.intent",e.intent),fe("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");pI(e.family)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="720821b8-d18d-5a10-a8b9-f16073dc1fc4")}catch{}})();function he(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function _I(){return{json:!1,quiet:!1,noExtensions:!1,profile:!1}}function Lp(e){return e?dt(e):{}}function Mp(e){return e?dt(e):_I()}function dt(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]="7d96fda0-1f2f-5e34-99da-c3c5ad0f53f6")}catch{}})();var gI=new Set(["commands","command_overrides","command_handlers","flag_commands","parser_overrides"]),hI=["commands","command_overrides","command_handlers","hooks","flag_commands","item_types","item_fields","relationship_kinds","migrations","profiles","importers","exporters","search_providers","vector_store_adapters","assurance_providers","parser_overrides","service_overrides","renderer_overrides"];function yI(e,t){for(let n of hI){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=>gI.has(n)?he(i):i.trim()).filter(i=>i.length>0);t[n]=[...new Set(o)].sort((i,s)=>i.localeCompare(s))}return!0}function wI(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=>he(o)))].sort((o,i)=>o.localeCompare(i)),result_discriminator:r.result_discriminator})}return t.sort((n,r)=>n.format.localeCompare(r.format))}function bI(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=>he(o)))].filter(o=>o.length>0).sort((o,i)=>o.localeCompare(i))})}return t}function Mr(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(!yI(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=wI(o);if(s===null)return null;n.renderer_ownership=s}let i=t.preflight_ownership;if(i!==void 0){let s=bI(i);if(s===null)return null;n.preflight_ownership=s}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]="1729c469-5e9c-5d8c-8137-ec506c9fd31b")}catch{}})();function vI(e){let t=Te("registerExporter options.output",e),n=new Set(["channel","receipt","media_type"]);for(let r of Object.keys(t))if(!n.has(r))throw new TypeError(`registerExporter options.output contains unsupported field ${r}`);if(t.channel!=="stdout"&&t.channel!=="file")throw new TypeError("registerExporter options.output.channel must be stdout|file");if(t.receipt!==void 0&&t.receipt!=="suppress"&&t.receipt!=="render")throw new TypeError("registerExporter options.output.receipt must be suppress|render");if(t.channel==="stdout"&&t.receipt==="render")throw new TypeError("registerExporter stdout artifacts cannot render a host receipt");return fe("registerExporter options.output.media_type",t.media_type),{channel:t.channel,receipt:t.receipt??(t.channel==="stdout"?"suppress":"render"),...typeof t.media_type=="string"?{media_type:t.media_type}:{}}}function $p(e,t,n){if(e==="registerImporter"&&t.output!==void 0)throw new TypeError("registerImporter options.output is exporter-only");if(e!=="registerExporter"||t.output===void 0)return;let r=vI(t.output);return!n&&r.channel==="stdout"&&(t.description="Export items with the registered extension adapter. Artifact bytes are written exclusively to stdout and the host receipt is suppressed by default."),r}function ml(e,t,n){return{registration:t,action:n,command:e.command,args:dt(e.args),options:dt(e.options),global:dt(e.global),pm_root:e.pm_root,source_workspace_root:e.source_workspace_root,repo_root:e.repo_root,pm_root_rel:e.pm_root_rel,...e.sdk===void 0?{}:{sdk:e.sdk}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b35d854e-5025-5999-abe7-507f1a25647f")}catch{}})();function Fp(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]="de2a2a0e-8a39-5569-9af9-cbf557bce2a9")}catch{}})();function Dt(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,f=i[d-1]+u,m=s[d-1]+1,p=i[d]+1,w=Math.min(f,m,p);c>1&&d>1&&e[c-1]===t[d-2]&&e[c-2]===t[d-1]&&(w=Math.min(w,o[d-2]+1)),s[d]=w,w<l&&(l=w)}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]="1ddb0411-5fdd-56af-a524-0f6830c288a5")}catch{}})();function Po(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Vn(e){return et.includes(e)}function jp(e){return e.filter(t=>!Vn(t))}function pl(e){let t=e.trim().toLowerCase();return t.length===0?null:Oc[t]??null}function Up(e){let t=Po([...e].map(i=>i.toLowerCase())),n=[],r=[];for(let i of t){let s=pl(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:Po(n),legacy_aliases:o}}function kI(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let n=pl(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 et){let a=Dt(t,s,r);a!==null&&a<i&&(i=a,o=s)}return o}function zp(e,t,n){let r=et.join(","),o=kI(n)??"none";return`extension_capability_unknown:${e}:${t}:${n}:allowed=${r}:suggested=${o}`}function Hp(e,t,n){let r=n.map(o=>`${o.alias}>${o.target}`).join(",");return`extension_capability_legacy_alias:${e}:${t}:aliases=${r}`}function _l(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(m=>m.trim()).filter(m=>m.length>0),l=pl(o),u=(s==="none"?void 0:s)??l??void 0;return{layer:a,name:r,capability:o,allowed_capabilities:c,capability_contract_version:ns,suggested_capability:u,suggestion_source:u?l===u?"legacy_alias":"nearest_match":void 0,legacy_alias_target:l??void 0}}function gl(e){let t=/^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(e.trim());if(!t)return[];let[,n,r,o]=t,i=n,s=[...et],a=[];for(let c of o.split(",")){let[l,d]=c.split(">"),u=l?.trim(),f=d?.trim().toLowerCase();!u||!f||!Vn(f)||a.push({layer:i,name:r,capability:u,allowed_capabilities:s,capability_contract_version:ns,suggested_capability:f,suggestion_source:"legacy_alias",legacy_alias_target:f})}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]="8ea4597b-6a2b-5061-b490-d8aff3fbe7aa")}catch{}})();function ut(e){return typeof e!="string"?"":e.trim().toLowerCase()}function V(e){return new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))}function EI(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 $r(e){return new Set((e??[]).map(t=>EI(t)).filter(t=>t.length>0))}function qp(e){let t=ut(e);return os.includes(t)?t:"off"}function Gp(e){let t=ut(e);return is.includes(t)?t:"off"}function Lo(e){let t=ut(e);return ss.includes(t)?t:"none"}function hl(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return Mm.includes(t)?t:void 0}function Bp(e){if(typeof e=="string"){let t=hl(e)??"block";return{global:t,project:t}}return typeof e=="object"&&e!==null&&!Array.isArray(e)?{global:hl(e.global)??"block",project:hl(e.project)??"block"}:{global:"block",project:"block"}}function SI(e){return e.global===e.project?e.global:{global:e.global,project:e.project}}function Z(e){return[...new Set(e)].sort((t,n)=>t.localeCompare(n))}function TI(e){let t=ut(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?Lo(e.sandbox_profile):void 0,allowedCapabilities:V(e.allowed_capabilities),blockedCapabilities:V(e.blocked_capabilities),allowedSurfaces:$r(e.allowed_surfaces),blockedSurfaces:$r(e.blocked_surfaces),allowedCommands:V(e.allowed_commands),blockedCommands:V(e.blocked_commands),allowedActions:V(e.allowed_actions),blockedActions:V(e.blocked_actions),allowedServices:V(e.allowed_services),blockedServices:V(e.blocked_services)}}}function Wp(e){let t=new Map;for(let n of e??[]){let r=TI(n);r&&t.set(r.name,r.normalized)}return t}function AI(e){let t=[],n=[...e.overridesByName.values()].sort((o,i)=>o.name.localeCompare(i.name));for(let o of Z([...e.allowedCapabilities,...e.blockedCapabilities]))Vn(o)||t.push(`extension_policy_unknown_capability:${o}`);for(let o of n)for(let i of Z([...o.allowedCapabilities,...o.blockedCapabilities]))Vn(i)||t.push(`extension_policy_unknown_capability:${o.name}:${i}`);let r=new Set(as);for(let o of Z([...e.allowedSurfaces,...e.blockedSurfaces]))r.has(o)||t.push(`extension_policy_unknown_surface:${o}`);for(let o of n)for(let i of Z([...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 Vp(e){let t=e.extensions?.policy??{},n=V(t.allowed_capabilities),r=V(t.blocked_capabilities),o=$r(t.allowed_surfaces),i=$r(t.blocked_surfaces),s=Wp(t.extension_overrides);return{mode:qp(t.mode),trustMode:Gp(t.trust_mode),pmMaxVersionExceededMode:Bp(t.pm_max_version_exceeded_mode),requireProvenance:t.require_provenance===!0,trustedExtensions:V(t.trusted_extensions),defaultSandboxProfile:Lo(t.default_sandbox_profile),allowedExtensions:V(t.allowed_extensions),blockedExtensions:V(t.blocked_extensions),allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,allowedCommands:V(t.allowed_commands),blockedCommands:V(t.blocked_commands),allowedActions:V(t.allowed_actions),blockedActions:V(t.blocked_actions),allowedServices:V(t.allowed_services),blockedServices:V(t.blocked_services),overridesByName:s,warnings:AI({allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,overridesByName:s})}}function Kp(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:Z(n.allowedCapabilities)}:{},...n.blockedCapabilities.size>0?{blocked_capabilities:Z(n.blockedCapabilities)}:{},...n.allowedSurfaces.size>0?{allowed_surfaces:Z(n.allowedSurfaces)}:{},...n.blockedSurfaces.size>0?{blocked_surfaces:Z(n.blockedSurfaces)}:{},...n.allowedCommands.size>0?{allowed_commands:Z(n.allowedCommands)}:{},...n.blockedCommands.size>0?{blocked_commands:Z(n.blockedCommands)}:{},...n.allowedActions.size>0?{allowed_actions:Z(n.allowedActions)}:{},...n.blockedActions.size>0?{blocked_actions:Z(n.blockedActions)}:{},...n.allowedServices.size>0?{allowed_services:Z(n.allowedServices)}:{},...n.blockedServices.size>0?{blocked_services:Z(n.blockedServices)}:{}}));return{mode:e.mode,trust_mode:e.trustMode,pm_max_version_exceeded_mode:SI(e.pmMaxVersionExceededMode),require_provenance:e.requireProvenance,trusted_extensions:Z(e.trustedExtensions),default_sandbox_profile:e.defaultSandboxProfile,allowed_extensions:Z(e.allowedExtensions),blocked_extensions:Z(e.blockedExtensions),allowed_capabilities:Z(e.allowedCapabilities),blocked_capabilities:Z(e.blockedCapabilities),allowed_surfaces:Z(e.allowedSurfaces),blocked_surfaces:Z(e.blockedSurfaces),allowed_commands:Z(e.allowedCommands),blocked_commands:Z(e.blockedCommands),allowed_actions:Z(e.allowedActions),blocked_actions:Z(e.blockedActions),allowed_services:Z(e.allowedServices),blocked_services:Z(e.blockedServices),extension_overrides:t}}function Jp(e){let t=Wp(e.extension_overrides);return{mode:qp(e.mode),trustMode:Gp(e.trust_mode),pmMaxVersionExceededMode:Bp(e.pm_max_version_exceeded_mode),requireProvenance:e.require_provenance===!0,trustedExtensions:V(e.trusted_extensions),defaultSandboxProfile:Lo(e.default_sandbox_profile),allowedExtensions:V(e.allowed_extensions),blockedExtensions:V(e.blocked_extensions),allowedCapabilities:V(e.allowed_capabilities),blockedCapabilities:V(e.blocked_capabilities),allowedSurfaces:$r(e.allowed_surfaces),blockedSurfaces:$r(e.blocked_surfaces),allowedCommands:V(e.allowed_commands),blockedCommands:V(e.blocked_commands),allowedActions:V(e.allowed_actions),blockedActions:V(e.blocked_actions),allowedServices:V(e.allowed_services),blockedServices:V(e.blocked_services),overridesByName:t,warnings:[]}}function kn(e,t){return e.overridesByName.get(ut(t))??null}function Fr(e,t,n,r,o){return t.has(n)?o:e.size>0&&!e.has(n)?r:null}function Yp(e,t,n){let r=n.trim().toLowerCase(),o=kn(e,t.name),i=o&&o.allowedCapabilities.size>0?o.allowedCapabilities:e.allowedCapabilities,s=new Set([...e.blockedCapabilities,...o?o.blockedCapabilities:[]]);return Fr(i,s,r,"capability_not_allowlisted","capability_blocked")}function II(e,t,n){let r=kn(e,t.name),o=r&&r.allowedSurfaces.size>0?r.allowedSurfaces:e.allowedSurfaces,i=new Set([...e.blockedSurfaces,...r?r.blockedSurfaces:[]]);return Fr(o,i,n,"surface_not_allowlisted","surface_blocked")}function CI(e,t,n){let r=he(n);if(r.length===0)return null;let o=kn(e,t.name),i=o&&o.allowedCommands.size>0?o.allowedCommands:e.allowedCommands,s=new Set([...e.blockedCommands,...o?o.blockedCommands:[]]);return Fr(i,s,r,"command_not_allowlisted","command_blocked")}function OI(e,t,n){let r=ut(n).replace(/\s+/g,"-");if(r.length===0)return null;let o=kn(e,t.name),i=o&&o.allowedActions.size>0?o.allowedActions:e.allowedActions,s=new Set([...e.blockedActions,...o?o.blockedActions:[]]);return Fr(i,s,r,"action_not_allowlisted","action_blocked")}function xI(e,t,n){let r=ut(n);if(r.length===0)return null;let o=kn(e,t.name),i=o&&o.allowedServices.size>0?o.allowedServices:e.allowedServices,s=new Set([...e.blockedServices,...o?o.blockedServices:[]]);return Fr(i,s,r,"service_not_allowlisted","service_blocked")}function RI(e,t){let n=ut(t.name);return kn(e,t.name)?.disabled===!0?"extension_override_disabled":Fr(e.allowedExtensions,e.blockedExtensions,n,"extension_not_allowlisted","extension_blocked")}function NI(e,t){if(e.trustMode==="off")return null;let n=kn(e,t.name),r=ut(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 DI(e,t){if(e.mode==="off")return null;let r=kn(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 Ms(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 Xp(e,t){if(e.mode==="off"&&e.trustMode==="off")return{allowed:!0,warning:null};let n=[],r=RI(e,t);r&&n.push({reason:r,scope:"extension",mode:e.mode});let o=NI(e,t);o&&n.push({reason:o,scope:"trust",mode:e.trustMode});let i=DI(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:Ms("blocked",s.scope,t,s.reason)};let a=n.find(c=>c.mode==="warn");return a?{allowed:!0,warning:Ms("violation",a.scope,t,a.reason)}:{allowed:!0,warning:null}}function Zp(e,t,n){if(e.mode==="off")return{allowed:!0,warning:null};let r=Yp(e,t,n);return r?{allowed:e.mode==="warn",warning:Ms(e.mode==="warn"?"violation":"blocked","capability",t,r,{capability:n.trim().toLowerCase()})}:{allowed:!0,warning:null}}function PI(e,t,n,r,o){let i=typeof r=="string"?Yp(e,t,r):null,s=II(e,t,n),a=o.command?CI(e,t,o.command):null,c=o.action?OI(e,t,o.action):null,l=o.service?xI(e,t,o.service):null;return i??s??a??c??l}function LI(e,t,n,r){let o={method:ut(e).replace(/\s+/g,"_"),surface:t};return n&&(o.capability=n),r.command&&(o.command=he(r.command)),r.action&&(o.action=ut(r.action).replace(/\s+/g,"-")),r.service&&(o.service=ut(r.service)),o}function Qp(e,t,n,r,o,i){if(e.mode==="off")return{allowed:!0,warning:null};let s=i??{},a=PI(e,t,n,o,s);if(!a)return{allowed:!0,warning:null};let c=Ms(e.mode==="warn"?"violation":"blocked","registration",t,a,LI(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]="01116a5e-62d1-591b-9fd0-84ac6e99f8d0")}catch{}})();function $s(){return{beforeCommand:[],beforeMutation:[],afterCommand:[],onWrite:[],onRead:[],onIndex:[]}}function yl(){return{overrides:[],handlers:[]}}function wl(){return{overrides:[]}}function bl(){return{overrides:[]}}function vl(){return{overrides:[]}}function kl(){return{overrides:[]}}function Fs(){return{commands:[],flags:[],item_fields:[],item_types:[],relationship_kinds:[],migrations:[],profiles:[],importers:[],exporters:[],search_providers:[],vector_store_adapters:[],assurance_providers:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c944ddd-e05b-5d8c-bdc5-7bc9677fa5d1")}catch{}})();var t_=100;function e_(e,t){let n=e[t];if(n!=null)return typeof n!="string"||n.trim().length===0?null:n.trim()}function MI(e){if(e==null)return;let t=yn(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 El(e,t){let n=e[t];return typeof n!="string"||n.trim().length===0?null:n.trim()}function n_(e){if(e!=null)return typeof e!="number"||!Number.isInteger(e)?null:e}function Kn(e){if(e!=null)return typeof e!="boolean"?null:e}function $I(e){let t=n_(e.priority);return t===void 0?t_:t}function FI(e){let t=e.sandbox_profile;if(t==null)return;if(typeof t!="string")return null;let n=Lo(t);return n!==t.trim().toLowerCase()?null:n}function Sl(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}function jI(e){if(e==null)return;let t=yn(e);if(!t)return null;let n=Sl(t.source),r=Sl(t.signature),o=Sl(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 UI(e){if(e==null)return;let t=yn(e);if(!t)return null;let n=Kn(t.fs_read),r=Kn(t.fs_write),o=Kn(t.network),i=Kn(t.env_read),s=Kn(t.env_write),a=Kn(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 zI(e){if(e==null)return{capabilities:[],legacy_aliases:[]};if(!Array.isArray(e)||e.some(n=>typeof n!="string"))return null;let t=Up(e);return{capabilities:t.capabilities,legacy_aliases:t.legacy_aliases}}function HI(e){if(e==null)return;let t=yn(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=>he(o)).filter(o=>o.length>0))].sort((o,i)=>o.localeCompare(i));return r.length>0?{commands:r}:void 0}function qI(e){let t=n_(e.manifest_version);if(t===null)return null;let n=e_(e,"pm_min_version");if(n===null)return null;let r=e_(e,"pm_max_version");if(r===null)return null;let o=MI(e.engines);if(o===null)return null;let i=Kn(e.trusted);if(i===null)return null;let s=FI(e);if(s===null)return null;let a=jI(e.provenance);if(a===null)return null;let c=UI(e.permissions);if(c===null)return null;let l=zI(e.capabilities);if(l===null)return null;let d=HI(e.activation);if(d===null)return null;let u=Mr(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 js(e){if(typeof e!="object"||e===null)return null;let t=e,n=El(t,"name");if(n===null)return null;let r=El(t,"version");if(r===null)return null;let o=El(t,"entry");if(o===null)return null;let i=$I(t);if(i===null)return null;let s=qI(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(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9961b408-ad70-5556-84dd-5ca1b1497c27")}catch{}})();var GI=new Set(["name","version","entry","priority","description","author","capabilities","manifest_version","pm_min_version","pm_max_version","engines","trusted","provenance","sandbox_profile","permissions","activation","contributions","legacy_capability_aliases"]);function BI(e){return{unknownKeys:Object.keys(e).filter(t=>!GI.has(t)).sort((t,n)=>t>n?1:-1),missingVersionBounds:e.pm_min_version===void 0&&e.pm_max_version===void 0}}function Tl(e){let t=BI(e),n=t.unknownKeys.map(r=>({code:"manifest_unknown_key",path:r,...r==="compatibility"?{suggested_key:"pm_min_version"}:{},message:r==="compatibility"?'Manifest key "compatibility" is ignored; declare the canonical pm_min_version and optional pm_max_version fields instead.':`Manifest key "${r}" is not part of the extension manifest contract and will be ignored.`}));return t.missingVersionBounds&&n.push({code:"no_version_bounds_declared",path:"$",suggested_key:"pm_min_version",message:"No canonical pm version bounds are declared; add pm_min_version so compatibility intent is explicit."}),{ok:n.length===0,findings:n}}function r_(e,t,n){return Tl(n).findings.map(r=>r.code==="manifest_unknown_key"?`extension_manifest_unknown_key:${e}:${t.name}:key=${r.path}${r.suggested_key?`:suggested=${r.suggested_key}`:""}`:`extension_manifest_no_version_bounds:${e}:${t.name}:suggested=pm_min_version`)}import{constants as En}from"node:os";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aaf1c6ce-1bc9-5974-a38f-7daf8e4e63cc")}catch{}})();var o_=new Map([["EACCES",{summary:"was denied filesystem permission",recovery:"Grant the required filesystem access, then retry.",category:"permission"}],["EDQUOT",{summary:"exceeded the filesystem quota",recovery:"Raise or reclaim the filesystem quota, then retry.",category:"capacity"}],["EMFILE",{summary:"exhausted the process file-descriptor limit",recovery:"Close unused file handles or raise the process limit, then retry.",category:"resource"}],["ENFILE",{summary:"exhausted the host file-descriptor limit",recovery:"Free host file descriptors or raise the host limit, then retry.",category:"resource"}],["ENOMEM",{summary:"ran out of available memory",recovery:"Free memory or reduce concurrent work, then retry.",category:"resource"}],["ENOSPC",{summary:"ran out of storage space",recovery:"Free storage on the filesystem holding the project, then retry.",category:"capacity"}],["EPERM",{summary:"was denied by the host permission policy",recovery:"Grant the required filesystem permission, then retry.",category:"permission"}],["EROFS",{summary:"targeted a read-only filesystem",recovery:"Use a writable project filesystem or remount it read-write, then retry.",category:"permission"}]]),WI=/^[a-z][a-z0-9_]{0,63}$/u,VI=new Map([[En.errno.EACCES,"EACCES"],[En.errno.EDQUOT,"EDQUOT"],[En.errno.EMFILE,"EMFILE"],[En.errno.ENFILE,"ENFILE"],[En.errno.ENOMEM,"ENOMEM"],[En.errno.ENOSPC,"ENOSPC"],[En.errno.EPERM,"EPERM"],[En.errno.EROFS,"EROFS"]].filter(([e])=>Number.isInteger(e))),KI={capacity:{code:"host_environment_capacity_fault"},permission:{code:"host_environment_permission_fault"},resource:{code:"host_environment_resource_fault"}};function JI(e){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.code=="string"&&o_.has(t.code)?t.code:typeof t.errno!="number"||!Number.isInteger(t.errno)?null:VI.get(Math.abs(t.errno))??null}function YI(e,t,n={}){let r=JI(e);if(r===null)return null;if(!WI.test(t))throw new g("Host environment operation labels must be bounded identifiers.",_.USAGE,{code:"host_environment_operation_invalid",field:"operation"});let o=o_.get(r);return new g(`Host filesystem operation ${t} ${o.summary}.`,_.GENERIC_FAILURE,{code:n.codes?.[o.category]??KI[o.category].code,reason:r,required:o.recovery,why:n.why??"The operating system refused a required project filesystem operation.",nextSteps:[o.recovery,...n.nextSteps??[]],...n.suggestedRetry?{recovery:{suggested_retry:n.suggestedRetry}}:{}})}async function Us(e,t,n={}){try{return await t()}catch(r){throw YI(r,e,n)??r}}import XI 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]="6d77d806-1c41-5235-b56b-802089979395")}catch{}})();async function i_(e,t){let n=Mo.dirname(t.manifest_path),r=Mo.relative(n,t.entry_path);if(r.startsWith("..")||Mo.isAbsolute(r))throw new Error(`Cannot snapshot extension entry outside its package directory: ${t.entry_path}`);let o=Mo.join(e,`${t.layer}-${t.directory.replace(/[^a-zA-Z0-9._-]/gu,"_")}`);return await Us("extension_module_graph_snapshot",()=>XI.cp(n,o,{recursive:!0,force:!0})),Mo.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]="092f2852-fa07-5f0f-8266-e9e2ca078cb6")}catch{}})();function s_(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 he(r)}))];return{run:t,...n.length>0?{commands:n}:{}}}function a_(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]="09098e5c-d021-53ae-96b5-c56394c304da")}catch{}})();var Al=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:"--output-cursor",value_name:"cursor"},{flag:"--output-row-contract"},{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"}]),Il=new Set(Al.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]="f823edae-b035-5547-8d81-2761a9a44034")}catch{}})();var ZI=/^--[a-z0-9][a-z0-9_-]*(?:[ =](?:<[^<>]+>|\[[^[\]]+\]))?$/;function QI(e){if(typeof e!="string")return null;let t=e.trim(),n=t.split(/[ =]/,1)[0];return Il.has(n)?"host_owned_flag_collision":ZI.test(t)?null:"malformed_long_flag"}function c_(e,t){let n=[e,t].find(i=>typeof i=="string"&&Il.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=QI(r);return o===null?null:{token:r,failure:o}}function l_(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]="31da4a5a-1e85-5d77-a09f-2736cc44d850")}catch{}})();var eC=Object.freeze({string:"string",number:"number",int:"number",integer:"number",float:"number",boolean:"boolean",bool:"boolean"});function Cl(e){return typeof e!="string"?null:eC[e.trim().toLowerCase()]??null}function Ol(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 d_(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())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="99f785c2-7c67-5564-9423-3439c41b4557")}catch{}})();var zs=pn;function Hs(e){let t=e.trim().toLowerCase();return zs.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 zs)if(Dt(t,r,n)!==null)return r;return null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="483b4197-5498-568a-bcc4-abd6999a07cc")}catch{}})();function f_(e){return e==="toon"||e==="json"}function m_(e){return kr.includes(e)}function Jn(e,t){if(typeof t!="function")throw new TypeError(`api.hooks.${e} requires a function handler`)}var p_=Symbol("extension_registration_trace");function Yt(e,t){let n=new TypeError(e);return Object.defineProperty(n,p_,{value:t,enumerable:!1,configurable:!1,writable:!1}),n}function __(e){return e instanceof Error?e[p_]:void 0}function $o(e){if(e===null)return null;if(Array.isArray(e))return e.map(t=>$o(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={};for(let r of Object.keys(t).sort((o,i)=>o.localeCompare(i)))n[r]=$o(t[r]);return n}return e}function Fo(e){if(Array.isArray(e))return e.map(t=>Fo(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]=Fo(t[r]);return n}return e}function jr(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return $o(t)}function jo(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return Fo(t)}function Uo(e,t){if(!Array.isArray(t))throw new TypeError(`${e} requires an array of object definitions`);return t.map(n=>jr(e,n))}function Ge(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 xl(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function Rl(e,t){return he(`${e} ${t}`)}function Ho(e,t){return Object.defineProperty(e,"runtime_definition",{value:t,enumerable:!1,writable:!1,configurable:!1}),e}var tC=new Set(["low","medium","high"]),nC=new Set(["number","string_set"]),rC=new Set(["string","number","boolean"]);function g_(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function oC(e,t,n){let r=`registerAssuranceMeasurementProvider provider.keys.${t}`,o=Te(r,n);if(!nC.has(String(o.value_type)))throw new TypeError(`${r}.value_type must be number or string_set`);if(fe(`${r}.description`,o.description),o.parameters===void 0)return;let i=Te(`${r}.parameters`,o.parameters);for(let[s,a]of Object.entries(i)){let c=`${r}.parameters.${s}`;g_(`${c}.name`,s);let l=Te(c,a);if(!rC.has(String(l.type)))throw new TypeError(`${c}.type must be string, number, or boolean`);$e(`${c}.required`,l.required),fe(`${c}.description`,l.description)}if(Object.keys(i).length>50)throw new TypeError(`assurance provider ${e} key ${t} exceeds 50 parameters`)}function h_(e){let t=Te("registerAssuranceMeasurementProvider provider",e),n=g_("registerAssuranceMeasurementProvider provider.id",t.id);if(!/^[a-z0-9][a-z0-9-]*$/u.test(n))throw new TypeError("registerAssuranceMeasurementProvider provider.id must be a stable lowercase id");if(!tC.has(String(t.cost_class)))throw new TypeError("registerAssuranceMeasurementProvider provider.cost_class must be low, medium, or high");if(typeof t.network!="boolean")throw new TypeError("registerAssuranceMeasurementProvider provider.network must be boolean");let r=Te("registerAssuranceMeasurementProvider provider.keys",t.keys);if(Object.keys(r).length===0)throw new TypeError("registerAssuranceMeasurementProvider provider.keys requires at least one key");for(let[o,i]of Object.entries(r)){if(!/^[a-z0-9][a-z0-9-]*$/u.test(o))throw new TypeError(`registerAssuranceMeasurementProvider provider key ${o} must be a stable lowercase id`);oC(n,o,i)}if(t.timeout_ms!==void 0&&(typeof t.timeout_ms!="number"||!Number.isInteger(t.timeout_ms)||t.timeout_ms<1||t.timeout_ms>3e5))throw new TypeError("registerAssuranceMeasurementProvider provider.timeout_ms must be an integer from 1 through 300000");if(typeof t.resolve!="function")throw new TypeError("registerAssuranceMeasurementProvider provider.resolve requires a function handler")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7640f483-6c14-56f1-bccd-cec9ca88e6ea")}catch{}})();var iC=new Set(["default","description","enabled","list","long","repeatable","required","short","type","value_name","value_type","visible"]);function qs(e,t){return Uo(e,t).map(n=>(n.repeatable===!0&&(n.list=!0),n))}function sC(e){return e.trim().toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function Nl(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=sC(t);if(n.length===0)throw new TypeError("registerCommand definition.action must contain alphanumeric characters");return n}function Dl(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=Te(`registerCommand definition.arguments[${r}]`,o),s=Ge(`registerCommand definition.arguments[${r}].name`,i.name);if($e(`registerCommand definition.arguments[${r}].required`,i.required),$e(`registerCommand definition.arguments[${r}].variadic`,i.variadic),fe(`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 Gs(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=Te(`registerFlags flags[${t}]`,n),o=Object.keys(r).filter(c=>!iC.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`);fe(`registerFlags flags[${t}].long`,i),fe(`registerFlags flags[${t}].short`,s);let a=c_(i,s);if(a!==null)throw new TypeError(`registerFlags flags[${t}] ${l_(a.token,a.failure)}`);if(fe(`registerFlags flags[${t}].value_name`,r.value_name),fe(`registerFlags flags[${t}].description`,r.description),$e(`registerFlags flags[${t}].required`,r.required),$e(`registerFlags flags[${t}].enabled`,r.enabled),$e(`registerFlags flags[${t}].visible`,r.visible),$e(`registerFlags flags[${t}].list`,r.list),$e(`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(Dp(`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.`);y_(`registerFlags flags[${t}]`,r)}}function y_(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=Cl(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?Ol(t.default):[t.default];for(let[i,s]of o.entries())if(!d_(s,r)){let a=o.length>1?`default[${i}]`:"default";throw new TypeError(`${e}.${a} (${JSON.stringify(s)}) is not coercible to ${r}.`)}}function w_(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=Te(`registerItemFields fields[${t}]`,n);Ge(`registerItemFields fields[${t}].name`,r.name);let o=Ge(`registerItemFields fields[${t}].type`,r.type);if(Hs(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: ${zs.join(", ")}).${s}`)}$e(`registerItemFields fields[${t}].optional`,r.optional)}}function aC(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=Te(i,o);Ge(`${i}.command`,s.command),Ge(`${i}.option`,s.option),$e(`${i}.enabled`,s.enabled),$e(`${i}.required`,s.required),$e(`${i}.visible`,s.visible)}}function cC(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=Te(i,o);Ge(`${i}.key`,s.key),Wn(`${i}.values`,s.values),$e(`${i}.required`,s.required),Wn(`${i}.aliases`,s.aliases)}}function b_(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=Te(r,n);Ge(`${r}.name`,o.name),fe(`${r}.folder`,o.folder),Wn(`${r}.aliases`,o.aliases),Wn(`${r}.required_create_fields`,o.required_create_fields),Wn(`${r}.required_create_repeatables`,o.required_create_repeatables),aC(t,o.command_option_policies),cC(t,o.options)}}function v_(e){let t=Te("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($e("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 k_=["types","statuses","fields","workflows","config","templates","packages"],lC={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 E_(e){let t=Te("registerProfile profile",e);if(Ge("registerProfile profile.name",t.name),Ge("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 k_){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`);lC[n]?.(`registerProfile profile.${n}[${o}]`,i)}}}}function S_(e){e.summary===void 0&&(e.summary="");for(let t of k_)e[t]===void 0&&(e[t]=[]);return 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]="09c95125-68bd-512b-bb09-c9ef0b2f676e")}catch{}})();function T_(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError("registerService ownership must be an object");if(Reflect.ownKeys(e).some(t=>t!=="passThrough"))throw new TypeError("registerService ownership supports only passThrough");if(e.passThrough!==void 0&&typeof e.passThrough!="boolean")throw new TypeError("registerService ownership.passThrough must be a boolean when provided");return e.passThrough===!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]="d2feae50-9a1e-54fa-98a3-df529be63069")}catch{}})();function A_(e){return typeof e=="string"?e:String(e)}function qo(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 Pl(e,t){let n=qo(e),r=qo(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 I_(e,t){if(e==null)return{kind:"pm_min_version",status:"absent",allowed:!0,required:"",current:t};let n=A_(e);if(typeof e!="string"||n.trim().length===0)return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:t};if(!qo(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=Pl(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 C_(e,t,n){if(e==null)return{kind:"pm_max_version",status:"absent",allowed:!0,required:"",current:t};let r=A_(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())||!qo(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=Pl(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]="736cf7fc-d4da-57ce-90d8-2432085dd2c8")}catch{}})();var dC=5e3;async function O_(e,t,n){let r=[];for(let o of e)try{await o.run(dt(n))}catch{r.push(`extension_hook_failed:${o.layer}:${o.name}:${t}`)}return r}function uC(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 g(`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 g(`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 g(s||`Extension mutation guard ${t.name} denied ${n}.`,_.CONFLICT,{code:o,reason:`${t.layer}:${t.name}`,nextSteps:[i]})}async function Ll(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:dt(t.before),after:t.after===null?null:dt(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 g(`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."]}))},dC),o.unref?.()})])}catch(i){throw i instanceof g?i:new g(`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)}uC(r,n,t.operation)}}async function Ml(e,t){return O_(e.onWrite,"onWrite",t)}async function $l(e,t){return O_(e.onRead,"onRead",t)}function fC(e){return{handled:!1,result:e.payload,warnings:[]}}function mC(e,t){return[...e.overrides].reverse().filter(n=>n.service===t)}function pC(e){return{service:e.service,command:e.command?he(e.command):void 0,args:e.args?dt(e.args):void 0,options:e.options?Lp(e.options):void 0,global:e.global?Mp(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:dt(e.payload)}}function _C(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 gC(e,t){return _C(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 hC(e,t,n){return t.service==="output_format"&&typeof e=="object"&&e!==null&&De(e,n.payload)}function yC(e,t,n){if(t.handled){if(e.passThrough===!0){n.push(`extension_service_pass_through_contract_violated:${e.layer}:${e.name}:${e.service}`);return}return{handled:!0,result:t.result,warnings:n}}}async function Fl(e,t){let n=mC(e,t.service);if(n.length===0)return fC(t);let r=[];for(let o of n)try{let i=pC(t),s=await Promise.resolve(o.run(i));if(hC(s,t,i)){r.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=yC(o,gC(s,t),r);if(a)return a}catch{r.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:t.payload,warnings: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]="3ee03fc2-5b71-508c-8524-d22104fa2194")}catch{}})();var x_=null,OC=Object.freeze(cs()),R_=0;function $_(e=Date.now()){return R_+=1,`${R_}-${e}`}function xC(e,t,n){return n.has(e)?!1:t.size===0?!0:t.has(e)}async function F_(e,t){let[n,r]=await Promise.all([Xn.realpath(e),Xn.realpath(t)]);return Nt(n,r)}function Bs(e,t=process.cwd()){return{global:Yn.join(Bn(t),"extensions"),project:Yn.join(e,"extensions")}}async function RC(e){try{return(await Xn.readdir(e,{withFileTypes:!0})).filter(n=>n.isDirectory()).map(n=>n.name).sort((n,r)=>n.localeCompare(r))}catch{return[]}}function NC(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 N_(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}async function DC(e){let t=new Map;try{let n=JSON.parse(await Xn.readFile(Yn.join(e,".managed-extensions.json"),"utf8")),o=yn(n)?.entries;if(!Array.isArray(o))return t;for(let i of o){if(typeof i!="object"||i===null)continue;let s=i,a=N_(s.source?.package),c=[s.source?.input,s.source?.name,a].map(u=>N_(u)).filter(u=>u!==void 0),l=Mr(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 D_(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 PC(e,t){let n=[...D_(e),...D_(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 P_(e,t,n,r,o){let i=[],s=[],a=[],c=await RC(t),l=await DC(t);for(let d of c){let u=await $C(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 LC(){return{diagnostics:[],warnings:[],candidates:[]}}function L_(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 MC(e,t,n,r,o,i,s){let a=r_(e,t,n);Array.isArray(t.legacy_capability_aliases)&&t.legacy_capability_aliases.length>0&&a.push(Hp(e,t.name,t.legacy_capability_aliases));for(let c of jp(t.capabilities))a.push(zp(e,t.name,c));return r?o||a.push(`extension_entry_missing:${e}:${t.name}`):a.push(`extension_entry_outside_extension:${e}:${t.name}`),i.warning&&a.push(i.warning),s.warning&&a.push(s.warning),a}async function $C(e,t,n,r,o,i,s){let a=Yn.join(t,n),c=Yn.join(a,"manifest.json");if(!await M(c))return L_(e,n,c,`extension_manifest_missing:${e}:${n}`);let l,d;try{let C=JSON.parse(await Xn.readFile(c,"utf8"));d=yn(C),l=js(C)}catch{d=null,l=null}if(!l||!d)return L_(e,n,c,`extension_manifest_invalid:${e}:${n}`);let u=Yn.resolve(a,l.entry),f=Nt(a,u),m=f?await M(u):!1,p=f&&m?await F_(a,u):f,w=xC(l.name,r,o),h=await jC(e,l),b=await UC(e,l,s),v=MC(e,l,d,p,m,h,b),I=p&&m&&h.allowed&&b.allowed,A=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:u,enabled:w,status:I?"ok":"warn"},warnings:v,candidate:Fp({layer:e,directory:n,manifestPath:c,entryPath:u,manifest:l,sourceIdentity:A,extensionReady:I,enabledForLoad:w})}}async function j_(e){let t=Bs(e.pmRoot,e.cwd??process.cwd()),n=Po(e.settings.extensions.enabled),r=Po(e.settings.extensions.disabled),o=Vp(e.settings),i=Kp(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?LC():await P_("global",t.global,s,a,o.pmMaxVersionExceededMode.global),l=await P_("project",t.project,s,a,o.pmMaxVersionExceededMode.project),d=[...o.warnings],u=PC(c.candidates,l.candidates),f=[];for(let m of u){let p={layer:m.layer,name:m.manifest.name,trusted:m.manifest.trusted===!0,provenanceVerified:m.manifest.provenance?.verified===!0,sandboxProfile:m.manifest.sandbox_profile,permissions:m.manifest.permissions&&typeof m.manifest.permissions=="object"?{fs_read:m.manifest.permissions.fs_read,fs_write:m.manifest.permissions.fs_write,network:m.manifest.permissions.network,env_read:m.manifest.permissions.env_read,env_write:m.manifest.permissions.env_write,process_spawn:m.manifest.permissions.process_spawn}:void 0},w=Xp(o,p);if(w.warning&&d.push(w.warning),!!w.allowed){for(let h of m.manifest.capabilities){let b=Zp(o,p,h);b.warning&&d.push(b.warning)}f.push(NC(m))}}return{disabled_by_flag:!1,roots:t,configured_enabled:n,configured_disabled:r,discovered:[...c.diagnostics,...l.diagnostics],effective:f,warnings:[...new Set([...c.warnings,...l.warnings,...d])],policy:i}}function Ul(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}async function FC(){try{let e=nt(import.meta.url,["../../.."]),t=await Xn.readFile(Yn.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 U_(){return x_??=FC(),x_}function z_(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 jC(e,t){if(t.pm_min_version===void 0)return{allowed:!0};let n=I_(t.pm_min_version,await U_()),r=z_(e,t,n);return r?{allowed:n.allowed,warning:r}:{allowed:n.allowed}}async function UC(e,t,n){if(t.pm_max_version===void 0)return{allowed:!0};let r=C_(t.pm_max_version,await U_(),n),o=z_(e,t,r);return o?{allowed:r.allowed,warning:o}:{allowed:r.allowed}}async function M_(e){try{let t=await Xn.stat(e);return`${Math.trunc(t.mtimeMs)}-${t.size}`}catch{return"missing"}}async function zC(e,t){let n=e.entry_path;t.module_graph_snapshot_root&&(n=await i_(t.module_graph_snapshot_root,e));let r=new URL(CC(n).href);if(!(t.cache_bust===!0||typeof t.reload_token=="string"))return r.href;let[i,s]=await Promise.all([M_(e.entry_path),M_(e.manifest_path)]),a=t.reload_token??$_();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 Go(e){let t=await j_(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 zC(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:Ul(a)})}return{...t,warnings:o,loaded:n,failed:r}}function HC(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 qC(e){let t=dp(e);return t?HC(t):null}function GC(e){if(!Array.isArray(e.capabilities))return null;let t=new Set;for(let n of e.capabilities){let r=n.trim().toLowerCase();Vn(r)&&t.add(r)}return t}function se(e,t,n){let r=GC(e);if(r!==null&&!r.has(t))throw Yt(`${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 BC(e){return Object.freeze({name:e.name,layer:e.layer,version:e.version,capabilities:Object.freeze((e.capabilities??[]).filter(t=>et.includes(t))),pm_min_version:e.pm_min_version,pm_max_version:e.pm_max_version,source_package:e.source_package})}function WC(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 jl=class{extension;hooks;#e;#n;#r;#o;#s;#a;#c;#l;#t;#i;#d;#u;constructor(t,n,r,o,i,s,a,c,l,d,u){this.#e=t,this.extension=BC(t),this.#n=WC(t),this.#r=n,this.#o=r,this.#s=o,this.#a=i,this.#c=s,this.#l=a,this.#t=c,this.#i=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.registerAssuranceMeasurementProvider=this.registerAssuranceMeasurementProvider.bind(this),this.hooks={beforeCommand:f=>this.registerBeforeCommand(f),beforeMutation:f=>this.registerBeforeMutation(f),afterCommand:f=>this.registerAfterCommand(f),onWrite:f=>this.registerOnWrite(f),onRead:f=>this.registerOnRead(f),onIndex:f=>this.registerOnIndex(f)}}allowRegistration(t,n,r,o){let i=Qp(this.#u,this.#n,t,n,r,o);return i.warning&&this.#i.push(i.warning),i.allowed}registerCommandTrace(t,n,r,o,i){return{method:"registerCommand",registration_index:t==="override"?this.#o.overrides.length:this.#o.handlers.length,command:n,expected_schema:r,received:$o(o),hint:i}}registerCommandOverride(t,n){let r=he(t);if(r.length===0)throw Yt("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 Yt(`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.#o.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.#i.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 Yt("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 Yt("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=he(t.name);if(n.length===0)throw Yt("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 Yt(`registerCommand requires a command definition run handler (command="${n}", registration_index=${o.registration_index})`,o)}try{Pp(t);let o=Nl(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=Do("registerCommand definition.examples",t.examples),c=Do("registerCommand definition.failure_hints",t.failure_hints),l=Dl(t.arguments);t.flags!==void 0&&(se(this.#e,"schema","registerCommand flags"),this.allowRegistration("schema.flags","registerCommand flags","schema")&&(Gs(t.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:qs("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??"standard",family:t.family??"extensions"};i&&(d.description=i),s&&(d.intent=s),this.#t.commands.push(d)}catch(o){let i=Ul(o),s=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }",t,i),a=Yt(`registerCommand definition metadata invalid (command="${n}", registration_index=${s.registration_index}): ${i}`,s);this.#i.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.#o.handlers.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}registerCommand(t,n){if(se(this.#e,"commands","registerCommand"),typeof t=="string"){this.registerCommandOverride(t,n);return}this.registerCommandDefinition(t)}registerParser(t,n){if(se(this.#e,"parser","registerParser"),!this.allowRegistration("parser.override","registerParser","parser"))return;let r=he(Ge("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(se(this.#e,"preflight","registerPreflight"),!this.allowRegistration("preflight.override","registerPreflight","preflight"))return;let n=s_(t);this.#a.overrides.push({layer:this.#e.layer,name:this.#e.name,...n})}registerService(t,n,r={}){se(this.#e,"services","registerService");let o=String(t).trim().toLowerCase();if(!m_(o))throw new TypeError(`registerService service must be one of: ${kr.join(", ")}`);this.allowRegistration("services.override","registerService","services",{service:o})&&(zo("registerService override",n),this.#c.overrides.push({layer:this.#e.layer,name:this.#e.name,service:o,run:n,...T_(r)?{passThrough:!0}:{}}))}registerRenderer(t,n,r={}){if(se(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(!f_(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 he(s)}))];this.#l.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(se(this.#e,"schema","registerFlags"),!this.allowRegistration("schema.flags","registerFlags","schema"))return;let r=he(Ge("registerFlags targetCommand",t));Gs(n);let o=qs("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(se(this.#e,"schema","registerItemFields"),!this.allowRegistration("schema.itemfields","registerItemFields","schema"))return;w_(t);let n=Uo("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(se(this.#e,"schema","registerItemTypes"),!this.allowRegistration("schema.itemtypes","registerItemTypes","schema"))return;b_(t);let n=Uo("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(se(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=qn();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(se(this.#e,"schema","registerMigration"),!this.allowRegistration("schema.migrations","registerMigration","schema"))return;v_(t);let n=jo("registerMigration definition",t);this.#t.migrations.push(Ho({layer:this.#e.layer,name:this.#e.name,definition:jr("registerMigration definition",t)},n))}registerProfile(t){if(se(this.#e,"schema","registerProfile"),!this.allowRegistration("schema.profiles","registerProfile","schema"))return;let n=Fo(t);E_(n),this.#t.profiles.push({layer:this.#e.layer,name:this.#e.name,profile:S_(n)})}registerImportExportCommandFlags(t,n,r){r.flags!==void 0&&(se(this.#e,"schema",`${t} options.flags`),this.allowRegistration("schema.flags",`${t} options.flags`,"schema")&&(Gs(r.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:qs(`${t} options.flags`,r.flags)})))}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},a=$p(t,s,r?.description!==void 0);fe(`${t} options.action`,s.action),fe(`${t} options.description`,s.description),fe(`${t} options.intent`,s.intent);let c=Nl(n,s.action),l=Do(`${t} options.examples`,s.examples),d=Do(`${t} options.failure_hints`,s.failure_hints),u=Dl(s.arguments);this.registerImportExportCommandFlags(t,n,s);let f={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:c,examples:l,failure_hints:d,arguments:u},m=s.description?.trim();m&&(f.description=m);let p=s.intent?.trim();return p&&(f.intent=p),this.#t.commands.push(f),a}registerImporter(t,n,r){if(se(this.#e,"importers","registerImporter"),!this.allowRegistration("importers.importer","registerImporter","importers"))return;let o=xl(Ge("registerImporter name",t));zo("registerImporter importer",n);let i=Rl(o,"import");this.applyImportExportCommandMetadata("registerImporter",i,r),this.#t.importers.push({layer:this.#e.layer,name:this.#e.name,importer:o}),this.#o.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async s=>n(ml(s,o,"import"))})}registerExporter(t,n,r){if(se(this.#e,"importers","registerExporter"),!this.allowRegistration("importers.exporter","registerExporter","importers"))return;let o=xl(Ge("registerExporter name",t));zo("registerExporter exporter",n);let i=Rl(o,"export"),s=this.applyImportExportCommandMetadata("registerExporter",i,r);this.#t.exporters.push({layer:this.#e.layer,name:this.#e.name,exporter:o,...s===void 0?{}:{output:s}}),this.#o.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async a=>{let c=await n(ml(a,o,"export"));return s?.receipt==="suppress"&&!il(c)?kp(c):c}})}registerSearchProvider(t){if(se(this.#e,"search","registerSearchProvider"),!this.allowRegistration("search.provider","registerSearchProvider","search"))return;let n=jo("registerSearchProvider provider",t);this.#t.search_providers.push(Ho({layer:this.#e.layer,name:this.#e.name,definition:jr("registerSearchProvider provider",t)},n))}registerVectorStoreAdapter(t){if(se(this.#e,"search","registerVectorStoreAdapter"),!this.allowRegistration("search.vectorstore","registerVectorStoreAdapter","search"))return;let n=jo("registerVectorStoreAdapter adapter",t);this.#t.vector_store_adapters.push(Ho({layer:this.#e.layer,name:this.#e.name,definition:jr("registerVectorStoreAdapter adapter",t)},n))}registerAssuranceMeasurementProvider(t){if(se(this.#e,"services","registerAssuranceMeasurementProvider"),!this.allowRegistration("services.assuranceprovider","registerAssuranceMeasurementProvider","services"))return;if(h_(t),t.network&&this.#e.permissions?.network!==!0)throw new TypeError("registerAssuranceMeasurementProvider network provider requires permissions.network=true");let n=jo("registerAssuranceMeasurementProvider provider",t);this.#t.assurance_providers.push(Ho({layer:this.#e.layer,name:this.#e.name,network_permission:this.#e.permissions?.network===!0,definition:jr("registerAssuranceMeasurementProvider provider",t)},n))}registerBeforeCommand(t){se(this.#e,"hooks","api.hooks.beforeCommand"),this.allowRegistration("hooks.beforecommand","api.hooks.beforeCommand","hooks")&&(Jn("beforeCommand",t),this.#r.beforeCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerBeforeMutation(t){se(this.#e,"hooks","api.hooks.beforeMutation"),this.allowRegistration("hooks.beforemutation","api.hooks.beforeMutation","hooks")&&(Jn("beforeMutation",t),this.#r.beforeMutation.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerAfterCommand(t){se(this.#e,"hooks","api.hooks.afterCommand"),this.allowRegistration("hooks.aftercommand","api.hooks.afterCommand","hooks")&&(Jn("afterCommand",t),this.#r.afterCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnWrite(t){se(this.#e,"hooks","api.hooks.onWrite"),this.allowRegistration("hooks.onwrite","api.hooks.onWrite","hooks")&&(Jn("onWrite",t),this.#r.onWrite.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnRead(t){se(this.#e,"hooks","api.hooks.onRead"),this.allowRegistration("hooks.onread","api.hooks.onRead","hooks")&&(Jn("onRead",t),this.#r.onRead.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnIndex(t){se(this.#e,"hooks","api.hooks.onIndex"),this.allowRegistration("hooks.onindex","api.hooks.onIndex","hooks")&&(Jn("onIndex",t),this.#r.onIndex.push({layer:this.#e.layer,name:this.#e.name,run:t}))}};function VC(e,t,n,r,o,i,s,a,c,l,d){return new jl(e,t,n,r,o,i,s,a,c,l,d)}function KC(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,...(e.assurance_providers?.length??0)>0?{assurance_providers:e.assurance_providers.length}:{}}}function JC(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 YC(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 XC(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 ZC=new Set(["output_format"]);function QC(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||ZC.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 Bo(e){let t=Jp(e.policy??OC),n=$s(),r=yl(),o=wl(),i=bl(),s=vl(),a=kl(),c=Fs(),l=[],d=[];for(let m of e.loaded){let p=qC(m.module);if(!p)continue;let w=l.length,h=Np({hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c});try{await p.activate(VC(m,n,r,o,i,s,a,c,d,l,t)),l.length>w&&(h(),d.push(`extension_activation_rolled_back:${m.layer}:${m.name}`))}catch(b){h(),d.push(`extension_activate_failed:${m.layer}:${m.name}`);let v=__(b);l.push({layer:m.layer,name:m.name,entry_path:m.entry_path,error:Ul(b),trace:v})}}let u=[...JC(r),...XC(o),...a_(i),...QC(s),...YC(a)],f=[...new Set([...d,...u])];return{hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c,failed:l,warnings:f,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:KC(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]="b2cf7f56-432d-5c74-ba0f-248c42a97255")}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]="07566a0b-2917-5ed8-828a-d811ae48dfaf")}catch{}})();function Ws(){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]="71c44385-0182-50f8-8e05-3aeebfe57ad9")}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]="40b169fc-3c5f-5b2a-8fed-a9388b07d9f7")}catch{}})();var Vs=null;var r0=null;var o0=null,i0=null;var s0=[],a0=new n0;function Sn(){return a0.getStore()}var c0=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Y(){let e=Sn();return e?e.registrations:o0}function zl(e){if(!e)return;let t=Sn();t?t.affectedItems.push(e):s0.push(e)}function Ks(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"||c0.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function Ae(e){let t=Sn(),n=t?t.hooks:Vs;return n?Ml(n,e):[]}async function Hl(e){let t=Sn(),n=t?t.hooks:Vs;n&&await Ll(n,e)}async function Fe(e){let t=Sn(),n=t?t.hooks:Vs;return n?$l(n,e):[]}function Js(){let e=Sn();return((e?e.hooks:Vs)?.onRead?.length??0)>0}function l0(e,t){let n=Sn(),r=n?n.commandContext:i0;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 Pt(e,t){let n=Sn(),r=n?n.services:r0;return r?Fl(r,l0(e,t)):{handled:!1,result:t,warnings:[]}}import{AsyncLocalStorage as td}from"node:async_hooks";import{createHash as $0}from"node:crypto";import Ke from"node:fs";import lg from"node:os";import er from"node:path";import{AsyncLocalStorage as d0}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]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var u0=new d0,H_=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Ys(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Wo(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=Ys(n.id,128),o=Ys(n.parent_id,128);if(r===void 0||!H_.test(r)||o!==void 0&&!H_.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=Ys(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function ql(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=Ys(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function f0(e,t,n){let r=u0.getStore(),o=ql({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Wo(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={...ql(r?.provenance),...o,...ql(e?.provenance)},a=Wo(e?.episode,!1)??Wo(n,!1)??i??Wo(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 Xs(e,t){return f0(e.session_context,t,e.client_info?.episode)??{}}import{existsSync as Yl,promises as DV,readFileSync as N0}from"node:fs";import Zt from"node:path";import{constants as m0}from"node:fs";import ft from"node:fs/promises";import Qs from"node:path";import{randomUUID as Gl}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]="f0484213-41f9-583e-bd0f-f85e507682b2")}catch{}})();function p0(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.token,a=n.created_at,c=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||s!==void 0&&(typeof s!="string"||s.trim().length===0)||typeof a!="string"||typeof c!="number"||!Number.isFinite(c)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,...typeof s=="string"?{token:s}:{},created_at:a,ttl_seconds:c},warnings:[]}}async function Zs(e,t=!0){try{let n=await ft.readFile(e,"utf8");return t&&await Fe({path:e,scope:"project"}),p0(n)}catch(n){return F(n)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function Xt(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function _0(e,t,n=process.platform){if(Xt(e,"EEXIST"))return!0;if(!Xt(e,"EPERM")&&!Xt(e,"EACCES")&&!Xt(e,"EBUSY"))return!1;try{return await ft.lstat(t),!0}catch(r){if(n!=="win32"||!F(r)&&!Xt(r,"EPERM")&&!Xt(r,"EACCES")&&!Xt(r,"EBUSY"))return!1}try{return await ft.access(Qs.dirname(t),m0.W_OK),!0}catch{return!1}}async function K_(e,t){await Ae({path:e,scope:"project",op:t})}function g0(e,t,n,r=Gl()){return{id:e,pid:process.pid,owner:t,token:r,created_at:j(),ttl_seconds:n}}async function h0(e,t,n,r,o){await ft.mkdir(Qs.dirname(e),{recursive:!0});let i=await Jl(e,t);if(i===null)throw Object.assign(new Error("Lock initialization is contended"),{code:"EEXIST"});try{let s=await ft.open(e,"wx");try{try{await s.writeFile(`${JSON.stringify(g0(t,n,r,o),null,2)}
11
11
  `,"utf8")}finally{await s.close()}}catch(a){throw await Bl(e,"lock:release"),a}}finally{await i()}await K_(e,"lock:create")}async function Bl(e,t){try{return await ft.unlink(e),await K_(e,t),!0}catch{return!1}}async function y0(e,t,n,r){let o=Date.now(),i=Y_;for(;;){let s=await Jl(e,t);if(s!==null){try{let l=await Zs(e,!1);q_(l.info,t,n,r)&&await Bl(e,"lock:release")}finally{await s()}return}let a=await Zs(e,!1);if(!q_(a.info,t,n,r))return;let c=Date.now()-o;if(c>=G_)return;await Q_(Math.min(i,G_-c)),i=Math.min(i*2,Wl)}}function q_(e,t,n,r){return e?.id===t&&e.pid===process.pid&&e.owner===n&&e.token===r}function J_(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 w0(e){return e?.owner?` (owner ${e.owner})`:""}var Y_=25,Wl=200,b0=250,v0=3,k0=".stale-cleanup",X_="owner.json",Z_=1e4,G_=Z_+Wl,E0=60*6e4;function B_(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 S0(e){let t=process.env.PM_LOCK_WAIT_MS,n=B_(t);if(n!==void 0)return n;let r=B_(e);return r!==void 0?r:0}function Q_(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function eg(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new g(`Item ${e} is locked${w0(t)}${r}`,_.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:b0}})}function T0(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 A0(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new g(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,_.CONFLICT)}}function I0(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,i=n.process_start_identity;return typeof r!="number"||!Number.isInteger(r)||r<=0||typeof o!="string"||o.length===0||i!==void 0&&(typeof i!="string"||!/^\d+$/u.test(i))?null:{pid:r,token:o,...typeof i=="string"?{process_start_identity:i}:{}}}async function tg(e){try{return I0(await ft.readFile(Qs.join(e,X_),"utf8"))}catch{return null}}function C0(e){if(!Number.isSafeInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return!Xt(t,"ESRCH")}}function O0(e){let t=e.lastIndexOf(")");if(t<0)return null;let n=e.slice(t+2).trim().split(/\s+/u)[19];return n!==void 0&&/^\d+$/u.test(n)?n:null}async function ng(e){try{return O0(await ft.readFile(`/proc/${e}/stat`,"utf8"))}catch{return null}}async function Vl(e=process.pid){let t=await ng(e);return{pid:e,...t===null?{}:{process_start_identity:t}}}async function rg(e,t,n){if(!C0(e.pid))return!1;let r=await ng(e.pid);return e.process_start_identity!==void 0&&r!==null?r===e.process_start_identity:t<=n}async function Kl(e){try{return await ft.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function W_(e,t){let n=await tg(e);n===null||n.token!==t||await Kl(e)}async function V_(e){try{await ft.mkdir(e)}catch(n){return Xt(n,"EEXIST"),null}let t={...await Vl(),token:Gl()};try{await ft.writeFile(Qs.join(e,X_),`${JSON.stringify(t)}
12
12
  `,"utf8")}catch{return await Kl(e),null}return t}async function x0(e){let t;try{let r=await ft.stat(e);if(t=Date.now()-r.mtimeMs,t<=Z_)return!1}catch(r){return F(r)}let n=await tg(e);return n!==null&&await rg(n,t,E0)?!1:Kl(e)}async function Jl(e,t){let n=`${e}${k0}`,r=await V_(n);if(r!==null)return async()=>W_(n,r.token);if(!await x0(n))return null;let o=await V_(n);return o===null?null:async()=>W_(n,o.token)}async function R0(e){let t=await Jl(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await Zs(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!J_(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(A0(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=v0)throw eg(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await Bl(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function ce(e,t,n,r,o=!1,i=!0,s){let a=await Pt("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let p=T0(a.result);if(p)return async()=>{await Promise.resolve(p()),await Pt("lock_release",{pm_root:e,id:t,owner:r})}}let c=Rp(e,t),l=S0(s),d=Date.now(),u=0,f=Y_,m=Gl();for(;;)try{return await h0(c,t,r,n,m),async()=>{await y0(c,t,r,m),await Pt("lock_release",{pm_root:e,id:t,owner:r})}}catch(p){if(!await _0(p,c))throw new g(`Failed to acquire lock for ${t}: ${ie(p)}`,_.GENERIC_FAILURE);let w=await Zs(c);if(J_(w.info,n)){let b=await R0({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:u,waitBudgetMs:l,startedAtMs:d,fallbackLockInfo:w});if(w=b.lockInfo,b.staleRemovalCounted&&(u+=1),b.shouldRetryCreate)continue}let h=Date.now()-d;if(l===0||h>=l)throw eg(t,w.info,l===0?0:h);await Q_(Math.min(f,l-h)),f=Math.min(f*2,Wl)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8192f2f3-b5a0-510e-a7d4-963041cce389")}catch{}})();var D0="session.json";function Xl(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function P0(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Xl(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Xl(c,128)),a=t.focused_item_id===void 0||Xl(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function L0(e){return Zt.join(Ls(e),D0)}function M0(e,t){let n=t.PM_PATH?.trim();if(n){let o=Zt.resolve(e,n);if(Yl(Zt.join(o,"settings.json")))return o;let i=Zt.join(o,".agents","pm");if(Yl(Zt.join(i,"settings.json")))return i}let r=Zt.resolve(e);for(let o=0;o<32;o+=1){let i=Zt.join(r,".agents","pm");if(Yl(Zt.join(i,"settings.json")))return i;let s=Zt.dirname(r);if(s===r)break;r=s}}function og(e){if(!e.key)return;let t=M0(e.cwd,e.env);if(t)try{let n=JSON.parse(N0(L0(t),"utf8"));return P0(n.semantic_attribution?.[e.key])}catch{return}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c39d3d14-b0b5-5309-b89a-9da08e1a939a")}catch{}})();var nd=["model","effort","role","topic","version"],na=new td,F0=new td,rd=new td,od=[{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"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","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:{model:"codex_session_file",effort:"codex_session_file",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:[]}],dg=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),j0=Object.freeze({...dg,max_bytes:4194304}),Zl=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function U0(e){let t=Vo(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?j0:dg,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var z0=Object.freeze(od.filter(e=>e.harness!=="ci").map(U0).sort((e,t)=>e.harness.localeCompare(t.harness))),H0=new Map,q0=new Map;function le(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Zn(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Vo(e){let t=e.harness.trim().toLowerCase();if(!Zl.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Zn(e.environment_keys),model_environment_keys:Zn(e.model_environment_keys),session_environment_keys:Zn(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),Zn(r)]).filter(([n])=>Zl.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"&&Zl.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Zn(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Zn(e.argv_markers).map(n=>n.toLowerCase()),client_names:Zn(e.client_names).map(n=>n.toLowerCase())}}var G0=od.map(Vo);function ta(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function ug(e=[]){let t=new Map(od.filter(o=>o.harness!=="ci").map(o=>[o.harness,Vo(o)]));for(let{adapter:o}of H0.values())t.set(o.harness,Vo(o.descriptor));let n=[...t.values(),...G0.filter(o=>o.harness==="ci"),...[...q0.values()].map(o=>o.descriptor),...rd.getStore()?.descriptors??[],...e.map(Vo)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function id(e,t){for(let n of t??[]){let r=le(e[n]);if(r)return r.slice(0,256)}}function B0(e,t){if(t==="role"){let n=e.slice(0,8).map(r=>r.trim().toLowerCase()).find(r=>["claim","create","update","close","release","review"].includes(r));if(n==="review")return"reviewer";if(n)return"implementer"}}function fg(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 le(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return le(i.slice(s.length+1))?.slice(0,256)}}var W0=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Qn(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return W0.has(n)?n:void 0}function Ql(e,t){return le(e?.[t])?.slice(0,256)}var V0=1048576,ig=4194304,ea=new Map,sg=Object.freeze({}),ed=new Map,ag=Object.freeze({});function cg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function K0(e){let t;try{t=JSON.parse(e)}catch{return ag}let n=cg(t);if(!n)return ag;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=le(a.value.model)?.slice(0,256),s??=le(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let l=cg(c);l&&r.push({value:l,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function mg(e){try{return Ke.lstatSync(e).isFile()?"available":"missing"}catch(t){return yt(t)?"missing":"failed"}}function J0(e,t){let n;try{n=Ke.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=er.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:mg(i)}})}catch(o){return{status:yt(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function pg(e,t){let n=le(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=er.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=er.join(e.home_dir??lg.homedir(),".claude","projects"),s=er.join(i,o,`${n}.jsonl`),a=le(e.session_file),c=a&&er.basename(a)===`${n}.jsonl`?a:void 0;for(let l of[c,s]){if(!l)continue;let d=mg(l);if(d==="available")return{status:d,path:l};if(d==="failed")return{status:d}}return J0(i,n)}function Y0(e,t,n){let r=pg(t,n);if(r.status==="available")try{let o=Ke.openSync(r.path,Ke.constants.O_RDONLY|Ke.constants.O_NOFOLLOW);try{let i=Ke.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=ed.get(s);if(a)return a[e];let c=Math.min(i.size,V0),l=Math.min(c,Math.ceil(c/2)),d=Math.min(c-l,i.size-l),u=Buffer.alloc(l);Ke.readSync(o,u,0,l,0);let f=Buffer.alloc(d);d>0&&Ke.readSync(o,f,0,d,i.size-d);let m={},p=i.size<=c?Buffer.concat([u,f]).toString("utf8").split(`
13
13
  `):[...u.toString("utf8").split(`
14
14
  `).slice(0,4096),...f.toString("utf8").split(`
15
15
  `).slice(-4096)];for(let h of p){if(h.length===0||h.length>262144)continue;let b=K0(h);if(m.model??=b.model,m.version??=b.version,m.model&&m.version)break}let w=Object.freeze(m);return ed.clear(),ed.set(s,w),w[e]}finally{Ke.closeSync(o)}}catch{return}}function X0(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=Ke.readdirSync(o,{withFileTypes:!0}).sort((a,c)=>c.name.localeCompare(a.name))}catch{return}for(let a of s){if(n+=1,n>512)return;let c=er.join(o,a.name);if(a.isFile()&&a.name.endsWith(`-${t}.jsonl`))return c;if(a.isDirectory()){let l=r(c,i+1);if(l)return l}}};return r(e,0)}function Z0(e){if(e<=ig)return[{offset:0,length:e}];let t=Math.floor(ig/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function Q0(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=le(o?.model)?.slice(0,256),e.effort??=le(o?.effort)?.slice(0,256)}function eO(e,t){let n={},r=4096;for(let o of Z0(t)){let i=Buffer.alloc(o.length);Ke.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
16
- `).reverse().slice(0,r);r-=s.length;for(let a of s)if(Q0(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function tO(e,t,n){let r=le(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=er.join(t.home_dir??lg.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=ea.get(i);if(s)return s[e];let a=X0(o,r);if(!a){ea.set(i,sg);return}try{let c=Ke.openSync(a,"r");try{let l=Ke.fstatSync(c).size,d=eO(c,l);return ea.set(i,d),d[e]}finally{Ke.closeSync(c)}}catch{ea.set(i,sg);return}}function nO(e,t,n,r){let o=rd.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(le(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Y0(e,t,n);if(s==="codex_session_file")return tO(e,t,n);if(s==="ai_agent_version"){let a=le(n.AI_AGENT);return!a||!r||!ta(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function rO(e,t,n,r){if(e==="ai_agent_version"){let o=le(r.AI_AGENT);return o!==void 0&&ta(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?le(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":pg(n,r).status}function sd(e){return e||(F0.getStore()??{env:process.env,argv:process.argv})}function oO(e,t,n,r){let o=e.environment_keys.some(a=>le(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let l=c.replaceAll("\\","/");return ta(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||ta(r,a));return o||i||s}function iO(e,t){if(!t)return;let n;if(e==="topic"&&(n=t.topic),e==="role"&&(n=t.role),!!n)return{value:n,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function sO(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function aO(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...nd,...Object.keys(r?.provenance_environment_keys??{})]),c,l,d;a.has(e)&&(c=Qn(e,le(n[s])?.slice(0,256)),d=Qn(e,fg(t.argv??[],e)),l=Qn(e,B0(t.argv??[],e)));let u={...r?.provenance_environment_keys,model:r?.model_environment_keys},f={...t.client_info?.provenance,model:t.client_info?.model},m=Ql(o?.provenance,e),p=Qn(e,id(n,u[e])),w=Qn(e,Ql(f,e)),h=Qn(e,Ql(t.provenance,e)),b=nO(e,t,n,r);return sO([[c,"override"],[m,"session"],[d,"argv"],[p,"environment"],[w,"mcp_client"],[h,"host"],[b,"probe"]])??iO(e,i)??(l?{value:l,source:"argv"}:void 0)}function cO(e,t){if(!(!e||!t))return $0("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function lO(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...nd,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let l=aO(c,e,t,n,r,o);l?a[c]=l:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function ad(e){let t=sd(e),n=t.env??{},r=ug(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(p=>p.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(p=>oO(p,n,o,i)),a=Xs(t,n),c=[id(n,s?.session_environment_keys),le(t.client_info?.session)?.slice(0,256)].find(p=>p!==void 0),l=cO(s?.harness,c),d=og({cwd:t.cwd??process.cwd(),env:n,key:l}),u=lO(t,n,s,a,d),f=u.model,m=[["harness",s?.harness],["model",f?.value],["model_source",f?.source],["session",c],["instance",l],["provenance",Object.keys(u).length>0?u:void 0],["episode",a.episode]];return Object.fromEntries(m.filter(p=>p[1]!==void 0))}function dO(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function uO(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=rO(a,n,r,o);return{...dO(c),resolver:a,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function cd(e){let t=sd(e),n=ad(t),r=ug(t.descriptors).find(l=>l.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&rd.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(le(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Xs(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,id(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,fg(t.argv??[],"role")].some(l=>{let d=le(l)?.slice(0,256);return d!==void 0&&Qn("role",d)===void 0}),c=Object.fromEntries(nd.map(l=>[l,uO(l,n,r,t,o,i,l==="role"&&a)]));return{...n,provenance_outcomes:c}}function fO(e,t,n){let r=sd(n),o=ad(r);if(e!==void 0){let s=le(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=le(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=le(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function _g(e){let t=na.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function gg(e){let t=na.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 ld(e){let t=na.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Ie(e,t){let n=fO(e,t);return na.enterWith(n),n.author}import Lt from"node:fs/promises";import Qt from"node:path";import{randomUUID as wO}from"node:crypto";import{createRequire as bO}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]="bfa74c9e-a366-5b09-a7bc-869226fb6140")}catch{}})();async function dd(e,t){let n=await K(e);if(n===null)return{raw:n,entries:[]};if(await Fe({path:e,scope:"project"}),n.trim()==="")return{raw:n,entries:[]};let r=Me(n);if(r)throw new g(`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 g(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,_.GENERIC_FAILURE,{code:"history_json_invalid",nextSteps:[`Run pm history-repair ${t} --salvage-tail --dry-run to check whether only an invalid suffix is damaged.`]})}}return{raw:n,entries:o}}async function rt(e,t){return(await dd(e,t)).entries}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9d5caf29-c1f2-5120-bc0b-c64a0bdd19ff")}catch{}})();var mO=["docs_add","files_add","history:author-acknowledge","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","normalize","release","test_run_track","tests_add","tests_remove","update_audit","update_ownership_bypass"],pO=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],_O=new Set(mO),gO=new Set(pO),hO=new Set(["actual_result","affected_version","assignee","blocked_by","blocked_reason","close_reason","confidence","customer_impact","definition_of_ready","dependencies","docs","environment","expected_result","files","fixed_version","goal","impact","learnings","notes","objective","order","outcome","parent","release","reminders","reporter","repro_steps","resolution","reviewer","severity","sprint","tests","test_runs","unblock_note","updated_at","value","why_now"]);function yO(e){let t=e.path.split("/").filter(Boolean);return t[0]==="metadata"||t[0]==="front_matter"?t[1]:t[0]==="body"?"body":void 0}function tr(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:_O.has(e.op)?"maintenance":gO.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let n=yO(t);return n!==void 0&&hO.has(n)})?"maintenance":"substantive"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="542d77d0-7bb8-5ed0-a1da-09de33d3767f")}catch{}})();var vO="history-event-index.sqlite",kO="5";var EO="history-event-index",ud=300,hg=3e4,SO="history-event-index-invalidation",TO="history-event-index-invalidations",f5=ud*2*1e3;function fd(e){return Qt.join(e,"runtime",vO)}function AO(e){return Qt.join(e,"runtime",TO)}async function IO(e,t){let n=await ce(e,SO,ud,`history-event-index-invalidation:${process.pid}`,!1,!1,hg);try{return await t()}finally{await n()}}async function CO(e){let t=AO(e);await Lt.mkdir(t,{recursive:!0});let n=wO(),r=await Vl(),o=Qt.join(t,`${r.pid}-${r.process_start_identity??"unknown"}-${Date.now()}-${n}.pending`);return await Lt.writeFile(o,`pending
16
+ `).reverse().slice(0,r);r-=s.length;for(let a of s)if(Q0(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function tO(e,t,n){let r=le(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=er.join(t.home_dir??lg.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=ea.get(i);if(s)return s[e];let a=X0(o,r);if(!a){ea.set(i,sg);return}try{let c=Ke.openSync(a,"r");try{let l=Ke.fstatSync(c).size,d=eO(c,l);return ea.set(i,d),d[e]}finally{Ke.closeSync(c)}}catch{ea.set(i,sg);return}}function nO(e,t,n,r){let o=rd.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(le(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Y0(e,t,n);if(s==="codex_session_file")return tO(e,t,n);if(s==="ai_agent_version"){let a=le(n.AI_AGENT);return!a||!r||!ta(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function rO(e,t,n,r){if(e==="ai_agent_version"){let o=le(r.AI_AGENT);return o!==void 0&&ta(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?le(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":pg(n,r).status}function sd(e){return e||(F0.getStore()??{env:process.env,argv:process.argv})}function oO(e,t,n,r){let o=e.environment_keys.some(a=>le(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let l=c.replaceAll("\\","/");return ta(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||ta(r,a));return o||i||s}function iO(e,t){if(!t)return;let n;if(e==="topic"&&(n=t.topic),e==="role"&&(n=t.role),!!n)return{value:n,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function sO(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function aO(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...nd,...Object.keys(r?.provenance_environment_keys??{})]),c,l,d;a.has(e)&&(c=Qn(e,le(n[s])?.slice(0,256)),d=Qn(e,fg(t.argv??[],e)),l=Qn(e,B0(t.argv??[],e)));let u={...r?.provenance_environment_keys,model:r?.model_environment_keys},f={...t.client_info?.provenance,model:t.client_info?.model},m=Ql(o?.provenance,e),p=Qn(e,id(n,u[e])),w=Qn(e,Ql(f,e)),h=Qn(e,Ql(t.provenance,e)),b=nO(e,t,n,r);return sO([[c,"override"],[m,"session"],[d,"argv"],[p,"environment"],[w,"mcp_client"],[h,"host"],[b,"probe"]])??iO(e,i)??(l?{value:l,source:"argv"}:void 0)}function cO(e,t){if(!(!e||!t))return $0("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function lO(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...nd,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let l=aO(c,e,t,n,r,o);l?a[c]=l:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function ad(e){let t=sd(e),n=t.env??{},r=ug(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(p=>p.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(p=>oO(p,n,o,i)),a=Xs(t,n),c=[id(n,s?.session_environment_keys),le(t.client_info?.session)?.slice(0,256)].find(p=>p!==void 0),l=cO(s?.harness,c),d=og({cwd:t.cwd??process.cwd(),env:n,key:l}),u=lO(t,n,s,a,d),f=u.model,m=[["harness",s?.harness],["model",f?.value],["model_source",f?.source],["session",c],["instance",l],["provenance",Object.keys(u).length>0?u:void 0],["episode",a.episode]];return Object.fromEntries(m.filter(p=>p[1]!==void 0))}function dO(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function uO(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=rO(a,n,r,o);return{...dO(c),resolver:a,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function cd(e){let t=sd(e),n=ad(t),r=ug(t.descriptors).find(l=>l.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&rd.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(le(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Xs(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,id(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,fg(t.argv??[],"role")].some(l=>{let d=le(l)?.slice(0,256);return d!==void 0&&Qn("role",d)===void 0}),c=Object.fromEntries(nd.map(l=>[l,uO(l,n,r,t,o,i,l==="role"&&a)]));return{...n,provenance_outcomes:c}}function fO(e,t,n){let r=sd(n),o=ad(r);if(e!==void 0){let s=le(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=le(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=le(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function _g(e){let t=na.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function gg(e){let t=na.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 ld(e){let t=na.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Ie(e,t){let n=fO(e,t);return na.enterWith(n),n.author}import Lt from"node:fs/promises";import Qt from"node:path";import{randomUUID as wO}from"node:crypto";import{createRequire as bO}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]="bfa74c9e-a366-5b09-a7bc-869226fb6140")}catch{}})();async function dd(e,t){let n=await K(e);if(n===null)return{raw:n,entries:[]};if(await Fe({path:e,scope:"project"}),n.trim()==="")return{raw:n,entries:[]};let r=Me(n);if(r)throw new g(`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 g(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,_.GENERIC_FAILURE,{code:"history_json_invalid",nextSteps:[`Run pm history-repair ${t} --salvage-tail --dry-run to check whether only an invalid suffix is damaged.`]})}}return{raw:n,entries:o}}async function rt(e,t){return(await dd(e,t)).entries}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9d5caf29-c1f2-5120-bc0b-c64a0bdd19ff")}catch{}})();var mO=["docs_add","files_add","history:author-acknowledge","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","normalize","release","test_run_track","tests_add","tests_remove","update_audit","update_ownership_bypass"],pO=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],_O=new Set(mO),gO=new Set(pO),hO=new Set(["actual_result","affected_version","assignee","blocked_by","blocked_reason","close_reason","confidence","customer_impact","definition_of_ready","dependencies","docs","environment","expected_result","files","fixed_version","goal","impact","learnings","notes","objective","order","outcome","parent","release","reminders","reporter","repro_steps","resolution","reviewer","severity","sprint","tests","test_runs","unblock_note","updated_at","value","why_now"]);function yO(e){let t=e.path.split("/").filter(Boolean);return t[0]==="metadata"||t[0]==="front_matter"?t[1]:t[0]==="body"?"body":void 0}function tr(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:_O.has(e.op)?"maintenance":gO.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let n=yO(t);return n!==void 0&&hO.has(n)})?"maintenance":"substantive"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="542d77d0-7bb8-5ed0-a1da-09de33d3767f")}catch{}})();var vO="history-event-index.sqlite",kO="5";var EO="history-event-index",ud=300,hg=3e4,SO="history-event-index-invalidation",TO="history-event-index-invalidations",m5=ud*2*1e3;function fd(e){return Qt.join(e,"runtime",vO)}function AO(e){return Qt.join(e,"runtime",TO)}async function IO(e,t){let n=await ce(e,SO,ud,`history-event-index-invalidation:${process.pid}`,!1,!1,hg);try{return await t()}finally{await n()}}async function CO(e){let t=AO(e);await Lt.mkdir(t,{recursive:!0});let n=wO(),r=await Vl(),o=Qt.join(t,`${r.pid}-${r.process_start_identity??"unknown"}-${Date.now()}-${n}.pending`);return await Lt.writeFile(o,`pending
17
17
  `,{flag:"wx"}),{pendingPath:o,committedPath:Qt.join(t,`${n}.committed`)}}async function ra(e){try{await Lt.rm(fd(e),{force:!0})}catch{}}async function OO(e,t){let n=await ce(e,EO,ud,`history-event-index:${process.pid}`,!1,!1,hg);try{return await t()}finally{await n()}}function xO(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function RO(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?xO(t):null}var oa;function NO(){return oa!==void 0||(oa=RO(process.versions.node,bO(import.meta.url))),oa}function DO(e,t){let n={...t.entry,ts:new Date(t.entry.ts.trim()).toISOString()};e.prepare(`INSERT INTO events(
18
18
  stream_id, stream_offset, ts, author, agent_harness,
19
19
  agent_instance, op, event_class, entry_json
20
20
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,n.ts,n.author,n.agent_harness??null,n.agent_instance??null,n.op,tr(n),JSON.stringify(n))}function PO(e,t,n){e.prepare(`INSERT INTO streams(stream_id, byte_size) VALUES (?, ?)
21
- ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size`).run(t,n)}async function yg(e,t,n){let r=Qt.dirname(Qt.dirname(e)),o=NO();if(!o){await n();return}let i=!1;try{await OO(r,async()=>{let s=fd(r);try{await Lt.access(s)}catch{await n();return}let a;try{if(a=new o(s),a.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==kO)throw new TypeError("Unsupported history event index version")}catch{a?.close(),await Lt.rm(s,{force:!0}),await n();return}try{a.exec("PRAGMA busy_timeout = 5000"),a.exec("BEGIN IMMEDIATE")}catch(l){throw a.close(),l}let c=!1;try{await n(),c=!0,i=!0;let l=Qt.basename(e,".jsonl"),d=a.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(l);DO(a,{stream_id:l,stream_offset:Number(d.value),entry:t}),PO(a,l,(await Lt.stat(e)).size),a.exec("COMMIT"),a.close()}catch(l){if(a?.close(),!c)throw l;await ra(r)}})}catch(s){if(i){await ra(r);return}if(!(s instanceof g)||s.code!=="lock_conflict")throw s;let a;try{await IO(r,async()=>{let c=await CO(r);a=c.pendingPath;try{await n(),i=!0}catch(l){throw await Lt.rm(c.pendingPath,{force:!0}),l}await Lt.rename(c.pendingPath,c.committedPath),await ra(r)})}catch(c){if(i){await ra(r);try{await Lt.rm(a,{force:!0})}catch{}return}throw c}}}async function md(e){await Lt.rm(fd(Qt.dirname(Qt.dirname(e))),{force:!0})}import Sd from"node:fs/promises";import qr 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]="fd8576c5-0011-5aa2-ad8c-f6ec5715e419")}catch{}})();import{AsyncLocalStorage as Rx}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]="b18eefc1-0d1d-5c9c-b98a-b96771070301")}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]="4f014bd9-39b6-5017-93ed-f0e7fba8497a")}catch{}})();var wg=e=>{let t='"',n=0;for(let r of e){if(r==="\\"){n+=1;continue}t+="\\".repeat(r==='"'?n*2+1:n),t+=r,n=0}return`${t}${"\\".repeat(n*2)}"`},pd=(e,t=process.platform)=>(t==="win32"?/^[A-Za-z0-9._:/\\@=-]+$/:/^[A-Za-z0-9._:/@=-]+$/).test(e)?e:t==="win32"?wg(e):`"${e.replace(/(["\\$`])/g,"\\$1")}"`,Mt=(e,t=process.platform)=>{let n=e.map(r=>pd(r,t)).join(" ");return n.length>0?`pm ${n}`:"pm"};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="49de148c-3c60-547b-b3bc-d0a71e013dc6")}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]="d248fcfa-d007-526a-9849-9ea8352acaa1")}catch{}})();function bg(e,t,n){if(e&&t)throw new g(`${n} cannot be combined with --full`,_.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]="4b085328-0791-58f5-872a-f796f9087ab4")}catch{}})();var LO=1,MO=4096;var I5=Object.freeze({version:LO,max_length:MO});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dd0b1f79-0f4c-5042-8915-23adfc1f3b8d")}catch{}})();var ia=[["history-redact","history redact"],["history-repair","history repair"],["history-compact","history compact"],["activity","history activity"],["restore","history restore"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-tqel"})),vg=[...["next","focus"].map(e=>({alias:e,canonical:`context ${e}`,owner:"pm-kcs4"})),...["stats","health","validate","gc","telemetry","eval","test-all"].map(e=>({alias:e,canonical:`ops ${e}`,owner:"pm-6apl"})),...["normalize","reindex"].map(e=>({alias:e,canonical:`ops ${e}`,owner:"pm-3i9q8g"})),{alias:"events",canonical:"history events",owner:"pm-3i9q8g"}].map(e=>({...e,canonical_argv:e.canonical.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap"})),kg=[["update-many","update many"],["close-many","close many"],["delete","close delete"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-ik19"})),sa=[...vg,...kg,...["init","config","schema","profile"].map(e=>({alias:e,canonical:`workspace ${e}`,canonical_argv:["workspace",e],lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-npr3"})),...[...["comments","notes","learnings","files","docs","deps","append","test"].map(e=>[e,`item ${e}`,"pm-yql1"]),["test-runs-worker","item test worker","pm-lp4j"],...["statuses","tags","types"].map(e=>[`completion-${e}`,`completion ${e}`,"pm-szdc"]),["history-author-acknowledge","history acknowledge","pm-djyvbk"],["copy","item copy","pm-m6g87m"],["merge","workspace merge","pm-m6g87m"],["duplicates","item duplicates","pm-fmy9ih"],["dedupe-audit","item duplicates audit","pm-fmy9ih"],["dedupe-merge","item duplicates merge","pm-fmy9ih"],["comments-audit","item audit-comments","pm-fmy9ih"],["search-advanced","search advanced","pm-wfskfn"],...["meet","event","remind"].map(e=>[e,`calendar ${e}`,"pm-o3fh"])].map(([e,t,n])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:n}))],_d=[{alias:"history-attest",canonical:"history attest",canonical_argv:["history","attest"],lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-3z0k"},...ia,...sa,...["discover","lookup"].map(e=>({alias:`files ${e}`,canonical:`item files ${e}`,canonical_argv:["item","files",e],lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-yql1"}))];function Eg(e){let t=e.trim().replace(/\s+/gu," ");return _d.find(n=>n.canonical===t.replace(/^ctx /u,"context "))?.alias??t}function en(e){return Eg(e)}var aa=[..._d,...[["ctx","context"],["packages","package"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:[t],lifecycle:"permanent",hidden:!1,registration:"commander",owner:"pm-pbyu"})),...[["start-task","claim","--start"],["pause-task","release","--pause"],["close-task","close","--release-assignment"]].map(([e,t,n])=>({alias:e,canonical:t,canonical_argv:[t,n],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-eq4x"})),{alias:"tests",canonical:"item test",canonical_argv:["item","test"],lifecycle:"permanent",hidden:!1,registration:"bootstrap",owner:"pm-u4t9gp"},...[["fetch","get"],["read","get"],["show","get"],["view","get"],["comment","comments"],["note","notes"],["learning","learnings"]].map(([e,t])=>({alias:e,canonical:["comments","notes","learnings"].includes(t)?`item ${t}`:t,canonical_argv:["comments","notes","learnings"].includes(t)?["item",t]:[t],lifecycle:"permanent",hidden:!1,registration:"bootstrap",owner:"pm-pbyu"})),...[["extension list","extension catalog"],["extension scaffold","extension init"],["package list","package catalog"],["package scaffold","package init"],["packages list","package catalog"],["packages scaffold","package init"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!1,registration:"commander",owner:"pm-ya7x55"})),{alias:"list-all",canonical:"list",canonical_argv:["list","--all"],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-pfqi"},...[["list-draft","draft"],["list-open","open"],["list-in-progress","in_progress"],["list-blocked","blocked"],["list-closed","closed"],["list-canceled","canceled"]].map(([e,t])=>({alias:e,canonical:"list",canonical_argv:["list","--status",t],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-pfqi"})),...[["extension","package"],["install","package install"],["upgrade","package upgrade"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-tnud"}))],gd=Object.fromEntries(aa.filter(e=>e.registration==="bootstrap").map(e=>[e.alias,e.canonical]));(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="85bc6b10-700a-5d06-970f-d544833dd059")}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]="f960f91a-c5a7-5114-b4d2-7d562a8b6fdb")}catch{}})();import{createHash as Sg}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]="8b0d8654-211b-57bf-852f-8a153849e8fd")}catch{}})();var zr=["policies","policy-put","policy-remove","policy-mode","policy-check","policy-approve","policy-presets"],hd=256,Ur=64;function Je(e){throw new g(`Invalid workflow policy: ${e}`,_.USAGE,{code:"workflow_policy_invalid",nextSteps:["Inspect pm schema policies and correct the declaration using pm schema policy-put."]})}function tn(e,t,n){if(typeof e!="object"||e===null||Array.isArray(e))return Je(`${n} must be an object`);let r=e;return Object.keys(r).some(o=>!t.includes(o))?Je(`${n} contains an unknown key`):r}function nr(e,t,n=128){return typeof e!="string"||!e.trim()||e.length>n?Je(`${t} must be nonempty text of at most ${n} characters`):e.trim()}function Ko(e,t){if(!Array.isArray(e)||e.length===0||e.length>Ur)return Je(`${t} requires 1-${Ur} terms`);let n=e.map(r=>nr(r,t));return t==="fields"&&n.some(r=>!/^[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$/.test(r)||r.split(".").some(o=>["__proto__","constructor","prototype"].includes(o)))?Je("fields must be safe metadata paths of at most eight segments"):[...new Set(n)]}function jO(e){let t=tn(e,["kind","fields","authors","allowed"],"rule");return t.kind==="transition"?(tn(t,["kind","allowed"],"transition rule"),!Array.isArray(t.allowed)||t.allowed.length>Ur?Je("transition.allowed must be a bounded array"):{kind:"transition",allowed:t.allowed.map(n=>!Array.isArray(n)||n.length!==2?Je("transition pairs need two statuses"):[nr(n[0],"from"),nr(n[1],"to")])}):t.kind==="authors"?(tn(t,["kind","authors"],"authors rule"),{kind:"authors",authors:Ko(t.authors,"authors")}):t.kind==="require_fields"?(tn(t,["kind","fields"],"require_fields rule"),{kind:"require_fields",fields:Ko(t.fields,"fields")}):t.kind==="field_writers"||t.kind==="approval"?(tn(t,["kind","fields","authors"],"field rule"),{kind:t.kind,fields:Ko(t.fields,"fields"),authors:Ko(t.authors,"authors")}):Je("unknown rule kind")}function UO(e){let t={},n=tn(e,["types","tags","statuses","operations","parents","dependency"],"subject");for(let r of["types","tags","statuses","operations","parents"])n[r]!==void 0&&(t[r]=Ko(n[r],r));if(n.dependency!==void 0){let r=tn(n.dependency,["kind","id"],"dependency");t.dependency={kind:nr(r.kind,"dependency kind"),...r.id===void 0?{}:{id:nr(r.id,"dependency id")}}}return t}function Tg(e){let t=tn(e,["id","description","subject","effect","rule"],"policy"),n=nr(t.id,"id");return/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(n)?t.effect!==void 0&&(typeof t.effect!="string"||!["advise","warn","refuse"].includes(t.effect))?Je("effect must be advise, warn, or refuse"):{id:n,rule:jO(t.rule),...t.subject===void 0?{}:{subject:UO(t.subject)},...t.description===void 0?{}:{description:nr(t.description,"description",500)},...t.effect===void 0?{}:{effect:t.effect}}:Je("id must be a stable token")}function la(e){let t=tn(e,["version","enforcement","policies"],"document");if(t.version!==1)return Je("unsupported version");if(t.enforcement!==void 0&&t.enforcement!=="advise"&&t.enforcement!=="refuse")return Je("enforcement must be advise or refuse");if(!Array.isArray(t.policies)||t.policies.length>hd)return Je(`policies must contain at most ${hd} declarations`);let n=t.policies.map(Tg);return new Set(n.map(r=>r.id)).size!==n.length?Je("duplicate policy id"):{version:1,enforcement:t.enforcement??"advise",policies:n}}function ca(e,t){let n=e;for(let r of t.split(".")){if(typeof n!="object"||n===null||!Object.hasOwn(n,r))return;n=n[r]}return n}function zO(e){return e==null?!1:typeof e=="string"?e.trim().length>0:typeof e=="number"?Number.isFinite(e):Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function yd(e){return Sg("sha256").update(O(e)).digest("hex")}function Ag(e,t){let n=e.rule.kind==="approval"?e.rule.fields:[];return Sg("sha256").update(O({id:t.id,fields:n.map(r=>[r,ca(t,r)])})).digest("hex")}function HO(e,t){return Array.isArray(t)&&t.some(n=>typeof n=="object"&&n!==null&&"kind"in n&&n.kind===e.kind&&(e.id===void 0||"id"in n&&n.id===e.id))}function qO(e,t,n){return!(e.types&&!e.types.some(r=>r.toLowerCase()===String(t.type).toLowerCase())||e.statuses&&!e.statuses.includes(String(t.status))||e.operations&&!e.operations.includes(n)||e.parents&&!e.parents.includes(String(t.parent))||e.tags&&(!Array.isArray(t.tags)||!e.tags.some(r=>t.tags.includes(r)))||e.dependency&&!HO(e.dependency,t.dependencies))}function wd(e,t){if(t.completeness_only&&(e.rule.kind!=="require_fields"||e.subject?.operations!==void 0)||e.rule.kind==="approval"&&t.before===null)return!1;let n=e.subject??{},r=t.after?.status??t.before?.status;return[t.before,t.after].some(o=>o!==null&&qO(n,{...o,status:r},t.operation))}function GO(e,t,n,r){let o=["type","tags","parent","dependencies"].some(s=>!De(t.before?.[s],t.after?.[s]));return t.after&&(t.completeness_only||n||r||o)?e.filter(s=>!zO(ca(t.after,s))):[]}function BO(e,t,n,r){let o=t.after??t.before,i=Ag(e,o);return t.approvals?.some(s=>s.policy_fingerprint===r&&s.content_fingerprint===i&&s.author!==t.author&&n.includes(s.author))??!1}function WO(e,t,n){let r=e.rule,o=t.before?.status!==t.after?.status,i="fields"in r&&r.fields.some(s=>!De(ca(t.before,s),ca(t.after,s)));switch(r.kind){case"require_fields":{let s=GO(r.fields,t,o,i);return{satisfied:s.length===0,missing_fields:s,remediation:"Supply the declared required fields before this lifecycle transition."}}case"transition":return{satisfied:!o||r.allowed.some(([s,a])=>s===String(t.before?.status??"$create")&&a===String(t.after?.status??"$delete")),missing_fields:[],remediation:"Choose a declared allowed transition; inspect pm schema policies."};case"authors":return{satisfied:r.authors.includes(t.author),missing_fields:[],remediation:"Have a declared workflow actor perform this operation."};case"field_writers":return{satisfied:!i||r.authors.includes(t.author),missing_fields:[],remediation:"Have a declared field writer change the protected fields."};case"approval":return{satisfied:!o||BO(e,t,r.authors,n),missing_fields:[],remediation:`Record an independent approval with pm schema policy-approve <item-id> --policy ${e.id} after preparing the reviewed fields.`}}}function Ig(e,t,n){let r=e.policies.filter(o=>wd(o,t)).map(o=>{let i=o.effect??"advise",s=n(o);return{policy_id:o.id,policy_fingerprint:s,rule:o.rule.kind,effect:i==="refuse"&&e.enforcement!=="refuse"?"warn":i,...WO(o,t,s)}});return{allowed:!r.some(o=>!o.satisfied&&o.effect==="refuse"),decisions:r,warnings:r.filter(o=>!o.satisfied).map(o=>`workflow_policy:${o.effect}:${o.policy_id}:${o.rule}`)}}function Cg(e,t){return Ig(e,t,yd)}function Og(e){let t=la(e),n=new Map(t.policies.map(r=>[r,yd(r)]));return r=>Ig(t,r,o=>n.get(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]="1dd71b26-fc38-5304-9156-f32b57cc1cc0")}catch{}})();var VO=[...et],KO=[...kr],JO=[...os],YO=[...is],XO=[...ss],ZO=[...as],Hr=["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-attest","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","assurance","gc","workspace","contracts","claim","release","start-task","pause-task","close-task","meet","event","remind","help"];var xg=["init","install","uninstall","explore","manage","describe","reload","doctor","catalog","adopt","adopt-all","activate","deactivate"],Rg=["upgrade"],Ng=["reopen"],Dg={help:"Commander help rendering has no SDK operation result.",packages:"The plural package alias only renders package-oriented help."},Tn=Object.freeze(Hr.flatMap(e=>e in Dg?[]:e==="extension"||e==="package"?[...xg.map(t=>`${e}-${t}`),...e==="package"?Rg.map(t=>`package-${t}`):[],e]:e==="item"?Ng.map(t=>`item-${t}`):[e])),Pg=Object.freeze(aa.filter(e=>e.lifecycle==="deprecated"&&e.registration==="commander"&&Tn.includes(e.alias)).map(e=>e.alias)),QO=Object.freeze(Tn.filter(e=>!Pg.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]="b4036040-c0b8-5d01-b490-3405722fd1c5")}catch{}})();var Lg=["full","compact","brief","summary","counts"];var Mg=["error","warning","validation_summary","recovery_bundle"],$g=["full","omit_explanation","limit_collections","compact_recovery","action_only"],ex=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"]),tx=new Set(["contracts","extension","help","install","package","packages","profile","upgrade"]),nx=new Set(["gc","health","merge","stats","telemetry","test","test-all","validate"]),rx={mutation:2e3,read:4e3,discovery:3e3,governance:6e3},ox=3,ix=2,sx=192,ax={error:{text:768,json:2e3},warning:{text:768,json:2e3},validation_summary:{text:1500,json:3e3},recovery_bundle:{text:768,json:2e3}},Fg=Mg.map(e=>({diagnostic_class:e,default_max_estimated_tokens_by_format:ax[e],minimum_max_estimated_tokens:sx,degradation_ladder:$g,corrective_action_paths:["required","recovery.suggested_retry","recovery.suggested_retry_args","recovery.next_best_command","next_steps[0]"],token_estimate:"ceil(utf8_bytes / 4)"})),W5=new Map(Fg.map(e=>[e.diagnostic_class,e]));function jg(e){let[t=""]=en(e).split(/\s+/u);return ex.has(t)?"mutation":tx.has(t)?"discovery":nx.has(t)?"governance":"read"}function Ug(e,t=jg(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=rx[t];return zg({command:n,budget_class:t,default_max_estimated_tokens:r,default_max_estimated_tokens_by_format:{toon:r,json:Math.ceil(r*ox/ix)},degradation_ladder:Lg,allows_unbounded_opt_out:!0,token_estimate:"ceil(utf8_bytes / 4)"})}function zg(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 Hg=Hr.map(e=>Ug(e)),V5=new Map(Hg.map(e=>[e.command,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]="de370088-9285-5b33-8c7f-da8e9bb88286")}catch{}})();var lx=Object.freeze(["queue_draining","queue_entries","queue_exists","queue_high_retry_entries","queue_invalid_rows","queue_max_attempts","queue_rows_total","queue_size_bytes","pending_otel_spans","last_attempted_flush_at","last_failed_flush_at","last_otel_attempt_at","last_otel_failure_at","last_otel_success_at","last_successful_flush_at"]),dx=Object.freeze({health:Object.freeze({version:3,paths:Object.freeze(["checks"]),ignored_detail_field_names_by_row:Object.freeze({telemetry:lx}),guarantee:"nonvolatile_snapshot_and_stable_configuration"})});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="999accf0-d4e1-5dc4-92a0-4ea7d745ac48")}catch{}})();var qg=256,da=1e4,px=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/u,_x=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;var s4=[{valid:e=>e.version===1,reason:"version must equal 1."},{valid:e=>typeof e.id=="string"&&px.test(e.id),reason:"id must be 1-64 portable identifier characters."},{valid:e=>Number.isSafeInteger(e.token_budget)&&e.token_budget>=qg,reason:`token_budget must be a safe integer of at least ${qg}.`},{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<=da&&e.seen_item_ids.every(t=>typeof t=="string"&&_x.test(t)),reason:`seen_item_ids must contain at most ${da} portable item identifiers.`}];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c649c902-db30-5a05-982e-46669ca96148")}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]="72058f24-2965-5a9a-994d-e84a9af0c558")}catch{}})();var Gg=["include","amount","cost","encoding"],Bg=["list","context","search","get","next","health","deps","graph","history","activity","validate","events","contracts","comments","notes","files","docs","stats","aggregate","duplicates","package-catalog","package-manage","comments-audit","assurance"],kx=["canonical","legacy","intent","default"],bd={include:"--output-include",amount:"--output-limit",cost:"--output-budget",encoding:"--output-format"},Wg=Object.freeze(Gg.map(e=>bd[e])),Vg=Object.freeze(["--output-session","--output-cursor","--output-row-contract"]),Kg={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"]},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"]},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:{},duplicates:{amount:["--limit"]},"package-catalog":{},"package-manage":{},"comments-audit":{},assurance:{}},Jg=new Set(["--collapse","--fields","--section"]),vd=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.","--collapse":"--collapse retains dependency grouping semantics; --output-include does not replace it.","--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.","--no-truncate":"--no-truncate is a compatibility alias; prefer --output-limit unbounded.","--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.","--unbounded":"--unbounded is a compatibility alias; prefer --output-limit unbounded."});function Yg(e){return e.slice(2).replaceAll("-","_")}function Ex(e,t){let n=vd[e];if(n!==void 0)return n;let r=t==="include"?Jg.has(e)?"<csv>":Yg(e):t==="amount"?"<n>":t==="cost"?"<tokens>":"<toon|json>";return`${e} is a compatibility alias; prefer ${bd[t]} ${r}.`}function Sx(e){let t=Kg[e],n=Object.freeze(Object.fromEntries(Gg.map(r=>[r,Object.freeze({dimension:r,canonical_option:bd[r],applicable:!0,inapplicable_reason:null,legacy_aliases:Object.freeze((t[r]??[]).map(o=>Object.freeze({flag:o,semantics:vd[o]===void 0?"replacement":"behavior_preserving",migration_hint:Ex(o,r),visibility:"hidden_alias"})))})])));return Object.freeze({command:e,dimensions:n,precedence:kx,budget_retention_policy:e==="assurance"?"verdict_priority":"ordered_prefix",projection_modes:Object.freeze([...Ax(e).keys()])})}var Tx=Object.freeze(Bg.map(Sx)),L4=new Map(Tx.map(e=>[e.command,e]));function Jo(e,t={}){let n=en(e.trim().toLowerCase()),o=n==="package catalog"||n==="packages catalog"||n==="package-catalog"||(n==="package"||n==="packages"||n==="extension")&&(t.catalog===!0||t.target==="catalog"||t.action==="catalog")?"package-catalog":n==="package manage"||n==="package-manage"?"package-manage":n.split(" ")[0],i=o.startsWith("list-")?"list":o==="ctx"?"context":o;return Bg.includes(i)?i:void 0}function Ax(e){let t=Jo(e);return t?new Map((Kg[t].include??[]).filter(n=>!Jg.has(n)&&vd[n]===void 0).map(n=>[Yg(n),Ix(n)])):new Map}function Ix(e){return e.slice(2).replace(/-([a-z])/gu,(t,n)=>n.toUpperCase())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="72eb01a9-e8b8-59cd-b178-3c594d3faff9")}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]="3b38d564-6034-54ae-ad24-eddba01a2c5c")}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]="8bf25242-1b7a-501d-9540-7559cb97bcc6")}catch{}})();var r8=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:3e3,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"}]),o8=new Rx;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83c82348-64f8-5f10-9396-b03add0b7932")}catch{}})();import{encode as A8}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]="2ca9480d-0ae4-50e8-887e-c4183501d92c")}catch{}})();var I8=new Set(Object.values(_));var Xg=!1;function kd(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Dx(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.SUCCESS)}function Px(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.GENERIC_FAILURE)}function Ed(e){if(e==="stdout"){Dx();return}Px()}function Zg(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Lx(){Xg||(Xg=!0,process.stdout.on("error",e=>{if(kd(e)){Ed("stdout");return}Zg(e)}),process.stderr.on("error",e=>{if(kd(e)){Ed("stderr");return}Zg(e)}))}function Mx(e,t){Lx();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(kd(n))return Ed(e),!1;throw n}}function ua(e){return Mx("stderr",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]="979782f5-f4ee-5df5-a68a-0c51ab0548ae")}catch{}})();var $x=qr.join("runtime","history-drift-cache.json"),eh={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 th(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Td(e){let t=qr.join(e,$x),n=!1,r="invalid_cache_path";try{n=(await Sd.stat(await Sd.realpath(e))).isDirectory()}catch(o){let i=th(o);r=i===void 0?"unknown":eh[i]??"filesystem_error"}if(!n){ua(`[pm] warning: history_drift_cache_invalidation_failed:${r}
21
+ ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size`).run(t,n)}async function yg(e,t,n){let r=Qt.dirname(Qt.dirname(e)),o=NO();if(!o){await n();return}let i=!1;try{await OO(r,async()=>{let s=fd(r);try{await Lt.access(s)}catch{await n();return}let a;try{if(a=new o(s),a.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==kO)throw new TypeError("Unsupported history event index version")}catch{a?.close(),await Lt.rm(s,{force:!0}),await n();return}try{a.exec("PRAGMA busy_timeout = 5000"),a.exec("BEGIN IMMEDIATE")}catch(l){throw a.close(),l}let c=!1;try{await n(),c=!0,i=!0;let l=Qt.basename(e,".jsonl"),d=a.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(l);DO(a,{stream_id:l,stream_offset:Number(d.value),entry:t}),PO(a,l,(await Lt.stat(e)).size),a.exec("COMMIT"),a.close()}catch(l){if(a?.close(),!c)throw l;await ra(r)}})}catch(s){if(i){await ra(r);return}if(!(s instanceof g)||s.code!=="lock_conflict")throw s;let a;try{await IO(r,async()=>{let c=await CO(r);a=c.pendingPath;try{await n(),i=!0}catch(l){throw await Lt.rm(c.pendingPath,{force:!0}),l}await Lt.rename(c.pendingPath,c.committedPath),await ra(r)})}catch(c){if(i){await ra(r);try{await Lt.rm(a,{force:!0})}catch{}return}throw c}}}async function md(e){await Lt.rm(fd(Qt.dirname(Qt.dirname(e))),{force:!0})}import Sd from"node:fs/promises";import qr 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]="fd8576c5-0011-5aa2-ad8c-f6ec5715e419")}catch{}})();import{AsyncLocalStorage as Rx}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]="b18eefc1-0d1d-5c9c-b98a-b96771070301")}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]="4f014bd9-39b6-5017-93ed-f0e7fba8497a")}catch{}})();var wg=e=>{let t='"',n=0;for(let r of e){if(r==="\\"){n+=1;continue}t+="\\".repeat(r==='"'?n*2+1:n),t+=r,n=0}return`${t}${"\\".repeat(n*2)}"`},pd=(e,t=process.platform)=>(t==="win32"?/^[A-Za-z0-9._:/\\@=-]+$/:/^[A-Za-z0-9._:/@=-]+$/).test(e)?e:t==="win32"?wg(e):`"${e.replace(/(["\\$`])/g,"\\$1")}"`,Mt=(e,t=process.platform)=>{let n=e.map(r=>pd(r,t)).join(" ");return n.length>0?`pm ${n}`:"pm"};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="49de148c-3c60-547b-b3bc-d0a71e013dc6")}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]="d248fcfa-d007-526a-9849-9ea8352acaa1")}catch{}})();function bg(e,t,n){if(e&&t)throw new g(`${n} cannot be combined with --full`,_.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]="4b085328-0791-58f5-872a-f796f9087ab4")}catch{}})();var LO=1,MO=4096;var C5=Object.freeze({version:LO,max_length:MO});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dd0b1f79-0f4c-5042-8915-23adfc1f3b8d")}catch{}})();var ia=[["history-redact","history redact"],["history-repair","history repair"],["history-compact","history compact"],["activity","history activity"],["restore","history restore"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-tqel"})),vg=[...["next","focus"].map(e=>({alias:e,canonical:`context ${e}`,owner:"pm-kcs4"})),...["stats","health","validate","gc","telemetry","eval","test-all"].map(e=>({alias:e,canonical:`ops ${e}`,owner:"pm-6apl"})),...["normalize","reindex"].map(e=>({alias:e,canonical:`ops ${e}`,owner:"pm-3i9q8g"})),{alias:"events",canonical:"history events",owner:"pm-3i9q8g"}].map(e=>({...e,canonical_argv:e.canonical.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap"})),kg=[["update-many","update many"],["close-many","close many"],["delete","close delete"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-ik19"})),sa=[...vg,...kg,...["init","config","schema","profile"].map(e=>({alias:e,canonical:`workspace ${e}`,canonical_argv:["workspace",e],lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-npr3"})),...[...["comments","notes","learnings","files","docs","deps","append","test"].map(e=>[e,`item ${e}`,"pm-yql1"]),["test-runs-worker","item test worker","pm-lp4j"],...["statuses","tags","types"].map(e=>[`completion-${e}`,`completion ${e}`,"pm-szdc"]),["history-author-acknowledge","history acknowledge","pm-djyvbk"],["copy","item copy","pm-m6g87m"],["merge","workspace merge","pm-m6g87m"],["duplicates","item duplicates","pm-fmy9ih"],["dedupe-audit","item duplicates audit","pm-fmy9ih"],["dedupe-merge","item duplicates merge","pm-fmy9ih"],["comments-audit","item audit-comments","pm-fmy9ih"],["search-advanced","search advanced","pm-wfskfn"],...["meet","event","remind"].map(e=>[e,`calendar ${e}`,"pm-o3fh"])].map(([e,t,n])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:n}))],_d=[{alias:"history-attest",canonical:"history attest",canonical_argv:["history","attest"],lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-3z0k"},...ia,...sa,...["discover","lookup"].map(e=>({alias:`files ${e}`,canonical:`item files ${e}`,canonical_argv:["item","files",e],lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-yql1"}))];function Eg(e){let t=e.trim().replace(/\s+/gu," ");return _d.find(n=>n.canonical===t.replace(/^ctx /u,"context "))?.alias??t}function en(e){return Eg(e)}var aa=[..._d,...[["ctx","context"],["packages","package"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:[t],lifecycle:"permanent",hidden:!1,registration:"commander",owner:"pm-pbyu"})),...[["start-task","claim","--start"],["pause-task","release","--pause"],["close-task","close","--release-assignment"]].map(([e,t,n])=>({alias:e,canonical:t,canonical_argv:[t,n],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-eq4x"})),{alias:"tests",canonical:"item test",canonical_argv:["item","test"],lifecycle:"permanent",hidden:!1,registration:"bootstrap",owner:"pm-u4t9gp"},...[["fetch","get"],["read","get"],["show","get"],["view","get"],["comment","comments"],["note","notes"],["learning","learnings"]].map(([e,t])=>({alias:e,canonical:["comments","notes","learnings"].includes(t)?`item ${t}`:t,canonical_argv:["comments","notes","learnings"].includes(t)?["item",t]:[t],lifecycle:"permanent",hidden:!1,registration:"bootstrap",owner:"pm-pbyu"})),...[["extension list","extension catalog"],["extension scaffold","extension init"],["package list","package catalog"],["package scaffold","package init"],["packages list","package catalog"],["packages scaffold","package init"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!1,registration:"commander",owner:"pm-ya7x55"})),{alias:"list-all",canonical:"list",canonical_argv:["list","--all"],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-pfqi"},...[["list-draft","draft"],["list-open","open"],["list-in-progress","in_progress"],["list-blocked","blocked"],["list-closed","closed"],["list-canceled","canceled"]].map(([e,t])=>({alias:e,canonical:"list",canonical_argv:["list","--status",t],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-pfqi"})),...[["extension","package"],["install","package install"],["upgrade","package upgrade"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-tnud"}))],gd=Object.fromEntries(aa.filter(e=>e.registration==="bootstrap").map(e=>[e.alias,e.canonical]));(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="85bc6b10-700a-5d06-970f-d544833dd059")}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]="f960f91a-c5a7-5114-b4d2-7d562a8b6fdb")}catch{}})();import{createHash as Sg}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]="8b0d8654-211b-57bf-852f-8a153849e8fd")}catch{}})();var zr=["policies","policy-put","policy-remove","policy-mode","policy-check","policy-approve","policy-presets"],hd=256,Ur=64;function Je(e){throw new g(`Invalid workflow policy: ${e}`,_.USAGE,{code:"workflow_policy_invalid",nextSteps:["Inspect pm schema policies and correct the declaration using pm schema policy-put."]})}function tn(e,t,n){if(typeof e!="object"||e===null||Array.isArray(e))return Je(`${n} must be an object`);let r=e;return Object.keys(r).some(o=>!t.includes(o))?Je(`${n} contains an unknown key`):r}function nr(e,t,n=128){return typeof e!="string"||!e.trim()||e.length>n?Je(`${t} must be nonempty text of at most ${n} characters`):e.trim()}function Ko(e,t){if(!Array.isArray(e)||e.length===0||e.length>Ur)return Je(`${t} requires 1-${Ur} terms`);let n=e.map(r=>nr(r,t));return t==="fields"&&n.some(r=>!/^[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$/.test(r)||r.split(".").some(o=>["__proto__","constructor","prototype"].includes(o)))?Je("fields must be safe metadata paths of at most eight segments"):[...new Set(n)]}function jO(e){let t=tn(e,["kind","fields","authors","allowed"],"rule");return t.kind==="transition"?(tn(t,["kind","allowed"],"transition rule"),!Array.isArray(t.allowed)||t.allowed.length>Ur?Je("transition.allowed must be a bounded array"):{kind:"transition",allowed:t.allowed.map(n=>!Array.isArray(n)||n.length!==2?Je("transition pairs need two statuses"):[nr(n[0],"from"),nr(n[1],"to")])}):t.kind==="authors"?(tn(t,["kind","authors"],"authors rule"),{kind:"authors",authors:Ko(t.authors,"authors")}):t.kind==="require_fields"?(tn(t,["kind","fields"],"require_fields rule"),{kind:"require_fields",fields:Ko(t.fields,"fields")}):t.kind==="field_writers"||t.kind==="approval"?(tn(t,["kind","fields","authors"],"field rule"),{kind:t.kind,fields:Ko(t.fields,"fields"),authors:Ko(t.authors,"authors")}):Je("unknown rule kind")}function UO(e){let t={},n=tn(e,["types","tags","statuses","operations","parents","dependency"],"subject");for(let r of["types","tags","statuses","operations","parents"])n[r]!==void 0&&(t[r]=Ko(n[r],r));if(n.dependency!==void 0){let r=tn(n.dependency,["kind","id"],"dependency");t.dependency={kind:nr(r.kind,"dependency kind"),...r.id===void 0?{}:{id:nr(r.id,"dependency id")}}}return t}function Tg(e){let t=tn(e,["id","description","subject","effect","rule"],"policy"),n=nr(t.id,"id");return/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(n)?t.effect!==void 0&&(typeof t.effect!="string"||!["advise","warn","refuse"].includes(t.effect))?Je("effect must be advise, warn, or refuse"):{id:n,rule:jO(t.rule),...t.subject===void 0?{}:{subject:UO(t.subject)},...t.description===void 0?{}:{description:nr(t.description,"description",500)},...t.effect===void 0?{}:{effect:t.effect}}:Je("id must be a stable token")}function la(e){let t=tn(e,["version","enforcement","policies"],"document");if(t.version!==1)return Je("unsupported version");if(t.enforcement!==void 0&&t.enforcement!=="advise"&&t.enforcement!=="refuse")return Je("enforcement must be advise or refuse");if(!Array.isArray(t.policies)||t.policies.length>hd)return Je(`policies must contain at most ${hd} declarations`);let n=t.policies.map(Tg);return new Set(n.map(r=>r.id)).size!==n.length?Je("duplicate policy id"):{version:1,enforcement:t.enforcement??"advise",policies:n}}function ca(e,t){let n=e;for(let r of t.split(".")){if(typeof n!="object"||n===null||!Object.hasOwn(n,r))return;n=n[r]}return n}function zO(e){return e==null?!1:typeof e=="string"?e.trim().length>0:typeof e=="number"?Number.isFinite(e):Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function yd(e){return Sg("sha256").update(O(e)).digest("hex")}function Ag(e,t){let n=e.rule.kind==="approval"?e.rule.fields:[];return Sg("sha256").update(O({id:t.id,fields:n.map(r=>[r,ca(t,r)])})).digest("hex")}function HO(e,t){return Array.isArray(t)&&t.some(n=>typeof n=="object"&&n!==null&&"kind"in n&&n.kind===e.kind&&(e.id===void 0||"id"in n&&n.id===e.id))}function qO(e,t,n){return!(e.types&&!e.types.some(r=>r.toLowerCase()===String(t.type).toLowerCase())||e.statuses&&!e.statuses.includes(String(t.status))||e.operations&&!e.operations.includes(n)||e.parents&&!e.parents.includes(String(t.parent))||e.tags&&(!Array.isArray(t.tags)||!e.tags.some(r=>t.tags.includes(r)))||e.dependency&&!HO(e.dependency,t.dependencies))}function wd(e,t){if(t.completeness_only&&(e.rule.kind!=="require_fields"||e.subject?.operations!==void 0)||e.rule.kind==="approval"&&t.before===null)return!1;let n=e.subject??{},r=t.after?.status??t.before?.status;return[t.before,t.after].some(o=>o!==null&&qO(n,{...o,status:r},t.operation))}function GO(e,t,n,r){let o=["type","tags","parent","dependencies"].some(s=>!De(t.before?.[s],t.after?.[s]));return t.after&&(t.completeness_only||n||r||o)?e.filter(s=>!zO(ca(t.after,s))):[]}function BO(e,t,n,r){let o=t.after??t.before,i=Ag(e,o);return t.approvals?.some(s=>s.policy_fingerprint===r&&s.content_fingerprint===i&&s.author!==t.author&&n.includes(s.author))??!1}function WO(e,t,n){let r=e.rule,o=t.before?.status!==t.after?.status,i="fields"in r&&r.fields.some(s=>!De(ca(t.before,s),ca(t.after,s)));switch(r.kind){case"require_fields":{let s=GO(r.fields,t,o,i);return{satisfied:s.length===0,missing_fields:s,remediation:"Supply the declared required fields before this lifecycle transition."}}case"transition":return{satisfied:!o||r.allowed.some(([s,a])=>s===String(t.before?.status??"$create")&&a===String(t.after?.status??"$delete")),missing_fields:[],remediation:"Choose a declared allowed transition; inspect pm schema policies."};case"authors":return{satisfied:r.authors.includes(t.author),missing_fields:[],remediation:"Have a declared workflow actor perform this operation."};case"field_writers":return{satisfied:!i||r.authors.includes(t.author),missing_fields:[],remediation:"Have a declared field writer change the protected fields."};case"approval":return{satisfied:!o||BO(e,t,r.authors,n),missing_fields:[],remediation:`Record an independent approval with pm schema policy-approve <item-id> --policy ${e.id} after preparing the reviewed fields.`}}}function Ig(e,t,n){let r=e.policies.filter(o=>wd(o,t)).map(o=>{let i=o.effect??"advise",s=n(o);return{policy_id:o.id,policy_fingerprint:s,rule:o.rule.kind,effect:i==="refuse"&&e.enforcement!=="refuse"?"warn":i,...WO(o,t,s)}});return{allowed:!r.some(o=>!o.satisfied&&o.effect==="refuse"),decisions:r,warnings:r.filter(o=>!o.satisfied).map(o=>`workflow_policy:${o.effect}:${o.policy_id}:${o.rule}`)}}function Cg(e,t){return Ig(e,t,yd)}function Og(e){let t=la(e),n=new Map(t.policies.map(r=>[r,yd(r)]));return r=>Ig(t,r,o=>n.get(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]="1dd71b26-fc38-5304-9156-f32b57cc1cc0")}catch{}})();var VO=[...et],KO=[...kr],JO=[...os],YO=[...is],XO=[...ss],ZO=[...as],Hr=["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-attest","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","assurance","gc","workspace","contracts","claim","release","start-task","pause-task","close-task","meet","event","remind","help"];var xg=["init","install","uninstall","explore","manage","describe","reload","doctor","catalog","adopt","adopt-all","activate","deactivate"],Rg=["upgrade"],Ng=["reopen"],Dg={help:"Commander help rendering has no SDK operation result.",packages:"The plural package alias only renders package-oriented help."},Tn=Object.freeze(Hr.flatMap(e=>e in Dg?[]:e==="extension"||e==="package"?[...xg.map(t=>`${e}-${t}`),...e==="package"?Rg.map(t=>`package-${t}`):[],e]:e==="item"?Ng.map(t=>`item-${t}`):[e])),Pg=Object.freeze(aa.filter(e=>e.lifecycle==="deprecated"&&e.registration==="commander"&&Tn.includes(e.alias)).map(e=>e.alias)),QO=Object.freeze(Tn.filter(e=>!Pg.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]="b4036040-c0b8-5d01-b490-3405722fd1c5")}catch{}})();var Lg=["full","compact","brief","summary","counts"];var Mg=["error","warning","validation_summary","recovery_bundle"],$g=["full","omit_explanation","limit_collections","compact_recovery","action_only"],ex=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"]),tx=new Set(["contracts","extension","help","install","package","packages","profile","upgrade"]),nx=new Set(["gc","health","merge","stats","telemetry","test","test-all","validate"]),rx={mutation:2e3,read:4e3,discovery:3e3,governance:6e3},ox=3,ix=2,sx=192,ax={error:{text:768,json:2e3},warning:{text:768,json:2e3},validation_summary:{text:1500,json:3e3},recovery_bundle:{text:768,json:2e3}},Fg=Mg.map(e=>({diagnostic_class:e,default_max_estimated_tokens_by_format:ax[e],minimum_max_estimated_tokens:sx,degradation_ladder:$g,corrective_action_paths:["required","recovery.suggested_retry","recovery.suggested_retry_args","recovery.next_best_command","next_steps[0]"],token_estimate:"ceil(utf8_bytes / 4)"})),V5=new Map(Fg.map(e=>[e.diagnostic_class,e]));function jg(e){let[t=""]=en(e).split(/\s+/u);return ex.has(t)?"mutation":tx.has(t)?"discovery":nx.has(t)?"governance":"read"}function Ug(e,t=jg(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=rx[t];return zg({command:n,budget_class:t,default_max_estimated_tokens:r,default_max_estimated_tokens_by_format:{toon:r,json:Math.ceil(r*ox/ix)},degradation_ladder:Lg,allows_unbounded_opt_out:!0,token_estimate:"ceil(utf8_bytes / 4)"})}function zg(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 Hg=Hr.map(e=>Ug(e)),K5=new Map(Hg.map(e=>[e.command,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]="de370088-9285-5b33-8c7f-da8e9bb88286")}catch{}})();var lx=Object.freeze(["queue_draining","queue_entries","queue_exists","queue_high_retry_entries","queue_invalid_rows","queue_max_attempts","queue_rows_total","queue_size_bytes","pending_otel_spans","last_attempted_flush_at","last_failed_flush_at","last_otel_attempt_at","last_otel_failure_at","last_otel_success_at","last_successful_flush_at"]),dx=Object.freeze({health:Object.freeze({version:3,paths:Object.freeze(["checks"]),ignored_detail_field_names_by_row:Object.freeze({telemetry:lx}),guarantee:"nonvolatile_snapshot_and_stable_configuration"})});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="999accf0-d4e1-5dc4-92a0-4ea7d745ac48")}catch{}})();var qg=256,da=1e4,px=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/u,_x=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;var a4=[{valid:e=>e.version===1,reason:"version must equal 1."},{valid:e=>typeof e.id=="string"&&px.test(e.id),reason:"id must be 1-64 portable identifier characters."},{valid:e=>Number.isSafeInteger(e.token_budget)&&e.token_budget>=qg,reason:`token_budget must be a safe integer of at least ${qg}.`},{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<=da&&e.seen_item_ids.every(t=>typeof t=="string"&&_x.test(t)),reason:`seen_item_ids must contain at most ${da} portable item identifiers.`}];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c649c902-db30-5a05-982e-46669ca96148")}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]="72058f24-2965-5a9a-994d-e84a9af0c558")}catch{}})();var Gg=["include","amount","cost","encoding"],Bg=["list","context","search","get","next","health","deps","graph","history","activity","validate","events","contracts","comments","notes","files","docs","stats","aggregate","duplicates","package-catalog","package-manage","comments-audit","assurance"],kx=["canonical","legacy","intent","default"],bd={include:"--output-include",amount:"--output-limit",cost:"--output-budget",encoding:"--output-format"},Wg=Object.freeze(Gg.map(e=>bd[e])),Vg=Object.freeze(["--output-session","--output-cursor","--output-row-contract"]),Kg={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"]},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"]},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:{},duplicates:{amount:["--limit"]},"package-catalog":{},"package-manage":{},"comments-audit":{},assurance:{}},Jg=new Set(["--collapse","--fields","--section"]),vd=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.","--collapse":"--collapse retains dependency grouping semantics; --output-include does not replace it.","--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.","--no-truncate":"--no-truncate is a compatibility alias; prefer --output-limit unbounded.","--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.","--unbounded":"--unbounded is a compatibility alias; prefer --output-limit unbounded."});function Yg(e){return e.slice(2).replaceAll("-","_")}function Ex(e,t){let n=vd[e];if(n!==void 0)return n;let r=t==="include"?Jg.has(e)?"<csv>":Yg(e):t==="amount"?"<n>":t==="cost"?"<tokens>":"<toon|json>";return`${e} is a compatibility alias; prefer ${bd[t]} ${r}.`}function Sx(e){let t=Kg[e],n=Object.freeze(Object.fromEntries(Gg.map(r=>[r,Object.freeze({dimension:r,canonical_option:bd[r],applicable:!0,inapplicable_reason:null,legacy_aliases:Object.freeze((t[r]??[]).map(o=>Object.freeze({flag:o,semantics:vd[o]===void 0?"replacement":"behavior_preserving",migration_hint:Ex(o,r),visibility:"hidden_alias"})))})])));return Object.freeze({command:e,dimensions:n,precedence:kx,budget_retention_policy:e==="assurance"?"verdict_priority":"ordered_prefix",projection_modes:Object.freeze([...Ax(e).keys()])})}var Tx=Object.freeze(Bg.map(Sx)),M4=new Map(Tx.map(e=>[e.command,e]));function Jo(e,t={}){let n=en(e.trim().toLowerCase()),o=n==="package catalog"||n==="packages catalog"||n==="package-catalog"||(n==="package"||n==="packages"||n==="extension")&&(t.catalog===!0||t.target==="catalog"||t.action==="catalog")?"package-catalog":n==="package manage"||n==="package-manage"?"package-manage":n.split(" ")[0],i=o.startsWith("list-")?"list":o==="ctx"?"context":o;return Bg.includes(i)?i:void 0}function Ax(e){let t=Jo(e);return t?new Map((Kg[t].include??[]).filter(n=>!Jg.has(n)&&vd[n]===void 0).map(n=>[Yg(n),Ix(n)])):new Map}function Ix(e){return e.slice(2).replace(/-([a-z])/gu,(t,n)=>n.toUpperCase())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="72eb01a9-e8b8-59cd-b178-3c594d3faff9")}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]="3b38d564-6034-54ae-ad24-eddba01a2c5c")}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]="8bf25242-1b7a-501d-9540-7559cb97bcc6")}catch{}})();var o8=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:3e3,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"}]),i8=new Rx;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83c82348-64f8-5f10-9396-b03add0b7932")}catch{}})();import{encode as I8}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]="2ca9480d-0ae4-50e8-887e-c4183501d92c")}catch{}})();var C8=new Set(Object.values(_));var Xg=!1;function kd(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Dx(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.SUCCESS)}function Px(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.GENERIC_FAILURE)}function Ed(e){if(e==="stdout"){Dx();return}Px()}function Zg(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Lx(){Xg||(Xg=!0,process.stdout.on("error",e=>{if(kd(e)){Ed("stdout");return}Zg(e)}),process.stderr.on("error",e=>{if(kd(e)){Ed("stderr");return}Zg(e)}))}function Mx(e,t){Lx();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(kd(n))return Ed(e),!1;throw n}}function ua(e){return Mx("stderr",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]="979782f5-f4ee-5df5-a68a-0c51ab0548ae")}catch{}})();var $x=qr.join("runtime","history-drift-cache.json"),eh={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 th(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Td(e){let t=qr.join(e,$x),n=!1,r="invalid_cache_path";try{n=(await Sd.stat(await Sd.realpath(e))).isDirectory()}catch(o){let i=th(o);r=i===void 0?"unknown":eh[i]??"filesystem_error"}if(!n){ua(`[pm] warning: history_drift_cache_invalidation_failed:${r}
22
22
  `);return}try{await Sd.rm(t,{force:!0})}catch(o){let i=th(o);if(F(o))return;let s=i===void 0?"unknown":eh[i]??"filesystem_error";ua(`[pm] warning: history_drift_cache_invalidation_failed:${s}
23
23
  `)}}async function rr(e){let t=qr.dirname(qr.resolve(e));qr.basename(t)==="history"&&await Td(qr.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]="8c02324c-231c-54ae-8edb-256ac7e04b50")}catch{}})();var jx={front_matter:{},body:""},wt=3,mt=[1,2,3],ch=1,lh=[1];function Od(e){return mn(O(e),e.hash_algorithm)}function or(e){return Pe(O(e))}function In(e){let t={...e,record_hash_version:ch},{record_hash:n,...r}=t;return{...t,record_hash:Od(r)}}function sr(e){try{Ne(e.hash_algorithm)}catch{return{ok:!1,error:"unsupported_history_hash_algorithm"}}if(e.record_hash_version===void 0&&e.record_hash===void 0)return{ok:!0,coverage:"item_state_only"};if(e.record_hash_version===void 0||e.record_hash===void 0)return{ok:!1,error:"incomplete_record_hash_envelope"};if(!lh.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...n}=e;return Od(n)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function Ux(e,t){let n={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:or(e.patch)};return e.hash_algorithm!==void 0&&(n.hash_algorithm=e.hash_algorithm),e.item_hash_version!==void 0&&(n.item_hash_version=e.item_hash_version),t.retainOriginalPatch&&(n.patch=structuredClone(e.patch)),t.retainPriorRecordHash!==!1&&e.record_hash_version!==void 0&&e.record_hash!==void 0&&(n.record_hash_version=e.record_hash_version,n.record_hash=e.record_hash,n.record=structuredClone(e)),n}function Yo(e,t,n={}){let r=sr(e);if(!r.ok)throw new TypeError(r.error);let o=or(e.patch),i=n.retainPriorRecord===!0||e.before_hash!==t.before_hash||e.after_hash!==t.after_hash||e.item_hash_version!==t.item_hash_version||e.hash_algorithm!==t.hash_algorithm||o!==or(t.patch),s=In({...t,...i?{reanchor_evidence:[...t.reanchor_evidence??[],Ux(e,n)]}:{}}),a=pa(s);if(!a.ok)throw new TypeError(a.error);return s}function dh(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!ir(t)||typeof t.path!="string"?!1:t.op==="move"||t.op==="copy"?typeof t.from=="string":["add","replace","test"].includes(t.op)?Object.hasOwn(t,"value"):t.op==="remove")}function zx(e){return ir(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&dh(e.patch)}function Hx(e){let t=e.record_hash_version!==void 0,n=e.record_hash!==void 0;return t===n}function qx(e){return!ir(e)||!Hx(e)||typeof e.before_hash!="string"||typeof e.after_hash!="string"||typeof e.patch_hash!="string"||!/^[a-f0-9]{64}$/u.test(e.patch_hash)||e.patch!==void 0&&!dh(e.patch)||e.record_hash_version!==void 0&&typeof e.record_hash_version!="number"||e.record_hash!==void 0&&(typeof e.record_hash!="string"||!/^(?:[a-f0-9]{64}|[a-f0-9]{128})$/u.test(e.record_hash))?!1:e.record===void 0||zx(e.record)}function Gx(e){try{for(let t of e){if(!qx(t))return!1;Ne(t.hash_algorithm)}return!0}catch{return!1}}function Bx(e){let t=e.record;return t!==void 0&&t.before_hash===e.before_hash&&t.after_hash===e.after_hash&&t.item_hash_version===e.item_hash_version&&t.hash_algorithm===e.hash_algorithm&&t.record_hash_version===e.record_hash_version&&t.record_hash===e.record_hash&&or(t.patch)===e.patch_hash}function Wx(e,t,n){if(t.patch&&or(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return Bx(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let r=t.patch??e.patch;if(or(r)!==t.patch_hash)return{kind:"digest_only"};let o={...e,before_hash:t.before_hash,after_hash:t.after_hash,patch:r,hash_algorithm:t.hash_algorithm,...t.item_hash_version===void 0?{}:{item_hash_version:t.item_hash_version},...t.record_hash_version===void 0?{}:{record_hash_version:t.record_hash_version},...t.record_hash===void 0?{}:{record_hash:t.record_hash},...n.length===0?{}:{reanchor_evidence:n}};return t.hash_algorithm===void 0&&delete o.hash_algorithm,n.length===0&&delete o.reanchor_evidence,t.item_hash_version===void 0&&delete o.item_hash_version,t.record_hash_version===void 0||t.record_hash===void 0?{kind:"legacy",entry:o}:{kind:"record",entry:o}}function pa(e){let t=e.reanchor_evidence;if(t===void 0)return{ok:!0,coverage:"none"};if(!Array.isArray(t)||!Gx(t))return{ok:!1,error:"rewrite_evidence_invalid"};if(t.length===0)return{ok:!0,coverage:"none"};let n=e;for(let r=t.length-1;r>=0;r-=1){let o=t[r],i=Wx(n,o,t.slice(0,r));if(i.kind==="patch_hash_mismatch")return{ok:!1,error:"rewrite_evidence_patch_hash_mismatch"};if(i.kind==="record_hash_mismatch")return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};if(i.kind==="digest_only")return{ok:!0,coverage:"digest_only"};if(i.kind==="legacy")return{ok:!0,coverage:"legacy_anchor_only"};if(!sr(i.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};n=i.entry}return{ok:!0,coverage:"complete"}}function fa(e,t){return(e??"").localeCompare(t??"")}function rh(e,t){return(e??0)-(t??0)}function An(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Vx(e,t){return[e.scope.localeCompare(t.scope),fa(e.path,t.path),fa(e.command,t.command),rh(e.timeout_seconds,t.timeout_seconds),fa(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,An(e.env_clear,t.env_clear,[]),An(e.env_set,t.env_set,{}),An(e.assert_stdout_contains,t.assert_stdout_contains,[]),An(e.assert_stdout_regex,t.assert_stdout_regex,[]),An(e.assert_stderr_contains,t.assert_stderr_contains,[]),An(e.assert_stderr_regex,t.assert_stderr_regex,[]),rh(e.assert_stdout_min_lines,t.assert_stdout_min_lines),An(e.assert_json_field_equals,t.assert_json_field_equals,{}),An(e.assert_json_field_gte,t.assert_json_field_gte,{}),fa(e.note,t.note)].find(r=>r!==0)??0}function Kx(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Jx(e,t){let n=Kx(t);if(n.length===0)return!0;let r=e;for(let o of n){let i=/^(0|[1-9]\d*)$/.test(o)?Number(o):-1,s=Array.isArray(r)?i>=0&&i<r.length?r[i]:void 0:ir(r)&&Object.prototype.hasOwnProperty.call(r,o)?r[o]:void 0;if(s===void 0)return!1;r=s}return!0}function Yx(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Jx(r,o.path)?{...o,op:"add"}:o;n.push(i),r=ah.applyPatch(r,[i],!0,!0).newDocument}return n}function ma(e,t,n=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let o=lt(e),s=t===1||t===2&&n?{...o.metadata,...o.metadata.dependencies===void 0?{}:{dependencies:o.metadata.dependencies.map(l=>({...l,id:l.id.toLowerCase()}))},...o.metadata.tests===void 0?{}:{tests:o.metadata.tests.map(({workspace_context_mode:l,provenance:d,provenance_invalid:u,...f})=>f)},...o.metadata.test_runs===void 0?{}:{test_runs:o.metadata.test_runs.map(({executions:l,...d})=>d)}}:o.metadata,a=t===1&&s.tests?{...s,tests:[...s.tests].sort(Vx)}:s;return{front_matter:_n(a,We),body:o.body}}function oh(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=lt(e);return{metadata:_n(n.metadata,We),body:n.body}}function xd(e){return Rd(e,wt)}function Rd(e,t,n){if(!mt.some(r=>r===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return mn(O(ma(e,t)),n)}function Gr(e,t,n){let r=Rd(e,t,n);return t===2?[r,mn(O(ma(e,t,!0)),n)]:[r]}function Nd(){return Pe(O(jx))}function ar(e){let t=xs(e.op),n=ma(e.before,wt),r=ma(e.after,wt),o=oh(e.before),i=oh(e.after),s=ah.compare(o,i),a=Yx(o,s),c=gg(e.author),l=c.harness?Object.fromEntries(Object.entries(cd().provenance_outcomes).filter(([m,p])=>p.resolver!==void 0&&(p.status!=="resolved"||c.provenance?.[m]?.source==="probe"))):void 0,d=l===void 0||Object.keys(l).length===0?e.context:{...e.context,agent_provenance_outcomes:l},u=e.hashAlgorithm??Lm,f={hash_algorithm:u,ts:e.nowIso,author:e.author,author_source:e.authorSource??_g(e.author),...c.harness?{agent_harness:c.harness}:{},...c.model?{agent_model:c.model}:{},...c.model_source?{agent_model_source:c.model_source}:{},...c.instance?{agent_instance:c.instance}:{},...c.provenance?{agent_provenance:c.provenance}:{},...c.episode?{agent_episode:c.episode}:{},op:t,patch:a,before_hash:mn(O(n),u),after_hash:mn(O(r),u),item_hash_version:wt,message:e.message===void 0?void 0:e.message,...d===void 0?{}:{context:d}};return In({...f,event_class:tr(f)})}function ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ad(e){return new g(e,_.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function uh(e){let t=e.ts.trim();if(t.length===0)return j();if(!gn(t))throw Ad("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw Ad("History timestamp must not contain surrounding whitespace");return e.ts}function ih(e,t){let n=e.ts;if(typeof n=="string"&&n.trim().length>0){if(!gn(n))throw Ad("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function Id(e,t){let n=uh(t);if(typeof e=="string"){let r;try{r=JSON.parse(e)}catch{return e}return ir(r)?JSON.stringify(ih(r,n)):e}return ir(e)?JSON.stringify(ih(e,n)):JSON.stringify(e)}async function Xx(e,t,n){if(n===!1)return!0;if(typeof n=="string"){let s=Id(n,t);return await Cd(e,s),await rr(e),await md(e),!0}if(typeof n!="object"||n===null)return!1;let r=n;if(r.skip===!0)return!0;let o=typeof r.history_path=="string"?r.history_path:e,i=Id(typeof r.line=="string"?r.line:r.entry??t,t);return await Cd(o,i),await rr(o),await md(o),!0}async function Cd(e,t){let n;try{n=JSON.parse(t)}catch{n=null}if(!ir(n)||n.op!=="create"){await Fc(e,t);return}await nh.mkdir(Fx.dirname(e),{recursive:!0});try{await nh.writeFile(e,`${t}
24
24
  `,{encoding:"utf8",flag:"wx"})}catch(r){throw r.code!=="EEXIST"?r:new g("This item identity is reserved by an existing history stream.",_.CONFLICT,{code:"item_identity_reserved",required:"Choose a new item ID or restore the original item from its history.",nextSteps:["Run pm history <id> --full, then pm restore <id> <version> to recover the original item."]})}}async function Xo(e,t){let n=await Pt("history_append",{history_path:e,entry:t});if(n.handled&&await Xx(e,t,n.result))return;let r=t.ts.trim().length>0?t:{...t,ts:uh(t)},o=In({...r,hash_algorithm:Ne(r.hash_algorithm),event_class:tr(r)});await yg(e,o,async()=>{await Cd(e,Id(o,o))}),await rr(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]="8c80fb7b-da68-5bb8-a985-7de2d81aabd7")}catch{}})();var Br={metadata:{},body:""};function cr(){return structuredClone(Br)}function Cn(e,t,n){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Gr(Wr(e),t,n)}catch{}let r=mn(O({replay_fallback:!0,metadata:e.metadata,body:e.body}),n);return t===2?[r,r]:[r]}function ph(e,t,n,r,o){let i=Ne(r.hash_algorithm),s=`${n}:${i}`,a=o?.before.get(s)??Cn(e,n,i),c=Cn(t,n,i);return o?.after.set(s,c),{beforeHashes:a,afterHashes:c,pairIndex:a.findIndex((l,d)=>l===r.before_hash&&c[d]===r.after_hash),beforeIndex:a.indexOf(r.before_hash),afterIndex:c.indexOf(r.after_hash)}}function Wr(e){return{metadata:e.metadata,body:e.body}}function Pd(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=lt(e);return{metadata:_n(t.metadata,We),body:t.body}}function fh(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function Zx(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Zo(e){return Array.isArray(e)?e.filter(Zx).map(t=>({...t,path:fh(t.path),from:typeof t.from=="string"?fh(t.from):void 0})):[]}function Qx(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 On(e,t){try{let n=Zo(t),r=Dd.applyPatch(structuredClone(e),n,!0,!0).newDocument;return Qx(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 eR(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&mt.includes(t)))]}function _h(e){return e!==void 0&&!mt.includes(e)}function tR(e,t){return e!==void 0?[e]:t===void 0?[...mt]:[t]}function gh(e){let t=sr(e);if(!t.ok)return t.error;let n=pa(e);return n.ok?void 0:n.error}function nR(e,t){let n=gh(e);if(n)return{ok:!1,error:n};let r=On(t,e.patch);return r.ok?{ok:!0,document:r.document}:{ok:!1,error:"patch_apply_failed"}}function rR(e,t){let n=gh(e);if(n)throw new TypeError(`${n}:entry_${t+1}`)}function oR(e,t,n,r,o){let i=[];for(let s of n){let a=ph(e,t,s,r,o);if(i.push({version:s,match:a}),a.pairIndex>=0)break}return i}function bt(e){let t=cr(),n=new Map,r,o,i=wo(e).map(s=>`verify_failed:duplicate_create:entry_${s.repeated_create_index}:prior_${s.prior_genesis_index}`);for(let s=0;s<e.length;s+=1){let a=e[s],c=a.item_hash_version,l=_h(c);l&&i.push(`verify_failed:unsupported_item_hash_version:${String(c)}:entry_${s+1}`);let d=nR(a,t);if(!d.ok)return{ok:!1,errors:[...i,`verify_failed:${d.error}:entry_${s+1}`]};if(l){t=d.document,n=new Map,r=void 0,o=void 0;continue}let u=tR(c,o),f={before:n,after:new Map},m=oR(t,d.document,u,a,f),p=m.find(({match:h})=>h.pairIndex>=0);if(p===void 0){let h=m.some(({match:b})=>b.beforeIndex>=0);return{ok:!1,errors:[...i,`verify_failed:${h?"after":"before"}_hash_mismatch:entry_${s+1}`]}}let w=p.version;t=d.document,n=f.after,r=w,o=c??o}return i.length>0?{ok:!1,errors:i,...r===void 0?{}:{item_hash_version:r}}:{ok:!0,errors:[],...r===void 0?{}:{item_hash_version:r}}}function vt(e){let t=bt(e);return{ok:t.ok,errors:t.errors}}function mh(e,t){try{return{ok:!0,document:Dd.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function iR(e,t){let n=structuredClone(e),r=0,o=0;for(let a of Zo(t)){let c=mh(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let l=mh(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 Ld(e){let t=eR(e);if(t.length===1)return t[0];let n=bt(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:wt}function sR(e,t){let n=On(e,t.patch);if(n.ok)return{next:n.document,patch:t.patch,repaired:!1,converted:0,skipped:0};let r=iR(e,t.patch);return{next:r.document,patch:Dd.compare(e,r.document),repaired:!0,converted:r.convertedReplaceToAdd,skipped:r.skippedOps}}function Qo(e,t=Ld(e),n={}){let r=e.findIndex(m=>_h(m.item_hash_version));if(r>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[r]?.item_hash_version)}:entry_${r+1}`);let o=cr(),i=[],s=[],a=0,c=0,l=0,d=0,u,f=t!==1||e.some(m=>m.item_hash_version!==void 0);for(let m=0;m<e.length;m+=1){let p=e[m];rR(p,m);let w=sR(o,p),{next:h,patch:b,repaired:v,converted:I,skipped:A}=w;l+=I,d+=A,c+=Number(v);let C=ph(o,h,t,p);u===void 0||n.continuousHashSurface!==!0?u=[C.pairIndex,C.beforeIndex,C.afterIndex,Math.min(u??0,C.beforeHashes.length-1)].find(z=>z>=0):u=Math.min(u,C.beforeHashes.length-1);let L=C.beforeHashes[u],E=C.afterHashes[u],N=L!==p.before_hash||E!==p.after_hash;N&&(a+=1);let G={...p,patch:b,before_hash:L,after_hash:E};f?G.item_hash_version=t:delete G.item_hash_version;let T=G.item_hash_version!==p.item_hash_version;(N||v||T)&&(G=Yo(p,G,{retainOriginalPatch:v})),i.push(G),s.push({index:m+1,rehashed:N,patch_repaired:v,converted_replace_to_add:I,skipped_ops:A}),o=h}return{entries:i,finalDocument:o,entriesRehashed:a,entriesPatchRepaired:c,convertedReplaceToAdd:l,skippedOps:d,details:s,itemHashVersion:t,explicitItemHashVersion:f}}function lr(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
@@ -35,13 +35,13 @@ ${i}`;continue}return null}return n}function Kr(e,t){let n=wh(e).trim();if(!n)th
35
35
  `,conflict_paths:c,paths_from_theirs:l,preferred:o}}import{execFile as ZR}from"node:child_process";import{randomUUID as QR}from"node:crypto";import{readdir as eN,stat as tN}from"node:fs/promises";import Be from"node:path";import{promisify as nN}from"node:util";import{constants as Oh}from"node:fs";import{lstat as AR,open as IR}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]="b8cf81eb-6afd-5d5a-8a4d-b5b5fbd51ace")}catch{}})();var CR={lstat:AR,open:IR};function OR(e){return e.O_NOFOLLOW??0}async function ri(e,t,n=CR){let r=await n.lstat(e);if(r.isSymbolicLink()||!r.isFile()||r.size>t)return null;let o=await n.open(e,Oh.O_RDONLY|OR(Oh));try{let i=await o.stat();if(!i.isFile()||i.size>t)return null;let s=Buffer.alloc(i.size),a=0;for(;a<s.length;){let{bytesRead:l}=await o.read(s,a,s.length-a,a);if(l===0)break;a+=l}return(await o.stat()).size===i.size&&a===i.size?s.toString("utf8",0,a):null}finally{await o.close()}}import ha from"node:path";import{execFile as xR}from"node:child_process";import{createHash as RR}from"node:crypto";import{readdir as NR}from"node:fs/promises";import DR from"node:path";import{promisify as PR}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b5dfe3ea-a457-5fb4-84b4-c03110f6b53a")}catch{}})();var fr=PR(xR),Kd=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function xh(e,t){let n=t.trim(),r=/^(['"])(.*)\1$/su.exec(n)?.[2]??n;for(let o of["rebase-merge","rebase-apply"])try{let{stdout:i}=await fr("git",["rev-parse","--path-format=absolute","--git-path",`${o}/orig-head`],{cwd:e,timeout:1e4}),s=(await ri(i.trim(),128))?.trim();if(s===void 0||!Kd.test(s))continue;let{stdout:a}=await fr("git",["rev-parse","--verify",`${s}:${r}`],{cwd:e,timeout:1e4}),c=a.trim();return{kind:"rebase",original_head:s,original_blob:c}}catch{}}function Rh(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return Object.keys(t).length===3&&t.kind==="rebase"&&typeof t.original_head=="string"&&Kd.test(t.original_head)&&typeof t.original_blob=="string"&&Kd.test(t.original_blob)}async function ga(e,t,n,r){if(r!==void 0&&RR(n.original_blob.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(r)}\0`).update(r).digest("hex")!==n.original_blob)return!1;try{let{stdout:o}=await fr("git",["rev-parse","--absolute-git-dir"],{cwd:e,timeout:1e4}),i=new Set(["rebase-merge","rebase-apply","MERGE_HEAD","CHERRY_PICK_HEAD","REVERT_HEAD"]);if((await NR(o.trim())).some(l=>i.has(l)))return!1;let{stdout:s}=await fr("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4});if(s.trim()!==n.original_head)return!1;let{stdout:a}=await fr("git",["rev-parse","--verify",`HEAD:${t}`],{cwd:e,timeout:1e4});if(a.trim()!==n.original_blob)return!1;let{stdout:c}=await fr("git",["hash-object","--",DR.resolve(e,t)],{cwd:e,timeout:1e4});return c.trim()!==n.original_blob?!1:(await fr("git",["diff","--cached","--quiet","HEAD","--",t],{cwd:e,timeout:1e4}),!0)}catch{return!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]="0d215db3-1a51-5509-aa08-a3d0708aa3ef")}catch{}})();var LR=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,MR=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,wa=2048,$R=64,FR=1e5,jR=new Set(["version","id","item_path","item_id","requested_preference","requested_preference_applied","preferred","conflict_resolution","fields_from_theirs","union_fields","merged_field_hashes","decisions","state","created_at","reconciled_at","value_availability","value_policy","evidence_source","operation","settlement"]);function rn(e){return LR.test(e)}var UR=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),ba="bounded_non_sensitive_scalars_v1",zR=new Set(["open","in_progress","blocked","closed","canceled"]),HR=new Set(["risk","confidence","severity"]),qR=new Set(["low","medium","high","critical"]),Dh=new Map([["priority",new Set([0,1,2,3,4].map(O))],["status",new Set([...zR].map(O))],...[...HR].map(e=>[e,new Set([...qR].map(O))])]);function $t(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ph(e,t){return Object.keys(e).every(n=>t.has(n))}function ya(e){return Array.isArray(e)&&e.length<=wa&&e.every(t=>typeof t=="string"&&t.length>0&&t.length<=256)}function oi(e){let t=[{value:e,depth:0}],n=0;for(;t.length>0;){let r=t.pop();if(n+=1,n>FR||r.depth>$R)return!1;if(Array.isArray(r.value))for(let o of r.value)t.push({value:o,depth:r.depth+1});else if($t(r.value))for(let o of Object.values(r.value))t.push({value:o,depth:r.depth+1})}return!0}function Lh(e){if(!$t(e))return!1;let t=[void 0,"ours","theirs"],n=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[Ph(e,UR),typeof e.field=="string",typeof e.field=="string"&&e.field.length>0,typeof e.field=="string"&&e.field.length<=256,Object.hasOwn(e,"base"),Object.hasOwn(e,"ours"),Object.hasOwn(e,"theirs"),Object.hasOwn(e,"retained"),Object.hasOwn(e,"discarded"),oi(e.base),oi(e.ours),oi(e.theirs),oi(e.retained),oi(e.discarded),t.includes(e.retained_side),n.includes(e.resolution_basis)].every(Boolean)}function GR(e){if(!$t(e))return!1;let t=Object.entries(e);return t.length<=wa&&t.every(([n,r])=>n.length>0&&n.length<=256&&typeof r=="string"&&/^[a-f0-9]{64}$/u.test(r))}function BR(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||ha.posix.isAbsolute(e))return!1;let n=ha.posix.normalize(e);return n!==".."&&!n.startsWith("../")&&ha.posix.basename(n,ha.posix.extname(n))===t}function WR(e){return!ya(e.fields_from_theirs)||!ya(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>wa||!e.decisions.every(Lh)?!1:e.merged_field_hashes===void 0||GR(e.merged_field_hashes)}function VR(e){let t=[void 0,"ours","theirs"],n=[void 0,"preferred_side","stable_value_order","latest_document_update"],r=[void 0,"clone_local","hash_only","bounded_inline","mixed"],o=[void 0,"clone_local","durable"];return t.includes(e.requested_preference)&&t.includes(e.preferred)&&(e.requested_preference_applied===void 0||typeof e.requested_preference_applied=="boolean")&&n.includes(e.conflict_resolution)&&(e.state==="pending"||e.state==="reconciled")&&r.includes(e.value_availability)&&(e.value_policy===void 0||e.value_policy===ba)&&o.includes(e.evidence_source)}function KR(e){return typeof e.created_at=="string"&&Kt(e.created_at)&&(e.reconciled_at===void 0||typeof e.reconciled_at=="string"&&Kt(e.reconciled_at))}function Nh(e,t){if(!$t(t)||va(t)===void 0)return!1;let n=Object.keys(t);if(!n.every(i=>i==="pm_value_hash"||i==="pm_value"))return!1;if(!Object.hasOwn(t,"pm_value"))return n.length===1;let r=t.pm_value;return(r===null||Dh.get(e)?.has(O(r))===!0)&&kt(r)===t.pm_value_hash}function JR(e){if(!e.decisions.every(r=>r.base===null&&r.ours===null&&r.theirs===null&&Nh(r.field,r.retained)&&Nh(r.field,r.discarded)))return!1;let t=e.decisions.reduce((r,o)=>r+($t(o.retained)&&Object.hasOwn(o.retained,"pm_value")?1:0)+($t(o.discarded)&&Object.hasOwn(o.discarded,"pm_value")?1:0),0),n=t===0?"hash_only":t===e.decisions.length*2?"bounded_inline":"mixed";return e.value_availability===n&&(t===0||e.value_policy===ba)}function YR(e){return e.operation!==void 0&&!Rh(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function XR(e){for(let t of["version","id","item_path","item_id","fields_from_theirs","union_fields","decisions","state","created_at"])if(!Object.hasOwn(e,t))return"required_fields";return e.version!==1||!Ph(e,jR)?"required_fields":typeof e.id!="string"||!rn(e.id)?"receipt_id":typeof e.item_id!="string"||!MR.test(e.item_id)?"item_id":BR(e.item_path,e.item_id)?null:"item_path"}function Jd(e,t){if(!$t(e))return"required_fields";let n=XR(e);return n!==null?n:YR(e)?WR(e)?VR(e)?KR(e)?t==="durable"&&!JR(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function Yd(e){if(!$t(e)||e.version!==1||e.value_policy!==void 0||!Array.isArray(e.decisions))return e;let t=(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0,n=(e.requested_preference==="ours"||e.requested_preference==="theirs")&&e.value_availability==="clone_local";return!t&&!n?e:{...e,decisions:e.decisions.map(r=>!$t(r)||!Object.hasOwn(r,"retained")||!Object.hasOwn(r,"discarded")?r:{base:Q(void 0),ours:Q(void 0),theirs:Q(void 0),...r})}}function Mh(e){if(!$t(e))return;if(!ya(e.fields_from_theirs))return"fields_from_theirs";if(!ya(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>wa)return"decisions";let t=e.decisions.findIndex(n=>!Lh(n));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function Xd(e,t){return Jd(e,t)===null}function va(e){if(typeof e!="object"||e===null||Array.isArray(e)||!("pm_value_hash"in e))return;let t=e.pm_value_hash;return typeof t=="string"&&/^[a-f0-9]{64}$/u.test(t)?t:void 0}function Zd(e,t){let n=ur(t),r=kt(n?void 0:t);return!n&&(t===null||Dh.get(e)?.has(O(t))===!0)?{pm_value_hash:r,pm_value:t}:{pm_value_hash: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]="7793ca52-14e7-544f-a5cf-ebea38bb1401")}catch{}})();var rN=nN(ZR),jh=16*1024*1024,ka=100;async function Qd(e){try{let{stdout:t}=await rN("git",["rev-parse","--path-format=absolute","--git-path","pm-merge-receipts"],{cwd:e,encoding:"utf8",windowsHide:!0,timeout:1e4});return t.trim()}catch{return null}}async function Uh(e,t){let n=Be.dirname(Be.resolve(e,t));for(let r=0;r<12;r+=1){if(await M(Be.join(n,"settings.json")))return n;let o=Be.dirname(n);if(o===n)break;n=o}return null}function eu(e){return Be.join(e,"merge-receipts")}function Yr(e){return`${e}.json`}async function $h(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await ri(e.receiptPath,jh)}catch(i){if(yt(i))return null;throw i}if(t===null)throw new Error(`Receipt ${e.receiptId} settlement source is not a bounded regular file.`);let n;try{n=Yd(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!Xd(n,e.evidenceSource)||n.id!==e.receiptId||e.settlement!==void 0&&n.operation===void 0||Be.basename(e.receiptPath)!==Yr(n.id))throw new Error(`Receipt ${e.receiptId} settlement source failed schema or identity validation.`);let{evidence_source:r,...o}=n;return{path:e.receiptPath,fingerprints:tu(n),modern:n.value_policy!==void 0,content:`${JSON.stringify({...o,state:"reconciled",reconciled_at:e.reconciledAt,...e.settlement?{settlement:e.settlement}:{}},null,2)}
36
36
  `}}function ii(e,t=!1){return Pe(O({id:e.id,item_id:e.item_id,item_path:e.item_path,created_at:e.created_at,requested_preference:e.requested_preference??e.preferred??"ours",conflict_resolution:e.conflict_resolution??"preferred_side",fields_from_theirs:e.fields_from_theirs,union_fields:e.union_fields,merged_field_hashes:e.merged_field_hashes??null,operation:e.operation??null,decisions:t?e.decisions.map(n=>({field:n.field,retained_hash:Pe(O(Q(n.retained))),discarded_hash:Pe(O(Q(n.discarded)))})):Et(e).decisions}))}function tu(e){let t=[ii(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(ii(e,!0)),t}function oN(e,t){if(e.state==="reconciled"&&t.state==="reconciled"&&e.settlement===t.settlement)return e;let{reconciled_at:n,settlement:r,...o}=e;return{...o,state:"pending"}}function Et(e){return{receipt_id:e.id,item_id:e.item_id,item_path:e.item_path,conflict_fields:e.decisions.map(t=>t.field),fields_from_theirs:e.fields_from_theirs,union_fields:e.union_fields,requested_preference:e.requested_preference??e.preferred??"ours",requested_preference_applied:e.requested_preference_applied??(e.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:e.conflict_resolution,decisions:e.decisions.map(t=>({field:t.field,retained_hash:va(t.retained)??kt(ur(t.retained)?void 0:t.retained),discarded_hash:va(t.discarded)??kt(ur(t.discarded)?void 0:t.discarded)}))}}async function zh(e){let t=await Qd(e.cwd);if(t===null)return null;let n=e.itemPath.trim(),r=/^(['"])(.*)\1$/su.exec(n)?.[2]??n,o=Be.basename(r,Be.extname(r)),i={version:1,id:QR(),item_path:r.replaceAll("\\","/"),item_id:o,requested_preference:e.preferred,requested_preference_applied:(e.conflictResolution??"preferred_side")==="preferred_side",conflict_resolution:e.conflictResolution??"preferred_side",fields_from_theirs:[...e.fieldsFromTheirs],union_fields:[...e.unionFields],...e.mergedFieldHashes?{merged_field_hashes:{...e.mergedFieldHashes}}:{},decisions:structuredClone(e.decisions).map(a=>({...a,base:Q(a.base),ours:Q(a.ours),theirs:Q(a.theirs),retained:Q(a.retained),discarded:Q(a.discarded)})),...e.operation?{operation:e.operation}:{},state:"pending",created_at:j(),value_availability:"clone_local"};await hn(t),await q(Be.join(t,Yr(i.id)),`${JSON.stringify(i,null,2)}
37
37
  `);let s=await Uh(e.cwd,i.item_path);if(s!==null){let a=eu(s),c=i.decisions.map(u=>({field:u.field,base:null,ours:null,theirs:null,retained:Zd(u.field,u.retained),discarded:Zd(u.field,u.discarded),retained_side:u.retained_side,resolution_basis:u.resolution_basis})),l=c.reduce((u,f)=>u+(Object.hasOwn(f.retained,"pm_value")?1:0)+(Object.hasOwn(f.discarded,"pm_value")?1:0),0),d={...i,decisions:c,value_availability:l===0?"hash_only":l===c.length*2?"bounded_inline":"mixed",value_policy:ba};await hn(a),await q(Be.join(a,Yr(i.id)),`${JSON.stringify(d,null,2)}
38
- `)}return i}async function Fh(e,t){let n;try{n=await eN(e)}catch(a){let c=await iN(e,a);return{receipts:[],invalid_evidence_count:c?0:1,invalid_evidence:c?[]:[{evidence_source:t,reason:"directory_unreadable"}],invalid_evidence_truncated:!1}}let r=[],o=0,i=[],s=(a,c)=>{if(o+=1,i.length>=ka)return;let l=a.slice(0,-5);i.push({evidence_source:t,reason:c.reason,...c.validation_path?{validation_path:c.validation_path}:{},...c.validation_error===void 0?{}:{validation_error:c.validation_error},...rn(l)?{receipt_id:l}:{candidate_name_hash:Pe(a)}})};for(let a of n.sort((c,l)=>c.localeCompare(l))){if(!a.endsWith(".json"))continue;let c=await sN(e,a,t);c.receipt!==void 0?r.push(c.receipt):s(a,c)}return{receipts:r,invalid_evidence_count:o,invalid_evidence:i,invalid_evidence_truncated:o>i.length}}async function iN(e,t,n=tN){if(!F(t))return!1;let r=e;for(;;)try{return(await n(r)).isDirectory()}catch(o){if(!F(o))return!1;let i=Be.dirname(r);if(i===r)return!0;r=i}}async function sN(e,t,n){let r;try{r=await ri(Be.join(e,t),jh)}catch{return{reason:"candidate_unreadable"}}if(r===null)return{reason:"candidate_not_bounded_regular_file"};let o;try{o=Yd(JSON.parse(r))}catch{return{reason:"candidate_invalid_json"}}let i=Jd(o,n);if(i!==null)return{reason:new Set(["receipt_id","item_id","item_path"]).has(i)?"identity_invalid":"schema_invalid",validation_error:i,...i==="collections"?{validation_path:Mh(o)}:{}};let s=o;if(t!==Yr(s.id))return{reason:"identity_invalid",validation_error:"filename"};let{preferred:a,evidence_source:c,...l}=s;return{receipt:{...l,requested_preference:s.requested_preference??a??"ours",requested_preference_applied:s.requested_preference_applied??(s.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:s.conflict_resolution??"preferred_side",evidence_source:n}}}async function St(e,t={}){let n=await Qd(e),r=n===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Fh(n,"clone_local"),o=t.pmRoot??Be.join(e,".agents","pm"),i=await Fh(eu(o),"durable"),s=new Map(i.receipts.map(l=>[l.id,l])),a=0,c=[];for(let l of r.receipts){let d=s.get(l.id);if(d!==void 0&&!(d.value_policy===void 0?tu(l):[ii(l)]).includes(ii(d))){s.delete(l.id),a+=1,r.invalid_evidence.length+i.invalid_evidence.length+c.length<ka&&c.push({evidence_source:"clone_local_and_durable",reason:"copy_provenance_mismatch",receipt_id:l.id});continue}s.set(l.id,d===void 0?l:oN(l,d))}return{receipts:[...s.values()].filter(l=>(t.includeReconciled||l.state==="pending")&&(t.includeLossless!==!1||l.decisions.length>0)).sort((l,d)=>l.created_at.localeCompare(d.created_at)),invalid_evidence_count:r.invalid_evidence_count+i.invalid_evidence_count+a,invalid_evidence:[...r.invalid_evidence,...i.invalid_evidence,...c].slice(0,ka),invalid_evidence_truncated:r.invalid_evidence_truncated||i.invalid_evidence_truncated||r.invalid_evidence_count+i.invalid_evidence_count+a>ka,clone_local_evidence_resolved:n!==null}}async function Hh(e,t={}){return(await St(e,t)).receipts}function Ea(e){let t=[],n=[];for(let r of e)(Array.isArray(r.decisions)&&r.decisions.length>0?t:n).push(r);return{pendingDecisions:t,lossless:n}}async function si(e,t,n={}){let r=await Qd(e);if(r===null){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}let o=t.evidence_source??"clone_local";if(!Xd(t,o))throw new Error("Merge receipt trusted settlement input failed schema validation.");let i=j(),s=Be.join(r,Yr(t.id)),a=await Uh(e,t.item_path),c=a===null?null:Be.join(eu(a),Yr(t.id)),d=(await Promise.all([$h({receiptPath:s,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:i,settlement:n.settlement}),...c===null?[]:[$h({receiptPath:c,receiptId:t.id,evidenceSource:"durable",reconciledAt:i,settlement:n.settlement})]])).filter(f=>f!==null);if(d.length===0){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}if(!(d.some(f=>f.modern)?[ii(t)]:tu(t)).some(f=>d.every(m=>m.fingerprints.includes(f))))throw new Error(`Receipt ${t.id} settlement copies disagree on immutable merge provenance.`);for(let f of d)await q(f.path,f.content)}async function aN(e){let t=await Hh(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:j()}}async function cN(e){let t=await St(e.cwd??process.cwd(),{...e,includeLossless:!0}),n=t.clone_local_evidence_resolved===!0&&t.invalid_evidence_count===0;return{ok:n,complete:n,count:t.receipts.length,invalid_evidence_count:t.invalid_evidence_count,invalid_evidence:t.invalid_evidence,invalid_evidence_truncated:t.invalid_evidence_truncated,clone_local_evidence_resolved:t.clone_local_evidence_resolved,receipts:t.receipts,generated_at:j()}}import{readFile as hD,writeFile as yD}from"node:fs/promises";import wD 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]="84305ac5-3641-52f5-80f2-22c0f0ae70ae")}catch{}})();var mr=new Set(We),lN=Object.freeze({get size(){return mr.size},has(e){return mr.has(e)},entries(){return mr.entries()},keys(){return mr.keys()},values(){return mr.values()},forEach(e,t){mr.forEach(n=>e.call(t,n,n,lN))},[Symbol.iterator](){return mr.values()}});function dN(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function uN(e){return typeof e!="string"?null:Hs(e)}function fN(e){let t=new Map;if(!e)return t;for(let n of e.item_fields)for(let r of n.fields){let o=dN(r.name),i=uN(r.type);if(!o||!i)continue;let s=t.get(o);if(s&&s.type!==i)throw new g(`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 Tt(e){return[...fN(e).keys()].sort((t,n)=>t.localeCompare(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]="245ec731-790e-55ae-9bb6-3eeaaefe27ee")}catch{}})();var Ce={ok:!1},k=e=>typeof e=="string"?{ok:!0,value:e}:Ce,H=e=>typeof e=="boolean"?{ok:!0,value:e}:Ce;function ee(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?Ce:{ok:!0,value:t}}function B(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:Ce}function x(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return Ce;let r=[];for(let o of n){let i=e(o);if(!i.ok)return Ce;r.push(i.value)}return{ok:!0,value:r}}}function ru(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}:Ce}function y(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function Sa(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Ce;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return Ce;n[r]=i.value}return{ok:!0,value:n}}}function $(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Ce;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return Ce;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var mN=$({key:k,values:x(k),required:y(H),aliases:y(x(k)),description:y(k)}),pN=$({command:B("create","update"),option:k,required:y(H),visible:y(H),enabled:y(H)}),_N=$({name:k,description:y(k),default_status:y(k),execution_role:y(B("agent","human","gate")),folder:y(k),aliases:y(x(k)),required_create_fields:y(x(k)),required_create_repeatables:y(x(k)),options:y(x(mN)),command_option_policies:y(x(pN))}),gN=$({id:k,aliases:y(x(k)),roles:y(x(B(...Tr))),description:y(k),order:y(ee())}),hN=$({key:k,metadata_key:y(k),front_matter_key:y(k),cli_flag:y(k),cli_aliases:y(x(k)),description:y(k),type:y(B(...pn)),commands:y(x(B(...Ar))),repeatable:y(H),required:y(H),required_on_create:y(H),required_types:y(x(k)),allow_unset:y(H)}),yN=e=>{if(!Array.isArray(e)||e.length!==2)return Ce;let[t,n]=e;return typeof t!="string"||typeof n!="string"?Ce:{ok:!0,value:[t,n]}},wN=$({type:k,allowed_transitions:x(yN)}),bN=y($({version:y(ee({int:!0})),files:y($({types:y(k),statuses:y(k),fields:y(k),workflows:y(k)})),statuses:y(x(gN)),fields:y(x(hN)),workflow:y($({draft_status:y(k),open_status:y(k),in_progress_status:y(k),blocked_status:y(k),close_status:y(k),canceled_status:y(k)})),type_workflows:y(x(wN)),unknown_field_policy:y(B(...us))})),vN=y($({preset:y(B(...Um)),ownership_enforcement:y(B("none","warn","strict")),create_mode_default:y(B("progressive","strict")),close_validation_default:y(B("off","warn","strict")),require_close_reason:y(H),parent_reference:y(B("warn","strict_error")),metadata_profile:y(B("core","strict","custom")),force_required_for_stale_lock:y(H),create_default_type:y(k),workflow_enforcement:y(B("off","warn","strict")),duplicate_detection_mode:y(B("off","advisory","strict")),duplicate_detection_threshold:y(ee({min:0,max:1})),duplicate_detection_limit:y(ee({int:!0,min:0,max:20}))})),kN=$({name:k,disabled:y(H),require_trusted:y(H),require_provenance:y(H),sandbox_profile:y(B("none","restricted","strict")),allowed_capabilities:y(x(k)),blocked_capabilities:y(x(k)),allowed_surfaces:y(x(k)),blocked_surfaces:y(x(k)),allowed_commands:y(x(k)),blocked_commands:y(x(k)),allowed_actions:y(x(k)),blocked_actions:y(x(k)),allowed_services:y(x(k)),blocked_services:y(x(k))}),nu=B("block","warn"),EN=e=>typeof e=="string"?nu(e):$({global:y(nu),project:y(nu)})(e),SN=y($({mode:y(B("off","warn","enforce")),trust_mode:y(B("off","warn","enforce")),pm_max_version_exceeded_mode:y(EN),require_provenance:y(H),trusted_extensions:y(x(k)),default_sandbox_profile:y(B("none","restricted","strict")),allowed_extensions:y(x(k)),blocked_extensions:y(x(k)),allowed_capabilities:y(x(k)),blocked_capabilities:y(x(k)),allowed_surfaces:y(x(k)),blocked_surfaces:y(x(k)),allowed_commands:y(x(k)),blocked_commands:y(x(k)),allowed_actions:y(x(k)),blocked_actions:y(x(k)),allowed_services:y(x(k)),blocked_services:y(x(k)),extension_overrides:y(x(kN))})),pr=ru(128),TN=$({harness:ru(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:y(x(pr,64)),model_environment_keys:y(x(pr,64)),session_environment_keys:y(x(pr,64)),provenance_environment_keys:y(Sa(x(pr,64))),provenance_resolvers:y(Sa(B("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:y(x(pr,64)),argv_markers:y(x(pr,64)),client_names:y(x(pr,64))}),AN=$({version:ee({int:!0}),id_prefix:k,ids:y($({token_length:y(ee({int:!0,min:4,max:12}))})),author_default:k,agent_identity:y($({probes_enabled:y(H),identity_vocabulary:y($({version:ee({int:!0,positive:!0}),aliases:Sa(ru(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:x(TN)})),mutation_guard:y($({require_attributed_author:y(H),secret_guard:y(B("off","advise","block")),stale_in_progress_hours:y(ee({int:!0,positive:!0}))})),item_format:y(B("toon","json_markdown")),locks:$({ttl_seconds:ee({int:!0}),wait_ms:y(ee({int:!0,min:0}))}),checkpoints:y($({retention_days:y(ee({int:!0,positive:!0}))})),output:$({default_format:B("toon","json")}),ux:y($({deprecation_hints:y(H)})),history:y($({missing_stream:B("auto_create","strict_error"),compact_policy:y($({enabled:y(H),max_entries:y(ee({int:!0,positive:!0})),trigger:y(B("health_warn","auto"))}))})),validation:y($({sprint_release_format:B("warn","strict_error"),parent_reference:y(B("warn","strict_error")),metadata_profile:y(B("core","strict","custom")),metadata_required_fields:y(x(k)),lifecycle_stale_blocker_reason_patterns:y(x(k)),lifecycle_closure_like_blocked_reason_patterns:y(x(k)),lifecycle_closure_like_resolution_patterns:y(x(k)),lifecycle_closure_like_actual_result_patterns:y(x(k)),estimate_defaults_by_type:y(Sa(ee({int:!0,positive:!0})))})),governance:vN,workflow:y($({definition_of_done:x(k)})),testing:y($({record_results_to_items:H,allow_untrusted_linked_tests:y(H)})),telemetry:y($({enabled:H,first_run_prompt_completed:y(H),capture_level:y(B("minimal","redacted","max")),endpoint:y(k),installation_id:y(k),retention_days:y(ee({int:!0,positive:!0}))})),agent_guidance:y($({prompt_completed:y(H),declined:y(H),declined_at:y(k),template_version:y(ee({int:!0,positive:!0})),last_checked_files:y(x(k))})),item_types:y($({definitions:x(_N)})),schema:bN,context:y($({default_depth:y(B("brief","standard","deep")),activity_limit:y(ee({int:!0,positive:!0})),stale_threshold_days:y(ee({int:!0,positive:!0})),sections:y($({hierarchy:y(H),activity:y(H),progress:y(H),recently_created:y(H),unparented:y(H),blockers:y(H),files:y(H),workload:y(H),staleness:y(H),tests:y(H)}))})),extensions:$({enabled:x(k),disabled:x(k),policy:SN}),search:$({score_threshold:ee(),hybrid_semantic_weight:y(ee()),max_results:ee({int:!0}),embedding_model:k,embedding_corpus_max_characters:y(ee()),embedding_batch_size:ee({int:!0}),embedding_timeout_ms:y(ee({int:!0})),scanner_max_batch_retries:ee({int:!0}),provider:y(k),default_mode:y(B("auto","keyword","semantic","hybrid")),corpus_fields:y(x(k)),mutation_refresh_policy:y(B("cache_only","semantic_configured","semantic_auto")),query_expansion:y($({enabled:y(H),provider:y(k)})),rerank:y($({enabled:y(H),model:y(k),top_k:y(ee({int:!0,positive:!0}))})),bm25:y($({k1:y(ee()),b:y(ee())}))}),providers:$({openai:$({base_url:k,api_key:k,model:k}),ollama:$({base_url:k,model:k})}),vector_store:$({adapter:y(k),collection_name:y(k),qdrant:$({url:k,api_key:k}),lancedb:$({path:k})})});function qh(e){let t=AN(e);return t.ok?{success:!0,data:t.value}:{success:!1}}import ai 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]="b6012be6-13b6-54b9-91ed-c9093423b1c2")}catch{}})();var Oe="_workspace";function ci(e){return ai.join(e,"history",`${Oe}.jsonl`)}function Gh(e,t=e.length){let n=cr();for(let r of e.slice(0,t))n=On(n,r.patch).document;return Wr(n)}function IN(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function Bh(e){throw new g(`Workspace history verification failed: ${e.join(", ")}`,_.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function CN(e,t){let n=ai.resolve(t),r=ai.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||ai.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function ou(e){let t=await rt(ci(e),Oe),n=vt(t);n.ok||Bh(n.errors);let r=IN(t.length===0?ds:Gh(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let l;try{let d=CN(e,ai.resolve(e,c));if(l=await K(d.absolutePath),l===null){s.push(c);continue}let u=JSON.parse(l);(O(u)===O(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function Ta(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=ci(e.pmRoot),r=await rt(n,Oe),o=vt(r);o.ok||Bh(o.errors);let i=r.length===0?ds:Gh(r),s=ar({nowIso:j(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Xo(n,s),{entry:s,historyPath:n}}finally{await 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]="e2270ad2-349e-5e8c-b23c-3cf0645907dc")}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]="833a4f8a-7e5d-5480-a526-4e1ebaadd0a8")}catch{}})();var ON={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Wh=120;function iu(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Kh(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var xN=Kh(ON),Vh=new WeakMap;function RN(e){let t=Vh.get(e);if(t)return t;let n=Kh(e);return Vh.set(e,n),n}function Jh(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Wh;if(t){let o=RN(t).get(n);if(iu(o))return Math.floor(o)}let r=xN.get(n);return iu(r)?Math.floor(r):Wh}function Yh(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||!iu(r)||(t[o]=Math.floor(r))}return t}import{stat as NN}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]="7c23ef10-ea7a-5680-8850-822e7d0c07a6")}catch{}})();var Aa=new Map;function Xh(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function DN(e){try{let t=await NN(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function xn(e){let t=Xh(e),n=await Promise.all(t.map(r=>DN(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function li(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 Zh(e){return Aa.get(e)}function Ia(e,t){let n=Xh(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));Aa.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Rn(e){if(e){Aa.delete(e);return}Aa.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]="2a28912a-5f26-5557-bc94-cfedbd602fd0")}catch{}})();var ny=Symbol("pm.settings.persist_source"),PN=128,LN=new Set(["off","advisory","strict"]);function Qh(e){return structuredClone(Dc[e])}function MN(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:_e.governance.preset}function $N(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),LN.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 Nn(e){let t=e.governance??{},n=MN(t.preset),r=$N(t);if(n==="custom"){let s=Qh("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=Qh(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ry(){return structuredClone(_e)}function FN(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:_e.search.mutation_refresh_policy}function jN(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function UN(e){return typeof e=="boolean"?e:_e.search.query_expansion.enabled}function zN(e){return typeof e!="string"?_e.search.query_expansion.provider:e.trim()}function HN(e){return typeof e=="boolean"?e:_e.search.rerank.enabled}function qN(e){return typeof e!="string"?_e.search.rerank.model:e.trim()}function GN(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:_e.search.rerank.top_k}function BN(e){if(typeof e!="string")return _e.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,PN);return n.length>0?n:_e.vector_store.collection_name}function su(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function WN(e,t){let n=e.schema,r=su(n?.statuses),o=su(n?.fields),i=su(n?.type_workflows);return{persisted_settings:structuredClone(e),source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:xa(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:xa(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 oy(e,t){Object.defineProperty(e,ny,{value:t,writable:!0,configurable:!0,enumerable:!1})}function VN(e){let t=e[ny];if(!(!t||typeof t!="object"))return t}function Oa(e){let t=structuredClone(e.settings),n=VN(e.settings);return n&&oy(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function KN(e,t,n){let r=xt(t);return[n,qe(e,r.files.types,Le.types),qe(e,r.files.statuses,Le.statuses),qe(e,r.files.fields,Le.fields),qe(e,r.files.workflows,Le.workflows)]}async function JN(e,t,n){let r=await xn(t);Ia(e,{tracked_paths:t,signatures:r,value:Oa(n)})}async function YN(e,t,n){try{await JN(e,t,n)}catch{Rn(e)}}function ey(e,t){return e.find(n=>n.path===t)}function XN(e,t,n){for(let r of n){let o=ey(e,r),i=ey(t,r);if(!o||!i||!li([o],[i]))return!1}return!0}async function au(e,t,n,r,o){try{let i=await xn(t);if(!XN(r,i,o)){Rn(e);return}Ia(e,{tracked_paths:t,signatures:i,value:Oa(n)})}catch{Rn(e)}}function di(e){return{settings:ry(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function ZN(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function QN(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function eD(e){let t=_e.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:QN(e?.last_checked_files??t.last_checked_files)}}function At(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function tD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.mode}function nD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.trust_mode}function iy(e){return e==="none"||e==="restricted"||e==="strict"?e:_e.extensions.policy.default_sandbox_profile}function rD(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=iy(e.sandbox_profile));let r=At(e.allowed_capabilities),o=At(e.blocked_capabilities),i=At(e.allowed_surfaces),s=At(e.blocked_surfaces),a=At(e.allowed_commands),c=At(e.blocked_commands),l=At(e.allowed_actions),d=At(e.blocked_actions),u=At(e.allowed_services),f=At(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),f.length>0&&(n.blocked_services=f),n}function oD(e){let t=new Map;for(let n of e??[]){let r=rD(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function cu(e){return e==="block"||e==="warn"?e:void 0}function iD(e){if(typeof e=="string")return cu(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=cu(e.global),n=cu(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function ot(e,t){return At(e?.[t]??_e.extensions.policy[t])}function sD(e){let t=iD(e?.pm_max_version_exceeded_mode);return{mode:tD(e?.mode),trust_mode:nD(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:ot(e,"trusted_extensions"),default_sandbox_profile:iy(e?.default_sandbox_profile),allowed_extensions:ot(e,"allowed_extensions"),blocked_extensions:ot(e,"blocked_extensions"),allowed_capabilities:ot(e,"allowed_capabilities"),blocked_capabilities:ot(e,"blocked_capabilities"),allowed_surfaces:ot(e,"allowed_surfaces"),blocked_surfaces:ot(e,"blocked_surfaces"),allowed_commands:ot(e,"allowed_commands"),blocked_commands:ot(e,"blocked_commands"),allowed_actions:ot(e,"allowed_actions"),blocked_actions:ot(e,"blocked_actions"),allowed_services:ot(e,"allowed_services"),blocked_services:ot(e,"blocked_services"),extension_overrides:oD(e?.extension_overrides??_e.extensions.policy.extension_overrides)}}function aD(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 Ca(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function cD(e){return Array.isArray(e)?e:[]}function lD(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:aD(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ca(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ca(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ca(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ca(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Yh(e.validation?.estimate_defaults_by_type)}}function dD(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 uD(e,t){return{...t.search,...e.search,default_mode:jN(e.search?.default_mode),mutation_refresh_policy:FN(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:UN(e.search?.query_expansion?.enabled),provider:zN(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:HN(e.search?.rerank?.enabled),model:qN(e.search?.rerank?.model),top_k:GN(e.search?.rerank?.top_k)}}}function fD(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:BN(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function mD(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function pD(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 _D(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function xa(e){let t=(e??[]).map(r=>Ds(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 gD(e){let t=ry(),n=Nn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:mD(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},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:lD(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,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:dD(e,t),agent_guidance:eD(e.agent_guidance??t.agent_guidance),item_types:{definitions:xa(e.item_types?.definitions)},schema:xt(e.schema??t.schema),context:pD(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:sD(e.extensions.policy??t.extensions.policy)},search:uD(e,t),providers:_D(e,t),vector_store:fD(e,t)}}async function Dn(e){let t=Se(e),n=[t];await Fe({path:t,scope:"project"});let r=Zh(e);if(r){let l=await xn(r.tracked_paths);if(li(l,r.signatures))return Oa(r.value)}let o=await xn([t]),i;try{i=await K(t)}catch{return di("settings_read_fs_error")}if(i===null){let l=di();return await au(e,[t],l,o,[t]),l}let s=await xn([t]);if(!li(o,s))return Rn(e),Dn(e);let a;try{a=JSON.parse(i)}catch{let l=di("settings_read_invalid_json");return await au(e,[t],l,s,[t]),l}let c=qh(a);if(!c.success){let l=di("settings_read_invalid_schema");return await au(e,[t],l,s,[t]),l}try{let l=gD(c.data),d=KN(e,l.schema,t);n=d;let u=await xn(d),f=await tp(e,l.schema),m=await np(e,l.schema),p=await xn(d),w={...l,item_types:{definitions:xa([...l.item_types.definitions,...cD(m.type_definitions_from_file)])},schema:m.schema};oy(w,WN(c.data,w));let h={settings:w,metadata:{has_explicit_item_format:ZN(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...f.created_paths.map(b=>`runtime_schema_bootstrap_created:${b}`),...m.warnings]};return f.created_paths.length===0?li(u,p)?Ia(e,{tracked_paths:d,signatures:p,value:Oa(h)}):Rn(e):Rn(e),h}catch{let l=di("settings_read_merge_failed");return await YN(e,n,l),l}}async function ne(e){return(await Dn(e)).settings}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47487ad3-22a0-52ac-8a42-ebaca439cb6e")}catch{}})();var du=["item","history","relationship","json"];function bD(e){let t=e.trim().toLowerCase();if(du.includes(t))return t;throw new g(`Unknown merge artifact "${e}". Supported values: ${du.join(", ")}.`,_.USAGE)}function vD(e){if(e===void 0)return"ours";let t=e.trim().toLowerCase();if(t==="ours"||t==="theirs")return t;throw new g(`Unknown --prefer value "${e}". Supported values: ours, theirs.`,_.USAGE)}async function lu(e,t){try{return await hD(e,"utf8")}catch{throw new g(`Cannot read merge ${t} file at ${e}.`,_.NOT_FOUND)}}async function kD(e){let t=X(process.cwd(),e.path);return await M(Se(t))?ne(t):null}function ED(e,t){return e.endsWith(".md")?"json_markdown":e.endsWith(".toon")?"toon":t?.item_format??"toon"}async function SD(e,t){let n=bD(e.artifact),r=vD(e.prefer),o=wD.resolve(e.outputPath??e.oursPath),[i,s,a]=await Promise.all([lu(e.basePath,"base"),lu(e.oursPath,"ours"),lu(e.theirsPath,"theirs")]),c,l,d=[],u={};if(n==="history"){let m=Gd(i,s,a);c=m.merged,u.history={strategy:m.strategy,common_entries:m.common_entries,entries_from_ours:m.entries_from_ours,entries_from_theirs:m.entries_from_theirs,entries_total:m.entries_total,reanchored:m.reanchored}}else if(n==="relationship"){let m=Bd(i,s,a);c=m.merged,u.relationship={strategy:m.strategy,common_entries:m.common_entries,entries_from_ours:m.entries_from_ours,entries_from_theirs:m.entries_from_theirs,entries_total:m.entries_total,reanchored:m.reanchored}}else if(n==="item"){let m=await kD(t),p=ED(e.itemPath??o,m),w=Tt(Y()),h=Wd(i,s,a,{format:p,schema:m?.schema,extensionFieldNames:w,preferred:r,conflictResolution:"latest_document_update"});if(c=h.merged,d.push(...h.conflict_fields),u.item={fields_from_theirs:h.fields_from_theirs,union_fields:h.union_fields,conflict_resolution:"latest_document_update",requested_preference_applied:!1},e.itemPath!==void 0){let b=Ve(c,{format:p,schema:m?.schema,extensionFieldNames:w}),v=b.metadata,I=[...new Set([...h.fields_from_theirs,...h.union_fields,...h.conflict_decisions.map(A=>A.field)])];l={cwd:process.cwd(),itemPath:e.itemPath,preferred:r,conflictResolution:"latest_document_update",fieldsFromTheirs:h.fields_from_theirs,unionFields:h.union_fields,mergedFieldHashes:Object.fromEntries(I.map(A=>[A,kt(A==="body"?b.body:v[A])])),decisions:h.conflict_decisions,operation:await xh(process.cwd(),e.itemPath)}}}else{let m=Vd(i,s,a,{preferred:r});c=m.merged,d.push(...m.conflict_paths),u.json={paths_from_theirs:m.paths_from_theirs}}if(await yD(o,c,"utf8"),l!==void 0){let m=await zh(l);m!==null&&(u.receipt=Et(m))}let f=[];if(d.length>0){let m=u.receipt===void 0?'Run "pm merge report" to inspect clone-local merge evidence.':`Run "pm merge report" and correlate receipt ${u.receipt.receipt_id} with item ${u.receipt.item_id}; clone-local discarded values are never copied into this result.`;f.push(`Both branches changed ${d.join(", ")}; the item driver kept the value from the later document update, with stable value order only as an equal-timestamp tie-break. --prefer does not apply to convergent item scalar conflicts. ${m} Review the merged file, re-apply the discarded change if needed, then "git add" it.`)}return n==="history"&&u.history?.reanchored&&f.push('The merged history chain was re-anchored. Run "pm merge reconcile --dry-run" to inspect the complete post-merge repair, then "pm merge reconcile" to apply it; use --force only after explicitly accepting reported discards.'),{ok:d.length===0,artifact:n,output_path:o,requested_preference:r,conflicts:d,...u,guidance:f,generated_at:j()}}import fu from"node:fs/promises";import Ra 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]="b6e08d70-4e3f-5ad3-83ad-9cb49edb526e")}catch{}})();function Pn(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function mu(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:Mt(t),suggested_retry_args:t}}function Na(e){return new g(`Tracker root is not a directory at ${e}.`,_.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function uu(e){return new g(`Tracker root is not readable at ${e}.`,_.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function TD(e){let t=Ra.resolve(e),n=Ra.parse(t).root,r=Ra.dirname(t);for(;r!==n;){let o;try{o=await fu.stat(r)}catch(i){if(Pn(i,"ENOTDIR"))throw Na(e);if(!Pn(i,"ENOENT"))throw i;r=Ra.dirname(r);continue}if(!o.isDirectory())throw Na(e);return}}async function Xr(e){let t;try{t=await fu.stat(e)}catch(n){throw Pn(n,"ENOENT")?(await TD(e),new g(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,_.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:mu(e)})):Pn(n,"ENOTDIR")?Na(e):Pn(n,"EACCES")||Pn(n,"EPERM")?uu(e):n}if(!t.isDirectory())throw Na(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw uu(e);try{await(await fu.opendir(e)).close()}catch(n){throw Pn(n,"EACCES")||Pn(n,"EPERM")?uu(e):n}}async function je(e){if(await Xr(e),!await M(Se(e)))throw new g(`Tracker is not initialized at ${e}. Run pm init first.`,_.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:mu(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]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();import{access as $D,readFile as bu,realpath as Ln}from"node:fs/promises";import{constants as FD}from"node:fs";import{execFile as jD}from"node:child_process";import oe from"node:path";import{promisify as UD}from"node:util";import AD 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]="5b131b40-e139-5a7d-a6ef-633fe2cbee64")}catch{}})();var sy=["runtime/","search/","locks/","transactions/","checkpoints/"];function ay(e){let t=e.replaceAll("\\","/");return AD.isAbsolute(e)||t===".."||t.startsWith("../")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8d1a6b35-70e8-5a61-8ce6-3bea9ed8170b")}catch{}})();var ID="PM_SOURCE_CONTEXT_ACCESS",CD="PM_ALLOW_SOURCE_CONTEXT_WRITES";function cy(e){let t=e[ID],n=t===void 0||t.trim().toLowerCase()==="write"?"write":"read_only",r=n==="read_only"&&e[CD]?.trim()==="1";return{access:n,write_override_applied:r,source_writes_allowed:n==="write"||r}}import{execFile as OD}from"node:child_process";import xD from"node:path";import{promisify as RD}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="725f175b-c548-5700-8e85-ea0b5dce3747")}catch{}})();var Zr=RD(OD);function pt(){let e={...process.env};for(let t of["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_NAMESPACE","GIT_CEILING_DIRECTORIES","GIT_DISCOVERY_ACROSS_FILESYSTEM"])delete e[t];return e}async function pu(e,t){try{return(await Zr("git",["config","--local",...t==="core.bare"||t==="extensions.worktreeConfig"?["--type=bool"]:[],"--get",t],{cwd:e,env:pt(),timeout:1e4})).stdout.trim()}catch(n){if(typeof n=="object"&&n!==null&&"code"in n&&n.code===1)return;throw n}}async function ly(e){if(await pu(e,"extensions.worktreeConfig")==="true")return"--worktree";let{stdout:t}=await Zr("git",["rev-parse","--path-format=absolute","--git-dir","--git-common-dir"],{cwd:e,env:pt(),timeout:1e4}),[n,r]=t.trim().split(/\r?\n/);if(n===r)return"--local";let o=xD.join(r,"config.worktree");for(let i of["core.bare","core.worktree"]){let s=await pu(e,i);s===void 0||i==="core.bare"&&s!=="true"||(await Zr("git",["config","--file",o,i,s],{cwd:e,env:pt(),timeout:1e4}),await Zr("git",["config","--local","--unset-all",i],{cwd:e,env:pt(),timeout:1e4}))}for(let i of["pm-item-toon","pm-item-markdown","pm-history","pm-relationship","pm-json"])for(let s of["name","driver"]){let a=`merge.${i}.${s}`,c=await pu(e,a);c!==void 0&&await Zr("git",["config","--file",o,a,c],{cwd:e,env:pt(),timeout:1e4})}return await Zr("git",["config","--local","extensions.worktreeConfig","true"],{cwd:e,env:pt(),timeout:1e4}),"--worktree"}import dy from"node:fs";import Da 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]="7ab9180f-dfcb-579d-bc0c-dbba2e4ad77e")}catch{}})();var uy="@unbrained/pm-cli";var hu=/\b(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-(\d+))?\b/u,yu="2026.8.31";function Pa(e){let t=e.match(hu);return t?[Number(t[1]),Number(t[2]),Number(t[3]),Number(t[4]??0)]:null}function wu(e,t){let n=Pa(e),r=Pa(t);if(!n||!r)return null;for(let o=0;o<n.length;o+=1){let i=n[o]-r[o];if(i!==0)return Math.sign(i)}return 0}function _u(e){return wu(e,yu)!==-1?3:2}function gu(e){try{let t=JSON.parse(dy.readFileSync(e,"utf8"));return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function ND(e){let t=[...e.matchAll(/(<=|<)\s*v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/gu)].map(r=>({inclusive:r[1]==="<=",version:r[2]})),n=e.match(/\b\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?\s+-\s+v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/u);return n?[...t,{inclusive:!0,version:n[1]}]:t}function DD(e){let t=e.split("||").map(n=>ND(n));return{bounded:t.some(n=>n.length>0),compatible:t.some(n=>n.every(r=>{let o=wu(yu,r.version);return o!==null&&(r.inclusive?o!==1:o===-1)}))}}function PD(e){return["dependencies","devDependencies","optionalDependencies","peerDependencies"].flatMap(t=>{let n=e[t];if(typeof n!="object"||n===null)return[];let r=n[uy],o=typeof r=="string"?r.trim():"",i=/^[<!]/u.test(o)?void 0:o.match(hu)?.[0];if(!i)return[];let s=/^(?:=|v)?\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?$/u.test(o),a=DD(o);return[{version:i,constraint:s?"exact":a.bounded?"range":"minimum",...s?{}:{declaration:o},history_epoch_compatible:s?wu(i,yu)!==-1:a.compatible}]})}function LD(e){let n=gu(Da.join(e,"package-lock.json"))?.packages;if(typeof n!="object"||n===null)return;let r=n["node_modules/@unbrained/pm-cli"];if(typeof r!="object"||r===null)return;let o=r.version;return typeof o=="string"?o:void 0}function MD(e,t){try{let n=dy.readFileSync(Da.join(e,t),"utf8").split(/\r?\n/u),r=n.findIndex(c=>c.includes(uy));if(r<0)return;let o=n[r].match(/^\s*/u)[0].length,i=[n[r]];for(let c=r+1;c<n.length;c+=1){let l=n[c],d=l.trim(),u=l.match(/^\s*/u)[0].length;if(d.length>0&&u<=o)break;i.push(l)}return i.join(`
39
- `).match(/^\s*version(?::\s*|\s+)["']?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/mu)?.[1]??i[0].match(hu)?.[0]}catch{return}}function fy(e){let t=[],n=gu(Da.join(e,"package.json"));n&&t.push(...PD(n).map(s=>({...s,source:"package.json"})));let o=gu(Da.join(e,"node_modules","@unbrained","pm-cli","package.json"))?.version;typeof o=="string"&&Pa(o)&&t.push({version:o,source:"installed-package",constraint:"exact",history_epoch_compatible:_u(o)===3});let i=LD(e);i&&Pa(i)&&t.push({version:i,source:"package-lock.json",constraint:"exact",history_epoch_compatible:_u(i)===3});for(let s of["pnpm-lock.yaml","yarn.lock"]){let a=MD(e,s);a&&t.push({version:a,source:s,constraint:"exact",history_epoch_compatible:_u(a)===3})}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]="2a195145-3f40-5d1d-943e-fddfb05d9881")}catch{}})();var eo=UD(jD),ui="# pm-cli:merge-drivers:start",_y="# pm-cli:merge-drivers:end",Qr="# pm-cli:merge-drivers:v2:start",vu="# pm-cli:merge-drivers:v2:end",zD="merge-fence",HD="merge-attributes";function my(e){return`'${e.replaceAll("'",`'"'"'`)}'`}async function qD(){let e=nt(import.meta.url,["../../.."]),t=process.execPath,n=await Ln(process.execPath),r=process.versions.bun;for(let o of(process.env.PATH??"").split(oe.delimiter)){if(!oe.isAbsolute(o))continue;let i=oe.join(o,r===void 0?oe.basename(process.execPath):"bun");try{if(await $D(i,FD.X_OK),r!==void 0){let{stdout:s}=await eo(i,["--version"],{encoding:"utf8",windowsHide:!0,timeout:1e4});if(s.trim()===r){t=await Ln(i);break}continue}if(i!==n&&await Ln(i)===n){t=i;break}}catch{}}return`${my(t)} ${my(oe.join(e,"dist","cli.js"))}`}var gy=[{key:"pm-item-toon",name:"pm field-aware TOON item document merge",artifact:"item",itemPath:"%P"},{key:"pm-item-markdown",name:"pm field-aware JSON-markdown item document merge",artifact:"item",itemPath:"%P"},{key:"pm-history",name:"pm append-only history stream merge",artifact:"history",itemPath:void 0},{key:"pm-relationship",name:"pm append-only relationship event store merge",artifact:"relationship",itemPath:void 0},{key:"pm-json",name:"pm key-level JSON config merge",artifact:"json",itemPath:void 0}];function hy(e){let t=e.explicitPath?.trim(),n=e.environment.PM_SOURCE_WORKSPACE_ROOT?.trim(),r=e.environment.PM_SOURCE_PM_PATH?.trim(),o=cy(e.environment),i=!!(n&&r),s=t===void 0&&i&&(e.dryRun||o.source_writes_allowed);if(t!==void 0){let a=X(e.cwd,t);return{pm_root:a,workspace_start:a,source_coordinates_available:i,source_context_selected:!1,source_policy:o}}return s?{pm_root:oe.resolve(r),workspace_start:oe.resolve(n),source_coordinates_available:!0,source_context_selected:!0,source_policy:o}:{pm_root:i?X(e.cwd,".agents/pm"):X(e.cwd),workspace_start:e.cwd,source_coordinates_available:i,source_context_selected:!1,source_policy:o}}async function Ct(e){try{let{stdout:t}=await eo("git",["rev-parse","--show-toplevel"],{cwd:e,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4});return await Ln(t.trim())}catch{return null}}async function yy(e){let t=await Ct(e);if(t===null)throw new g("pm merge install requires a git repository (merge drivers are git configuration).",_.USAGE);return t}function ku(e,t){return oe.relative(e,t).replaceAll("\\","/")}function It(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function py(e,t){if(e[t]!=="'")return null;let n="";for(let r=t+1;r<e.length;r+=1){if(e.startsWith(`'"'"'`,r)){n+="'",r+=4;continue}if(e[r]==="'")return{value:n,nextOffset:r+1};n+=e[r]}return null}async function GD(e,t,n){if(fy(t).filter(i=>i.constraint==="exact").some(i=>i.version!==n))return!1;let o=await Ct(e);if(o!==null&&o!==await Ln(t)){let i=await Promise.all([o,t].map(async s=>{let a=await eo("git",["rev-parse","--path-format=absolute","--git-common-dir"],{cwd:s,env:pt(),timeout:1e4});return Ln(a.stdout.trim())}));if(i[0]===i[1])return!1}return!0}async function BD(e,t,n){let r=py(e,0);if(r===null||e[r.nextOffset]!==" ")return!1;let o=py(e,r.nextOffset+1);if(o===null||e.slice(o.nextOffset)!==t||!/^(?:node|bun)(?:\.exe)?$/iu.test(oe.basename(r.value))||oe.basename(o.value)!=="cli.js"||oe.basename(oe.dirname(o.value))!=="dist"||!await M(r.value)||!await M(o.value))return!1;try{let i=oe.dirname(oe.dirname(o.value)),s=JSON.parse(await bu(oe.join(i,"package.json"),"utf8")),a=typeof s.bin=="string"?s.bin:s.bin?.pm;return await GD(i,n,s.version)?s.name==="@unbrained/pm-cli"&&a==="dist/cli.js":!1}catch{return!1}}function La(e,t){let n=e.length>0?`${e}/`:"",r=[`${It(`${n}**/*.toon`)} merge=pm-item-toon`,`${It(`${n}**/*.md`)} merge=pm-item-markdown`];for(let o of t)r.push(`${It(`${n}${o}/*.toon`)} merge=pm-item-toon`),r.push(`${It(`${n}${o}/*.md`)} merge=pm-item-markdown`);return r.push(`${It(`${n}**/*.jsonl`)} merge=pm-relationship`),r.push(`${It(`${n}history/*.jsonl`)} merge=pm-history`),r.push(`${It(`${n}settings.json`)} merge=pm-json`),r.push(`${It(`${n}**/*.json`)} merge=pm-json`),r.push(`${It(`${n}extensions/**`)} -merge`),r.push(`${It(`${n}extensions/.managed-extensions.json`)} merge=pm-json`),r}function wy(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(ui,n),o=e.indexOf(Qr,n),i=r===-1?o:o===-1?r:Math.min(r,o);if(i===-1)break;let s=i===o,a=s?Qr:ui,c=s?vu:_y,l=e.indexOf(c,i+a.length),d=l===-1?e.length:l+c.length;t.push({start:i,end:d,closed:l!==-1,lines:e.slice(i+a.length,l===-1?d:l).split(`
40
- `).map(u=>u.trim()).filter(Boolean)}),n=d}return t}function by(e,t,n){let r=new Set(t),o=It(n.length>0?`${n}/`:"").slice(0,-1);return e.some(i=>r.has(i)||i.startsWith(o)&&/^[^/]+\/\*\.(?:toon|md)" merge=pm-item-(?:toon|markdown)$/u.test(i.slice(o.length)))}async function vy(e,t,n,r){let o=oe.join(e,".gitattributes"),i=r?null:(await eo("git",["rev-parse","--absolute-git-dir"],{cwd:e,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4})).stdout.trim(),s=i===null?null:await ce(i,HD,120,"merge-fence",!1,!0,5e3);try{let a=await K(o)??"",c=[Qr,...n,vu].join(`
38
+ `)}return i}async function Fh(e,t){let n;try{n=await eN(e)}catch(a){let c=await iN(e,a);return{receipts:[],invalid_evidence_count:c?0:1,invalid_evidence:c?[]:[{evidence_source:t,reason:"directory_unreadable"}],invalid_evidence_truncated:!1}}let r=[],o=0,i=[],s=(a,c)=>{if(o+=1,i.length>=ka)return;let l=a.slice(0,-5);i.push({evidence_source:t,reason:c.reason,...c.validation_path?{validation_path:c.validation_path}:{},...c.validation_error===void 0?{}:{validation_error:c.validation_error},...rn(l)?{receipt_id:l}:{candidate_name_hash:Pe(a)}})};for(let a of n.sort((c,l)=>c.localeCompare(l))){if(!a.endsWith(".json"))continue;let c=await sN(e,a,t);c.receipt!==void 0?r.push(c.receipt):s(a,c)}return{receipts:r,invalid_evidence_count:o,invalid_evidence:i,invalid_evidence_truncated:o>i.length}}async function iN(e,t,n=tN){if(!F(t))return!1;let r=e;for(;;)try{return(await n(r)).isDirectory()}catch(o){if(!F(o))return!1;let i=Be.dirname(r);if(i===r)return!0;r=i}}async function sN(e,t,n){let r;try{r=await ri(Be.join(e,t),jh)}catch{return{reason:"candidate_unreadable"}}if(r===null)return{reason:"candidate_not_bounded_regular_file"};let o;try{o=Yd(JSON.parse(r))}catch{return{reason:"candidate_invalid_json"}}let i=Jd(o,n);if(i!==null)return{reason:new Set(["receipt_id","item_id","item_path"]).has(i)?"identity_invalid":"schema_invalid",validation_error:i,...i==="collections"?{validation_path:Mh(o)}:{}};let s=o;if(t!==Yr(s.id))return{reason:"identity_invalid",validation_error:"filename"};let{preferred:a,evidence_source:c,...l}=s;return{receipt:{...l,requested_preference:s.requested_preference??a??"ours",requested_preference_applied:s.requested_preference_applied??(s.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:s.conflict_resolution??"preferred_side",evidence_source:n}}}async function St(e,t={}){let n=await Qd(e),r=n===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Fh(n,"clone_local"),o=t.pmRoot??Be.join(e,".agents","pm"),i=await Fh(eu(o),"durable"),s=new Map(i.receipts.map(l=>[l.id,l])),a=0,c=[];for(let l of r.receipts){let d=s.get(l.id);if(d!==void 0&&!(d.value_policy===void 0?tu(l):[ii(l)]).includes(ii(d))){s.delete(l.id),a+=1,r.invalid_evidence.length+i.invalid_evidence.length+c.length<ka&&c.push({evidence_source:"clone_local_and_durable",reason:"copy_provenance_mismatch",receipt_id:l.id});continue}s.set(l.id,d===void 0?l:oN(l,d))}return{receipts:[...s.values()].filter(l=>(t.includeReconciled||l.state==="pending")&&(t.includeLossless!==!1||l.decisions.length>0)).sort((l,d)=>l.created_at.localeCompare(d.created_at)),invalid_evidence_count:r.invalid_evidence_count+i.invalid_evidence_count+a,invalid_evidence:[...r.invalid_evidence,...i.invalid_evidence,...c].slice(0,ka),invalid_evidence_truncated:r.invalid_evidence_truncated||i.invalid_evidence_truncated||r.invalid_evidence_count+i.invalid_evidence_count+a>ka,clone_local_evidence_resolved:n!==null}}async function Hh(e,t={}){return(await St(e,t)).receipts}function Ea(e){let t=[],n=[];for(let r of e)(Array.isArray(r.decisions)&&r.decisions.length>0?t:n).push(r);return{pendingDecisions:t,lossless:n}}async function si(e,t,n={}){let r=await Qd(e);if(r===null){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}let o=t.evidence_source??"clone_local";if(!Xd(t,o))throw new Error("Merge receipt trusted settlement input failed schema validation.");let i=j(),s=Be.join(r,Yr(t.id)),a=await Uh(e,t.item_path),c=a===null?null:Be.join(eu(a),Yr(t.id)),d=(await Promise.all([$h({receiptPath:s,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:i,settlement:n.settlement}),...c===null?[]:[$h({receiptPath:c,receiptId:t.id,evidenceSource:"durable",reconciledAt:i,settlement:n.settlement})]])).filter(f=>f!==null);if(d.length===0){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}if(!(d.some(f=>f.modern)?[ii(t)]:tu(t)).some(f=>d.every(m=>m.fingerprints.includes(f))))throw new Error(`Receipt ${t.id} settlement copies disagree on immutable merge provenance.`);for(let f of d)await q(f.path,f.content)}async function aN(e){let t=await Hh(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:j()}}async function cN(e){let t=await St(e.cwd??process.cwd(),{...e,includeLossless:!0}),n=t.clone_local_evidence_resolved===!0&&t.invalid_evidence_count===0;return{ok:n,complete:n,count:t.receipts.length,invalid_evidence_count:t.invalid_evidence_count,invalid_evidence:t.invalid_evidence,invalid_evidence_truncated:t.invalid_evidence_truncated,clone_local_evidence_resolved:t.clone_local_evidence_resolved,receipts:t.receipts,generated_at:j()}}import{readFile as hD,writeFile as yD}from"node:fs/promises";import wD 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]="84305ac5-3641-52f5-80f2-22c0f0ae70ae")}catch{}})();var mr=new Set(We),lN=Object.freeze({get size(){return mr.size},has(e){return mr.has(e)},entries(){return mr.entries()},keys(){return mr.keys()},values(){return mr.values()},forEach(e,t){mr.forEach(n=>e.call(t,n,n,lN))},[Symbol.iterator](){return mr.values()}});function dN(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function uN(e){return typeof e!="string"?null:Hs(e)}function fN(e){let t=new Map;if(!e)return t;for(let n of e.item_fields)for(let r of n.fields){let o=dN(r.name),i=uN(r.type);if(!o||!i)continue;let s=t.get(o);if(s&&s.type!==i)throw new g(`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 Tt(e){return[...fN(e).keys()].sort((t,n)=>t.localeCompare(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]="245ec731-790e-55ae-9bb6-3eeaaefe27ee")}catch{}})();var Ce={ok:!1},k=e=>typeof e=="string"?{ok:!0,value:e}:Ce,H=e=>typeof e=="boolean"?{ok:!0,value:e}:Ce;function ee(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?Ce:{ok:!0,value:t}}function B(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:Ce}function x(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return Ce;let r=[];for(let o of n){let i=e(o);if(!i.ok)return Ce;r.push(i.value)}return{ok:!0,value:r}}}function ru(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}:Ce}function y(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function Sa(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Ce;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return Ce;n[r]=i.value}return{ok:!0,value:n}}}function $(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Ce;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return Ce;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var mN=$({key:k,values:x(k),required:y(H),aliases:y(x(k)),description:y(k)}),pN=$({command:B("create","update"),option:k,required:y(H),visible:y(H),enabled:y(H)}),_N=$({name:k,description:y(k),default_status:y(k),execution_role:y(B("agent","human","gate")),folder:y(k),aliases:y(x(k)),required_create_fields:y(x(k)),required_create_repeatables:y(x(k)),options:y(x(mN)),command_option_policies:y(x(pN))}),gN=$({id:k,aliases:y(x(k)),roles:y(x(B(...Tr))),description:y(k),order:y(ee())}),hN=$({key:k,metadata_key:y(k),front_matter_key:y(k),cli_flag:y(k),cli_aliases:y(x(k)),description:y(k),type:y(B(...pn)),commands:y(x(B(...Ar))),repeatable:y(H),required:y(H),required_on_create:y(H),required_types:y(x(k)),allow_unset:y(H)}),yN=e=>{if(!Array.isArray(e)||e.length!==2)return Ce;let[t,n]=e;return typeof t!="string"||typeof n!="string"?Ce:{ok:!0,value:[t,n]}},wN=$({type:k,allowed_transitions:x(yN)}),bN=y($({version:y(ee({int:!0})),files:y($({types:y(k),statuses:y(k),fields:y(k),workflows:y(k)})),statuses:y(x(gN)),fields:y(x(hN)),workflow:y($({draft_status:y(k),open_status:y(k),in_progress_status:y(k),blocked_status:y(k),close_status:y(k),canceled_status:y(k)})),type_workflows:y(x(wN)),unknown_field_policy:y(B(...us))})),vN=y($({preset:y(B(...Um)),ownership_enforcement:y(B("none","warn","strict")),create_mode_default:y(B("progressive","strict")),close_validation_default:y(B("off","warn","strict")),require_close_reason:y(H),parent_reference:y(B("warn","strict_error")),metadata_profile:y(B("core","strict","custom")),force_required_for_stale_lock:y(H),create_default_type:y(k),workflow_enforcement:y(B("off","warn","strict")),duplicate_detection_mode:y(B("off","advisory","strict")),duplicate_detection_threshold:y(ee({min:0,max:1})),duplicate_detection_limit:y(ee({int:!0,min:0,max:20}))})),kN=$({name:k,disabled:y(H),require_trusted:y(H),require_provenance:y(H),sandbox_profile:y(B("none","restricted","strict")),allowed_capabilities:y(x(k)),blocked_capabilities:y(x(k)),allowed_surfaces:y(x(k)),blocked_surfaces:y(x(k)),allowed_commands:y(x(k)),blocked_commands:y(x(k)),allowed_actions:y(x(k)),blocked_actions:y(x(k)),allowed_services:y(x(k)),blocked_services:y(x(k))}),nu=B("block","warn"),EN=e=>typeof e=="string"?nu(e):$({global:y(nu),project:y(nu)})(e),SN=y($({mode:y(B("off","warn","enforce")),trust_mode:y(B("off","warn","enforce")),pm_max_version_exceeded_mode:y(EN),require_provenance:y(H),trusted_extensions:y(x(k)),default_sandbox_profile:y(B("none","restricted","strict")),allowed_extensions:y(x(k)),blocked_extensions:y(x(k)),allowed_capabilities:y(x(k)),blocked_capabilities:y(x(k)),allowed_surfaces:y(x(k)),blocked_surfaces:y(x(k)),allowed_commands:y(x(k)),blocked_commands:y(x(k)),allowed_actions:y(x(k)),blocked_actions:y(x(k)),allowed_services:y(x(k)),blocked_services:y(x(k)),extension_overrides:y(x(kN))})),pr=ru(128),TN=$({harness:ru(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:y(x(pr,64)),model_environment_keys:y(x(pr,64)),session_environment_keys:y(x(pr,64)),provenance_environment_keys:y(Sa(x(pr,64))),provenance_resolvers:y(Sa(B("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:y(x(pr,64)),argv_markers:y(x(pr,64)),client_names:y(x(pr,64))}),AN=$({version:ee({int:!0}),id_prefix:k,ids:y($({token_length:y(ee({int:!0,min:4,max:12}))})),author_default:k,agent_identity:y($({probes_enabled:y(H),identity_vocabulary:y($({version:ee({int:!0,positive:!0}),aliases:Sa(ru(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:x(TN)})),mutation_guard:y($({require_attributed_author:y(H),secret_guard:y(B("off","advise","block")),stale_in_progress_hours:y(ee({int:!0,positive:!0}))})),item_format:y(B("toon","json_markdown")),locks:$({ttl_seconds:ee({int:!0}),wait_ms:y(ee({int:!0,min:0}))}),checkpoints:y($({retention_days:y(ee({int:!0,positive:!0}))})),output:$({default_format:B("toon","json")}),ux:y($({deprecation_hints:y(H)})),history:y($({missing_stream:B("auto_create","strict_error"),compact_policy:y($({enabled:y(H),max_entries:y(ee({int:!0,positive:!0})),trigger:y(B("health_warn","auto"))}))})),validation:y($({sprint_release_format:B("warn","strict_error"),parent_reference:y(B("warn","strict_error")),metadata_profile:y(B("core","strict","custom")),metadata_required_fields:y(x(k)),lifecycle_stale_blocker_reason_patterns:y(x(k)),lifecycle_closure_like_blocked_reason_patterns:y(x(k)),lifecycle_closure_like_resolution_patterns:y(x(k)),lifecycle_closure_like_actual_result_patterns:y(x(k)),estimate_defaults_by_type:y(Sa(ee({int:!0,positive:!0})))})),governance:vN,workflow:y($({definition_of_done:x(k)})),testing:y($({record_results_to_items:H,allow_untrusted_linked_tests:y(H)})),telemetry:y($({enabled:H,first_run_prompt_completed:y(H),capture_level:y(B("minimal","redacted","max")),endpoint:y(k),installation_id:y(k),retention_days:y(ee({int:!0,positive:!0}))})),agent_guidance:y($({prompt_completed:y(H),declined:y(H),declined_at:y(k),template_version:y(ee({int:!0,positive:!0})),last_checked_files:y(x(k))})),item_types:y($({definitions:x(_N)})),schema:bN,context:y($({default_depth:y(B("brief","standard","deep")),activity_limit:y(ee({int:!0,positive:!0})),stale_threshold_days:y(ee({int:!0,positive:!0})),sections:y($({hierarchy:y(H),activity:y(H),progress:y(H),recently_created:y(H),unparented:y(H),blockers:y(H),files:y(H),workload:y(H),staleness:y(H),tests:y(H)}))})),extensions:$({enabled:x(k),disabled:x(k),policy:SN}),search:$({score_threshold:ee(),hybrid_semantic_weight:y(ee()),max_results:ee({int:!0}),embedding_model:k,embedding_corpus_max_characters:y(ee()),embedding_batch_size:ee({int:!0}),embedding_timeout_ms:y(ee({int:!0})),scanner_max_batch_retries:ee({int:!0}),provider:y(k),default_mode:y(B("auto","keyword","semantic","hybrid")),corpus_fields:y(x(k)),mutation_refresh_policy:y(B("cache_only","semantic_configured","semantic_auto")),query_expansion:y($({enabled:y(H),provider:y(k)})),rerank:y($({enabled:y(H),model:y(k),top_k:y(ee({int:!0,positive:!0}))})),bm25:y($({k1:y(ee()),b:y(ee())}))}),providers:$({openai:$({base_url:k,api_key:k,model:k}),ollama:$({base_url:k,model:k})}),vector_store:$({adapter:y(k),collection_name:y(k),qdrant:$({url:k,api_key:k}),lancedb:$({path:k})})});function qh(e){let t=AN(e);return t.ok?{success:!0,data:t.value}:{success:!1}}import ai 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]="b6012be6-13b6-54b9-91ed-c9093423b1c2")}catch{}})();var Oe="_workspace";function ci(e){return ai.join(e,"history",`${Oe}.jsonl`)}function Gh(e,t=e.length){let n=cr();for(let r of e.slice(0,t))n=On(n,r.patch).document;return Wr(n)}function IN(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function Bh(e){throw new g(`Workspace history verification failed: ${e.join(", ")}`,_.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function CN(e,t){let n=ai.resolve(t),r=ai.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||ai.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function ou(e){let t=await rt(ci(e),Oe),n=vt(t);n.ok||Bh(n.errors);let r=IN(t.length===0?ds:Gh(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let l;try{let d=CN(e,ai.resolve(e,c));if(l=await K(d.absolutePath),l===null){s.push(c);continue}let u=JSON.parse(l);(O(u)===O(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function Ta(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=ci(e.pmRoot),r=await rt(n,Oe),o=vt(r);o.ok||Bh(o.errors);let i=r.length===0?ds:Gh(r),s=ar({nowIso:j(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Xo(n,s),{entry:s,historyPath:n}}finally{await 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]="e2270ad2-349e-5e8c-b23c-3cf0645907dc")}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]="833a4f8a-7e5d-5480-a526-4e1ebaadd0a8")}catch{}})();var ON={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Wh=120;function iu(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Kh(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var xN=Kh(ON),Vh=new WeakMap;function RN(e){let t=Vh.get(e);if(t)return t;let n=Kh(e);return Vh.set(e,n),n}function Jh(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Wh;if(t){let o=RN(t).get(n);if(iu(o))return Math.floor(o)}let r=xN.get(n);return iu(r)?Math.floor(r):Wh}function Yh(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||!iu(r)||(t[o]=Math.floor(r))}return t}import{stat as NN}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]="7c23ef10-ea7a-5680-8850-822e7d0c07a6")}catch{}})();var Aa=new Map;function Xh(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function DN(e){try{let t=await NN(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function xn(e){let t=Xh(e),n=await Promise.all(t.map(r=>DN(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function li(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 Zh(e){return Aa.get(e)}function Ia(e,t){let n=Xh(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));Aa.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Rn(e){if(e){Aa.delete(e);return}Aa.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]="2a28912a-5f26-5557-bc94-cfedbd602fd0")}catch{}})();var ny=Symbol("pm.settings.persist_source"),PN=128,LN=new Set(["off","advisory","strict"]);function Qh(e){return structuredClone(Dc[e])}function MN(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:_e.governance.preset}function $N(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),LN.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 Nn(e){let t=e.governance??{},n=MN(t.preset),r=$N(t);if(n==="custom"){let s=Qh("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=Qh(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ry(){return structuredClone(_e)}function FN(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:_e.search.mutation_refresh_policy}function jN(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function UN(e){return typeof e=="boolean"?e:_e.search.query_expansion.enabled}function zN(e){return typeof e!="string"?_e.search.query_expansion.provider:e.trim()}function HN(e){return typeof e=="boolean"?e:_e.search.rerank.enabled}function qN(e){return typeof e!="string"?_e.search.rerank.model:e.trim()}function GN(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:_e.search.rerank.top_k}function BN(e){if(typeof e!="string")return _e.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,PN);return n.length>0?n:_e.vector_store.collection_name}function su(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function WN(e,t){let n=e.schema,r=su(n?.statuses),o=su(n?.fields),i=su(n?.type_workflows);return{persisted_settings:structuredClone(e),source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:xa(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:xa(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 oy(e,t){Object.defineProperty(e,ny,{value:t,writable:!0,configurable:!0,enumerable:!1})}function VN(e){let t=e[ny];if(!(!t||typeof t!="object"))return t}function Oa(e){let t=structuredClone(e.settings),n=VN(e.settings);return n&&oy(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function KN(e,t,n){let r=xt(t);return[n,qe(e,r.files.types,Le.types),qe(e,r.files.statuses,Le.statuses),qe(e,r.files.fields,Le.fields),qe(e,r.files.workflows,Le.workflows)]}async function JN(e,t,n){let r=await xn(t);Ia(e,{tracked_paths:t,signatures:r,value:Oa(n)})}async function YN(e,t,n){try{await JN(e,t,n)}catch{Rn(e)}}function ey(e,t){return e.find(n=>n.path===t)}function XN(e,t,n){for(let r of n){let o=ey(e,r),i=ey(t,r);if(!o||!i||!li([o],[i]))return!1}return!0}async function au(e,t,n,r,o){try{let i=await xn(t);if(!XN(r,i,o)){Rn(e);return}Ia(e,{tracked_paths:t,signatures:i,value:Oa(n)})}catch{Rn(e)}}function di(e){return{settings:ry(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function ZN(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function QN(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function eD(e){let t=_e.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:QN(e?.last_checked_files??t.last_checked_files)}}function At(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function tD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.mode}function nD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.trust_mode}function iy(e){return e==="none"||e==="restricted"||e==="strict"?e:_e.extensions.policy.default_sandbox_profile}function rD(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=iy(e.sandbox_profile));let r=At(e.allowed_capabilities),o=At(e.blocked_capabilities),i=At(e.allowed_surfaces),s=At(e.blocked_surfaces),a=At(e.allowed_commands),c=At(e.blocked_commands),l=At(e.allowed_actions),d=At(e.blocked_actions),u=At(e.allowed_services),f=At(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),f.length>0&&(n.blocked_services=f),n}function oD(e){let t=new Map;for(let n of e??[]){let r=rD(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function cu(e){return e==="block"||e==="warn"?e:void 0}function iD(e){if(typeof e=="string")return cu(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=cu(e.global),n=cu(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function ot(e,t){return At(e?.[t]??_e.extensions.policy[t])}function sD(e){let t=iD(e?.pm_max_version_exceeded_mode);return{mode:tD(e?.mode),trust_mode:nD(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:ot(e,"trusted_extensions"),default_sandbox_profile:iy(e?.default_sandbox_profile),allowed_extensions:ot(e,"allowed_extensions"),blocked_extensions:ot(e,"blocked_extensions"),allowed_capabilities:ot(e,"allowed_capabilities"),blocked_capabilities:ot(e,"blocked_capabilities"),allowed_surfaces:ot(e,"allowed_surfaces"),blocked_surfaces:ot(e,"blocked_surfaces"),allowed_commands:ot(e,"allowed_commands"),blocked_commands:ot(e,"blocked_commands"),allowed_actions:ot(e,"allowed_actions"),blocked_actions:ot(e,"blocked_actions"),allowed_services:ot(e,"allowed_services"),blocked_services:ot(e,"blocked_services"),extension_overrides:oD(e?.extension_overrides??_e.extensions.policy.extension_overrides)}}function aD(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 Ca(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function cD(e){return Array.isArray(e)?e:[]}function lD(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:aD(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ca(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ca(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ca(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ca(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Yh(e.validation?.estimate_defaults_by_type)}}function dD(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 uD(e,t){return{...t.search,...e.search,default_mode:jN(e.search?.default_mode),mutation_refresh_policy:FN(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:UN(e.search?.query_expansion?.enabled),provider:zN(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:HN(e.search?.rerank?.enabled),model:qN(e.search?.rerank?.model),top_k:GN(e.search?.rerank?.top_k)}}}function fD(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:BN(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function mD(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function pD(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 _D(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function xa(e){let t=(e??[]).map(r=>Ds(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 gD(e){let t=ry(),n=Nn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:mD(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},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:lD(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,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:dD(e,t),agent_guidance:eD(e.agent_guidance??t.agent_guidance),item_types:{definitions:xa(e.item_types?.definitions)},schema:xt(e.schema??t.schema),context:pD(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:sD(e.extensions.policy??t.extensions.policy)},search:uD(e,t),providers:_D(e,t),vector_store:fD(e,t)}}async function Dn(e){let t=Se(e),n=[t];await Fe({path:t,scope:"project"});let r=Zh(e);if(r){let l=await xn(r.tracked_paths);if(li(l,r.signatures))return Oa(r.value)}let o=await xn([t]),i;try{i=await K(t)}catch{return di("settings_read_fs_error")}if(i===null){let l=di();return await au(e,[t],l,o,[t]),l}let s=await xn([t]);if(!li(o,s))return Rn(e),Dn(e);let a;try{a=JSON.parse(i)}catch{let l=di("settings_read_invalid_json");return await au(e,[t],l,s,[t]),l}let c=qh(a);if(!c.success){let l=di("settings_read_invalid_schema");return await au(e,[t],l,s,[t]),l}try{let l=gD(c.data),d=KN(e,l.schema,t);n=d;let u=await xn(d),f=await tp(e,l.schema),m=await np(e,l.schema),p=await xn(d),w={...l,item_types:{definitions:xa([...l.item_types.definitions,...cD(m.type_definitions_from_file)])},schema:m.schema};oy(w,WN(c.data,w));let h={settings:w,metadata:{has_explicit_item_format:ZN(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...f.created_paths.map(b=>`runtime_schema_bootstrap_created:${b}`),...m.warnings]};return f.created_paths.length===0?li(u,p)?Ia(e,{tracked_paths:d,signatures:p,value:Oa(h)}):Rn(e):Rn(e),h}catch{let l=di("settings_read_merge_failed");return await YN(e,n,l),l}}async function re(e){return(await Dn(e)).settings}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47487ad3-22a0-52ac-8a42-ebaca439cb6e")}catch{}})();var du=["item","history","relationship","json"];function bD(e){let t=e.trim().toLowerCase();if(du.includes(t))return t;throw new g(`Unknown merge artifact "${e}". Supported values: ${du.join(", ")}.`,_.USAGE)}function vD(e){if(e===void 0)return"ours";let t=e.trim().toLowerCase();if(t==="ours"||t==="theirs")return t;throw new g(`Unknown --prefer value "${e}". Supported values: ours, theirs.`,_.USAGE)}async function lu(e,t){try{return await hD(e,"utf8")}catch{throw new g(`Cannot read merge ${t} file at ${e}.`,_.NOT_FOUND)}}async function kD(e){let t=X(process.cwd(),e.path);return await M(Se(t))?re(t):null}function ED(e,t){return e.endsWith(".md")?"json_markdown":e.endsWith(".toon")?"toon":t?.item_format??"toon"}async function SD(e,t){let n=bD(e.artifact),r=vD(e.prefer),o=wD.resolve(e.outputPath??e.oursPath),[i,s,a]=await Promise.all([lu(e.basePath,"base"),lu(e.oursPath,"ours"),lu(e.theirsPath,"theirs")]),c,l,d=[],u={};if(n==="history"){let m=Gd(i,s,a);c=m.merged,u.history={strategy:m.strategy,common_entries:m.common_entries,entries_from_ours:m.entries_from_ours,entries_from_theirs:m.entries_from_theirs,entries_total:m.entries_total,reanchored:m.reanchored}}else if(n==="relationship"){let m=Bd(i,s,a);c=m.merged,u.relationship={strategy:m.strategy,common_entries:m.common_entries,entries_from_ours:m.entries_from_ours,entries_from_theirs:m.entries_from_theirs,entries_total:m.entries_total,reanchored:m.reanchored}}else if(n==="item"){let m=await kD(t),p=ED(e.itemPath??o,m),w=Tt(Y()),h=Wd(i,s,a,{format:p,schema:m?.schema,extensionFieldNames:w,preferred:r,conflictResolution:"latest_document_update"});if(c=h.merged,d.push(...h.conflict_fields),u.item={fields_from_theirs:h.fields_from_theirs,union_fields:h.union_fields,conflict_resolution:"latest_document_update",requested_preference_applied:!1},e.itemPath!==void 0){let b=Ve(c,{format:p,schema:m?.schema,extensionFieldNames:w}),v=b.metadata,I=[...new Set([...h.fields_from_theirs,...h.union_fields,...h.conflict_decisions.map(A=>A.field)])];l={cwd:process.cwd(),itemPath:e.itemPath,preferred:r,conflictResolution:"latest_document_update",fieldsFromTheirs:h.fields_from_theirs,unionFields:h.union_fields,mergedFieldHashes:Object.fromEntries(I.map(A=>[A,kt(A==="body"?b.body:v[A])])),decisions:h.conflict_decisions,operation:await xh(process.cwd(),e.itemPath)}}}else{let m=Vd(i,s,a,{preferred:r});c=m.merged,d.push(...m.conflict_paths),u.json={paths_from_theirs:m.paths_from_theirs}}if(await yD(o,c,"utf8"),l!==void 0){let m=await zh(l);m!==null&&(u.receipt=Et(m))}let f=[];if(d.length>0){let m=u.receipt===void 0?'Run "pm merge report" to inspect clone-local merge evidence.':`Run "pm merge report" and correlate receipt ${u.receipt.receipt_id} with item ${u.receipt.item_id}; clone-local discarded values are never copied into this result.`;f.push(`Both branches changed ${d.join(", ")}; the item driver kept the value from the later document update, with stable value order only as an equal-timestamp tie-break. --prefer does not apply to convergent item scalar conflicts. ${m} Review the merged file, re-apply the discarded change if needed, then "git add" it.`)}return n==="history"&&u.history?.reanchored&&f.push('The merged history chain was re-anchored. Run "pm merge reconcile --dry-run" to inspect the complete post-merge repair, then "pm merge reconcile" to apply it; use --force only after explicitly accepting reported discards.'),{ok:d.length===0,artifact:n,output_path:o,requested_preference:r,conflicts:d,...u,guidance:f,generated_at:j()}}import fu from"node:fs/promises";import Ra 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]="b6e08d70-4e3f-5ad3-83ad-9cb49edb526e")}catch{}})();function Pn(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function mu(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:Mt(t),suggested_retry_args:t}}function Na(e){return new g(`Tracker root is not a directory at ${e}.`,_.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function uu(e){return new g(`Tracker root is not readable at ${e}.`,_.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function TD(e){let t=Ra.resolve(e),n=Ra.parse(t).root,r=Ra.dirname(t);for(;r!==n;){let o;try{o=await fu.stat(r)}catch(i){if(Pn(i,"ENOTDIR"))throw Na(e);if(!Pn(i,"ENOENT"))throw i;r=Ra.dirname(r);continue}if(!o.isDirectory())throw Na(e);return}}async function Xr(e){let t;try{t=await fu.stat(e)}catch(n){throw Pn(n,"ENOENT")?(await TD(e),new g(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,_.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:mu(e)})):Pn(n,"ENOTDIR")?Na(e):Pn(n,"EACCES")||Pn(n,"EPERM")?uu(e):n}if(!t.isDirectory())throw Na(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw uu(e);try{await(await fu.opendir(e)).close()}catch(n){throw Pn(n,"EACCES")||Pn(n,"EPERM")?uu(e):n}}async function je(e){if(await Xr(e),!await M(Se(e)))throw new g(`Tracker is not initialized at ${e}. Run pm init first.`,_.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:mu(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]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();import{access as $D,readFile as bu,realpath as Ln}from"node:fs/promises";import{constants as FD}from"node:fs";import{execFile as jD}from"node:child_process";import te from"node:path";import{promisify as UD}from"node:util";import AD 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]="5b131b40-e139-5a7d-a6ef-633fe2cbee64")}catch{}})();var sy=["runtime/","search/","locks/","transactions/","checkpoints/"];function ay(e){let t=e.replaceAll("\\","/");return AD.isAbsolute(e)||t===".."||t.startsWith("../")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8d1a6b35-70e8-5a61-8ce6-3bea9ed8170b")}catch{}})();var ID="PM_SOURCE_CONTEXT_ACCESS",CD="PM_ALLOW_SOURCE_CONTEXT_WRITES";function cy(e){let t=e[ID],n=t===void 0||t.trim().toLowerCase()==="write"?"write":"read_only",r=n==="read_only"&&e[CD]?.trim()==="1";return{access:n,write_override_applied:r,source_writes_allowed:n==="write"||r}}import{execFile as OD}from"node:child_process";import xD from"node:path";import{promisify as RD}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="725f175b-c548-5700-8e85-ea0b5dce3747")}catch{}})();var Zr=RD(OD);function pt(){let e={...process.env};for(let t of["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_NAMESPACE","GIT_CEILING_DIRECTORIES","GIT_DISCOVERY_ACROSS_FILESYSTEM"])delete e[t];return e}async function pu(e,t){try{return(await Zr("git",["config","--local",...t==="core.bare"||t==="extensions.worktreeConfig"?["--type=bool"]:[],"--get",t],{cwd:e,env:pt(),timeout:1e4})).stdout.trim()}catch(n){if(typeof n=="object"&&n!==null&&"code"in n&&n.code===1)return;throw n}}async function ly(e){if(await pu(e,"extensions.worktreeConfig")==="true")return"--worktree";let{stdout:t}=await Zr("git",["rev-parse","--path-format=absolute","--git-dir","--git-common-dir"],{cwd:e,env:pt(),timeout:1e4}),[n,r]=t.trim().split(/\r?\n/);if(n===r)return"--local";let o=xD.join(r,"config.worktree");for(let i of["core.bare","core.worktree"]){let s=await pu(e,i);s===void 0||i==="core.bare"&&s!=="true"||(await Zr("git",["config","--file",o,i,s],{cwd:e,env:pt(),timeout:1e4}),await Zr("git",["config","--local","--unset-all",i],{cwd:e,env:pt(),timeout:1e4}))}for(let i of["pm-item-toon","pm-item-markdown","pm-history","pm-relationship","pm-json"])for(let s of["name","driver"]){let a=`merge.${i}.${s}`,c=await pu(e,a);c!==void 0&&await Zr("git",["config","--file",o,a,c],{cwd:e,env:pt(),timeout:1e4})}return await Zr("git",["config","--local","extensions.worktreeConfig","true"],{cwd:e,env:pt(),timeout:1e4}),"--worktree"}import dy from"node:fs";import Da 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]="7ab9180f-dfcb-579d-bc0c-dbba2e4ad77e")}catch{}})();var uy="@unbrained/pm-cli";var hu=/\b(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-(\d+))?\b/u,yu="2026.8.31";function Pa(e){let t=e.match(hu);return t?[Number(t[1]),Number(t[2]),Number(t[3]),Number(t[4]??0)]:null}function wu(e,t){let n=Pa(e),r=Pa(t);if(!n||!r)return null;for(let o=0;o<n.length;o+=1){let i=n[o]-r[o];if(i!==0)return Math.sign(i)}return 0}function _u(e){return wu(e,yu)!==-1?3:2}function gu(e){try{let t=JSON.parse(dy.readFileSync(e,"utf8"));return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function ND(e){let t=[...e.matchAll(/(<=|<)\s*v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/gu)].map(r=>({inclusive:r[1]==="<=",version:r[2]})),n=e.match(/\b\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?\s+-\s+v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/u);return n?[...t,{inclusive:!0,version:n[1]}]:t}function DD(e){let t=e.split("||").map(n=>ND(n));return{bounded:t.some(n=>n.length>0),compatible:t.some(n=>n.every(r=>{let o=wu(yu,r.version);return o!==null&&(r.inclusive?o!==1:o===-1)}))}}function PD(e){return["dependencies","devDependencies","optionalDependencies","peerDependencies"].flatMap(t=>{let n=e[t];if(typeof n!="object"||n===null)return[];let r=n[uy],o=typeof r=="string"?r.trim():"",i=/^[<!]/u.test(o)?void 0:o.match(hu)?.[0];if(!i)return[];let s=/^(?:=|v)?\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?$/u.test(o),a=DD(o);return[{version:i,constraint:s?"exact":a.bounded?"range":"minimum",...s?{}:{declaration:o},history_epoch_compatible:s?wu(i,yu)!==-1:a.compatible}]})}function LD(e){let n=gu(Da.join(e,"package-lock.json"))?.packages;if(typeof n!="object"||n===null)return;let r=n["node_modules/@unbrained/pm-cli"];if(typeof r!="object"||r===null)return;let o=r.version;return typeof o=="string"?o:void 0}function MD(e,t){try{let n=dy.readFileSync(Da.join(e,t),"utf8").split(/\r?\n/u),r=n.findIndex(c=>c.includes(uy));if(r<0)return;let o=n[r].match(/^\s*/u)[0].length,i=[n[r]];for(let c=r+1;c<n.length;c+=1){let l=n[c],d=l.trim(),u=l.match(/^\s*/u)[0].length;if(d.length>0&&u<=o)break;i.push(l)}return i.join(`
39
+ `).match(/^\s*version(?::\s*|\s+)["']?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/mu)?.[1]??i[0].match(hu)?.[0]}catch{return}}function fy(e){let t=[],n=gu(Da.join(e,"package.json"));n&&t.push(...PD(n).map(s=>({...s,source:"package.json"})));let o=gu(Da.join(e,"node_modules","@unbrained","pm-cli","package.json"))?.version;typeof o=="string"&&Pa(o)&&t.push({version:o,source:"installed-package",constraint:"exact",history_epoch_compatible:_u(o)===3});let i=LD(e);i&&Pa(i)&&t.push({version:i,source:"package-lock.json",constraint:"exact",history_epoch_compatible:_u(i)===3});for(let s of["pnpm-lock.yaml","yarn.lock"]){let a=MD(e,s);a&&t.push({version:a,source:s,constraint:"exact",history_epoch_compatible:_u(a)===3})}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]="22d0a3bd-dd65-5d9a-86bd-e8116d53d94f")}catch{}})();var eo=UD(jD),ui="# pm-cli:merge-drivers:start",_y="# pm-cli:merge-drivers:end",Qr="# pm-cli:merge-drivers:v2:start",vu="# pm-cli:merge-drivers:v2:end",zD="merge-fence",HD="merge-attributes";function my(e){return`'${e.replaceAll("'",`'"'"'`)}'`}async function qD(e,t){let n=await Ln(e);if(/(?:^|[\\/])bun-node-[^\\/]+[\\/]bun(?:\.exe)?$/iu.test(n))return;let{stdout:r}=await eo(e,["--version"],{encoding:"utf8",windowsHide:!0,timeout:1e4});return r.trim()===t?n:void 0}async function GD(){let e=nt(import.meta.url,["../../.."]),t=process.execPath,n=!1,r=await Ln(process.execPath),o=process.versions.bun,i=(process.env.PATH??"").split(te.delimiter).filter(a=>te.isAbsolute(a)).map(a=>te.join(a,o===void 0?te.basename(process.execPath):process.platform==="win32"?"bun.exe":"bun")),s=o===void 0?i:[process.env.npm_execpath??"",...i,r].filter(a=>te.isAbsolute(a)&&/^(?:bun|bun\.exe)$/iu.test(te.basename(a)));for(let a of s)try{if(await $D(a,FD.X_OK),o!==void 0){let c=await qD(a,o);if(c!==void 0){t=c,n=!0;break}continue}if(a!==r&&await Ln(a)===r){t=a;break}}catch{}if(o!==void 0&&!n)throw new g("Cannot install Bun merge drivers without a durable executable matching the current Bun version.",_.DEPENDENCY_FAILED,{code:"merge_bun_launcher_unavailable",why:"The current Bun process may be a temporary bunx launcher that Git cannot reuse after this command exits.",nextSteps:["Run with a durable version-matched Bun executable, expose one on an absolute PATH entry, or invoke pm through a Bun runner that publishes an absolute npm_execpath.","Retry pm merge install, then check pm health --strict-exit before merging branches."]});return`${my(t)} ${my(te.join(e,"dist","cli.js"))}`}var gy=[{key:"pm-item-toon",name:"pm field-aware TOON item document merge",artifact:"item",itemPath:"%P"},{key:"pm-item-markdown",name:"pm field-aware JSON-markdown item document merge",artifact:"item",itemPath:"%P"},{key:"pm-history",name:"pm append-only history stream merge",artifact:"history",itemPath:void 0},{key:"pm-relationship",name:"pm append-only relationship event store merge",artifact:"relationship",itemPath:void 0},{key:"pm-json",name:"pm key-level JSON config merge",artifact:"json",itemPath:void 0}];function hy(e){let t=e.explicitPath?.trim(),n=e.environment.PM_SOURCE_WORKSPACE_ROOT?.trim(),r=e.environment.PM_SOURCE_PM_PATH?.trim(),o=cy(e.environment),i=!!(n&&r),s=t===void 0&&i&&(e.dryRun||o.source_writes_allowed);if(t!==void 0){let a=X(e.cwd,t);return{pm_root:a,workspace_start:a,source_coordinates_available:i,source_context_selected:!1,source_policy:o}}return s?{pm_root:te.resolve(r),workspace_start:te.resolve(n),source_coordinates_available:!0,source_context_selected:!0,source_policy:o}:{pm_root:i?X(e.cwd,".agents/pm"):X(e.cwd),workspace_start:e.cwd,source_coordinates_available:i,source_context_selected:!1,source_policy:o}}async function Ct(e){try{let{stdout:t}=await eo("git",["rev-parse","--show-toplevel"],{cwd:e,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4});return await Ln(t.trim())}catch{return null}}async function yy(e){let t=await Ct(e);if(t===null)throw new g("pm merge install requires a git repository (merge drivers are git configuration).",_.USAGE);return t}function ku(e,t){return te.relative(e,t).replaceAll("\\","/")}function It(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function py(e,t){if(e[t]!=="'")return null;let n="";for(let r=t+1;r<e.length;r+=1){if(e.startsWith(`'"'"'`,r)){n+="'",r+=4;continue}if(e[r]==="'")return{value:n,nextOffset:r+1};n+=e[r]}return null}async function BD(e,t,n){if(fy(t).filter(i=>i.constraint==="exact").some(i=>i.version!==n))return!1;let o=await Ct(e);if(o!==null&&o!==await Ln(t)){let i=await Promise.all([o,t].map(async s=>{let a=await eo("git",["rev-parse","--path-format=absolute","--git-common-dir"],{cwd:s,env:pt(),timeout:1e4});return Ln(a.stdout.trim())}));if(i[0]===i[1])return!1}return!0}async function WD(e,t,n){let r=py(e,0);if(r===null||e[r.nextOffset]!==" ")return!1;let o=py(e,r.nextOffset+1);if(o===null||e.slice(o.nextOffset)!==t||!/^(?:node|bun)(?:\.exe)?$/iu.test(te.basename(r.value))||te.basename(o.value)!=="cli.js"||te.basename(te.dirname(o.value))!=="dist"||!await M(r.value)||!await M(o.value))return!1;try{let i=te.dirname(te.dirname(o.value)),s=JSON.parse(await bu(te.join(i,"package.json"),"utf8")),a=typeof s.bin=="string"?s.bin:s.bin?.pm;return await BD(i,n,s.version)?s.name==="@unbrained/pm-cli"&&a==="dist/cli.js":!1}catch{return!1}}function La(e,t){let n=e.length>0?`${e}/`:"",r=[`${It(`${n}**/*.toon`)} merge=pm-item-toon`,`${It(`${n}**/*.md`)} merge=pm-item-markdown`];for(let o of t)r.push(`${It(`${n}${o}/*.toon`)} merge=pm-item-toon`),r.push(`${It(`${n}${o}/*.md`)} merge=pm-item-markdown`);return r.push(`${It(`${n}**/*.jsonl`)} merge=pm-relationship`),r.push(`${It(`${n}history/*.jsonl`)} merge=pm-history`),r.push(`${It(`${n}settings.json`)} merge=pm-json`),r.push(`${It(`${n}**/*.json`)} merge=pm-json`),r.push(`${It(`${n}extensions/**`)} -merge`),r.push(`${It(`${n}extensions/.managed-extensions.json`)} merge=pm-json`),r}function wy(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(ui,n),o=e.indexOf(Qr,n),i=r===-1?o:o===-1?r:Math.min(r,o);if(i===-1)break;let s=i===o,a=s?Qr:ui,c=s?vu:_y,l=e.indexOf(c,i+a.length),d=l===-1?e.length:l+c.length;t.push({start:i,end:d,closed:l!==-1,lines:e.slice(i+a.length,l===-1?d:l).split(`
40
+ `).map(u=>u.trim()).filter(Boolean)}),n=d}return t}function by(e,t,n){let r=new Set(t),o=It(n.length>0?`${n}/`:"").slice(0,-1);return e.some(i=>r.has(i)||i.startsWith(o)&&/^[^/]+\/\*\.(?:toon|md)" merge=pm-item-(?:toon|markdown)$/u.test(i.slice(o.length)))}async function vy(e,t,n,r){let o=te.join(e,".gitattributes"),i=r?null:(await eo("git",["rev-parse","--absolute-git-dir"],{cwd:e,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4})).stdout.trim(),s=i===null?null:await ce(i,HD,120,"merge-fence",!1,!0,5e3);try{let a=await K(o)??"",c=[Qr,...n,vu].join(`
41
41
  `),l=wy(a),d=l.filter(f=>by(f.lines,n,t));d.length===0&&t===".agents/pm"&&l.length===1&&l[0].lines.every(f=>!f.includes(".agents/pm/"))&&d.push(l[0]);let u;if(d.length>0){let f=d[0];u=a;for(let m of d.slice(1).reverse())u=`${u.slice(0,m.start)}${u.slice(m.end)}`;u=`${u.slice(0,f.start)}${c}${u.slice(f.end)}`}else{let f=a.trimEnd();u=`${f.length>0?`${f}
42
42
 
43
43
  `:""}${c}
44
- `}return u===a?{path:o,changed:!1}:(r||await q(o,u),{path:o,changed:!0})}finally{await s?.()}}function to(e){let t=ge(e,null);return[...new Set(Object.values(t.type_to_folder))].sort((n,r)=>n.localeCompare(r))}async function fi(e,t){let n=oe.resolve(e),r=null,o="",i=n;for(let h=0;h<8;h+=1){let b=oe.join(i,".gitattributes");try{let I=await bu(b,"utf8");if(I.includes(Qr)||I.includes(ui)){r=i,o=I;break}}catch{}let v=oe.dirname(i);if(v===i)break;i=v}if(r===null)return{status:"not_installed",missing_patterns:[],stale_patterns:[],schema_scope:"project"};let s=oe.join(r,".gitattributes"),a=ku(r,n),c=wy(o),l=La(a,t),d=c.filter(h=>by(h.lines,l,a)),u=d.flatMap(h=>h.closed?h.lines:[]),f=new Set(u),m=new Set(l),p=l.filter(h=>!f.has(h)),w=u.filter(h=>!m.has(h));return{status:d.length!==1||!d[0].closed||p.length>0||w.length>0?"drift":"ok",path:s,missing_patterns:p,stale_patterns:w,schema_scope:"project"}}async function mi(e){let t=[],n=[];for(let r of gy){let o=`merge.${r.key}.driver`,i=` merge driver ${r.artifact} "%O" "%A" "%B"${r.itemPath===void 0?"":` --item-path ${r.itemPath}`}`;try{let{stdout:s}=await eo("git",["config","--get",o],{cwd:e,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4}),a=s.trim();await BD(a,i,e)||n.push(o)}catch{t.push(o)}}return{status:t.length>0?"missing":n.length>0?"drift":"ok",missing_keys:t,drifted_keys:n}}async function ky(e){let t;try{t=await yy(oe.resolve(e))}catch{return{status:"no_git"}}let n=ku(t,oe.resolve(e)),r=await ne(e),o=Ie(void 0,r.author_default),i=await ce(e,zD,r.locks.ttl_seconds,o,!1,Nn(r).force_required_for_stale_lock,r.locks.wait_ms);try{let s=oe.join(t,".gitattributes"),a;try{a=await bu(s,"utf8")}catch(u){if(u instanceof Error&&"code"in u&&F(u))return{status:"not_installed",path:s};throw u}if(!a.includes(Qr)&&!a.includes(ui))return{status:"not_installed",path:s};let c=await ne(e),l=to(c),d=await vy(t,n,La(n,l),!1);return{status:d.changed?"refreshed":"unchanged",path:d.path}}finally{await i()}}async function WD(e,t){let n=hy({cwd:process.cwd(),explicitPath:t.path,dryRun:e.dryRun===!0,environment:process.env}),r=n.pm_root;await je(r);let o=await yy(n.workspace_start);return VD({pmRoot:r,workspaceRoot:o,dryRun:e.dryRun===!0})}async function VD(e){let t=oe.resolve(e.pmRoot),n=oe.resolve(e.workspaceRoot),r=e.dryRun===!0,o,i;try{[o,i]=await Promise.all([Ln(t),Ln(n)])}catch(m){throw new g(`Cannot resolve tracker root ${t} or workspace root ${n}: ${String(m)}`,_.NOT_FOUND,{code:"merge_root_not_found",nextSteps:["Initialize the tracker and ensure both paths are accessible.",'Retry "pm merge install" from the repository workspace.']})}let s=ku(i,o);if(ay(s))throw new g(`Tracker root ${t} is outside the git repository ${n}; there is nothing to configure for this repository.`,_.USAGE);let a=await ne(o),c=to(a),l=La(s,c),d=[],u=await qD();for(let m of gy)d.push({key:`merge.${m.key}.name`,value:m.name}),d.push({key:`merge.${m.key}.driver`,value:`${u} merge driver ${m.artifact} "%O" "%A" "%B"${m.itemPath===void 0?"":` --item-path ${m.itemPath}`}`});if(!r)try{let m=await ly(i);for(let p of d)await eo("git",["config",m,p.key,p.value],{cwd:i,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4})}catch{throw new g(`Cannot install repository-local merge drivers in ${i}. Ensure the repository Git config is writable and no other Git process holds its lock, then retry.`,_.DEPENDENCY_FAILED,{code:"merge_git_config_unwritable",why:"pm merge install must persist clone-local driver commands before publishing their shared .gitattributes mappings.",nextSteps:["Make the repository Git config writable or wait for the process holding its lock to finish.",'Retry "pm merge install"; the operation is idempotent.','Use "pm merge install --dry-run --json" when the workspace is intentionally read-only.']})}let f=await vy(i,s,l,r);return{ok:!0,dry_run:r,workspace_root:i,pm_root:o,gitattributes:{path:f.path,changed:f.changed,patterns:l,schema_scope:"project"},git_config:d,guidance:["Commit .gitattributes so every branch and collaborator shares the merge mapping.",'git config is per-clone: each collaborator (and each fresh worktree/clone) runs "pm merge install" once.','After merging branches, run "pm merge reconcile --dry-run" to inspect the complete receipt and history repair, then apply "pm merge reconcile"; use --force only after explicitly accepting any discarded values.',"Custom item types registered later refresh this fence automatically (pm schema add-type/remove-type); rerun pm merge install only after out-of-band type-folder edits."],generated_at:j()}}import{isUtf8 as _L}from"node:buffer";import{readFile as gL}from"node:fs/promises";import mL from"node:fs/promises";import ki from"node:fs/promises";import{statSync as XD}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1a689c0c-972a-5aff-a15e-ea48fcdf478b")}catch{}})();function KD(e){let t=[],n=!1;for(let r of(e??"").toLowerCase()){let o=r.charCodeAt(0),i=o>=48&&o<=57,s=o>=97&&o<=122;if(!i&&!s){n=t.length>0;continue}n&&(t.push("-"),n=!1),t.push(r)}return t.length===0?"pm-":`${t.join("")}-`}function on(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Ft(e,t){let n=KD(t),r=on(e);return r.startsWith(n)?r:`${n}${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]="cb9a55d6-9ba9-50af-a54f-2bba5d076fdb")}catch{}})();function no(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new g("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",_.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8835b501-34c7-51ba-b02e-782f8a457e1b")}catch{}})();function JD(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new g(`History for this item contains invalid timestamp at entry ${o+1}.`,_.GENERIC_FAILURE);i<=t&&(n=o)}),n}function YD(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function Ey(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function Eu(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=YD(t,no(t,!0));if(!r)throw new g(`Missing ${o} target. Use a timestamp or version number.`,_.USAGE,s);if(/^\d+$/.test(r)){let d=no(t),u=Number(r);if(u>=1&&u<=d)throw new g(`History version ${u} was pruned by compaction.`,_.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(u)||u<1||u>d+t.length)throw new g(`${i} version must be between ${d+1} and ${d+t.length} for this item.`,_.USAGE,s);return{kind:"version",raw:r,historyIndex:u-d-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new g(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,_.USAGE,s);let l=JD(t,c);if(l<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new g(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,_.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:l}}function ro(e,t,n,r){let o=On(e,t);if(o.ok)return o.document;let i=Ey(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new g(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,_.GENERIC_FAILURE)}function pi(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=On(Br,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new g("History starts without a reconstructable item baseline.",_.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=vt([...r]),i=structuredClone(Br);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new g(`History target entry ${s+1} does not exist.`,_.USAGE);i=ro(i,a.patch,s+1,a.op)}if(!o.ok)throw new g(`History cannot be replayed: ${o.errors.join(", ")}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="401ead12-fb72-586b-8625-33ae44ed2eb9")}catch{}})();function ZD(e,t){let n=-1,r=structuredClone(Br);for(let[a,c]of e.entries()){if(r=ro(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new g(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=no(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;Eu(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Sy(e,t,n){let r=new Set([Ft(t,n),on(t)]);for(let o of r){let i=ve(e,o);if(!XD(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await rt(i,o),a=-1;if(s.forEach((m,p)=>{m.op==="delete"&&(a=p)}),a<0)continue;let c=pi(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:l,target:d}=ZD(s,o),u=d===void 0?["history",o,"--verify"]:["get",o,"--at",d],f=Mt(u);return new g(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,_.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:d!==void 0,last_materialized_version:l},nextSteps:[f,...d===void 0?["Recover the pre-compaction history from version control."]:[Mt(["restore",o,d])]],recovery:{suggested_retry:f,suggested_retry_args:u}})}}import Ty from"node:fs/promises";import _i from"node:path";import{isUtf8 as QD}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="05666dcc-3273-5416-b6b4-54b4ff1368be")}catch{}})();var Ay=1048576,eP=4194304;async function Iy(e,t){let n=_i.dirname(e);for(;n!==_i.parse(e).root;){let o=await Ty.stat(n).catch(i=>{if(F(i))return null;throw i});if(o!==null){if(!o.isDirectory())throw new g("Workflow policy storage ancestor must be a directory.",_.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Restore the policy or approval history directory before retrying."]});break}n=_i.dirname(n)}let r=await Ty.open(e,"r").catch(o=>{if(F(o))return null;throw o});if(r===null)return null;try{let o=(await r.stat()).size,i=Buffer.alloc(Math.min(t,o)+1),s=0;for(;s<i.length;){let a=await r.read(i,s,i.length-s,s);if(a.bytesRead===0)break;s+=a.bytesRead}if(s===i.length||!QD(i.subarray(0,s)))throw new g("Workflow policy input exceeds its byte bound or is not valid UTF-8.",_.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Inspect the policy and approval history; reduce the declaration or use verified history compaction before retrying."]});return i.toString("utf8",0,s)}finally{await r.close()}}function Cy(e){if(e===null)return{version:1,enforcement:"advise",policies:[]};let t;try{t=JSON.parse(e)}catch{throw new g("schema/policies.json must contain valid JSON.",_.CONFLICT,{code:"workflow_policy_registry_invalid",nextSteps:["Restore valid policy JSON before retrying the mutation."]})}return la(t)}async function gi(e){return Cy(await Iy(_i.join(e,"schema","policies.json"),Ay))}async function Oy(e,t){let n=await Iy(ve(e,t),eP);if(n===null)return[];let r;try{if(r=n.split(/\r?\n/).filter(o=>o.trim()).map(o=>JSON.parse(o)),!vt(r).ok)throw new Error("invalid chain")}catch{throw new g("Approval evidence requires a valid item history chain.",_.CONFLICT,{code:"workflow_policy_approval_history_invalid",nextSteps:[`Run pm history ${t} --verify before recording or using an approval.`]})}return r.flatMap(o=>{let i=o.context?.workflow_approval;if(o.op!=="policy_approve"||o.record_hash_version!==1||typeof o.record_hash!="string"||typeof i!="object"||i===null)return[];let s=i;return typeof s.policy_fingerprint!="string"||typeof s.content_fingerprint!="string"?[]:[{policy_fingerprint:s.policy_fingerprint,content_fingerprint:s.content_fingerprint,author:o.author}]})}async function xy(e,t,n){let r=n.before?.status!==n.after?.status&&t.policies.some(s=>s.rule.kind==="approval"&&wd(s,n)),o=n.before?.id??n.after?.id,i=r&&typeof o=="string"?await Oy(e,o):[];return Cg(t,{...n,approvals:i})}async function Ry(e){let t=await gi(e.pmRoot),n=await xy(e.pmRoot,t,{operation:e.operation,author:e.author,before:e.before?{...e.before.metadata,body:e.before.body}:null,after:e.after?{...e.after.metadata,body:e.after.body}:null});if(n.allowed)return n;let r=n.decisions.filter(d=>!d.satisfied&&d.effect==="refuse");if(!e.dryRun)try{await Ta({pmRoot:e.pmRoot,op:"policy_refused",author:e.author,context:{item_id:e.after?.metadata.id??e.before?.metadata.id,operation:e.operation,workflow_policies:n.decisions},message:"Workflow policy refused a proposed item mutation.",lockTtlSeconds:e.settings.locks.ttl_seconds,lockWaitMs:e.settings.locks.wait_ms})}catch(d){let u=new g("Workflow policy refusal could not be recorded in workspace history.",_.CONFLICT,{code:"workflow_policy_audit_failed",nextSteps:["Resolve workspace-history lock or storage failures, then retry the refused mutation; no item changes were written."]});throw u.cause=d,u}let o=r.slice(0,3).map(d=>({policy_id:d.policy_id,rule:d.rule,description:t.policies.find(u=>u.id===d.policy_id).description,missing_fields:d.missing_fields})),i=[...new Set(o.flatMap(d=>d.missing_fields))],s=o.map(d=>`${d.policy_id} (${d.rule})`).join(", "),a=r.length>3?` and ${r.length-3} more`:"",c=e.after?.metadata.id??e.before.metadata.id,l=i.map(d=>{if(e.before===null)return`Supply ${d} in the original ${e.operation} request, then retry; the item was not created.`;let u=ll("update",d);return u===void 0?`Supply ${d} using its declared SDK or package mutation contract, then retry.`:Mt(["update",c,dl("update",u),`<${d}>`,"--pm-path",_i.resolve(e.pmRoot)])});throw new g(`Workflow policy refused ${e.operation}: ${s}${a}.${i.length?` Missing: ${i.join(", ")}.`:""}`,_.CONFLICT,{code:"workflow_policy_refused",reason:o.map(d=>d.policy_id).join(","),policy_violations:o,policy_violation_count:r.length,required:i.length?`Supply missing fields: ${i.join(", ")}, then retry the refused mutation.`:"Satisfy the declared workflow policy before retrying.",why:o.map(d=>d.description).filter(Boolean).join(" ")||void 0,recovery:{missing_required_fields:i},nextSteps:[...l,...new Set(r.slice(0,3).filter(d=>d.missing_fields.length===0).map(d=>d.remediation)),...r.length>3?[`Inspect all policies with pm schema policies before retrying ${e.operation}.`]:[]]})}import{AsyncLocalStorage as tP}from"node:async_hooks";import{channel as nP}from"node:diagnostics_channel";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="118ec110-fa84-550b-a0a8-4def314270b6")}catch{}})();var IK=new tP,rP=nP("@unbrained/pm-cli/item-metadata-enumeration/v1");function Ma(e){rP.publish(e)}import Pu from"node:path";import oP from"node:fs/promises";import iP 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]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function sP(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function aP(e,t){return new g(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,_.NOT_FOUND)}async function cP(e,t){return await hn(iP.dirname(e)),await(await oP.open(e,"a")).close(),Ae({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Su(e){return $a({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function $a(e){let t=sP(e.itemIds),n=[],r=[];for(let o of t){let i=ve(e.pmRoot,o);if(!await M(i)){if(e.settings.history.missing_stream==="strict_error")throw aP(o,e.commandLabel);r.push(...await cP(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import{isUtf8 as tL}from"node:buffer";import Ue from"node:fs/promises";import ae from"node:path";import{createHash as gP,randomUUID as Hy}from"node:crypto";import _r from"node:fs/promises";import Ny from"node:path";import{randomUUID as lP}from"node:crypto";import{createRequire as dP}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]="e9e67ec7-10cb-57b0-a094-ae52b01a0f8a")}catch{}})();var uP="metadata-query-index.sqlite",Dy="5";function fP(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Fa;function mP(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?fP(t):null}function Py(){return Fa!==void 0||(Fa=mP(process.versions.node,dP(import.meta.url))),Fa}function Tu(e){return Ny.join(e,"runtime",uP)}function pP(e){e.exec(`
44
+ `}return u===a?{path:o,changed:!1}:(r||await q(o,u),{path:o,changed:!0})}finally{await s?.()}}function to(e){let t=ge(e,null);return[...new Set(Object.values(t.type_to_folder))].sort((n,r)=>n.localeCompare(r))}async function fi(e,t){let n=te.resolve(e),r=null,o="",i=n;for(let h=0;h<8;h+=1){let b=te.join(i,".gitattributes");try{let I=await bu(b,"utf8");if(I.includes(Qr)||I.includes(ui)){r=i,o=I;break}}catch{}let v=te.dirname(i);if(v===i)break;i=v}if(r===null)return{status:"not_installed",missing_patterns:[],stale_patterns:[],schema_scope:"project"};let s=te.join(r,".gitattributes"),a=ku(r,n),c=wy(o),l=La(a,t),d=c.filter(h=>by(h.lines,l,a)),u=d.flatMap(h=>h.closed?h.lines:[]),f=new Set(u),m=new Set(l),p=l.filter(h=>!f.has(h)),w=u.filter(h=>!m.has(h));return{status:d.length!==1||!d[0].closed||p.length>0||w.length>0?"drift":"ok",path:s,missing_patterns:p,stale_patterns:w,schema_scope:"project"}}async function mi(e){let t=[],n=[];for(let r of gy){let o=`merge.${r.key}.driver`,i=` merge driver ${r.artifact} "%O" "%A" "%B"${r.itemPath===void 0?"":` --item-path ${r.itemPath}`}`;try{let{stdout:s}=await eo("git",["config","--get",o],{cwd:e,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4}),a=s.trim();await WD(a,i,e)||n.push(o)}catch{t.push(o)}}return{status:t.length>0?"missing":n.length>0?"drift":"ok",missing_keys:t,drifted_keys:n}}async function ky(e){let t;try{t=await yy(te.resolve(e))}catch{return{status:"no_git"}}let n=ku(t,te.resolve(e)),r=await re(e),o=Ie(void 0,r.author_default),i=await ce(e,zD,r.locks.ttl_seconds,o,!1,Nn(r).force_required_for_stale_lock,r.locks.wait_ms);try{let s=te.join(t,".gitattributes"),a;try{a=await bu(s,"utf8")}catch(u){if(u instanceof Error&&"code"in u&&F(u))return{status:"not_installed",path:s};throw u}if(!a.includes(Qr)&&!a.includes(ui))return{status:"not_installed",path:s};let c=await re(e),l=to(c),d=await vy(t,n,La(n,l),!1);return{status:d.changed?"refreshed":"unchanged",path:d.path}}finally{await i()}}async function VD(e,t){let n=hy({cwd:process.cwd(),explicitPath:t.path,dryRun:e.dryRun===!0,environment:process.env}),r=n.pm_root;await je(r);let o=await yy(n.workspace_start);return KD({pmRoot:r,workspaceRoot:o,dryRun:e.dryRun===!0})}async function KD(e){let t=te.resolve(e.pmRoot),n=te.resolve(e.workspaceRoot),r=e.dryRun===!0,o,i;try{[o,i]=await Promise.all([Ln(t),Ln(n)])}catch(m){throw new g(`Cannot resolve tracker root ${t} or workspace root ${n}: ${String(m)}`,_.NOT_FOUND,{code:"merge_root_not_found",nextSteps:["Initialize the tracker and ensure both paths are accessible.",'Retry "pm merge install" from the repository workspace.']})}let s=ku(i,o);if(ay(s))throw new g(`Tracker root ${t} is outside the git repository ${n}; there is nothing to configure for this repository.`,_.USAGE);let a=await re(o),c=to(a),l=La(s,c),d=[],u=await GD();for(let m of gy)d.push({key:`merge.${m.key}.name`,value:m.name}),d.push({key:`merge.${m.key}.driver`,value:`${u} merge driver ${m.artifact} "%O" "%A" "%B"${m.itemPath===void 0?"":` --item-path ${m.itemPath}`}`});if(!r)try{let m=await ly(i);for(let p of d)await eo("git",["config",m,p.key,p.value],{cwd:i,env:pt(),encoding:"utf8",windowsHide:!0,timeout:1e4})}catch{throw new g(`Cannot install repository-local merge drivers in ${i}. Ensure the repository Git config is writable and no other Git process holds its lock, then retry.`,_.DEPENDENCY_FAILED,{code:"merge_git_config_unwritable",why:"pm merge install must persist clone-local driver commands before publishing their shared .gitattributes mappings.",nextSteps:["Make the repository Git config writable or wait for the process holding its lock to finish.",'Retry "pm merge install"; the operation is idempotent.','Use "pm merge install --dry-run --json" when the workspace is intentionally read-only.']})}let f=await vy(i,s,l,r);return{ok:!0,dry_run:r,workspace_root:i,pm_root:o,gitattributes:{path:f.path,changed:f.changed,patterns:l,schema_scope:"project"},git_config:d,guidance:["Commit .gitattributes so every branch and collaborator shares the merge mapping.",'git config is per-clone: each collaborator (and each fresh worktree/clone) runs "pm merge install" once.','After merging branches, run "pm merge reconcile --dry-run" to inspect the complete receipt and history repair, then apply "pm merge reconcile"; use --force only after explicitly accepting any discarded values.',"Custom item types registered later refresh this fence automatically (pm schema add-type/remove-type); rerun pm merge install only after out-of-band type-folder edits."],generated_at:j()}}import{isUtf8 as gL}from"node:buffer";import{readFile as hL}from"node:fs/promises";import pL from"node:fs/promises";import ki from"node:fs/promises";import{statSync as ZD}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1a689c0c-972a-5aff-a15e-ea48fcdf478b")}catch{}})();function JD(e){let t=[],n=!1;for(let r of(e??"").toLowerCase()){let o=r.charCodeAt(0),i=o>=48&&o<=57,s=o>=97&&o<=122;if(!i&&!s){n=t.length>0;continue}n&&(t.push("-"),n=!1),t.push(r)}return t.length===0?"pm-":`${t.join("")}-`}function on(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Ft(e,t){let n=JD(t),r=on(e);return r.startsWith(n)?r:`${n}${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]="cb9a55d6-9ba9-50af-a54f-2bba5d076fdb")}catch{}})();function no(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new g("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",_.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8835b501-34c7-51ba-b02e-782f8a457e1b")}catch{}})();function YD(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new g(`History for this item contains invalid timestamp at entry ${o+1}.`,_.GENERIC_FAILURE);i<=t&&(n=o)}),n}function XD(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function Ey(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function Eu(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=XD(t,no(t,!0));if(!r)throw new g(`Missing ${o} target. Use a timestamp or version number.`,_.USAGE,s);if(/^\d+$/.test(r)){let d=no(t),u=Number(r);if(u>=1&&u<=d)throw new g(`History version ${u} was pruned by compaction.`,_.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(u)||u<1||u>d+t.length)throw new g(`${i} version must be between ${d+1} and ${d+t.length} for this item.`,_.USAGE,s);return{kind:"version",raw:r,historyIndex:u-d-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new g(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,_.USAGE,s);let l=YD(t,c);if(l<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new g(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,_.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:l}}function ro(e,t,n,r){let o=On(e,t);if(o.ok)return o.document;let i=Ey(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new g(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,_.GENERIC_FAILURE)}function pi(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=On(Br,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new g("History starts without a reconstructable item baseline.",_.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=vt([...r]),i=structuredClone(Br);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new g(`History target entry ${s+1} does not exist.`,_.USAGE);i=ro(i,a.patch,s+1,a.op)}if(!o.ok)throw new g(`History cannot be replayed: ${o.errors.join(", ")}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="401ead12-fb72-586b-8625-33ae44ed2eb9")}catch{}})();function QD(e,t){let n=-1,r=structuredClone(Br);for(let[a,c]of e.entries()){if(r=ro(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new g(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=no(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;Eu(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Sy(e,t,n){let r=new Set([Ft(t,n),on(t)]);for(let o of r){let i=ve(e,o);if(!ZD(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await rt(i,o),a=-1;if(s.forEach((m,p)=>{m.op==="delete"&&(a=p)}),a<0)continue;let c=pi(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:l,target:d}=QD(s,o),u=d===void 0?["history",o,"--verify"]:["get",o,"--at",d],f=Mt(u);return new g(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,_.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:d!==void 0,last_materialized_version:l},nextSteps:[f,...d===void 0?["Recover the pre-compaction history from version control."]:[Mt(["restore",o,d])]],recovery:{suggested_retry:f,suggested_retry_args:u}})}}import Ty from"node:fs/promises";import _i from"node:path";import{isUtf8 as eP}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="05666dcc-3273-5416-b6b4-54b4ff1368be")}catch{}})();var Ay=1048576,tP=4194304;async function Iy(e,t){let n=_i.dirname(e);for(;n!==_i.parse(e).root;){let o=await Ty.stat(n).catch(i=>{if(F(i))return null;throw i});if(o!==null){if(!o.isDirectory())throw new g("Workflow policy storage ancestor must be a directory.",_.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Restore the policy or approval history directory before retrying."]});break}n=_i.dirname(n)}let r=await Ty.open(e,"r").catch(o=>{if(F(o))return null;throw o});if(r===null)return null;try{let o=(await r.stat()).size,i=Buffer.alloc(Math.min(t,o)+1),s=0;for(;s<i.length;){let a=await r.read(i,s,i.length-s,s);if(a.bytesRead===0)break;s+=a.bytesRead}if(s===i.length||!eP(i.subarray(0,s)))throw new g("Workflow policy input exceeds its byte bound or is not valid UTF-8.",_.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Inspect the policy and approval history; reduce the declaration or use verified history compaction before retrying."]});return i.toString("utf8",0,s)}finally{await r.close()}}function Cy(e){if(e===null)return{version:1,enforcement:"advise",policies:[]};let t;try{t=JSON.parse(e)}catch{throw new g("schema/policies.json must contain valid JSON.",_.CONFLICT,{code:"workflow_policy_registry_invalid",nextSteps:["Restore valid policy JSON before retrying the mutation."]})}return la(t)}async function gi(e){return Cy(await Iy(_i.join(e,"schema","policies.json"),Ay))}async function Oy(e,t){let n=await Iy(ve(e,t),tP);if(n===null)return[];let r;try{if(r=n.split(/\r?\n/).filter(o=>o.trim()).map(o=>JSON.parse(o)),!vt(r).ok)throw new Error("invalid chain")}catch{throw new g("Approval evidence requires a valid item history chain.",_.CONFLICT,{code:"workflow_policy_approval_history_invalid",nextSteps:[`Run pm history ${t} --verify before recording or using an approval.`]})}return r.flatMap(o=>{let i=o.context?.workflow_approval;if(o.op!=="policy_approve"||o.record_hash_version!==1||typeof o.record_hash!="string"||typeof i!="object"||i===null)return[];let s=i;return typeof s.policy_fingerprint!="string"||typeof s.content_fingerprint!="string"?[]:[{policy_fingerprint:s.policy_fingerprint,content_fingerprint:s.content_fingerprint,author:o.author}]})}async function xy(e,t,n){let r=n.before?.status!==n.after?.status&&t.policies.some(s=>s.rule.kind==="approval"&&wd(s,n)),o=n.before?.id??n.after?.id,i=r&&typeof o=="string"?await Oy(e,o):[];return Cg(t,{...n,approvals:i})}async function Ry(e){let t=await gi(e.pmRoot),n=await xy(e.pmRoot,t,{operation:e.operation,author:e.author,before:e.before?{...e.before.metadata,body:e.before.body}:null,after:e.after?{...e.after.metadata,body:e.after.body}:null});if(n.allowed)return n;let r=n.decisions.filter(d=>!d.satisfied&&d.effect==="refuse");if(!e.dryRun)try{await Ta({pmRoot:e.pmRoot,op:"policy_refused",author:e.author,context:{item_id:e.after?.metadata.id??e.before?.metadata.id,operation:e.operation,workflow_policies:n.decisions},message:"Workflow policy refused a proposed item mutation.",lockTtlSeconds:e.settings.locks.ttl_seconds,lockWaitMs:e.settings.locks.wait_ms})}catch(d){let u=new g("Workflow policy refusal could not be recorded in workspace history.",_.CONFLICT,{code:"workflow_policy_audit_failed",nextSteps:["Resolve workspace-history lock or storage failures, then retry the refused mutation; no item changes were written."]});throw u.cause=d,u}let o=r.slice(0,3).map(d=>({policy_id:d.policy_id,rule:d.rule,description:t.policies.find(u=>u.id===d.policy_id).description,missing_fields:d.missing_fields})),i=[...new Set(o.flatMap(d=>d.missing_fields))],s=o.map(d=>`${d.policy_id} (${d.rule})`).join(", "),a=r.length>3?` and ${r.length-3} more`:"",c=e.after?.metadata.id??e.before.metadata.id,l=i.map(d=>{if(e.before===null)return`Supply ${d} in the original ${e.operation} request, then retry; the item was not created.`;let u=ll("update",d);return u===void 0?`Supply ${d} using its declared SDK or package mutation contract, then retry.`:Mt(["update",c,dl("update",u),`<${d}>`,"--pm-path",_i.resolve(e.pmRoot)])});throw new g(`Workflow policy refused ${e.operation}: ${s}${a}.${i.length?` Missing: ${i.join(", ")}.`:""}`,_.CONFLICT,{code:"workflow_policy_refused",reason:o.map(d=>d.policy_id).join(","),policy_violations:o,policy_violation_count:r.length,required:i.length?`Supply missing fields: ${i.join(", ")}, then retry the refused mutation.`:"Satisfy the declared workflow policy before retrying.",why:o.map(d=>d.description).filter(Boolean).join(" ")||void 0,recovery:{missing_required_fields:i},nextSteps:[...l,...new Set(r.slice(0,3).filter(d=>d.missing_fields.length===0).map(d=>d.remediation)),...r.length>3?[`Inspect all policies with pm schema policies before retrying ${e.operation}.`]:[]]})}import{AsyncLocalStorage as nP}from"node:async_hooks";import{channel as rP}from"node:diagnostics_channel";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="118ec110-fa84-550b-a0a8-4def314270b6")}catch{}})();var CK=new nP,oP=rP("@unbrained/pm-cli/item-metadata-enumeration/v1");function Ma(e){oP.publish(e)}import Pu from"node:path";import iP from"node:fs/promises";import sP 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]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function aP(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function cP(e,t){return new g(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,_.NOT_FOUND)}async function lP(e,t){return await hn(sP.dirname(e)),await(await iP.open(e,"a")).close(),Ae({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Su(e){return $a({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function $a(e){let t=aP(e.itemIds),n=[],r=[];for(let o of t){let i=ve(e.pmRoot,o);if(!await M(i)){if(e.settings.history.missing_stream==="strict_error")throw cP(o,e.commandLabel);r.push(...await lP(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import{isUtf8 as nL}from"node:buffer";import Ue from"node:fs/promises";import ae from"node:path";import{createHash as hP,randomUUID as Hy}from"node:crypto";import _r from"node:fs/promises";import Ny from"node:path";import{randomUUID as dP}from"node:crypto";import{createRequire as uP}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]="e9e67ec7-10cb-57b0-a094-ae52b01a0f8a")}catch{}})();var fP="metadata-query-index.sqlite",Dy="5";function mP(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Fa;function pP(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?mP(t):null}function Py(){return Fa!==void 0||(Fa=pP(process.versions.node,uP(import.meta.url))),Fa}function Tu(e){return Ny.join(e,"runtime",fP)}function _P(e){e.exec(`
45
45
  PRAGMA foreign_keys = ON;
46
46
  PRAGMA journal_mode = OFF;
47
47
  PRAGMA synchronous = OFF;
@@ -111,29 +111,29 @@ ${i}`;continue}return null}return n}function Kr(e,t){let n=wh(e).trim();if(!n)th
111
111
  parent = excluded.parent,
112
112
  assignee = excluded.assignee,
113
113
  sprint = excluded.sprint,
114
- 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 rowid = (SELECT rowid FROM items WHERE id = ?)").run(n.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(n.id,n.title,n.description,n.tags.join(" "),n.id);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 My(e){let t=Tu(e.pmRoot),n=Py();if(!n){await _r.rm(t,{force:!0});return}await _r.mkdir(Ny.dirname(t),{recursive:!0});let r=`${t}.${lP()}.tmp`,o;try{o=new n(r),pP(o),o.exec("BEGIN IMMEDIATE"),ja(o,"version",Dy),ja(o,"context_fingerprint",e.contextFingerprint),ja(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Ly(o,i);o.exec("COMMIT"),o.close(),o=void 0,await _r.rm(t,{force:!0}),await _r.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([_r.rm(r,{force:!0})]),i}}function _P(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function $y(e){let t=Py();if(!t)return!1;let n=Tu(e.pmRoot),r;try{await _r.access(n),r=new t(n),r.exec("PRAGMA foreign_keys = ON");let o=_P(r);if(o.version!==Dy||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return r.close(),!1;r.exec("BEGIN IMMEDIATE");let i=r.prepare("DELETE FROM items WHERE relative_path = ?"),s=r.prepare("SELECT rowid FROM items WHERE relative_path = ?"),a=r.prepare("DELETE FROM item_search WHERE rowid = ?");for(let c of e.deletedRelativePaths??[]){let l=s.get(c);i.run(c),l&&a.run(l.rowid)}return e.row&&Ly(r,e.row),ja(r,"source_cursor",e.sourceCursor),r.exec("COMMIT"),r.close(),!0}catch{try{r?.exec("ROLLBACK")}catch{}return r?.close(),!1}}async function Ua(e){await _r.rm(Tu(e),{force:!0})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c60c095-9763-5372-9dc3-c0ea1a5caca6")}catch{}})();var jt=8,Cu=500,hP="metadata-derived-index",yP="metadata-cache.json",wP="metadata-cache-bodies.json",bP="metadata-cache-collections.json",vP="metadata-cache-delta.json",kP="metadata-cache-manifest.json",Fy=4,EP=["comments","notes","learnings","files","tests","test_runs","docs"];function qy(){return Tt(Y())}function Ha(e){let t={...e},n={};for(let r of EP)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Gy(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function By(e,t,n,r){let o=gP("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 qa(e){return ae.join(e,"runtime",yP)}function Ga(e){return ae.join(e,"runtime",wP)}function Ba(e){return ae.join(e,"runtime",bP)}function Ou(e){return ae.join(e,"runtime",vP)}function xu(e){return ae.join(e,"runtime",kP)}function Wa(e,t){let n=ae.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var SP=24,_t=new Map,Va=new WeakMap;function Ru(e){return Va.get(e)??e.source_cursor}function TP(e,t){let n=Ru(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Va.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 AP(e,t){if(!e)return;let n=Ru(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Va.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 IP(e,t){if(!e)return;let n=Ru(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Va.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 CP(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(TP(e,r),AP(t,r),IP(n,r))}function Au(e,t){_t.size>=SP&&!_t.has(e)&&Ir(_t),_t.set(e,t)}async function Mn(e,t){let n;try{n=await Ue.stat(e)}catch{return _t.delete(e),null}let r=_t.get(e);if(r&&hi(r.signature,n.mtimeMs,n.ctimeMs,n.size))return _t.delete(e),_t.set(e,r),r.envelope;let o;try{o=t(await Ue.readFile(e,"utf8"))}catch{o=null}return Au(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function OP(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==jt||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=qa(e),i=await Mn(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Mn(Wa(o,t),r);return s===null&&bi(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function xP(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==jt||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Ga(e),o=await Mn(r,n);return t&&o?.context_fingerprint!==t?await Mn(Wa(r,t),n):o}async function RP(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==jt||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Ba(e),o=await Mn(r,n);return t&&o?.context_fingerprint!==t?await Mn(Wa(r,t),n):o}async function Wy(e){let t=Ou(e),n=await Mn(t,r=>{let o=JSON.parse(r);return o.version!==jt||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 Ue.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Vy(e){let t=xu(e),n=await Mn(t,r=>{let o=JSON.parse(r);return o.version!==jt||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 Ue.stat(t),await yi(e)}catch{}return null}async function wi(e,t){await Ue.mkdir(ae.dirname(e),{recursive:!0}),await q(e,JSON.stringify(t));try{let r=await Ue.stat(e);Au(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{_t.delete(e)}let n=ae.dirname(ae.dirname(e));if(e===qa(n)||e===Ga(n)||e===Ba(n)){let r=Wa(e,t.context_fingerprint);await q(r,JSON.stringify(t));try{let c=await Ue.stat(r);Au(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{_t.delete(r)}let o=ae.dirname(e),i=ae.extname(e),s=ae.basename(e,i),a=(await Ue.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==ae.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>ae.join(o,c.name));if(a.length>Fy){let c=(await Promise.all(a.map(async l=>{try{return{path:l,mtime:(await Ue.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-Fy)))await Ue.rm(l.path,{force:!0}),_t.delete(l.path)}}}function NP(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Ky(e,t,n){return e===void 0||NP(e,t,n)}function bi(e,t){e&&!e.includes(t)&&e.push(t)}function hi(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function DP(e,t,n){let r=ae.join(e,t);try{let o=await Ue.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!F(o)&&bi(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function PP(e,t){try{let n=await Ue.stat(ae.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 Iu(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await PP(e,n))))}function za(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&&hi(o,r.mtime_ms,r.ctime_ms,r.size)})}function LP(e){return Jt.some(t=>e.toLowerCase().endsWith(t))}function MP(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function $P(e,t,n){if(n)for(let r of await Fe({path:e,scope:"project"}))bi(t,r)}function jy(e,t,n,r){if(e)return t&&n?n.collections:r}async function FP(e,t,n){let r=await Ue.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=Lr(e);await $P(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],l=!n.forceSourceRead&&c!==void 0&&hi(c,o,i,s),d=n.previousBodies[t],u=!n.forceSourceRead&&d!==void 0&&hi(d,o,i,s),f=n.previousCollections[t],m=!n.forceSourceRead&&f!==void 0&&hi(f,o,i,s);if(!(!l||n.includeBody&&!u||n.includeCollections&&!m))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:jy(n.includeCollections,m,f,void 0),bodyLength:c.body_length,body:n.includeBody?d.body:void 0};let w=await Ue.readFile(e,"utf8"),h=Ve(w,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:v=>bi(n.warnings,v)}),b=Ha(h.metadata);return MP(n.state.misses,n.includeBody,n.includeCollections,l,u,m),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?c.metadata:b.light,heavyMetadata:jy(n.includeCollections,m,f,b.heavy),bodyLength:l?c.body_length:h.body.length,body:n.includeBody?h.body:void 0}}function jP(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?Gy(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};Ky(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function UP(e,t,n,r){try{let o=await FP(t,n,r);jP(t,n,r,o)}catch{bi(r.warnings,`item_list_item_read_failed:${e}/${ae.basename(t)}`)}}function zP(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function HP(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function qP(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function GP(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function BP(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!LP(s))continue;let a=ae.join(o,s),c=ae.relative(t.pmRoot,a);n.push(UP(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function WP(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!za(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await wi(qa(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await wi(xu(e.pmRoot),{version:jt,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:ae.relative(e.pmRoot,r.item_path),metadata:Ha(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await My({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Ua(e.pmRoot)}catch{}}async function VP(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 wi(Ga(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function KP(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 wi(Ba(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Nu(e,t,n={}){let r=await Vy(e);return n.required!==!0&&(r===null||r.entry_count<Cu)?async()=>{}:ce(e,hP,30,t,!1,!1,3e3)}function Uy(e,t){let n=ae.relative(e,t);return n===""||n===".."||n.startsWith(`..${ae.sep}`)||ae.isAbsolute(n)?null:n}async function yi(e){await Promise.all([qa(e),Ga(e),Ba(e),Ou(e),xu(e)].map(async t=>{await Ue.rm(t,{force:!0}),_t.delete(t)})),await Ua(e)}async function JP(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await Ue.stat(e.mutation.itemPath),n=Ha(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 YP(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Du(e){let t=Uy(e.pmRoot,e.itemPath),n=e.previousItemPath?Uy(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await yi(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=By(e.preferredFormat,e.typeToFolder,e.schema,qy()),o=await Vy(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Wy(e.pmRoot);if(s.invalid)return await yi(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=YP(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 JP({mutation:e});let l=Hy();return await wi(Ou(e.pmRoot),{version:jt,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await Iu(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await $y({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:Ha(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Ua(e.pmRoot),[]}catch{return await yi(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function XP(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function zy(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function ZP(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function QP(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=Lr(n);if(!o)continue;let i=e.includeCollections?Gy(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Ky(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:ae.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function eL(e){return e.forceSourceScan||Js()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!za(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||zy(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||zy(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&ZP(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function vi(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=qy(),l=By(t,n,o,c),d=await Wy(e);d.invalid&&await yi(e);let u=await OP(e,l,i.cacheDiagnostics),f=s?await xP(e,l):null,m=a?await RP(e,l):null;CP(u,f,m,d.envelope);let p=zP(u,l),w=HP(f,l),h=qP(m,l),b=[...new Set(Object.values(n))],v=await Iu(e,b),I=Object.keys(p),A=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Cu));if(eL({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:f,existingCollectionsCache:m,directorySignatures:v,entryKeys:I,minimumIndexedItems:A,includeBody:s,includeCollections:a,previousBodies:w,previousCollections:h}))return QP({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:p,previousBodies:w,previousCollections:h});let C=await Promise.all(b.map(pe=>DP(e,pe,r))),L=Js(),E=GP(),N={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:L,previousEntries:p,previousBodies:w,previousCollections:h,state:E};await BP(C,N);let G=await Iu(e,b),T=za(v,G)?G:{},D=E.misses.metadata||Object.keys(p).length!==Object.keys(E.newEntries).length||!za(u?.directory_signatures,T)||u===null?Hy():u.source_cursor;return await WP({pmRoot:e,contextFingerprint:l,sourceCursor:D,existingCache:u,previousEntries:p,directorySignatures:T,state:E,minimumIndexedItems:A}),s&&await VP({pmRoot:e,contextFingerprint:l,sourceCursor:D,existingBodyCache:f,previousBodies:w,state:E}),a&&await KP({pmRoot:e,contextFingerprint:l,sourceCursor:D,existingCollectionsCache:m,previousCollections:h,state:E}),XP(E)}async function Jy(e,t,n,r,o){return(await vi(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Yy(e,t,n,r,o){return(await vi(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.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]="02383f73-64f0-5ffc-a802-f8ef2b3cc038")}catch{}})();async function nL(e){try{return await ki.access(e),!0}catch{return!1}}function rL(e,t){e&&(e.includes(t)||e.push(t))}function oL(e){return e??Tt(Y())}function iL(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function ze(e,t,n="pm-",r,o=He){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ft(t,n),c=on(t),l=[...new Set([s,a,c])].filter(f=>f.length>0),d=Object.entries(o),u=iL(r);for(let f of l){let m=new Map;for(let[p]of d)for(let w of u){let h=No(e,p,f,w,o);await nL(h)&&m.set(h,m.get(h)??{id:f,type:p,itemPath:h,item_format:w})}if(m.size>1){let p=[...m.keys()].map(w=>Pu.relative(e,w).split(Pu.sep).join("/")).sort();throw new g(`Item ${f} has ambiguous identity across ${p.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,_.CONFLICT,{code:"item_identity_ambiguous",item_id:f,paths:p})}for(let p of m.values())return p}return null}async function Ye(e,t={}){let n=await Lu(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function Lu(e,t={}){let n=await ki.readFile(e.itemPath);if(!tL(n))throw new g("Item contains invalid UTF-8; preserve a binary backup before recovering it.",_.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await Fe({path:e.itemPath,scope:"project"});let o;try{o=Ve(r,{format:e.item_format,schema:t.schema,extensionFieldNames:oL(t.extensionFieldNames),onWarning:i=>rL(t.warnings,i)})}catch(i){if(i instanceof g&&i.code==="item_document_invalid")return{raw:r,document:null,error:new g(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function Ei(e,t,n=He,r,o){await Xr(e);let i=await Jy(e,t,n,r,o);return Ma(i.length),i.map(s=>s.metadata)}async function Si(e,t,n=He,r,o){await Xr(e);let i=await Yy(e,t,n,r,o);return Ma(i.length),i.map(s=>s.metadata)}async function gr(e,t,n=He,r,o,i={}){await Xr(e);let s=await vi(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Ma(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Xy(e){return{async get(t){let n=await ze(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Ye(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>Ei(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function sL(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ki.readdir(Pu.join(e,o));for(let s of i)for(let a of Jt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function aL(e,t,n,r){let o=Ft(t,n),i=await sL(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Dt(c,o,s)})).filter(c=>c.distance!==null).sort((c,l)=>c.distance-l.distance).slice(0,3).map(c=>c.id)}async function Zy(e,t,n,r){let o=await Sy(e,t,n);if(o)return o;let i=await aL(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new g(`Item ${t} not found`,_.NOT_FOUND,{nextSteps:s})}function cL(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 lL(e){let t=e.typeToFolder??ge(e.settings,Y()).type_to_folder,n=await ze(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Zy(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await ce(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 Ye(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,l=ld(e.author),d=Nn(e.settings);if(a&&c!==l&&!e.force&&!cL(e.op,e.bypassAssigneeConflict)){if(d.ownership_enforcement==="strict")throw new g(`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 dL(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 uL(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await q(e.originalItemPath,e.originalRaw),await ki.rm(e.effectiveTargetItemPath,{force:!0});return}await q(e.originalItemPath,e.originalRaw)}}async function fL(e){xs(e.op);let t=await lL({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=lt(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=lt(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??[]]};let u=e.resolveHistoryContext?.();l.metadata.updated_at=j();let f=lt(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),m=await Ry({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:f});await Hl({pm_root:e.pmRoot,operation:e.op,before:c,after:f,changed_fields:d.changedFields,sdk:Xy({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let p=await Su({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),w="toon",h=Pr(f,{format:w,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),b=No(e.pmRoot,f.metadata.type,r.id,w,n),v=ve(e.pmRoot,r.id),I=await Pt("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:b,history_path:v,item_format:w,before:c,after:f,contents:h}),{effectiveTargetItemPath:A,effectiveSerializedAfter:C,skipItemWrite:L}=dL(I,b,h),E=await Nu(e.pmRoot,e.author),N=[];try{L||await q(A,C),!L&&A!==r.itemPath&&await ki.rm(r.itemPath);let T=ar({nowIso:f.metadata.updated_at,author:e.author,op:e.op,before:c,after:f,message:e.message,context:m.decisions.length===0?u:{...u,workflow_policies:m.decisions}});try{await Xo(v,T)}catch(z){throw await uL({skipItemWrite:L,effectiveTargetItemPath:A,originalItemPath:r.itemPath,originalRaw:o}),z}L||(N=await Du({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:A,previousItemPath:r.itemPath,document:f}))}finally{await E()}let G=[...await Ae({path:A,scope:"project",op:e.op,item_id:f.metadata.id,item_type:f.metadata.type,before:c,after:f,changed_fields:d.changedFields}),...await Ae({path:v,scope:"project",op:`${e.op}:history`,item_id:f.metadata.id,item_type:f.metadata.type,before:c,after:f,changed_fields:d.changedFields})];return zl({id:f.metadata.id,op:e.op,item_type:f.metadata.type,previous_status:c.metadata.status,status:f.metadata.status,previous:Ks(c.metadata,d.changedFields),current:Ks(f.metadata,d.changedFields),changed_fields:d.changedFields}),{item:f.metadata,body:f.body,changedFields:d.changedFields,warnings:[...s,...d.warnings??[],...m.warnings,...p.warnings,...I.warnings,...N,...G]}}finally{await a()}}async function hr(e){return fL(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]="cd8981b8-f6f7-5911-9951-799e68cecb9b")}catch{}})();function Mu(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=Nn(e.settings);if(n.ownership_enforcement==="strict")throw new g(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,_.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function pL(e){let t=await K(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new g(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);let n=await ze(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?e.readItem?await e.readItem(n):await Ye(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new g(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function Ka(e){let t=e.writeHistoryRaw??q;try{await t(e.historyPath,e.nextHistoryRaw),await rr(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await mL.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await rr(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function Qy(e){let t=[...Mu({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await ce(e.pmRoot,e.subject.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 r=await pL({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:e.operation});return await e.applyRewrite(r),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(r)),t}finally{await 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]="c1778165-2763-5eab-80f3-d52e08547fc2")}catch{}})();function hL(e){let t;try{t=JSON.parse(e)}catch{if(e.trimStart().startsWith("{")&&e.includes("}"))throw new g("History salvage cannot discard a potentially complete record with trailing corruption.",_.CONFLICT,{code:"history_salvage_refused"});return null}if(typeof t!="object"||t===null||Array.isArray(t))throw new g("History salvage would conceal interior corruption or a malformed record.",_.CONFLICT,{code:"history_salvage_refused"});let n=t;if(!Array.isArray(n.patch)||![n.ts,n.author,n.op,n.before_hash,n.after_hash].every(r=>typeof r=="string"))throw new g("History salvage requires complete history records before the invalid tail.",_.CONFLICT,{code:"history_salvage_refused"});return n}function yL(e){if(Me(e))throw new g("Resolve history merge conflicts before salvage.",_.CONFLICT,{code:"history_salvage_refused"});let t=[],n=0,r,o=0;for(let[s,a]of e.split(`
115
- `).entries()){if(!a.trim()){n+=a.length+1;continue}let c=hL(a);if(c===null){r===void 0&&(r=n,o=s+1),n+=a.length+1;continue}if(r!==void 0)throw new g("History salvage would discard a record or conceal interior corruption.",_.CONFLICT,{code:"history_salvage_refused",required:"Recover the damaged record from version control or a backup; no bytes were changed."});t.push(c),n+=a.length+1}let i=bt(t);if(!i.ok||i.item_hash_version===void 0)throw new g("History salvage requires a nonempty verified prefix.",_.CONFLICT,{code:"history_salvage_refused",verification_errors:i.errors,required:"Recover an intact history prefix from version control or a backup."});return{entries:t,itemHashVersion:i.item_hash_version,prefix:r===void 0?e:e.slice(0,r),receipt:r===void 0?null:{first_invalid_line:o,discarded_bytes:Buffer.byteLength(e.slice(r)),discarded_sha256:Pe(e.slice(r)),retained_entries:t.length}}}async function wL(e,t,n){if(!e.located)return{itemRaw:null,document:n};let r=await Lu(e.located,{schema:t.schema});return{itemRaw:r.raw,document:r.document??n}}async function ew(e){let t;try{t=await gL(e)}catch(n){if(F(n))return null;throw n}if(!_L(t))throw new g("History salvage requires UTF-8 input; recover binary corruption from a byte-preserving backup.",_.CONFLICT,{code:"history_salvage_refused"});return t.toString("utf8")}async function tw(e){let{subject:t,settings:n,options:r,author:o}=e;if([r.normalizeProvenance,r.auditOperation,r.auditContext,r.auditContextById,r.forceAuditEntry,r.mergeReceiptProof,r.mergeReceiptProofById].some(Boolean))throw new g("Tail salvage cannot be combined with other repair modes.",_.USAGE);let i=await ew(t.historyPath);if(i===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);await Fe({path:t.historyPath,scope:"project"});let s=yL(i),a=pi(s.entries,s.entries.length-1),c=Wr(a);if(typeof a.metadata.id=="string"&&a.metadata.id!==t.id)throw new g("History belongs to another item; salvage refused.",_.CONFLICT,{code:"history_salvage_refused"});let l=await wL(t,n,c),d=Mu({itemDocument:l.document,subjectId:t.id,author:o,force:r.force,settings:n}),u=s.itemHashVersion,f=r.dryRun===!0,m=s.receipt!==null;if(m&&!f){let p=await ce(e.pmRoot,t.id,n.locks.ttl_seconds,o,!!r.force,n.governance.force_required_for_stale_lock,n.locks.wait_ms);try{let w=await ew(t.historyPath),h=await ze(e.pmRoot,t.id,n.id_prefix,n.item_format,e.typeRegistry.type_to_folder),b=h?await K(h.itemPath):null;if(w!==i||b!==l.itemRaw)throw new g("History or item changed while waiting for salvage lock; retry.",_.CONFLICT);let v=In({...ar({hashAlgorithm:Ne(s.entries.at(-1).hash_algorithm),nowIso:j(),author:o,op:"history_salvage",before:c,after:c,message:r.message,context:{history_salvage:s.receipt}}),before_hash:s.entries.at(-1).after_hash,after_hash:s.entries.at(-1).after_hash,item_hash_version:u});await Ka({historyPath:t.historyPath,historyRawUnderLock:i,nextHistoryRaw:`${s.prefix}${JSON.stringify(v)}
116
- `}),d.push(...await Ae({path:t.historyPath,scope:"project",op:"history_salvage:history"}))}finally{await p()}}return{id:t.id,dry_run:f,changed:m,history:{path:t.historyPath,entries_scanned:s.entries.length,chain_drift_before:!1,entries_rehashed:0,entries_patch_repaired:0,converted_replace_to_add:0,skipped_ops:0,reconciled_with_item:!1,audit_entry_added:m&&!f,verify_ok:!0,verify_errors:[],item_hash_version_before:u,item_hash_version_after:u,version_disposition:"preserved"},item:{exists:t.located!==null,path:t.located?.itemPath??null,matched_chain_before:null},provenance_normalization:{requested:!1,changed:!1,events_changed:0,observations_removed:0,invalid_values:[]},...s.receipt?{salvage:s.receipt}:{},warnings:d,generated_at:j()}}import{realpath as yw}from"node:fs/promises";import qu from"node:path";import ww 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]="44d1db57-ab29-540d-b337-443d382d0d9b")}catch{}})();function nw(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function Ti(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?nw(n):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?nw(t):"root"}import Ai from"node:fs/promises";import{createHash as bL}from"node:crypto";import ow 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]="d876d1ab-2de0-5c32-b999-721038adafcd")}catch{}})();var $u=new Set([void 0,...Pm]),iw=11,vL="history-drift-cache.json";function sw(e){return ow.join(e,"runtime",vL)}async function kL(e){try{let t=await Ai.readFile(sw(e),"utf8"),n=JSON.parse(t);return n.version!==iw||n.history_item_hash_version!==wt||typeof n.entries!="object"||n.entries===null||Object.values(n.entries).some(r=>typeof r.chain_ok!="boolean"||typeof r.latest_hash_comparable!="boolean"||!$u.has(r.hash_algorithm)||!mt.includes(r.item_hash_version)&&r.version_skew!==!0||r.chain_ok&&r.version_skew!==!0&&mt.includes(r.item_hash_version)&&!r.latest_hash_comparable)?null:n}catch{return null}}async function EL(e,t,n,r,o){let i=ci(e),s;try{s=await Ai.stat(i)}catch(l){return F(l)||o.unreadableStreams.push(Oe),!1}let a=o.missingStreams.length,c=await aw({itemId:Oe,historyPath:i,stat:s,cached:t[Oe],verifyCacheHitByContent:r,accumulator:o});return c.verification?(c.verification.versionSkew&&o.versionSkews.push(Oe),c.verification.chainOk||o.chainMismatches.push(Oe),n[Oe]={mtime_ms:s.mtimeMs,ctime_ms:s.ctimeMs,size:s.size,content_hash:c.verification.contentHash,latest_after_hash:c.verification.latestAfterHash,chain_ok:c.verification.chainOk,version_skew:c.verification.versionSkew,latest_hash_comparable:c.verification.latestHashComparable,item_hash_version:c.verification.itemHashVersion,hash_algorithm:c.verification.hashAlgorithm},c.cacheDirty):(o.missingStreams.splice(a),c.cacheDirty)}function SL(e){return bL("sha256").update(e).digest("hex")}function TL(e){return!$u.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!mt.includes(e.item_hash_version)}async function AL(e){let t=await Ai.readFile(e,"utf8"),n=SL(t);if(t.trim().length===0)return null;let r=[],o=null;for(let f of t.split(/\r?\n/)){let m=f.trim();if(m.length===0)continue;let p=JSON.parse(m);if(typeof p.after_hash!="string"||p.after_hash.trim().length===0)throw new Error("missing after_hash");r.push(p),o=p.after_hash}if(!o)return null;let i=bt(r),s=r.some(TL),a=r[r.length-1],c=$u.has(a.hash_algorithm),l=a.item_hash_version,d=l!==void 0&&mt.includes(l),u=d?l:i.item_hash_version;return{latestAfterHash:o,hashAlgorithm:c?Ne(a.hash_algorithm):void 0,identityDiscontinuities:wo(r),chainOk:i.ok,versionSkew:s,latestHashComparable:c&&u!==void 0&&(!s||d||l===void 0),contentHash:n,itemHashVersion:u??wt}}function IL(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function rw(e,t,n){try{let r=await AL(t);return r||(n.missingStreams.push(e),null)}catch{return n.unreadableStreams.push(e),null}}function CL(e,t){return e!==null&&e.contentHash===t.content_hash&&e.latestAfterHash===t.latest_after_hash&&e.chainOk===t.chain_ok&&e.versionSkew===(t.version_skew===!0)&&e.latestHashComparable===t.latest_hash_comparable&&e.itemHashVersion===t.item_hash_version&&e.hashAlgorithm===t.hash_algorithm}async function aw(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(IL(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await rw(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let r=await rw(e.itemId,e.historyPath,e.accumulator);return{verification:r,cacheDirty:!CL(r,e.cached)}}return{verification:{identityDiscontinuities:[],latestAfterHash:e.cached.latest_after_hash,chainOk:e.cached.chain_ok,versionSkew:e.cached.version_skew===!0,latestHashComparable:e.cached.latest_hash_comparable&&mt.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function OL(e,t,n,r){let o,i;try{o=ve(e,t.id),i=await Ai.stat(o)}catch(d){return(F(d)?r.missingStreams:r.unreadableStreams).push(t.id),!1}let s=await aw({itemId:t.id,historyPath:o,stat:i,cached:n.previousEntries[t.id],verifyCacheHitByContent:n.verifyCacheHitByContent,accumulator:r});if(!s.verification)return s.cacheDirty;s.verification.identityDiscontinuities.length>0&&(r.identityDiscontinuities??=[]).push(...s.verification.identityDiscontinuities.map(d=>({...d,item_id:t.id}))),s.verification.versionSkew&&r.versionSkews.push(t.id),s.verification.chainOk||r.chainMismatches.push(t.id),n.nextEntries[t.id]={mtime_ms:i.mtimeMs,ctime_ms:i.ctimeMs,size:i.size,content_hash:s.verification.contentHash,latest_after_hash:s.verification.latestAfterHash,chain_ok:s.verification.chainOk,version_skew:s.verification.versionSkew,latest_hash_comparable:s.verification.latestHashComparable,item_hash_version:s.verification.itemHashVersion,hash_algorithm:s.verification.hashAlgorithm};let{body:a,...c}=t;return s.verification.latestHashComparable&&(Gr({metadata:c,body:a},s.verification.itemHashVersion,s.verification.hashAlgorithm).includes(s.verification.latestAfterHash)||r.hashMismatches.push(t.id)),s.cacheDirty}async function xL(e,t){if(!(t.unreadableStreams.includes(Oe)||t.chainMismatches.includes(Oe)||t.versionSkews.includes(Oe)))try{let n=await ou(e);t.workspaceStateMismatches.push(...n.mismatched_documents),t.workspaceStateMissing.push(...n.missing_documents),t.workspaceStateUnreadable.push(...n.unreadable_documents)}catch{t.unreadableStreams.push(Oe)}}async function yr(e,t,n={}){let r={missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]},i=(await kL(e))?.entries??{},s={},a=!1,c=n.cacheHitVerification!=="metadata",l={previousEntries:i,nextEntries:s,verifyCacheHitByContent:c};for(let f of t)await OL(e,f,l,r)&&(a=!0);let d=await EL(e,i,s,c,r);if(a||=d,await xL(e,r),a||Object.keys(i).length!==Object.keys(s).length){let f=sw(e);try{await Ai.mkdir(ow.dirname(f),{recursive:!0}),await q(f,JSON.stringify({version:iw,history_item_hash_version:wt,entries:s}))}catch{}}let u=[...new Set([...r.missingStreams,...r.unreadableStreams,...r.hashMismatches,...r.chainMismatches,...r.versionSkews,...r.workspaceStateMismatches.length>0||r.workspaceStateMissing.length>0||r.workspaceStateUnreadable.length>0?[Oe]:[]])].sort((f,m)=>f.localeCompare(m));return{...r,driftedItems:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e252abd5-9585-56f7-9fc2-7b20459a2238")}catch{}})();async function Fu(e){let t=X(process.cwd(),e);await je(t);let n=await ne(t),r=ge(n,Y());return{pmRoot:t,settings:n,typeRegistry:r}}async function ju(e,t,n,r){ve(e,on(t));let o=await ze(e,t,n.id_prefix,n.item_format,r);if(o)return{id:o.id,historyPath:ve(e,o.id),located:o};let i=Ft(t,n.id_prefix),s=on(t),a=i===s?[i]:[i,s];for(let c of a){let l=ve(e,c);if(await M(l))return{id:c,historyPath:l,located:null}}throw new g(`Item ${t} not found`,_.NOT_FOUND)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7bab0f96-b67f-5523-9d1f-7426e1d58fbd")}catch{}})();async function cw(e){let{subject:t,settings:n,operation:r,options:o}=e,i=await dd(t.historyPath,t.id);if(i.raw===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);if(i.entries.length===0)throw new g(`No history entries exist for ${t.id}; nothing to ${r.slice(8)}.`,_.USAGE);let s=t.located?await Ye(t.located,{schema:n.schema}):null,a=Ie(o.author,n.author_default),c=await e.transform({raw:i.raw,entries:i.entries,verification:vt(i.entries),loadedItem:s,author:a}),l=vt(c.rewrittenEntries);if(!l.ok)throw new g(`${r} produced an invalid rewritten chain (${l.errors.join(", ")}).`,_.GENERIC_FAILURE);let d=c.changed&&!o.dryRun?await Qy({pmRoot:e.pmRoot,subject:t,settings:n,typeRegistry:e.typeRegistry,historyRawBeforeLock:i.raw,currentItemRawBeforeLock:s?.raw??null,operation:r,author:a,force:o.force,itemDocument:s?.document??null,applyRewrite:async u=>{await c.beforeWrite?.(),c.applyRewrite?await c.applyRewrite(u):await Ka({historyPath:t.historyPath,nextHistoryRaw:lr(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>Ae({path:t.historyPath,scope:"project",op:`${r.replace("-","_")}:history`}))}):[];return c.report({verification:l,warnings:d})}import Uu from"node:fs/promises";import zu 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]="86c82880-d6c1-5d03-b786-222421f1146d")}catch{}})();var lw=8388608,RL=new Set(["resolved","failed"]),NL=[{kind:"boolean",matches:e=>typeof e=="boolean"||typeof e=="string"&&/^(?:true|false)$/iu.test(e.trim())},{kind:"single_digit",matches:e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=9||typeof e=="string"&&/^\d$/u.test(e.trim())}];function Ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Hu(e){return NL.find(t=>t.matches(e))?.kind}function dw(e){let t=new Map,n=0,r=0;return{entries:e.map(i=>{let s=Ut(i.agent_provenance)?i.agent_provenance:void 0;if(s===void 0||!sr(i).ok)return i;let a={},c=!1;for(let[d,u]of Object.entries(s)){let f=Ut(u)?Hu(u.value):void 0;if(f===void 0){a[d]=u;continue}c=!0,r+=1;let m=i.agent_harness??"unknown",p=`${m}\0${d}\0${f}`,w=t.get(p)??{harness:m,dimension:d,kind:f,count:0};w.count+=1,t.set(p,w)}if(!c)return i;n+=1;let l={...i};return Object.keys(a).length===0?delete l.agent_provenance:l.agent_provenance=a,Yo(i,l,{retainPriorRecord:!0,retainPriorRecordHash:!1})}),receipt:{changed:n>0,events_changed:n,observations_removed:r,invalid_values:[...t.values()].sort((i,s)=>i.harness.localeCompare(s.harness)||i.dimension.localeCompare(s.dimension)||i.kind.localeCompare(s.kind))}}}async function uw(e){let t=[];for(let n of await fw(e)??[])try{let r=await Uu.readFile(zu.join(e,"history",n),"utf8");for(let o of r.split(`
117
- `)){if(o.trim().length===0)continue;let i=mw(o);if(i===null||!Ut(i.agent_provenance))continue;if(Object.values(i.agent_provenance).some(a=>Ut(a)&&Hu(a.value)!==void 0)){t.push(n.slice(0,-6));break}}}catch{}return t}async function fw(e){try{return(await Uu.readdir(zu.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function DL(e,t,n){let r;try{r=await Uu.open(zu.join(e,"history",t),"r");let o=(await r.stat()).size,i=Math.min(o,Math.max(0,n)),s=Buffer.alloc(i),{bytesRead:a}=await r.read(s,0,i,0),c=s.subarray(0,a).toString("utf8"),l=a>=o,d=c.lastIndexOf(`
118
- `),u=c;return l||(u=d===-1?"":c.slice(0,d+1)),{content:u,bytesRead:a,complete:l}}catch{return null}finally{await r?.close()}}function mw(e){try{let t=JSON.parse(e);return Ut(t)?t:null}catch{return null}}function PL(e,t,n){let r=typeof e.agent_harness=="string"?e.agent_harness:void 0;if(r===void 0)return;let o=Ut(e.agent_provenance)?e.agent_provenance:{};if(Object.entries(o).forEach(([s,a])=>{if(!Ut(a))return;let c=Hu(a.value);if(!c)return;let l=`${r}\0${s}\0${c}`,d=n.get(l)??{harness:r,dimension:s,kind:c,count:0};d.count+=1,n.set(l,d)}),!Ut(e.context))return;let i=e.context.agent_provenance_outcomes;Ut(i)&&Object.entries(i).forEach(([s,a])=>{if(!Ut(a)||typeof a.resolver!="string"||!RL.has(String(a.status)))return;let c=`${r}\0${s}\0${a.resolver}`,l=t.get(c)??{harness:r,dimension:s,resolver:a.resolver,attempts:0,successes:0};l.attempts+=1,a.status==="resolved"&&(l.successes+=1),t.set(c,l)})}function LL(e,t,n,r,o,i){let s=o;for(let a of e.split(`
119
- `)){if(a.trim().length===0)continue;if(s>=r)return{eventsRead:s,truncated:!0};s+=1;let c=mw(a);if(c===null){i.malformed_events+=1;continue}if(typeof c.ts=="string"&&gn(c.ts)){let l=new Date(c.ts).toISOString();(i.earliest_event_at===null||l<i.earliest_event_at)&&(i.earliest_event_at=l),(i.latest_event_at===null||l>i.latest_event_at)&&(i.latest_event_at=l)}PL(c,t,n)}return{eventsRead:s,truncated:!1}}function ML(e,t,n){return n?[...e.filter(r=>r.attempts>0&&r.successes===0).map(r=>`provenance_resolver_zero_success:${r.harness}:${r.dimension}:${r.resolver}:${String(r.attempts)}`),...t.map(r=>`provenance_value_domain_invalid:${r.harness}:${r.dimension}:${r.kind}:${String(r.count)}`)]:[]}async function pw(e,t=1e4){if(!Number.isSafeInteger(t)||t<0)throw new RangeError("Provenance event limit must be a non-negative safe integer.");let n={scope:"history_prefix",event_limit:t,byte_limit:lw,bytes_read:0,events_read:0,truncated:!1,unreadable_sources:0,malformed_events:0,earliest_event_at:null,latest_event_at:null,complete:!1},r=new Map,o=new Map,i=0,s=0,a=!1,c=await fw(e);c===null&&(n.unreadable_sources+=1);for(let u of c??[]){let f=await DL(e,u,Math.max(0,lw-s));if(f===null){n.unreadable_sources+=1;continue}s+=f.bytesRead;let m=LL(f.content,r,o,t,i,n);if(i=m.eventsRead,m.truncated){a=!0;break}if(!f.complete){a=!0;break}}let l=[...r.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.resolver.localeCompare(f.resolver)),d=[...o.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.kind.localeCompare(f.kind));return n.bytes_read=s,n.events_read=i,n.truncated=a,n.complete=!a&&n.unreadable_sources===0&&n.malformed_events===0,{outcomes:l,sample:n,invalid_values:d,warnings:ML(l,d,n.complete),events_read:i,truncated: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]="55e22181-7bbf-5fed-965c-219fe465ed72")}catch{}})();function _w(e,t){return t==="body"?e.body:e.metadata[t]}function Gu(e,t){if(e===void 0||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=new Set;return e.every(o=>{let i=t.findIndex((s,a)=>!r.has(a)&&Gu(o,s));return i<0?!1:(r.add(i),!0)})}if(e===null||t===null||typeof e!="object"||typeof t!="object"||Array.isArray(t))return!1;let n=t;return Object.entries(e).every(([r,o])=>Object.hasOwn(n,r)&&Gu(o,n[r]))}function gw(e,t){let n=new Set(t),r=[];for(let o=e.length-1;o>=0&&n.size>0;o-=1){let i=e[o],s=new Set;for(let c of Zo(i.patch))s.add(Ti(c.path)),c.from&&s.add(Ti(c.from));let a=[...n].filter(c=>s.has(c));if(a.length!==0){for(let c of a)n.delete(c);r.push({index:o+1,ts:i.ts,author:i.author,op:i.op,fields:a.sort((c,l)=>c.localeCompare(l))})}}return r.reverse()}function $L(e,t,n){let r=ww.compare(t,n);if(r.length===0)return;let o=new Set;for(let p of r)o.add(Ti(p.path));let i=new Set([...o].filter(p=>Gu(_w(t,p),_w(n,p)))),s=new Set([...o].filter(p=>!i.has(p))),a=gw(e,s),c=gw(e,i),l=[...o].sort((p,w)=>p.localeCompare(w)),d=[...s].sort((p,w)=>p.localeCompare(w)),u=[...i].sort((p,w)=>p.localeCompare(w)),f=[...new Set(a.map(p=>p.author))].sort((p,w)=>p.localeCompare(w)),m=[...new Set(c.map(p=>p.author))].sort((p,w)=>p.localeCompare(w));return{reconciled_field_count:o.size,reconciled_fields:l,reverted_field_count:s.size,reverted_fields:d,discarded_events:a,discarded_authors:f,preserved_field_count:i.size,preserved_fields:u,preserved_events:c,preserved_authors:m,recovery_hint:a.length>0?"Reconciliation keeps the on-disk item and overwrites these replayed mutations. To recover one, inspect it with pm history <id> --diff --field <field>, then re-apply the lost value with pm update.":null}}async function FL(e){try{return await yw(e)}catch{return null}}async function jL(e){if(await FL(qu.resolve(e.gitWorkspaceRoot,e.receipt.item_path))!==e.currentPath)return null;let n=[...new Set([...e.receipt.fields_from_theirs,...e.receipt.union_fields,...e.receipt.decisions.map(a=>a.field)])].sort(),r=e.receipt.merged_field_hashes;if(!r||n.length===0)return null;let o=Object.keys(r).sort();if(n.length!==o.length||n.some((a,c)=>a!==o[c]))return null;let i=e.currentItemReplay.metadata;return n.every(a=>{let c=a==="body"?e.currentItemReplay.body:i[a];return[kt(c),Pe(O(Q(c)))].includes(r[a])})?{receipt:e.receipt,declaredFields:n}:null}async function UL(e){if(e.proof.gitWorkspaceRoot===null)return{trusted:!1,reason:"git_workspace_unavailable",receipt_ids:[]};if(e.itemPath===null||e.currentItemReplay===null)return{trusted:!1,reason:"item_path_unavailable",receipt_ids:[]};let t=e.proof.receipts.filter(s=>s.item_id===e.id);if(t.length===0)return{trusted:!1,reason:"no_item_receipts",receipt_ids:[]};let n=await yw(e.itemPath),r=[];for(let s of t){let a=await jL({receipt:s,gitWorkspaceRoot:e.proof.gitWorkspaceRoot,currentPath:n,currentItemReplay:e.currentItemReplay});a&&r.push(a)}let o=new Set(r.flatMap(({declaredFields:s})=>s)),i=e.reconciliation?.reconciled_fields;return r.length>0&&(i===void 0||i.length>0&&i.every(s=>o.has(s)))?{trusted:!0,reason:"trusted_merge_driver_hash_evidence",receipt_ids:r.map(({receipt:s})=>s.id)}:{trusted:!1,reason:"no_receipt_set_proves_snapshot",receipt_ids:[]}}async function hw(e,t,n,r){if(e===void 0)return;let{receipt:o,gitWorkspaceRoot:i}=e,s=t.currentItemPath===null?null:qu.relative(i,t.currentItemPath).split(qu.sep).join("/");if(!n||r.entriesRehashed!==0||r.entriesPatchRepaired!==0||t.matchedChainBefore!==!0||t.currentItemRawBeforeLock===null||s!==o.item_path||o.operation===void 0||!await ga(i,o.item_path,o.operation,t.currentItemRawBeforeLock))throw new g("Restored-origin receipt evidence no longer proves the exact clean item snapshot.",_.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",recovery:{suggested_retry:"pm merge reconcile --dry-run"}})}async function zL(e){let t=new Set(e.options.mergeReceiptProof?.receipts.filter(s=>s.item_id===e.subjectId).map(s=>s.id)??[]),r=(e.options.mergeReceiptProof?await St(e.options.mergeReceiptProof.gitWorkspaceRoot??process.cwd(),{includeReconciled:!0,includeLossless:!0,pmRoot:e.pmRoot}):void 0)?.receipts.filter(s=>s.item_id===e.subjectId&&t.has(s.id))??[],o=e.options.mergeReceiptProof?await UL({proof:{...e.options.mergeReceiptProof,receipts:r},id:e.subjectId,itemPath:e.itemReplayContext.currentItemPath,currentItemReplay:e.itemReplayContext.currentItemReplay,reconciliation:e.reconciliation}):void 0;if(o&&!o.trusted&&e.options.force!==!0)throw new g(`Merge receipt evidence for ${e.subjectId} does not prove the exact item snapshot (${o.reason}).`,_.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",required:"Use authoritative clone-local or durable receipt evidence whose canonical path, declared fields, and merged-value hashes match the current item, or review the mismatch and rerun with --force.",recovery:{suggested_retry:"pm merge reconcile --dry-run"}});let i=o?.trusted?r.filter(s=>o.receipt_ids.includes(s.id)):[];return{mergeReceiptProof:o,effectiveAuditContext:i.length>0&&e.options.force!==!0?{...e.options.auditContext,merge:{receipts:i.map(Et)}}:e.options.auditContext}}function HL(e,t,n){let r=e.located?.itemPath??null,o=t.loadedItem,i=t.entries;if(!o)return{currentItemReplay:null,currentItemPath:r,matchedChainBefore:null,currentItemRawBeforeLock:null,loadedItem:null};let s=Pd(o.document),a=i[i.length-1].after_hash;return{currentItemReplay:s,currentItemPath:r,matchedChainBefore:Cn(s,n,Ne(i.at(-1)?.hash_algorithm)).includes(a),currentItemRawBeforeLock:o.raw,loadedItem:o}}function qL(e){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-repair re-anchored ${e.entriesRehashed} entr${e.entriesRehashed===1?"y":"ies"}${e.entriesPatchRepaired>0?`, repaired ${e.entriesPatchRepaired} patch(es)`:""}${e.reconcileNeeded?", reconciled chain with on-disk item":""}.`}function GL(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,r=Ne(e.reanchorEntries.at(-1)?.hash_algorithm),o=Cn(e.finalReplay,e.itemHashVersion,r),i=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,s=o.indexOf(i),a=Cn(n,e.itemHashVersion,r),c={hash_algorithm:r,ts:j(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?ww.compare(e.finalReplay,e.currentItemReplay):[],before_hash:o[s],after_hash:a[s],message:e.message,...e.explicitItemHashVersion?{item_hash_version:e.itemHashVersion}:{},...e.auditContext===void 0?{}:{context:e.auditContext}};return t.push(In({...c,event_class:tr(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function BL(e,t,n){let r=[];return e||r.push("history_repair_no_changes"),t>0&&r.push(`history_repair_skipped_unresolvable_ops:${t}`),n&&n.discarded_events.length>0&&r.push(`history_repair_reconcile_discards_events:${n.discarded_events.length}`,`history_repair_discarded_authors:${n.discarded_authors.join(",")}`),r}async function sn(e,t,n){let{pmRoot:r,settings:o,typeRegistry:i}=await Fu(n.path),s=await ju(r,e,o,i.type_to_folder);return t.salvageTail===!0?tw({pmRoot:r,subject:s,settings:o,typeRegistry:i,options:t,author:Ie(t.author,o.author_default)}):cw({pmRoot:r,subject:s,settings:o,typeRegistry:i,operation:"history-repair",options:t,transform:a=>VL({pmRoot:r,subject:s,options:t},a)})}function WL(e,t){let n=e.mergeAbandonmentProof!==void 0&&e.auditContext!==void 0&&t.some(r=>r.op==="merge_reconcile"&&O(r.context)===O(e.auditContext));return e.forceAuditEntry===!0&&!n}async function VL(e,t){let{pmRoot:n,subject:r,options:o}=e,i=t.entries,s=t.verification,a=bt(i),c=o.normalizeProvenance?dw(i):{entries:i,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},l=Ld(c.entries),d=new Set(c.entries.map(T=>T.item_hash_version).filter(T=>T!==void 0)),u=Qo(c.entries,l),f=HL(r,t,l);await hw(o.mergeAbandonmentProof,f,s.ok,u);let m=u.finalDocument,p=Cn(m,l),w=!1;if(f.currentItemReplay!==null){let T=Cn(f.currentItemReplay,l);w=!p.some((z,D)=>z===T[D])}let h=w&&f.currentItemReplay?$L(u.entries,m,f.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await zL({options:o,pmRoot:n,subjectId:r.id,itemReplayContext:f,reconciliation:h}),I=[u.entriesRehashed>0,u.entriesPatchRepaired>0,w,WL(o,i),c.receipt.changed].some(Boolean),A=t.author,C=!!o.dryRun,L=qL({message:o.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:w}),{rewrittenEntries:E,auditEntryAdded:N}=GL({reanchorEntries:u.entries,changed:I,reconcileNeeded:w,currentItemReplay:f.currentItemReplay,finalReplay:m,author:A,message:L,auditOperation:o.auditOperation??"history_repair",auditContext:c.receipt.changed?{...v,provenance_normalization:c.receipt}:v,itemHashVersion:l,explicitItemHashVersion:u.explicitItemHashVersion}),G=BL(I,u.skippedOps,h);return{changed:I,rewrittenEntries:E,beforeWrite:async()=>hw(o.mergeAbandonmentProof,f,s.ok,u),report:({verification:T,warnings:z})=>({id:r.id,dry_run:C,changed:I,history:{path:r.historyPath,entries_scanned:i.length,chain_drift_before:!s.ok,entries_rehashed:u.entriesRehashed,entries_patch_repaired:u.entriesPatchRepaired,converted_replace_to_add:u.convertedReplaceToAdd,skipped_ops:u.skippedOps,reconciled_with_item:w,audit_entry_added:N,verify_ok:T.ok,verify_errors:T.errors,item_hash_version_before:a.item_hash_version??null,item_hash_version_after:l,version_disposition:d.size>1?"selected_for_ambiguous_stream":"preserved"},item:{exists:f.currentItemPath!==null,path:f.currentItemPath,matched_chain_before:f.matchedChainBefore},provenance_normalization:{requested:o.normalizeProvenance===!0,...c.receipt},...h?{reconciliation:h}:{},...b?{merge_receipt_proof:b}:{},warnings:[...new Set([...G,...z])].sort((D,pe)=>D.localeCompare(pe)),generated_at:j()})}}async function bw(e,t){if(e.salvageTail===!0)throw new g("Tail salvage requires one explicit item ID; --all is not supported.",_.USAGE);let{pmRoot:n,settings:r,typeRegistry:o}=await Fu(t.path),i=[],s=await gr(n,r.item_format,o.type_to_folder,i,r.schema,{forceSourceScan:!0}),a=await yr(n,s),c=e.normalizeProvenance?await uw(n):[],l=[...new Set([...a.driftedItems,...c])].sort((m,p)=>m.localeCompare(p)),d=[],u=[],f={repaired:0,skipped_clean:0,failed:0};for(let m of l)try{let p=await sn(m,{...e,auditContext:e.auditContextById?.[m],auditContextById:void 0,mergeReceiptProof:e.mergeReceiptProofById?.[m]??e.mergeReceiptProof,mergeReceiptProofById:void 0},t),w=p.changed?"repaired":"skipped_clean";f[w]+=1,u.push(...p.warnings.map(h=>`${m}:${h}`)),d.push({id:m,outcome:w,entries_rehashed:p.history.entries_rehashed,entries_patch_repaired:p.history.entries_patch_repaired,reconciled_with_item:p.history.reconciled_with_item,...p.reconciliation?{reconciliation:p.reconciliation}:{},...p.merge_receipt_proof?{merge_receipt_proof:p.merge_receipt_proof}:{},warnings:p.warnings})}catch(p){f.failed+=1,d.push({id:m,outcome:"failed",error:p instanceof Error?p.message:String(p)})}return e.dryRun||await Td(n),{all:!0,dry_run:!!e.dryRun,scanned_streams:s.length,drifted_streams:a.driftedItems.length,provenance_invalid_streams:c.length,streams:d,totals:f,warnings:[...new Set([...i,...u])].sort((m,p)=>m.localeCompare(p)),generated_at:j()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5fd3624a-d36b-58e6-8053-f2c0626e0c10")}catch{}})();async function vw(e){if(e.cwd===null)return[];let t=[];for(let n of e.receipts){if(n.operation===void 0||!await ga(e.cwd,n.item_path,n.operation))continue;let r={gitWorkspaceRoot:e.cwd,receipt:n};await sn(n.item_id,{dryRun:!0,mergeAbandonmentProof:r},e.global),e.dryRun||(await sn(n.item_id,{author:e.author??e.global.author,mergeAbandonmentProof:r,message:e.message??"Settle rebase receipt after exact original Git state restoration",auditOperation:"merge_reconcile",forceAuditEntry:!0,auditContext:{merge:{abandoned_receipts:[{...Et(n),reason:"original_git_state_restored",operation:n.operation}]}}},e.global),await si(e.cwd,n,{requireExisting:!0,settlement:"original_git_state_restored"})),t.push(n.id)}return t}import{readFile as mq}from"node:fs/promises";import pq 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]="96a05fa4-b833-56ca-b501-40a427d03201")}catch{}})();var Bu=async(e,t,n)=>{if(!Number.isInteger(t)||t<1)throw new RangeError("concurrency must be a positive integer");let r=new Array(e.length),o=0,i=Array.from({length:Math.min(t,e.length)},async()=>{for(;o<e.length;){let s=o;o+=1,r[s]=await n(e[s])}});return await Promise.all(i),r};import Vu from"node:fs/promises";import ke from"node:path";import KL from"node:readline/promises";import{stdin as JL,stdout as Ja}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]="f0c60332-623f-52c0-b217-acb15fcd2218")}catch{}})();var YL=["AGENTS.md","CLAUDE.md"],XL=["pm init","pm context","pm search","pm create","pm claim","pm files","pm docs","pm test --run","pm close","pm release","pm_author"],ZL=8,Ku=1,QL="<!-- pm-cli:agent-guidance:start:",eM=`<!-- pm-cli:agent-guidance:start:v${Ku} -->`,Wu="<!-- pm-cli:agent-guidance:end -->",Ci="Add workflow guidance later: pm init --agent-guidance add";var tM=()=>KL.createInterface({input:JL,output:Ja});function oo(e,t){let n=ke.relative(e,t);return n.length===0?ke.basename(t):n.split(ke.sep).join("/")}function kw(e){return e.endsWith(`
114
+ 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 rowid = (SELECT rowid FROM items WHERE id = ?)").run(n.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(n.id,n.title,n.description,n.tags.join(" "),n.id);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 My(e){let t=Tu(e.pmRoot),n=Py();if(!n){await _r.rm(t,{force:!0});return}await _r.mkdir(Ny.dirname(t),{recursive:!0});let r=`${t}.${dP()}.tmp`,o;try{o=new n(r),_P(o),o.exec("BEGIN IMMEDIATE"),ja(o,"version",Dy),ja(o,"context_fingerprint",e.contextFingerprint),ja(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Ly(o,i);o.exec("COMMIT"),o.close(),o=void 0,await _r.rm(t,{force:!0}),await _r.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([_r.rm(r,{force:!0})]),i}}function gP(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function $y(e){let t=Py();if(!t)return!1;let n=Tu(e.pmRoot),r;try{await _r.access(n),r=new t(n),r.exec("PRAGMA foreign_keys = ON");let o=gP(r);if(o.version!==Dy||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return r.close(),!1;r.exec("BEGIN IMMEDIATE");let i=r.prepare("DELETE FROM items WHERE relative_path = ?"),s=r.prepare("SELECT rowid FROM items WHERE relative_path = ?"),a=r.prepare("DELETE FROM item_search WHERE rowid = ?");for(let c of e.deletedRelativePaths??[]){let l=s.get(c);i.run(c),l&&a.run(l.rowid)}return e.row&&Ly(r,e.row),ja(r,"source_cursor",e.sourceCursor),r.exec("COMMIT"),r.close(),!0}catch{try{r?.exec("ROLLBACK")}catch{}return r?.close(),!1}}async function Ua(e){await _r.rm(Tu(e),{force:!0})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c60c095-9763-5372-9dc3-c0ea1a5caca6")}catch{}})();var jt=8,Cu=500,yP="metadata-derived-index",wP="metadata-cache.json",bP="metadata-cache-bodies.json",vP="metadata-cache-collections.json",kP="metadata-cache-delta.json",EP="metadata-cache-manifest.json",Fy=4,SP=["comments","notes","learnings","files","tests","test_runs","docs"];function qy(){return Tt(Y())}function Ha(e){let t={...e},n={};for(let r of SP)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Gy(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function By(e,t,n,r){let o=hP("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 qa(e){return ae.join(e,"runtime",wP)}function Ga(e){return ae.join(e,"runtime",bP)}function Ba(e){return ae.join(e,"runtime",vP)}function Ou(e){return ae.join(e,"runtime",kP)}function xu(e){return ae.join(e,"runtime",EP)}function Wa(e,t){let n=ae.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var TP=24,_t=new Map,Va=new WeakMap;function Ru(e){return Va.get(e)??e.source_cursor}function AP(e,t){let n=Ru(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Va.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 IP(e,t){if(!e)return;let n=Ru(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Va.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 CP(e,t){if(!e)return;let n=Ru(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Va.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 OP(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(AP(e,r),IP(t,r),CP(n,r))}function Au(e,t){_t.size>=TP&&!_t.has(e)&&Ir(_t),_t.set(e,t)}async function Mn(e,t){let n;try{n=await Ue.stat(e)}catch{return _t.delete(e),null}let r=_t.get(e);if(r&&hi(r.signature,n.mtimeMs,n.ctimeMs,n.size))return _t.delete(e),_t.set(e,r),r.envelope;let o;try{o=t(await Ue.readFile(e,"utf8"))}catch{o=null}return Au(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function xP(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==jt||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=qa(e),i=await Mn(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Mn(Wa(o,t),r);return s===null&&bi(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function RP(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==jt||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Ga(e),o=await Mn(r,n);return t&&o?.context_fingerprint!==t?await Mn(Wa(r,t),n):o}async function NP(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==jt||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Ba(e),o=await Mn(r,n);return t&&o?.context_fingerprint!==t?await Mn(Wa(r,t),n):o}async function Wy(e){let t=Ou(e),n=await Mn(t,r=>{let o=JSON.parse(r);return o.version!==jt||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 Ue.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Vy(e){let t=xu(e),n=await Mn(t,r=>{let o=JSON.parse(r);return o.version!==jt||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 Ue.stat(t),await yi(e)}catch{}return null}async function wi(e,t){await Ue.mkdir(ae.dirname(e),{recursive:!0}),await q(e,JSON.stringify(t));try{let r=await Ue.stat(e);Au(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{_t.delete(e)}let n=ae.dirname(ae.dirname(e));if(e===qa(n)||e===Ga(n)||e===Ba(n)){let r=Wa(e,t.context_fingerprint);await q(r,JSON.stringify(t));try{let c=await Ue.stat(r);Au(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{_t.delete(r)}let o=ae.dirname(e),i=ae.extname(e),s=ae.basename(e,i),a=(await Ue.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==ae.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>ae.join(o,c.name));if(a.length>Fy){let c=(await Promise.all(a.map(async l=>{try{return{path:l,mtime:(await Ue.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-Fy)))await Ue.rm(l.path,{force:!0}),_t.delete(l.path)}}}function DP(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Ky(e,t,n){return e===void 0||DP(e,t,n)}function bi(e,t){e&&!e.includes(t)&&e.push(t)}function hi(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function PP(e,t,n){let r=ae.join(e,t);try{let o=await Ue.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!F(o)&&bi(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function LP(e,t){try{let n=await Ue.stat(ae.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 Iu(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await LP(e,n))))}function za(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&&hi(o,r.mtime_ms,r.ctime_ms,r.size)})}function MP(e){return Jt.some(t=>e.toLowerCase().endsWith(t))}function $P(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function FP(e,t,n){if(n)for(let r of await Fe({path:e,scope:"project"}))bi(t,r)}function jy(e,t,n,r){if(e)return t&&n?n.collections:r}async function jP(e,t,n){let r=await Ue.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=Lr(e);await FP(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],l=!n.forceSourceRead&&c!==void 0&&hi(c,o,i,s),d=n.previousBodies[t],u=!n.forceSourceRead&&d!==void 0&&hi(d,o,i,s),f=n.previousCollections[t],m=!n.forceSourceRead&&f!==void 0&&hi(f,o,i,s);if(!(!l||n.includeBody&&!u||n.includeCollections&&!m))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:jy(n.includeCollections,m,f,void 0),bodyLength:c.body_length,body:n.includeBody?d.body:void 0};let w=await Ue.readFile(e,"utf8"),h=Ve(w,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:v=>bi(n.warnings,v)}),b=Ha(h.metadata);return $P(n.state.misses,n.includeBody,n.includeCollections,l,u,m),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?c.metadata:b.light,heavyMetadata:jy(n.includeCollections,m,f,b.heavy),bodyLength:l?c.body_length:h.body.length,body:n.includeBody?h.body:void 0}}function UP(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?Gy(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};Ky(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function zP(e,t,n,r){try{let o=await jP(t,n,r);UP(t,n,r,o)}catch{bi(r.warnings,`item_list_item_read_failed:${e}/${ae.basename(t)}`)}}function HP(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function qP(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function GP(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function BP(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function WP(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!MP(s))continue;let a=ae.join(o,s),c=ae.relative(t.pmRoot,a);n.push(zP(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function VP(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!za(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await wi(qa(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await wi(xu(e.pmRoot),{version:jt,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:ae.relative(e.pmRoot,r.item_path),metadata:Ha(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await My({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Ua(e.pmRoot)}catch{}}async function KP(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 wi(Ga(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function JP(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 wi(Ba(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Nu(e,t,n={}){let r=await Vy(e);return n.required!==!0&&(r===null||r.entry_count<Cu)?async()=>{}:ce(e,yP,30,t,!1,!1,3e3)}function Uy(e,t){let n=ae.relative(e,t);return n===""||n===".."||n.startsWith(`..${ae.sep}`)||ae.isAbsolute(n)?null:n}async function yi(e){await Promise.all([qa(e),Ga(e),Ba(e),Ou(e),xu(e)].map(async t=>{await Ue.rm(t,{force:!0}),_t.delete(t)})),await Ua(e)}async function YP(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await Ue.stat(e.mutation.itemPath),n=Ha(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 XP(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Du(e){let t=Uy(e.pmRoot,e.itemPath),n=e.previousItemPath?Uy(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await yi(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=By(e.preferredFormat,e.typeToFolder,e.schema,qy()),o=await Vy(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Wy(e.pmRoot);if(s.invalid)return await yi(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=XP(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 YP({mutation:e});let l=Hy();return await wi(Ou(e.pmRoot),{version:jt,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await Iu(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await $y({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:Ha(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Ua(e.pmRoot),[]}catch{return await yi(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function ZP(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function zy(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function QP(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function eL(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=Lr(n);if(!o)continue;let i=e.includeCollections?Gy(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Ky(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:ae.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function tL(e){return e.forceSourceScan||Js()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!za(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||zy(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||zy(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&QP(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function vi(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=qy(),l=By(t,n,o,c),d=await Wy(e);d.invalid&&await yi(e);let u=await xP(e,l,i.cacheDiagnostics),f=s?await RP(e,l):null,m=a?await NP(e,l):null;OP(u,f,m,d.envelope);let p=HP(u,l),w=qP(f,l),h=GP(m,l),b=[...new Set(Object.values(n))],v=await Iu(e,b),I=Object.keys(p),A=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Cu));if(tL({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:f,existingCollectionsCache:m,directorySignatures:v,entryKeys:I,minimumIndexedItems:A,includeBody:s,includeCollections:a,previousBodies:w,previousCollections:h}))return eL({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:p,previousBodies:w,previousCollections:h});let C=await Promise.all(b.map(pe=>PP(e,pe,r))),L=Js(),E=BP(),N={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:L,previousEntries:p,previousBodies:w,previousCollections:h,state:E};await WP(C,N);let G=await Iu(e,b),T=za(v,G)?G:{},D=E.misses.metadata||Object.keys(p).length!==Object.keys(E.newEntries).length||!za(u?.directory_signatures,T)||u===null?Hy():u.source_cursor;return await VP({pmRoot:e,contextFingerprint:l,sourceCursor:D,existingCache:u,previousEntries:p,directorySignatures:T,state:E,minimumIndexedItems:A}),s&&await KP({pmRoot:e,contextFingerprint:l,sourceCursor:D,existingBodyCache:f,previousBodies:w,state:E}),a&&await JP({pmRoot:e,contextFingerprint:l,sourceCursor:D,existingCollectionsCache:m,previousCollections:h,state:E}),ZP(E)}async function Jy(e,t,n,r,o){return(await vi(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Yy(e,t,n,r,o){return(await vi(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.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]="02383f73-64f0-5ffc-a802-f8ef2b3cc038")}catch{}})();async function rL(e){try{return await ki.access(e),!0}catch{return!1}}function oL(e,t){e&&(e.includes(t)||e.push(t))}function iL(e){return e??Tt(Y())}function sL(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function ze(e,t,n="pm-",r,o=He){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ft(t,n),c=on(t),l=[...new Set([s,a,c])].filter(f=>f.length>0),d=Object.entries(o),u=sL(r);for(let f of l){let m=new Map;for(let[p]of d)for(let w of u){let h=No(e,p,f,w,o);await rL(h)&&m.set(h,m.get(h)??{id:f,type:p,itemPath:h,item_format:w})}if(m.size>1){let p=[...m.keys()].map(w=>Pu.relative(e,w).split(Pu.sep).join("/")).sort();throw new g(`Item ${f} has ambiguous identity across ${p.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,_.CONFLICT,{code:"item_identity_ambiguous",item_id:f,paths:p})}for(let p of m.values())return p}return null}async function Ye(e,t={}){let n=await Lu(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function Lu(e,t={}){let n=await ki.readFile(e.itemPath);if(!nL(n))throw new g("Item contains invalid UTF-8; preserve a binary backup before recovering it.",_.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await Fe({path:e.itemPath,scope:"project"});let o;try{o=Ve(r,{format:e.item_format,schema:t.schema,extensionFieldNames:iL(t.extensionFieldNames),onWarning:i=>oL(t.warnings,i)})}catch(i){if(i instanceof g&&i.code==="item_document_invalid")return{raw:r,document:null,error:new g(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function Ei(e,t,n=He,r,o){await Xr(e);let i=await Jy(e,t,n,r,o);return Ma(i.length),i.map(s=>s.metadata)}async function Si(e,t,n=He,r,o){await Xr(e);let i=await Yy(e,t,n,r,o);return Ma(i.length),i.map(s=>s.metadata)}async function gr(e,t,n=He,r,o,i={}){await Xr(e);let s=await vi(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Ma(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Xy(e){return{async get(t){let n=await ze(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Ye(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>Ei(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function aL(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ki.readdir(Pu.join(e,o));for(let s of i)for(let a of Jt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function cL(e,t,n,r){let o=Ft(t,n),i=await aL(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Dt(c,o,s)})).filter(c=>c.distance!==null).sort((c,l)=>c.distance-l.distance).slice(0,3).map(c=>c.id)}async function Zy(e,t,n,r){let o=await Sy(e,t,n);if(o)return o;let i=await cL(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new g(`Item ${t} not found`,_.NOT_FOUND,{nextSteps:s})}function lL(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 dL(e){let t=e.typeToFolder??ge(e.settings,Y()).type_to_folder,n=await ze(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Zy(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await ce(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 Ye(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,l=ld(e.author),d=Nn(e.settings);if(a&&c!==l&&!e.force&&!lL(e.op,e.bypassAssigneeConflict)){if(d.ownership_enforcement==="strict")throw new g(`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 uL(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 fL(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await q(e.originalItemPath,e.originalRaw),await ki.rm(e.effectiveTargetItemPath,{force:!0});return}await q(e.originalItemPath,e.originalRaw)}}async function mL(e){xs(e.op);let t=await dL({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=lt(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=lt(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??[]]};let u=e.resolveHistoryContext?.();l.metadata.updated_at=j();let f=lt(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),m=await Ry({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:f});await Hl({pm_root:e.pmRoot,operation:e.op,before:c,after:f,changed_fields:d.changedFields,sdk:Xy({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let p=await Su({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),w="toon",h=Pr(f,{format:w,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),b=No(e.pmRoot,f.metadata.type,r.id,w,n),v=ve(e.pmRoot,r.id),I=await Pt("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:b,history_path:v,item_format:w,before:c,after:f,contents:h}),{effectiveTargetItemPath:A,effectiveSerializedAfter:C,skipItemWrite:L}=uL(I,b,h),E=await Nu(e.pmRoot,e.author),N=[];try{L||await q(A,C),!L&&A!==r.itemPath&&await ki.rm(r.itemPath);let T=ar({nowIso:f.metadata.updated_at,author:e.author,op:e.op,before:c,after:f,message:e.message,context:m.decisions.length===0?u:{...u,workflow_policies:m.decisions}});try{await Xo(v,T)}catch(z){throw await fL({skipItemWrite:L,effectiveTargetItemPath:A,originalItemPath:r.itemPath,originalRaw:o}),z}L||(N=await Du({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:A,previousItemPath:r.itemPath,document:f}))}finally{await E()}let G=[...await Ae({path:A,scope:"project",op:e.op,item_id:f.metadata.id,item_type:f.metadata.type,before:c,after:f,changed_fields:d.changedFields}),...await Ae({path:v,scope:"project",op:`${e.op}:history`,item_id:f.metadata.id,item_type:f.metadata.type,before:c,after:f,changed_fields:d.changedFields})];return zl({id:f.metadata.id,op:e.op,item_type:f.metadata.type,previous_status:c.metadata.status,status:f.metadata.status,previous:Ks(c.metadata,d.changedFields),current:Ks(f.metadata,d.changedFields),changed_fields:d.changedFields}),{item:f.metadata,body:f.body,changedFields:d.changedFields,warnings:[...s,...d.warnings??[],...m.warnings,...p.warnings,...I.warnings,...N,...G]}}finally{await a()}}async function hr(e){return mL(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]="cd8981b8-f6f7-5911-9951-799e68cecb9b")}catch{}})();function Mu(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=Nn(e.settings);if(n.ownership_enforcement==="strict")throw new g(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,_.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function _L(e){let t=await K(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new g(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);let n=await ze(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?e.readItem?await e.readItem(n):await Ye(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new g(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function Ka(e){let t=e.writeHistoryRaw??q;try{await t(e.historyPath,e.nextHistoryRaw),await rr(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await pL.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await rr(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function Qy(e){let t=[...Mu({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await ce(e.pmRoot,e.subject.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 r=await _L({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:e.operation});return await e.applyRewrite(r),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(r)),t}finally{await 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]="c1778165-2763-5eab-80f3-d52e08547fc2")}catch{}})();function yL(e){let t;try{t=JSON.parse(e)}catch{if(e.trimStart().startsWith("{")&&e.includes("}"))throw new g("History salvage cannot discard a potentially complete record with trailing corruption.",_.CONFLICT,{code:"history_salvage_refused"});return null}if(typeof t!="object"||t===null||Array.isArray(t))throw new g("History salvage would conceal interior corruption or a malformed record.",_.CONFLICT,{code:"history_salvage_refused"});let n=t;if(!Array.isArray(n.patch)||![n.ts,n.author,n.op,n.before_hash,n.after_hash].every(r=>typeof r=="string"))throw new g("History salvage requires complete history records before the invalid tail.",_.CONFLICT,{code:"history_salvage_refused"});return n}function wL(e){if(Me(e))throw new g("Resolve history merge conflicts before salvage.",_.CONFLICT,{code:"history_salvage_refused"});let t=[],n=0,r,o=0;for(let[s,a]of e.split(`
115
+ `).entries()){if(!a.trim()){n+=a.length+1;continue}let c=yL(a);if(c===null){r===void 0&&(r=n,o=s+1),n+=a.length+1;continue}if(r!==void 0)throw new g("History salvage would discard a record or conceal interior corruption.",_.CONFLICT,{code:"history_salvage_refused",required:"Recover the damaged record from version control or a backup; no bytes were changed."});t.push(c),n+=a.length+1}let i=bt(t);if(!i.ok||i.item_hash_version===void 0)throw new g("History salvage requires a nonempty verified prefix.",_.CONFLICT,{code:"history_salvage_refused",verification_errors:i.errors,required:"Recover an intact history prefix from version control or a backup."});return{entries:t,itemHashVersion:i.item_hash_version,prefix:r===void 0?e:e.slice(0,r),receipt:r===void 0?null:{first_invalid_line:o,discarded_bytes:Buffer.byteLength(e.slice(r)),discarded_sha256:Pe(e.slice(r)),retained_entries:t.length}}}async function bL(e,t,n){if(!e.located)return{itemRaw:null,document:n};let r=await Lu(e.located,{schema:t.schema});return{itemRaw:r.raw,document:r.document??n}}async function ew(e){let t;try{t=await hL(e)}catch(n){if(F(n))return null;throw n}if(!gL(t))throw new g("History salvage requires UTF-8 input; recover binary corruption from a byte-preserving backup.",_.CONFLICT,{code:"history_salvage_refused"});return t.toString("utf8")}async function tw(e){let{subject:t,settings:n,options:r,author:o}=e;if([r.normalizeProvenance,r.auditOperation,r.auditContext,r.auditContextById,r.forceAuditEntry,r.mergeReceiptProof,r.mergeReceiptProofById].some(Boolean))throw new g("Tail salvage cannot be combined with other repair modes.",_.USAGE);let i=await ew(t.historyPath);if(i===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);await Fe({path:t.historyPath,scope:"project"});let s=wL(i),a=pi(s.entries,s.entries.length-1),c=Wr(a);if(typeof a.metadata.id=="string"&&a.metadata.id!==t.id)throw new g("History belongs to another item; salvage refused.",_.CONFLICT,{code:"history_salvage_refused"});let l=await bL(t,n,c),d=Mu({itemDocument:l.document,subjectId:t.id,author:o,force:r.force,settings:n}),u=s.itemHashVersion,f=r.dryRun===!0,m=s.receipt!==null;if(m&&!f){let p=await ce(e.pmRoot,t.id,n.locks.ttl_seconds,o,!!r.force,n.governance.force_required_for_stale_lock,n.locks.wait_ms);try{let w=await ew(t.historyPath),h=await ze(e.pmRoot,t.id,n.id_prefix,n.item_format,e.typeRegistry.type_to_folder),b=h?await K(h.itemPath):null;if(w!==i||b!==l.itemRaw)throw new g("History or item changed while waiting for salvage lock; retry.",_.CONFLICT);let v=In({...ar({hashAlgorithm:Ne(s.entries.at(-1).hash_algorithm),nowIso:j(),author:o,op:"history_salvage",before:c,after:c,message:r.message,context:{history_salvage:s.receipt}}),before_hash:s.entries.at(-1).after_hash,after_hash:s.entries.at(-1).after_hash,item_hash_version:u});await Ka({historyPath:t.historyPath,historyRawUnderLock:i,nextHistoryRaw:`${s.prefix}${JSON.stringify(v)}
116
+ `}),d.push(...await Ae({path:t.historyPath,scope:"project",op:"history_salvage:history"}))}finally{await p()}}return{id:t.id,dry_run:f,changed:m,history:{path:t.historyPath,entries_scanned:s.entries.length,chain_drift_before:!1,entries_rehashed:0,entries_patch_repaired:0,converted_replace_to_add:0,skipped_ops:0,reconciled_with_item:!1,audit_entry_added:m&&!f,verify_ok:!0,verify_errors:[],item_hash_version_before:u,item_hash_version_after:u,version_disposition:"preserved"},item:{exists:t.located!==null,path:t.located?.itemPath??null,matched_chain_before:null},provenance_normalization:{requested:!1,changed:!1,events_changed:0,observations_removed:0,invalid_values:[]},...s.receipt?{salvage:s.receipt}:{},warnings:d,generated_at:j()}}import{realpath as yw}from"node:fs/promises";import qu from"node:path";import ww 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]="44d1db57-ab29-540d-b337-443d382d0d9b")}catch{}})();function nw(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function Ti(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?nw(n):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?nw(t):"root"}import Ai from"node:fs/promises";import{createHash as vL}from"node:crypto";import ow 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]="d876d1ab-2de0-5c32-b999-721038adafcd")}catch{}})();var $u=new Set([void 0,...Pm]),iw=11,kL="history-drift-cache.json";function sw(e){return ow.join(e,"runtime",kL)}async function EL(e){try{let t=await Ai.readFile(sw(e),"utf8"),n=JSON.parse(t);return n.version!==iw||n.history_item_hash_version!==wt||typeof n.entries!="object"||n.entries===null||Object.values(n.entries).some(r=>typeof r.chain_ok!="boolean"||typeof r.latest_hash_comparable!="boolean"||!$u.has(r.hash_algorithm)||!mt.includes(r.item_hash_version)&&r.version_skew!==!0||r.chain_ok&&r.version_skew!==!0&&mt.includes(r.item_hash_version)&&!r.latest_hash_comparable)?null:n}catch{return null}}async function SL(e,t,n,r,o){let i=ci(e),s;try{s=await Ai.stat(i)}catch(l){return F(l)||o.unreadableStreams.push(Oe),!1}let a=o.missingStreams.length,c=await aw({itemId:Oe,historyPath:i,stat:s,cached:t[Oe],verifyCacheHitByContent:r,accumulator:o});return c.verification?(c.verification.versionSkew&&o.versionSkews.push(Oe),c.verification.chainOk||o.chainMismatches.push(Oe),n[Oe]={mtime_ms:s.mtimeMs,ctime_ms:s.ctimeMs,size:s.size,content_hash:c.verification.contentHash,latest_after_hash:c.verification.latestAfterHash,chain_ok:c.verification.chainOk,version_skew:c.verification.versionSkew,latest_hash_comparable:c.verification.latestHashComparable,item_hash_version:c.verification.itemHashVersion,hash_algorithm:c.verification.hashAlgorithm},c.cacheDirty):(o.missingStreams.splice(a),c.cacheDirty)}function TL(e){return vL("sha256").update(e).digest("hex")}function AL(e){return!$u.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!mt.includes(e.item_hash_version)}async function IL(e){let t=await Ai.readFile(e,"utf8"),n=TL(t);if(t.trim().length===0)return null;let r=[],o=null;for(let f of t.split(/\r?\n/)){let m=f.trim();if(m.length===0)continue;let p=JSON.parse(m);if(typeof p.after_hash!="string"||p.after_hash.trim().length===0)throw new Error("missing after_hash");r.push(p),o=p.after_hash}if(!o)return null;let i=bt(r),s=r.some(AL),a=r[r.length-1],c=$u.has(a.hash_algorithm),l=a.item_hash_version,d=l!==void 0&&mt.includes(l),u=d?l:i.item_hash_version;return{latestAfterHash:o,hashAlgorithm:c?Ne(a.hash_algorithm):void 0,identityDiscontinuities:wo(r),chainOk:i.ok,versionSkew:s,latestHashComparable:c&&u!==void 0&&(!s||d||l===void 0),contentHash:n,itemHashVersion:u??wt}}function CL(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function rw(e,t,n){try{let r=await IL(t);return r||(n.missingStreams.push(e),null)}catch{return n.unreadableStreams.push(e),null}}function OL(e,t){return e!==null&&e.contentHash===t.content_hash&&e.latestAfterHash===t.latest_after_hash&&e.chainOk===t.chain_ok&&e.versionSkew===(t.version_skew===!0)&&e.latestHashComparable===t.latest_hash_comparable&&e.itemHashVersion===t.item_hash_version&&e.hashAlgorithm===t.hash_algorithm}async function aw(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(CL(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await rw(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let r=await rw(e.itemId,e.historyPath,e.accumulator);return{verification:r,cacheDirty:!OL(r,e.cached)}}return{verification:{identityDiscontinuities:[],latestAfterHash:e.cached.latest_after_hash,chainOk:e.cached.chain_ok,versionSkew:e.cached.version_skew===!0,latestHashComparable:e.cached.latest_hash_comparable&&mt.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function xL(e,t,n,r){let o,i;try{o=ve(e,t.id),i=await Ai.stat(o)}catch(d){return(F(d)?r.missingStreams:r.unreadableStreams).push(t.id),!1}let s=await aw({itemId:t.id,historyPath:o,stat:i,cached:n.previousEntries[t.id],verifyCacheHitByContent:n.verifyCacheHitByContent,accumulator:r});if(!s.verification)return s.cacheDirty;s.verification.identityDiscontinuities.length>0&&(r.identityDiscontinuities??=[]).push(...s.verification.identityDiscontinuities.map(d=>({...d,item_id:t.id}))),s.verification.versionSkew&&r.versionSkews.push(t.id),s.verification.chainOk||r.chainMismatches.push(t.id),n.nextEntries[t.id]={mtime_ms:i.mtimeMs,ctime_ms:i.ctimeMs,size:i.size,content_hash:s.verification.contentHash,latest_after_hash:s.verification.latestAfterHash,chain_ok:s.verification.chainOk,version_skew:s.verification.versionSkew,latest_hash_comparable:s.verification.latestHashComparable,item_hash_version:s.verification.itemHashVersion,hash_algorithm:s.verification.hashAlgorithm};let{body:a,...c}=t;return s.verification.latestHashComparable&&(Gr({metadata:c,body:a},s.verification.itemHashVersion,s.verification.hashAlgorithm).includes(s.verification.latestAfterHash)||r.hashMismatches.push(t.id)),s.cacheDirty}async function RL(e,t){if(!(t.unreadableStreams.includes(Oe)||t.chainMismatches.includes(Oe)||t.versionSkews.includes(Oe)))try{let n=await ou(e);t.workspaceStateMismatches.push(...n.mismatched_documents),t.workspaceStateMissing.push(...n.missing_documents),t.workspaceStateUnreadable.push(...n.unreadable_documents)}catch{t.unreadableStreams.push(Oe)}}async function yr(e,t,n={}){let r={missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]},i=(await EL(e))?.entries??{},s={},a=!1,c=n.cacheHitVerification!=="metadata",l={previousEntries:i,nextEntries:s,verifyCacheHitByContent:c};for(let f of t)await xL(e,f,l,r)&&(a=!0);let d=await SL(e,i,s,c,r);if(a||=d,await RL(e,r),a||Object.keys(i).length!==Object.keys(s).length){let f=sw(e);try{await Ai.mkdir(ow.dirname(f),{recursive:!0}),await q(f,JSON.stringify({version:iw,history_item_hash_version:wt,entries:s}))}catch{}}let u=[...new Set([...r.missingStreams,...r.unreadableStreams,...r.hashMismatches,...r.chainMismatches,...r.versionSkews,...r.workspaceStateMismatches.length>0||r.workspaceStateMissing.length>0||r.workspaceStateUnreadable.length>0?[Oe]:[]])].sort((f,m)=>f.localeCompare(m));return{...r,driftedItems:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e252abd5-9585-56f7-9fc2-7b20459a2238")}catch{}})();async function Fu(e){let t=X(process.cwd(),e);await je(t);let n=await re(t),r=ge(n,Y());return{pmRoot:t,settings:n,typeRegistry:r}}async function ju(e,t,n,r){ve(e,on(t));let o=await ze(e,t,n.id_prefix,n.item_format,r);if(o)return{id:o.id,historyPath:ve(e,o.id),located:o};let i=Ft(t,n.id_prefix),s=on(t),a=i===s?[i]:[i,s];for(let c of a){let l=ve(e,c);if(await M(l))return{id:c,historyPath:l,located:null}}throw new g(`Item ${t} not found`,_.NOT_FOUND)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7bab0f96-b67f-5523-9d1f-7426e1d58fbd")}catch{}})();async function cw(e){let{subject:t,settings:n,operation:r,options:o}=e,i=await dd(t.historyPath,t.id);if(i.raw===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);if(i.entries.length===0)throw new g(`No history entries exist for ${t.id}; nothing to ${r.slice(8)}.`,_.USAGE);let s=t.located?await Ye(t.located,{schema:n.schema}):null,a=Ie(o.author,n.author_default),c=await e.transform({raw:i.raw,entries:i.entries,verification:vt(i.entries),loadedItem:s,author:a}),l=vt(c.rewrittenEntries);if(!l.ok)throw new g(`${r} produced an invalid rewritten chain (${l.errors.join(", ")}).`,_.GENERIC_FAILURE);let d=c.changed&&!o.dryRun?await Qy({pmRoot:e.pmRoot,subject:t,settings:n,typeRegistry:e.typeRegistry,historyRawBeforeLock:i.raw,currentItemRawBeforeLock:s?.raw??null,operation:r,author:a,force:o.force,itemDocument:s?.document??null,applyRewrite:async u=>{await c.beforeWrite?.(),c.applyRewrite?await c.applyRewrite(u):await Ka({historyPath:t.historyPath,nextHistoryRaw:lr(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>Ae({path:t.historyPath,scope:"project",op:`${r.replace("-","_")}:history`}))}):[];return c.report({verification:l,warnings:d})}import Uu from"node:fs/promises";import zu 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]="86c82880-d6c1-5d03-b786-222421f1146d")}catch{}})();var lw=8388608,NL=new Set(["resolved","failed"]),DL=[{kind:"boolean",matches:e=>typeof e=="boolean"||typeof e=="string"&&/^(?:true|false)$/iu.test(e.trim())},{kind:"single_digit",matches:e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=9||typeof e=="string"&&/^\d$/u.test(e.trim())}];function Ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Hu(e){return DL.find(t=>t.matches(e))?.kind}function dw(e){let t=new Map,n=0,r=0;return{entries:e.map(i=>{let s=Ut(i.agent_provenance)?i.agent_provenance:void 0;if(s===void 0||!sr(i).ok)return i;let a={},c=!1;for(let[d,u]of Object.entries(s)){let f=Ut(u)?Hu(u.value):void 0;if(f===void 0){a[d]=u;continue}c=!0,r+=1;let m=i.agent_harness??"unknown",p=`${m}\0${d}\0${f}`,w=t.get(p)??{harness:m,dimension:d,kind:f,count:0};w.count+=1,t.set(p,w)}if(!c)return i;n+=1;let l={...i};return Object.keys(a).length===0?delete l.agent_provenance:l.agent_provenance=a,Yo(i,l,{retainPriorRecord:!0,retainPriorRecordHash:!1})}),receipt:{changed:n>0,events_changed:n,observations_removed:r,invalid_values:[...t.values()].sort((i,s)=>i.harness.localeCompare(s.harness)||i.dimension.localeCompare(s.dimension)||i.kind.localeCompare(s.kind))}}}async function uw(e){let t=[];for(let n of await fw(e)??[])try{let r=await Uu.readFile(zu.join(e,"history",n),"utf8");for(let o of r.split(`
117
+ `)){if(o.trim().length===0)continue;let i=mw(o);if(i===null||!Ut(i.agent_provenance))continue;if(Object.values(i.agent_provenance).some(a=>Ut(a)&&Hu(a.value)!==void 0)){t.push(n.slice(0,-6));break}}}catch{}return t}async function fw(e){try{return(await Uu.readdir(zu.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function PL(e,t,n){let r;try{r=await Uu.open(zu.join(e,"history",t),"r");let o=(await r.stat()).size,i=Math.min(o,Math.max(0,n)),s=Buffer.alloc(i),{bytesRead:a}=await r.read(s,0,i,0),c=s.subarray(0,a).toString("utf8"),l=a>=o,d=c.lastIndexOf(`
118
+ `),u=c;return l||(u=d===-1?"":c.slice(0,d+1)),{content:u,bytesRead:a,complete:l}}catch{return null}finally{await r?.close()}}function mw(e){try{let t=JSON.parse(e);return Ut(t)?t:null}catch{return null}}function LL(e,t,n){let r=typeof e.agent_harness=="string"?e.agent_harness:void 0;if(r===void 0)return;let o=Ut(e.agent_provenance)?e.agent_provenance:{};if(Object.entries(o).forEach(([s,a])=>{if(!Ut(a))return;let c=Hu(a.value);if(!c)return;let l=`${r}\0${s}\0${c}`,d=n.get(l)??{harness:r,dimension:s,kind:c,count:0};d.count+=1,n.set(l,d)}),!Ut(e.context))return;let i=e.context.agent_provenance_outcomes;Ut(i)&&Object.entries(i).forEach(([s,a])=>{if(!Ut(a)||typeof a.resolver!="string"||!NL.has(String(a.status)))return;let c=`${r}\0${s}\0${a.resolver}`,l=t.get(c)??{harness:r,dimension:s,resolver:a.resolver,attempts:0,successes:0};l.attempts+=1,a.status==="resolved"&&(l.successes+=1),t.set(c,l)})}function ML(e,t,n,r,o,i){let s=o;for(let a of e.split(`
119
+ `)){if(a.trim().length===0)continue;if(s>=r)return{eventsRead:s,truncated:!0};s+=1;let c=mw(a);if(c===null){i.malformed_events+=1;continue}if(typeof c.ts=="string"&&gn(c.ts)){let l=new Date(c.ts).toISOString();(i.earliest_event_at===null||l<i.earliest_event_at)&&(i.earliest_event_at=l),(i.latest_event_at===null||l>i.latest_event_at)&&(i.latest_event_at=l)}LL(c,t,n)}return{eventsRead:s,truncated:!1}}function $L(e,t,n){return n?[...e.filter(r=>r.attempts>0&&r.successes===0).map(r=>`provenance_resolver_zero_success:${r.harness}:${r.dimension}:${r.resolver}:${String(r.attempts)}`),...t.map(r=>`provenance_value_domain_invalid:${r.harness}:${r.dimension}:${r.kind}:${String(r.count)}`)]:[]}async function pw(e,t=1e4){if(!Number.isSafeInteger(t)||t<0)throw new RangeError("Provenance event limit must be a non-negative safe integer.");let n={scope:"history_prefix",event_limit:t,byte_limit:lw,bytes_read:0,events_read:0,truncated:!1,unreadable_sources:0,malformed_events:0,earliest_event_at:null,latest_event_at:null,complete:!1},r=new Map,o=new Map,i=0,s=0,a=!1,c=await fw(e);c===null&&(n.unreadable_sources+=1);for(let u of c??[]){let f=await PL(e,u,Math.max(0,lw-s));if(f===null){n.unreadable_sources+=1;continue}s+=f.bytesRead;let m=ML(f.content,r,o,t,i,n);if(i=m.eventsRead,m.truncated){a=!0;break}if(!f.complete){a=!0;break}}let l=[...r.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.resolver.localeCompare(f.resolver)),d=[...o.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.kind.localeCompare(f.kind));return n.bytes_read=s,n.events_read=i,n.truncated=a,n.complete=!a&&n.unreadable_sources===0&&n.malformed_events===0,{outcomes:l,sample:n,invalid_values:d,warnings:$L(l,d,n.complete),events_read:i,truncated: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]="55e22181-7bbf-5fed-965c-219fe465ed72")}catch{}})();function _w(e,t){return t==="body"?e.body:e.metadata[t]}function Gu(e,t){if(e===void 0||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=new Set;return e.every(o=>{let i=t.findIndex((s,a)=>!r.has(a)&&Gu(o,s));return i<0?!1:(r.add(i),!0)})}if(e===null||t===null||typeof e!="object"||typeof t!="object"||Array.isArray(t))return!1;let n=t;return Object.entries(e).every(([r,o])=>Object.hasOwn(n,r)&&Gu(o,n[r]))}function gw(e,t){let n=new Set(t),r=[];for(let o=e.length-1;o>=0&&n.size>0;o-=1){let i=e[o],s=new Set;for(let c of Zo(i.patch))s.add(Ti(c.path)),c.from&&s.add(Ti(c.from));let a=[...n].filter(c=>s.has(c));if(a.length!==0){for(let c of a)n.delete(c);r.push({index:o+1,ts:i.ts,author:i.author,op:i.op,fields:a.sort((c,l)=>c.localeCompare(l))})}}return r.reverse()}function FL(e,t,n){let r=ww.compare(t,n);if(r.length===0)return;let o=new Set;for(let p of r)o.add(Ti(p.path));let i=new Set([...o].filter(p=>Gu(_w(t,p),_w(n,p)))),s=new Set([...o].filter(p=>!i.has(p))),a=gw(e,s),c=gw(e,i),l=[...o].sort((p,w)=>p.localeCompare(w)),d=[...s].sort((p,w)=>p.localeCompare(w)),u=[...i].sort((p,w)=>p.localeCompare(w)),f=[...new Set(a.map(p=>p.author))].sort((p,w)=>p.localeCompare(w)),m=[...new Set(c.map(p=>p.author))].sort((p,w)=>p.localeCompare(w));return{reconciled_field_count:o.size,reconciled_fields:l,reverted_field_count:s.size,reverted_fields:d,discarded_events:a,discarded_authors:f,preserved_field_count:i.size,preserved_fields:u,preserved_events:c,preserved_authors:m,recovery_hint:a.length>0?"Reconciliation keeps the on-disk item and overwrites these replayed mutations. To recover one, inspect it with pm history <id> --diff --field <field>, then re-apply the lost value with pm update.":null}}async function jL(e){try{return await yw(e)}catch{return null}}async function UL(e){if(await jL(qu.resolve(e.gitWorkspaceRoot,e.receipt.item_path))!==e.currentPath)return null;let n=[...new Set([...e.receipt.fields_from_theirs,...e.receipt.union_fields,...e.receipt.decisions.map(a=>a.field)])].sort(),r=e.receipt.merged_field_hashes;if(!r||n.length===0)return null;let o=Object.keys(r).sort();if(n.length!==o.length||n.some((a,c)=>a!==o[c]))return null;let i=e.currentItemReplay.metadata;return n.every(a=>{let c=a==="body"?e.currentItemReplay.body:i[a];return[kt(c),Pe(O(Q(c)))].includes(r[a])})?{receipt:e.receipt,declaredFields:n}:null}async function zL(e){if(e.proof.gitWorkspaceRoot===null)return{trusted:!1,reason:"git_workspace_unavailable",receipt_ids:[]};if(e.itemPath===null||e.currentItemReplay===null)return{trusted:!1,reason:"item_path_unavailable",receipt_ids:[]};let t=e.proof.receipts.filter(s=>s.item_id===e.id);if(t.length===0)return{trusted:!1,reason:"no_item_receipts",receipt_ids:[]};let n=await yw(e.itemPath),r=[];for(let s of t){let a=await UL({receipt:s,gitWorkspaceRoot:e.proof.gitWorkspaceRoot,currentPath:n,currentItemReplay:e.currentItemReplay});a&&r.push(a)}let o=new Set(r.flatMap(({declaredFields:s})=>s)),i=e.reconciliation?.reconciled_fields;return r.length>0&&(i===void 0||i.length>0&&i.every(s=>o.has(s)))?{trusted:!0,reason:"trusted_merge_driver_hash_evidence",receipt_ids:r.map(({receipt:s})=>s.id)}:{trusted:!1,reason:"no_receipt_set_proves_snapshot",receipt_ids:[]}}async function hw(e,t,n,r){if(e===void 0)return;let{receipt:o,gitWorkspaceRoot:i}=e,s=t.currentItemPath===null?null:qu.relative(i,t.currentItemPath).split(qu.sep).join("/");if(!n||r.entriesRehashed!==0||r.entriesPatchRepaired!==0||t.matchedChainBefore!==!0||t.currentItemRawBeforeLock===null||s!==o.item_path||o.operation===void 0||!await ga(i,o.item_path,o.operation,t.currentItemRawBeforeLock))throw new g("Restored-origin receipt evidence no longer proves the exact clean item snapshot.",_.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",recovery:{suggested_retry:"pm merge reconcile --dry-run"}})}async function HL(e){let t=new Set(e.options.mergeReceiptProof?.receipts.filter(s=>s.item_id===e.subjectId).map(s=>s.id)??[]),r=(e.options.mergeReceiptProof?await St(e.options.mergeReceiptProof.gitWorkspaceRoot??process.cwd(),{includeReconciled:!0,includeLossless:!0,pmRoot:e.pmRoot}):void 0)?.receipts.filter(s=>s.item_id===e.subjectId&&t.has(s.id))??[],o=e.options.mergeReceiptProof?await zL({proof:{...e.options.mergeReceiptProof,receipts:r},id:e.subjectId,itemPath:e.itemReplayContext.currentItemPath,currentItemReplay:e.itemReplayContext.currentItemReplay,reconciliation:e.reconciliation}):void 0;if(o&&!o.trusted&&e.options.force!==!0)throw new g(`Merge receipt evidence for ${e.subjectId} does not prove the exact item snapshot (${o.reason}).`,_.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",required:"Use authoritative clone-local or durable receipt evidence whose canonical path, declared fields, and merged-value hashes match the current item, or review the mismatch and rerun with --force.",recovery:{suggested_retry:"pm merge reconcile --dry-run"}});let i=o?.trusted?r.filter(s=>o.receipt_ids.includes(s.id)):[];return{mergeReceiptProof:o,effectiveAuditContext:i.length>0&&e.options.force!==!0?{...e.options.auditContext,merge:{receipts:i.map(Et)}}:e.options.auditContext}}function qL(e,t,n){let r=e.located?.itemPath??null,o=t.loadedItem,i=t.entries;if(!o)return{currentItemReplay:null,currentItemPath:r,matchedChainBefore:null,currentItemRawBeforeLock:null,loadedItem:null};let s=Pd(o.document),a=i[i.length-1].after_hash;return{currentItemReplay:s,currentItemPath:r,matchedChainBefore:Cn(s,n,Ne(i.at(-1)?.hash_algorithm)).includes(a),currentItemRawBeforeLock:o.raw,loadedItem:o}}function GL(e){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-repair re-anchored ${e.entriesRehashed} entr${e.entriesRehashed===1?"y":"ies"}${e.entriesPatchRepaired>0?`, repaired ${e.entriesPatchRepaired} patch(es)`:""}${e.reconcileNeeded?", reconciled chain with on-disk item":""}.`}function BL(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,r=Ne(e.reanchorEntries.at(-1)?.hash_algorithm),o=Cn(e.finalReplay,e.itemHashVersion,r),i=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,s=o.indexOf(i),a=Cn(n,e.itemHashVersion,r),c={hash_algorithm:r,ts:j(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?ww.compare(e.finalReplay,e.currentItemReplay):[],before_hash:o[s],after_hash:a[s],message:e.message,...e.explicitItemHashVersion?{item_hash_version:e.itemHashVersion}:{},...e.auditContext===void 0?{}:{context:e.auditContext}};return t.push(In({...c,event_class:tr(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function WL(e,t,n){let r=[];return e||r.push("history_repair_no_changes"),t>0&&r.push(`history_repair_skipped_unresolvable_ops:${t}`),n&&n.discarded_events.length>0&&r.push(`history_repair_reconcile_discards_events:${n.discarded_events.length}`,`history_repair_discarded_authors:${n.discarded_authors.join(",")}`),r}async function sn(e,t,n){let{pmRoot:r,settings:o,typeRegistry:i}=await Fu(n.path),s=await ju(r,e,o,i.type_to_folder);return t.salvageTail===!0?tw({pmRoot:r,subject:s,settings:o,typeRegistry:i,options:t,author:Ie(t.author,o.author_default)}):cw({pmRoot:r,subject:s,settings:o,typeRegistry:i,operation:"history-repair",options:t,transform:a=>KL({pmRoot:r,subject:s,options:t},a)})}function VL(e,t){let n=e.mergeAbandonmentProof!==void 0&&e.auditContext!==void 0&&t.some(r=>r.op==="merge_reconcile"&&O(r.context)===O(e.auditContext));return e.forceAuditEntry===!0&&!n}async function KL(e,t){let{pmRoot:n,subject:r,options:o}=e,i=t.entries,s=t.verification,a=bt(i),c=o.normalizeProvenance?dw(i):{entries:i,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},l=Ld(c.entries),d=new Set(c.entries.map(T=>T.item_hash_version).filter(T=>T!==void 0)),u=Qo(c.entries,l),f=qL(r,t,l);await hw(o.mergeAbandonmentProof,f,s.ok,u);let m=u.finalDocument,p=Cn(m,l),w=!1;if(f.currentItemReplay!==null){let T=Cn(f.currentItemReplay,l);w=!p.some((z,D)=>z===T[D])}let h=w&&f.currentItemReplay?FL(u.entries,m,f.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await HL({options:o,pmRoot:n,subjectId:r.id,itemReplayContext:f,reconciliation:h}),I=[u.entriesRehashed>0,u.entriesPatchRepaired>0,w,VL(o,i),c.receipt.changed].some(Boolean),A=t.author,C=!!o.dryRun,L=GL({message:o.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:w}),{rewrittenEntries:E,auditEntryAdded:N}=BL({reanchorEntries:u.entries,changed:I,reconcileNeeded:w,currentItemReplay:f.currentItemReplay,finalReplay:m,author:A,message:L,auditOperation:o.auditOperation??"history_repair",auditContext:c.receipt.changed?{...v,provenance_normalization:c.receipt}:v,itemHashVersion:l,explicitItemHashVersion:u.explicitItemHashVersion}),G=WL(I,u.skippedOps,h);return{changed:I,rewrittenEntries:E,beforeWrite:async()=>hw(o.mergeAbandonmentProof,f,s.ok,u),report:({verification:T,warnings:z})=>({id:r.id,dry_run:C,changed:I,history:{path:r.historyPath,entries_scanned:i.length,chain_drift_before:!s.ok,entries_rehashed:u.entriesRehashed,entries_patch_repaired:u.entriesPatchRepaired,converted_replace_to_add:u.convertedReplaceToAdd,skipped_ops:u.skippedOps,reconciled_with_item:w,audit_entry_added:N,verify_ok:T.ok,verify_errors:T.errors,item_hash_version_before:a.item_hash_version??null,item_hash_version_after:l,version_disposition:d.size>1?"selected_for_ambiguous_stream":"preserved"},item:{exists:f.currentItemPath!==null,path:f.currentItemPath,matched_chain_before:f.matchedChainBefore},provenance_normalization:{requested:o.normalizeProvenance===!0,...c.receipt},...h?{reconciliation:h}:{},...b?{merge_receipt_proof:b}:{},warnings:[...new Set([...G,...z])].sort((D,pe)=>D.localeCompare(pe)),generated_at:j()})}}async function bw(e,t){if(e.salvageTail===!0)throw new g("Tail salvage requires one explicit item ID; --all is not supported.",_.USAGE);let{pmRoot:n,settings:r,typeRegistry:o}=await Fu(t.path),i=[],s=await gr(n,r.item_format,o.type_to_folder,i,r.schema,{forceSourceScan:!0}),a=await yr(n,s),c=e.normalizeProvenance?await uw(n):[],l=[...new Set([...a.driftedItems,...c])].sort((m,p)=>m.localeCompare(p)),d=[],u=[],f={repaired:0,skipped_clean:0,failed:0};for(let m of l)try{let p=await sn(m,{...e,auditContext:e.auditContextById?.[m],auditContextById:void 0,mergeReceiptProof:e.mergeReceiptProofById?.[m]??e.mergeReceiptProof,mergeReceiptProofById:void 0},t),w=p.changed?"repaired":"skipped_clean";f[w]+=1,u.push(...p.warnings.map(h=>`${m}:${h}`)),d.push({id:m,outcome:w,entries_rehashed:p.history.entries_rehashed,entries_patch_repaired:p.history.entries_patch_repaired,reconciled_with_item:p.history.reconciled_with_item,...p.reconciliation?{reconciliation:p.reconciliation}:{},...p.merge_receipt_proof?{merge_receipt_proof:p.merge_receipt_proof}:{},warnings:p.warnings})}catch(p){f.failed+=1,d.push({id:m,outcome:"failed",error:p instanceof Error?p.message:String(p)})}return e.dryRun||await Td(n),{all:!0,dry_run:!!e.dryRun,scanned_streams:s.length,drifted_streams:a.driftedItems.length,provenance_invalid_streams:c.length,streams:d,totals:f,warnings:[...new Set([...i,...u])].sort((m,p)=>m.localeCompare(p)),generated_at:j()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5fd3624a-d36b-58e6-8053-f2c0626e0c10")}catch{}})();async function vw(e){if(e.cwd===null)return[];let t=[];for(let n of e.receipts){if(n.operation===void 0||!await ga(e.cwd,n.item_path,n.operation))continue;let r={gitWorkspaceRoot:e.cwd,receipt:n};await sn(n.item_id,{dryRun:!0,mergeAbandonmentProof:r},e.global),e.dryRun||(await sn(n.item_id,{author:e.author??e.global.author,mergeAbandonmentProof:r,message:e.message??"Settle rebase receipt after exact original Git state restoration",auditOperation:"merge_reconcile",forceAuditEntry:!0,auditContext:{merge:{abandoned_receipts:[{...Et(n),reason:"original_git_state_restored",operation:n.operation}]}}},e.global),await si(e.cwd,n,{requireExisting:!0,settlement:"original_git_state_restored"})),t.push(n.id)}return t}import{readFile as pq}from"node:fs/promises";import _q 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]="96a05fa4-b833-56ca-b501-40a427d03201")}catch{}})();var Bu=async(e,t,n)=>{if(!Number.isInteger(t)||t<1)throw new RangeError("concurrency must be a positive integer");let r=new Array(e.length),o=0,i=Array.from({length:Math.min(t,e.length)},async()=>{for(;o<e.length;){let s=o;o+=1,r[s]=await n(e[s])}});return await Promise.all(i),r};import Vu from"node:fs/promises";import ke from"node:path";import JL from"node:readline/promises";import{stdin as YL,stdout as Ja}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]="f0c60332-623f-52c0-b217-acb15fcd2218")}catch{}})();var XL=["AGENTS.md","CLAUDE.md"],ZL=["pm init","pm context","pm search","pm create","pm claim","pm files","pm docs","pm test --run","pm close","pm release","pm_author"],QL=8,Ku=1,eM="<!-- pm-cli:agent-guidance:start:",tM=`<!-- pm-cli:agent-guidance:start:v${Ku} -->`,Wu="<!-- pm-cli:agent-guidance:end -->",Ci="Add workflow guidance later: pm init --agent-guidance add";var nM=()=>JL.createInterface({input:YL,output:Ja});function oo(e,t){let n=ke.relative(e,t);return n.length===0?ke.basename(t):n.split(ke.sep).join("/")}function kw(e){return e.endsWith(`
120
120
  `)?e:`${e}
121
- `}function nM(e){return e.includes(`\r
121
+ `}function rM(e){return e.includes(`\r
122
122
  `)?`\r
123
123
  `:`
124
- `}function Ew(e){let t=e.indexOf(QL);if(t===-1)return null;let n=e.indexOf(Wu,t);return n===-1?null:{start_index:t,end_index:n+Wu.length}}function rM(e){return Ew(e)!==null}function oM(e,t="<your project test command>"){return[eM,"## pm Workflow (Agent Quickstart)","",'- Cold start with the measured canonical orientation: `pm context --limit 10 --for orient`; before item mutation, also run `pm search "<keywords>" --limit 10`, `pm list --status open --limit 20`, and `pm list --status in_progress --limit 20`.',"- Claim and start atomically: `pm claim <id> --start`.",`- Link evidence while coding: \`pm files <id> --add ...\`, \`pm docs <id> --add ...\`, \`pm test <id> --add command="${t}"\`.`,'- Verify and close: `pm test <id> --run --progress`, then atomically record closure evidence with `pm close <id> "<reason>" --resolution "<what changed>" --expected "<expected outcome>" --actual "<observed outcome>" --validate-close warn`, then `pm release <id>`.',"- Author identity is automatic for supported agent harnesses; use `--author` only for an explicit override.","",Wu,""].join(e)}function Sw(e,t="<your project test command>"){let n=nM(e),r=oM(n,t),o=Ew(e);if(o){let a=e.slice(o.end_index),c=a.startsWith(`\r
124
+ `}function Ew(e){let t=e.indexOf(eM);if(t===-1)return null;let n=e.indexOf(Wu,t);return n===-1?null:{start_index:t,end_index:n+Wu.length}}function oM(e){return Ew(e)!==null}function iM(e,t="<your project test command>"){return[tM,"## pm Workflow (Agent Quickstart)","",'- Cold start with the measured canonical orientation: `pm context --limit 10 --for orient`; before item mutation, also run `pm search "<keywords>" --limit 10`, `pm list --status open --limit 20`, and `pm list --status in_progress --limit 20`.',"- Claim and start atomically: `pm claim <id> --start`.",`- Link evidence while coding: \`pm files <id> --add ...\`, \`pm docs <id> --add ...\`, \`pm test <id> --add command="${t}"\`.`,'- Verify and close: `pm test <id> --run --progress`, then atomically record closure evidence with `pm close <id> "<reason>" --resolution "<what changed>" --expected "<expected outcome>" --actual "<observed outcome>" --validate-close warn`, then `pm release <id>`.',"- Author identity is automatic for supported agent harnesses; use `--author` only for an explicit override.","",Wu,""].join(e)}function Sw(e,t="<your project test command>"){let n=rM(e),r=iM(n,t),o=Ew(e);if(o){let a=e.slice(o.end_index),c=a.startsWith(`\r
125
125
  `)?a.slice(2):a.startsWith(`
126
126
  `)?a.slice(1):a,l=kw(`${e.slice(0,o.start_index)}${r}${c}`);return{next_content:l,changed:l!==e}}let i=e.length===0?"":e.endsWith(`
127
127
  `)?`
128
128
  `:`
129
129
 
130
- `,s=kw(`${e}${i}${r}`);return{next_content:s,changed:s!==e}}async function Tw(e){if(await M(ke.join(e,"scripts","run-tests.mjs")))return"node scripts/run-tests.mjs test";let t;try{t=JSON.parse(await Vu.readFile(ke.join(e,"package.json"),"utf8"))}catch{return"<your project test command>"}let n=iM(t);if(n===void 0)return"<your project test command>";let r=n.packageManager?.split("@")[0];return r==="pnpm"?"pnpm test":r==="bun"?"bun run test":r==="yarn"?"yarn test":r==="npm"?"npm test":await M(ke.join(e,"pnpm-lock.yaml"))?"pnpm test":await M(ke.join(e,"bun.lock"))||await M(ke.join(e,"bun.lockb"))?"bun run test":await M(ke.join(e,"yarn.lock"))?"yarn test":"npm test"}function iM(e){if(typeof e!="object"||e===null||!("scripts"in e))return;let t=e.scripts;if(!(typeof t!="object"||t===null||!("test"in t)||typeof t.test!="string"||t.test.trim().length===0))return{scripts:{test:t.test},..."packageManager"in e&&typeof e.packageManager=="string"?{packageManager:e.packageManager}:{}}}function sM(e,t){let n=ke.dirname(e);return ke.basename(e)==="pm"&&ke.basename(n)===".agents"?ke.dirname(n):ke.resolve(t,e)}function aM(e,t){let n=e.find(o=>ke.basename(o.file_path)==="AGENTS.md"&&o.exists);if(n)return n.file_path;let r=e.find(o=>o.exists);return r?r.file_path:ke.join(t,"AGENTS.md")}function cM(e,t){let n=e.trim().toLowerCase();return n.length===0?t:n==="y"||n==="yes"?!0:n==="n"||n==="no"?!1:t}async function lM(e){let t=tM();try{Ja.write(`
130
+ `,s=kw(`${e}${i}${r}`);return{next_content:s,changed:s!==e}}async function Tw(e){if(await M(ke.join(e,"scripts","run-tests.mjs")))return"node scripts/run-tests.mjs test";let t;try{t=JSON.parse(await Vu.readFile(ke.join(e,"package.json"),"utf8"))}catch{return"<your project test command>"}let n=sM(t);if(n===void 0)return"<your project test command>";let r=n.packageManager?.split("@")[0];return r==="pnpm"?"pnpm test":r==="bun"?"bun run test":r==="yarn"?"yarn test":r==="npm"?"npm test":await M(ke.join(e,"pnpm-lock.yaml"))?"pnpm test":await M(ke.join(e,"bun.lock"))||await M(ke.join(e,"bun.lockb"))?"bun run test":await M(ke.join(e,"yarn.lock"))?"yarn test":"npm test"}function sM(e){if(typeof e!="object"||e===null||!("scripts"in e))return;let t=e.scripts;if(!(typeof t!="object"||t===null||!("test"in t)||typeof t.test!="string"||t.test.trim().length===0))return{scripts:{test:t.test},..."packageManager"in e&&typeof e.packageManager=="string"?{packageManager:e.packageManager}:{}}}function aM(e,t){let n=ke.dirname(e);return ke.basename(e)==="pm"&&ke.basename(n)===".agents"?ke.dirname(n):ke.resolve(t,e)}function cM(e,t){let n=e.find(o=>ke.basename(o.file_path)==="AGENTS.md"&&o.exists);if(n)return n.file_path;let r=e.find(o=>o.exists);return r?r.file_path:ke.join(t,"AGENTS.md")}function lM(e,t){let n=e.trim().toLowerCase();return n.length===0?t:n==="y"||n==="yes"?!0:n==="n"||n==="no"?!1:t}async function dM(e){let t=nM();try{Ja.write(`
131
131
  Agent guidance check
132
132
  `),Ja.write(`No AGENTS.md/CLAUDE.md file currently contains compact pm workflow guidance.
133
133
  `);let n=await t.question(`Add a compact pm workflow section to ${e}? [Y/n] `);return Ja.write(`
134
- `),cM(n,!0)}finally{t.close()}}function Aw(e){let t=e.agent_guidance;return{prompt_completed:t?.prompt_completed===!0,declined:t?.declined===!0,declined_at:typeof t?.declined_at=="string"?t.declined_at:"",template_version:typeof t?.template_version=="number"&&Number.isInteger(t.template_version)&&t.template_version>0?t.template_version:Ku,last_checked_files:Array.isArray(t?.last_checked_files)?[...new Set(t.last_checked_files.map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r)):[]}}async function Iw(e){let t=[],n=await Tw(e);for(let r of YL){let o=ke.join(e,r),i=await M(o);if(!i){t.push({file_path:o,exists:i,has_guidance:!1,has_marker:!1});continue}let s=await Vu.readFile(o,"utf8"),a=s.toLowerCase(),c=XL.filter(d=>a.includes(d)),l=rM(s);t.push({file_path:o,exists:i,has_guidance:l||c.length>=ZL,has_marker:l,outdated:l&&Sw(s,n).changed})}return t}function io(e,t){e.includes(t)||e.push(t)}function dM(e,t){let n=Aw(e),r=JSON.stringify(n)!==JSON.stringify(t);return r&&(e.agent_guidance=t),{changed:r,state:t}}async function Cw(e,t=ke.dirname(e)){let r=await M(e)?await Vu.readFile(e,"utf8"):"",o=Sw(r,await Tw(t));return o.changed?(await q(e,o.next_content),{changed:!0,warnings:await Ae({path:e,scope:"project",op:"init:agent_guidance_file"})}):{changed:!1,warnings:[]}}function uM(e){return{mode:e.mode,present:e.scans.some(t=>t.has_guidance),prompted:e.prompted,applied:e.applied,skipped:e.skipped,declined:e.state.declined,prompt_completed:e.state.prompt_completed,template_version:e.state.template_version,target_file:e.targetRelativePath,checked_files:e.scans.map(t=>oo(e.projectRoot,t.file_path)),files_with_guidance:e.scans.filter(t=>t.has_guidance).map(t=>oo(e.projectRoot,t.file_path)),missing_files:e.scans.filter(t=>!t.exists).map(t=>oo(e.projectRoot,t.file_path))}}async function fM(e,t,n){return e?await Iw(n):t}function Ii(e,t,n){e.state={...e.state,...n,template_version:Ku,last_checked_files:t}}async function Ow(e,t){if(t.presentBefore)return;let n=await Cw(t.targetPath,t.projectRoot);e.warnings.push(...n.warnings),n.changed&&(e.applied=!0,e.warnings.push(`agent_guidance:added:${t.targetRelativePath}`))}function mM(e,t){t||(e.warnings.push("agent_guidance:missing"),io(e.nextSteps,Ci))}function pM(e,t){e.skipped=!0,Ii(e,t,{prompt_completed:!0,declined:!0,declined_at:e.state.declined_at||new Date().toISOString()}),e.warnings.push("agent_guidance:explicit_skip"),io(e.nextSteps,Ci)}async function _M(e,t){await Ow(e,t),Ii(e,t.checkedFiles,{prompt_completed:!0,declined:!1,declined_at:""})}function gM(e,t){e.state.declined&&Ii(e,t,{prompt_completed:!0,declined:!1,declined_at:""})}function hM(e){e.skipped=!0,e.warnings.push("agent_guidance:skipped_declined"),io(e.nextSteps,Ci)}async function yM(e,t){if(e.prompted=!0,await lM(t.targetRelativePath)){await Ow(e,t),Ii(e,t.checkedFiles,{prompt_completed:!0,declined:!1,declined_at:""});return}e.skipped=!0,Ii(e,t.checkedFiles,{prompt_completed:!0,declined:!0,declined_at:new Date().toISOString()}),e.warnings.push("agent_guidance:declined"),io(e.nextSteps,Ci)}function wM(e){e.warnings.push("agent_guidance:missing_non_interactive"),io(e.nextSteps,Ci)}async function bM(e,t){let n={warnings:[],nextSteps:[],prompted:!1,applied:!1,skipped:!1,state:e};return t.mode==="status"?(mM(n,t.presentBefore),n):t.mode==="skip"?(pM(n,t.checkedFiles),n):t.mode==="add"?(await _M(n,t),n):t.presentBefore?(gM(n,t.checkedFiles),n):n.state.prompt_completed&&n.state.declined?(hM(n),n):t.interactive?(await yM(n,t),n):(wM(n),n)}async function xw(e){let t=sM(e.pm_root,e.cwd),n=await Iw(t),r=aM(n,t),o=oo(t,r),i=n.map(u=>oo(t,u.file_path)),s=n.some(u=>u.has_guidance),a=await bM(Aw(e.settings),{mode:e.mode,interactive:e.interactive,targetPath:r,targetRelativePath:o,checkedFiles:i,presentBefore:s,projectRoot:t});if(e.mode==="add")for(let u of n.filter(f=>f.outdated)){let f=await Cw(u.file_path,t);a.applied||=f.changed,a.warnings.push(...f.warnings)}let c=dM(e.settings,a.state);n=await fM(a.applied,n,t);let l=n.filter(u=>u.outdated).map(u=>oo(t,u.file_path));return l.length>0&&(a.warnings.push(`agent_guidance_outdated:${l.join(",")}`),io(a.nextSteps,"pm init --agent-guidance add")),{summary:uM({mode:e.mode,scans:n,projectRoot:t,targetRelativePath:o,prompted:a.prompted,applied:a.applied,skipped:a.skipped,state:a.state}),warnings:a.warnings,next_steps:a.nextSteps,settings_changed:c.changed}}import fn from"node:fs/promises";import Ze 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]="c4fba032-7cda-53a2-b518-fa13a60a76d5")}catch{}})();var vM=new Set(["1","true","yes","on"]),so=["user","automation","test","dogfood"],kM=new Set(so);function Ya(e,t){return vM.has((t[e]??"").trim().toLowerCase())}function ao(e=process.env){let t=Ya("DO_NOT_TRACK",e),n=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),o=(typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test")&&!kM.has(n)&&!Ya("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||o||Ya("PM_TELEMETRY_DISABLED",e)||Ya("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed:o}}import Rw from"node:fs/promises";import Nw 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]="84aca8e9-b9a8-59dd-8e11-aa9f67184ec4")}catch{}})();function EM(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,{id:r,owner:o,created_at:i,ttl_seconds:s}=n;return typeof r!="string"||typeof o!="string"||typeof i!="string"||typeof s!="number"||!Number.isFinite(s)?null:{id:r,owner:o,created_at:i,ttl_seconds:s}}function SM(e,t,n){let r=EM(t);if(r===null)return{detail:"unparseable_json",entry:{file:e,id:null,owner:null,created_at:null,ttl_seconds:null,age_seconds:null,stale:!1,reason:"unparseable"}};let o=Date.parse(r.created_at);if(!Number.isFinite(o))return{detail:"invalid_timestamp",entry:{file:e,id:r.id,owner:r.owner,created_at:r.created_at,ttl_seconds:r.ttl_seconds,age_seconds:null,stale:!1,reason:"unparseable"}};let i=n-o,s=Math.floor(i/1e3),a=i>r.ttl_seconds*1e3;return{detail:a?"expired":"active",entry:{file:e,id:r.id,owner:r.owner,created_at:r.created_at,ttl_seconds:r.ttl_seconds,age_seconds:s,stale:a,reason:a?"expired":"active"}}}async function Dw(e,t){let n=t??Date.now(),r=Nw.join(e,"locks"),o={scanned:0,active_lock_count:0,stale_lock_count:0,unreadable_lock_count:0,unparseable_lock_count:0},i;try{i=(await Rw.readdir(r)).filter(a=>a.endsWith(".lock")).sort()}catch(s){if(F(s))return o;throw s}for(let s of i){let a;try{a=await Rw.readFile(Nw.join(r,s),"utf8")}catch(l){if(F(l))continue;o.scanned+=1,o.unreadable_lock_count+=1;continue}o.scanned+=1;let{detail:c}=SM(s,a,n);c==="active"?o.active_lock_count+=1:c==="expired"?o.stale_lock_count+=1:o.unparseable_lock_count+=1}return o}import Zw 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]="01b280e5-31b5-532d-b569-67aab828358a")}catch{}})();var TM=3e4,Oi=class extends Error{status;constructor(t,n){super(t),this.name="SearchHttpError",this.status=n}};function xi(e,t,n=TM){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 Ri(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 AM(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${ie(t)})`}}async function Xa(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: ${ie(o)}`)}if(!r.ok){let o=await AM(r),i=o.length>0?`: ${o}`:"";throw new Oi(`${e.requestLabel} failed with status ${r.status} ${r.statusText}${i}`,r.status)}try{return await r.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${ie(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]="2c36f008-53c4-5ee7-bc87-6bfb7aeb8f42")}catch{}})();function Ju(e,t){let n=W(e);if(!n)return"unconfigured";let r=W(t);return r&&r.toLowerCase()===n.toLowerCase()?"configured":"auto-detected"}function IM(e){let t=So(e),n=t.toLowerCase();return n.endsWith("/embeddings")?t:n.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function Lw(e){let t=e.search?.embedding_model;return W(t)||null}function CM(e){let t=W(e.providers?.openai?.base_url),n=W(e.providers?.openai?.model);if(!t||!n)return null;let r=Lw(e),o=W(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:r??n,...o?{api_key:o}:{}}}function OM(e){let t=W(e.providers?.ollama?.base_url),n=W(e.providers?.ollama?.model);if(!t||!n)return null;let r=Lw(e);return{name:"ollama",base_url:t,model:r??n}}function Mw(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 xM(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 RM(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 Ni(e){let t=CM(e),n=OM(e),r=[t,n].filter(a=>a!==null),o=W(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 Pw(e){let t=So(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:IM(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function NM(e,t){let n=Mw(t);return e.name==="openai"?{target:Pw(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:Pw(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:n}}}function DM(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 RM(o).map((s,a)=>{let c=s.embedding;if(!xr(c))throw new Error(`OpenAI embedding response entry at index ${a} is missing a numeric embedding vector`);return[...c]})}let n=t.embedding;if(xr(n))return[[...n]];let r=t.embeddings;if(Array.isArray(r)&&r.length>0)return r.map((o,i)=>{if(!xr(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 $w(e,t,n={}){let r=xi(n.timeout_ms,"Embedding request"),o=Ri(n.fetcher,"Embedding request"),i=Mw(t),s=xM(i),a=NM(e,s.uniqueInputs),c=await Xa({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:r,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),l=DM(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]="16c567d7-0065-5401-a768-0913cec6d5f4")}catch{}})();var Za=["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 Yu(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...Za];let n=new Set(Za),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:[...Za]}var PM=8e3,LM=3200,wr="...[semantic corpus truncated]",MM="search_embedding_corpus_max_characters_invalid:using_provider_default";function Ht(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function $M(e){return(e.reminders??[]).map(t=>Ht([t.at,t.text]))}function FM(e){return(e.events??[]).map(t=>Ht([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 jM(e){let t=(e.plan_steps??[]).map(s=>Ht([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=>Ht([a.kind,a.id,a.note])).join(" "),(s.files??[]).map(a=>Ht([a.path,a.note])).join(" "),(s.tests??[]).map(a=>Ht([a.command,a.path,a.note])).join(" "),(s.docs??[]).map(a=>Ht([a.path,a.note])).join(" ")])),n=(e.plan_decisions??[]).map(s=>Ht([s.decision,s.rationale,s.evidence,s.step_id])),r=(e.plan_discoveries??[]).map(s=>Ht([s.text,s.step_id])),o=(e.plan_validation??[]).map(s=>Ht([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 zt(e){return typeof e=="string"&&e.trim().length>0}var UM={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=>zt(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>zt(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>zt(e.metadata.goal)?e.metadata.goal:void 0,value:e=>zt(e.metadata.value)?e.metadata.value:void 0,why_now:e=>zt(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>zt(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=>zt(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>zt(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>zt(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>zt(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=>$M(e.metadata),events:e=>FM(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>jM(e.metadata)};function Fw(e,t={}){let n=t.fields??Za,r={};for(let o of n){let i=UM[o];if(!i)continue;let s=i(e);s!==void 0&&(r[o]=s)}return r}function zM(e){return e?.trim().toLowerCase()==="ollama"?LM:PM}function co(e,t){let n=zM(e),r=lp(t);return r!==null?{maxCharacters:r,warning:null}:{maxCharacters:n,warning:t==null?null:MM}}function Xu(e,t={}){let n=JSON.stringify(Fw(e,{fields:t.fields})),r=co(t.providerName,t.maxCharacters).maxCharacters;if(n.length<=r)return n;if(r<=wr.length)return wr.slice(0,r);let o=Math.max(0,r-wr.length);return`${n.slice(0,o)}${wr}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dff1d04a-bad4-51d7-ab46-41e49387a44d")}catch{}})();function HM(e,t,n){let r=e.search.embedding_batch_size,o=e.search.embedding_timeout_ms,i=e.search.scanner_max_batch_retries,s=Number.isFinite(r)&&r>0?Math.max(1,Math.floor(r)):1,a=Number.isFinite(o)&&o>0?Math.max(1,Math.floor(o)):3e4,c=Number.isFinite(i)&&i>=0?Math.floor(i):0;return{batchSize:s,timeoutMs:a,maxRetries:c,maxRequestBytes:n,maxInputCharacters:t}}function qM(e,t,n,r){let o=[],i=[],s=Buffer.byteLength(JSON.stringify({model:e.model,input:[]})),a=s;for(let c of t){let l=Buffer.byteLength(JSON.stringify(c.trim()));if(s+l>r)throw new RangeError(`Embedding input exceeds request byte ceiling ${r}; lower search.embedding_corpus_max_characters or raise maxRequestBytes`);let d=i.length>0?1:0;(i.length>=n||a+d+l>r)&&(o.push(i),i=[],a=s),a+=l+(i.length>0?1:0),i.push(c)}return o.push(i),o}function GM(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let n=Math.max(0,t-wr.length);return`${e.slice(0,n)}${wr}`.slice(0,t)}function jw(e){let t=ie(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function BM(e,t,n,r,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${ie(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${n} timeout_ms=${r}`;return jw(i)?`${s} (${a}; guidance=check provider availability or lower search.embedding_batch_size, raise search.embedding_timeout_ms, or run keyword search while semantic indexing catches up)`:`${s} (${a})`}function WM(e){return e instanceof Oi?e.status===413?"payload_too_large":null:jw(e)?"timeout":null}async function Zu(e,t,n,r,o,i,s){let a=null;for(let c=0;c<=o;c+=1)try{s.requests+=1;let l=await $w(e,t,{timeout_ms:r});return c>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${n}:attempt=${c+1}:size=${t.length}`),s.successful_batches+=1,s.batch_size_histogram[t.length]=(s.batch_size_histogram[t.length]??0)+1,l}catch(l){a=l;let d=WM(l);if(d!==null&&t.length>1){s.split_batches+=1;let u=Math.ceil(t.length/2),f=t.slice(0,u),m=t.slice(u);return i.push(`search_embedding_batch_split_after_${d}:batch=${n}:size=${t.length}:parts=${f.length}|${m.length}`),[...await Zu(e,f,`${n}.1`,r,o,i,s),...await Zu(e,m,`${n}.2`,r,o,i,s)]}if(c<o){s.retries+=1;let u=Math.min(1e3*2**c,8e3);await new Promise(f=>setTimeout(f,u))}}throw new Error(BM(e,n,t.length,r,o+1,a))}async function Qu(e,t,n,r={}){if(n.length===0)return{vectors:[],warnings:[]};let o=performance.now(),i=r.maxRequestBytes??262144;if(!Number.isSafeInteger(i)||i<=0)throw new RangeError("maxRequestBytes must be a positive safe integer");let s={provider:e.name,model:e.model,max_request_bytes:i,limit_source:r.maxRequestBytes===void 0?"default":"caller",planned_batches:0,requests:0,successful_batches:0,split_batches:0,retries:0,batch_size_histogram:{},elapsed_ms:0,inputs_per_second:0},a=[],c=co(e.name,t.search.embedding_corpus_max_characters);c.warning&&a.push(c.warning);let l=HM(t,c.maxCharacters,i),d=0,u=n.map(w=>{if(w.trim().length===0)throw new TypeError("Embedding inputs must be non-empty strings");let h=GM(w,l.maxInputCharacters);return h.length<w.length&&(d+=1),h});d>0&&a.push(`search_embedding_input_truncated:count=${d}:max_characters=${l.maxInputCharacters}`);let f=qM(e,u,l.batchSize,l.maxRequestBytes);s.planned_batches=f.length;let m=[],p=0;for(let w=0;w<f.length;w+=1){let h=f[w];r.onProgress?.({batch_index:w+1,batch_total:f.length,batch_size:h.length,completed_inputs:p,total_inputs:u.length,phase:"start"}),m.push(...await Zu(e,h,String(w+1),l.timeoutMs,l.maxRetries,a,s)),p+=h.length,r.onProgress?.({batch_index:w+1,batch_total:f.length,batch_size:h.length,completed_inputs:p,total_inputs:u.length,phase:"complete"})}return s.elapsed_ms=Math.max(1,performance.now()-o),s.inputs_per_second=n.length*1e3/s.elapsed_ms,{vectors:m,warnings:a,receipt:s}}import{spawnSync as zw}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]="02a573c3-251d-5f42-abcc-63b5aa263aa1")}catch{}})();var VM="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",KM="PM_OLLAMA_MODEL",JM="http://localhost:11434",YM="qwen3-embedding:0.6b",XM=".agents/pm/search/lancedb/",ZM=1500,QM=2500,e$=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,t$=/embed|embedding/i,qt=W;function n$(){let e=qt(process.env[VM]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function Uw(e){return e.some(t=>qt(t)!==null)}function r$(e){let t=qt(e);return!!(t&&t.toLowerCase()!=="ollama")}function o$(e){let t=qt(e);return!!(t&&t.toLowerCase()!=="lancedb")}function i$(e){return r$(e.search?.provider)||o$(e.vector_store?.adapter)||Uw([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Uw([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function s$(){let e=zw("ollama",["--version"],{encoding:"utf8",timeout:ZM});return e.error?!1:e.status===0}function a$(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=>e$.test(i));return r||(n.find(i=>t$.test(i))??null)}function c$(e){let t=qt(e.providers?.ollama?.model);if(t)return t;let n=qt(process.env[KM]);if(n)return n;let r=zw("ollama",["list"],{encoding:"utf8",timeout:QM});if(!r.error&&r.status===0){let o=a$(typeof r.stdout=="string"?r.stdout:"");if(o)return o}return null}function l$(e){return{baseUrl:qt(e.providers?.ollama?.base_url)===null,model:qt(e.providers?.ollama?.model)===null,lancedbPath:qt(e.vector_store?.lancedb?.path)===null,embeddingModel:qt(e.search?.embedding_model)===null}}function d$(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function u$(e,t,n){if(!t.baseUrl&&!t.model)return;let r=e.providers??={},o=r.ollama??={};t.baseUrl&&(o.base_url=JM),t.model&&(o.model=n)}function f$(e,t){if(!t.lancedbPath)return;let n=e.vector_store??={},r=n.lancedb??={};r.path=XM}function m$(e,t,n){if(!t.embeddingModel)return;let r=e.search??={};r.embedding_model=n}function lo(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(n$()||i$(e))return t;let n=l$(e);if(!d$(n)||n.model&&!s$())return t;let r=structuredClone(e),o=c$(r);return o?(u$(r,n,o),f$(r,n),m$(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 ${YM} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="22112449-f1ab-5b6b-a9bb-37e5d3c5b83a")}catch{}})();import{mkdir as p$,readFile as _$,stat as nf,unlink as g$}from"node:fs/promises";import{basename as Hw,dirname as ef,isAbsolute as h$,join as y$,resolve as rf}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]="887ac66e-679f-5a07-a6a2-8a19a4007198")}catch{}})();var of="pm_items",w$=/[^a-zA-Z0-9_-]/g,b$=128,v$=".pm-cli-local-vectors",tf=1,uo=new Map;function sf(e){return(W(e.collection_name)??of).replaceAll(w$,"_").slice(0,b$)}function qw(e){if(!xr(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Gw(e){let t=W(e.result?.status);if(t)return{status:t};let n=W(e.status);if(n)return{status:n};throw new Error("Qdrant upsert response must include status metadata")}async function Bw(e,t,n,r,o){return await Xa({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:n,fetcher:r,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function k$(e){let t=W(e.vector_store?.qdrant?.url);if(!t)return null;let n=W(e.vector_store?.collection_name),r=W(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...n&&n!==of?{collection_name:n}:{},...r?{api_key:r}:{}}}function E$(e){let t=rf(e),n=ef(t);return Hw(t)==="pm"&&Hw(n)===".agents"?ef(n):t}function S$(e,t){return!t||h$(e)?e:rf(E$(t),e)}function T$(e,t){let n=W(e.vector_store?.lancedb?.path);if(!n)return null;let r=W(e.vector_store?.collection_name);return{name:"lancedb",path:S$(n,t),...r&&r!==of?{collection_name:r}:{}}}function A$(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=W(t.id);if(!r)throw new Error(`Vector upsert record at index ${n} is missing a non-empty id`);let o=qw(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 I$(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=W(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 C$(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function Ww(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function af(e,t){return Di(e,t)}function Di(e,t){return y$(rf(e),v$,`${t}.json`)}function O$(e,t,n){let r=W(e.id);if(!r)throw new Error(`LanceDB local snapshot '${n}' record at index ${t} is missing a non-empty id`);let o=qw(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 x$(e,t,n){let r;try{r=JSON.parse(n)}catch(c){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${ie(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!==tf)throw new Error(`LanceDB local snapshot at '${e}' must include version=${tf}`);let i=W(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=O$(s[c],c,e);a.set(l.id,l)}return a}async function R$(e){try{let t=await nf(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!F(t))throw t;return null}}function N$(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 uo.set(e,{records:n,mtimeMs:null,size:null}),n}function D$(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Vw(e,t){let n=af(e,t),r=Di(e,t),o=await R$(r),i=uo.get(n);if(!o){let a=N$(n,i);if(a)return a}if(D$(i,o))return i.records;let s=new Map;try{let a=await _$(r,"utf8");s=x$(r,t,a)}catch(a){if(!F(a))throw a}return uo.set(n,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function P$(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 L$(e){try{await g$(e)}catch(t){if(!F(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${ie(t)}`)}}async function Kw(e,t,n){let r=Di(e,t);if(n.size===0){await L$(r);return}let o=ef(r);try{await p$(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${ie(s)}`)}let i=`${JSON.stringify({version:tf,table:t,records:P$(n)})}
135
- `;try{await q(r,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${r}': ${ie(s)}`)}}function Pi(e,t){let n=k$(e),r=T$(e,t),o=[n,r].filter(c=>c!==null),i=W(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 Jw(e){let t=sf(e);if(e.name==="qdrant"){let o=So(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 M$(e,t){let n=Jw(e),r=A$(t);return e.name==="qdrant"?{target:n,method:"POST",headers:Ww(e),body:{points:r}}:{target:n,method:"LOCAL",headers:{},body:{table:sf(e),records:r}}}function $$(e,t){let n=Jw(e),r=I$(t);return e.name==="qdrant"?{target:n,method:"POST",headers:Ww(e),body:{points:r}}:{target:n,method:"LOCAL",headers:{},body:{table:sf(e),ids:r}}}async function cf(e,t,n={}){let r=M$(e,t);if(r.method==="LOCAL"){let a=e,c=r.body,l=af(a.path,c.table),d=await Vw(a.path,c.table);for(let m of c.records)d.set(m.id,m);await Kw(a.path,c.table,d);let u=Di(a.path,c.table),f=await nf(u);return uo.set(l,{records:d,mtimeMs:f.mtimeMs,size:f.size}),{status:"ok"}}let o=xi(n.timeout_ms,"Vector request"),i=Ri(n.fetcher,"Vector request"),s=await Bw(r.target.upsert_target,{method:"POST",headers:r.headers,body:r.body},o,i,"upsert");return Gw(s)}async function lf(e,t,n={}){let r=$$(e,t);if(r.method==="LOCAL"){let a=e,c=r.body,l=af(a.path,c.table),d=await Vw(a.path,c.table);if(d.size===0)return{status:"ok"};for(let u of c.ids)d.delete(u);if(await Kw(a.path,c.table,d),d.size===0)uo.delete(l);else{let u=Di(a.path,c.table),f=await nf(u);uo.set(l,{records:d,mtimeMs:f.mtimeMs,size:f.size})}return{status:"ok"}}let o=xi(n.timeout_ms,"Vector request"),i=Ri(n.fetcher,"Vector request"),s=await Bw(C$(r.target.upsert_target),{method:"POST",headers:r.headers,body:r.body},o,i,"delete");return Gw(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]="f4a214b6-02f4-5fc4-bfcd-90c0ca940842")}catch{}})();function fo(e,t){let n=W(e),r=W(t);return!n||!r?null:{provider:n,model:r}}function Yw(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=fo(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 df(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 Li(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function uf(e,t){return!!(e&&e.vector_dimension!==t)}function ff(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}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b382ab50-682e-5e53-a32d-277c5ccf8bef")}catch{}})();var Qw="search/vectorization-status.json";function $i(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function eb(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function tb(e){let t=new Map;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!eb(r)||t.set(o,r)}return Object.fromEntries([...t.entries()].sort((n,r)=>n[0].localeCompare(r[0])))}async function Fi(e){let t=Zw.join(e,Qw),n=await K(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||!eb(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=Yw(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 nb(e,t,n){let r=tb(t),o=Zw.join(e,Qw),i=`${JSON.stringify({version:1,generated_at:j(),...n?{embedding:n}:{},items:Object.entries(r).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
136
- `;await q(o,i)}function j$(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function U$(e){let t=fo(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function Mi(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function z$(e,t,n){if(!n.settings&&!await M(Se(e)))return Mi(t,"search_semantic_refresh_skipped:settings_not_initialized");let r;try{if(n.settings)r=n.settings;else{let a=await Dn(e),c=a.warnings.find(l=>l.startsWith("settings_read_"));if(c)return Mi(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);r=a.settings}}catch(a){return Mi(t,`search_semantic_refresh_skipped:settings_read_failed:${ie(a)}`)}let o=n.apply_runtime_defaults?lo(r).settings:r,i=Ni(o).active;if(!i)return Mi(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Pi(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:Mi(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function H$(e,t,n,r,o,i){let s=[],a=new Set,c=new Set,l=[];for(let d of r){let u=await ze(e,d,t,n,o);if(!u){c.add(d);continue}try{let f=await Ye(u,{schema:i});l.push({id:f.document.metadata.id,document:f.document})}catch(f){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${ie(f)}`)}}return l.sort((d,u)=>d.id.localeCompare(u.id)),{documents:l,missingIds:$i(c),skippedIds:$i(a),warnings:s}}async function q$(e,t,n){let r=co(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Yu(e),i=n.map(a=>Xu(a.document,{providerName:t.name,maxCharacters:r,fields:o})),s=await Qu(t,e,i);return{vectors:s.vectors,vector_dimension:ff(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function G$(e,t,n){return await cf(e,t.map((r,o)=>({id:r.id,vector:n[o],payload:j$(r.document.metadata)}))),{refreshed:t.map(r=>r.id),skipped:[],warnings:[]}}async function B$(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await lf(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(n){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${ie(n)}`]}}}async function rb(e,t,n={}){let r=$i(t);if(r.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await z$(e,r,n);if(!("settings"in o))return o;let i=ge(o.settings,Y()),s=await H$(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 Fi(e):{entries:{},embedding:null,warnings:[]},c=U$(o.provider),l=a.entries,d={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Li(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 q$(o.settings,o.provider,s.documents);if(uf(a.embedding,h.vector_dimension))d={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=df(c,h.vector_dimension);let b=await G$(o.vectorStore,s.documents,h.vectors);d={refreshed:b.refreshed,skipped:b.skipped,warnings:[...h.warnings,...b.warnings]}}}catch(h){d={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[`search_semantic_refresh_failed:${ie(h)}`]}}let f=await B$(o.vectorStore,s.missingIds),m=new Set(d.refreshed),p=Object.fromEntries(s.documents.filter(h=>m.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),w=[];if(Object.keys(p).length>0||s.missingIds.length>0){let h={...l,...tb(p)};for(let b of s.missingIds)delete h[b];try{await nb(e,h,u)}catch(b){w.push(`search_vectorization_status_ledger_write_failed:${ie(b)}`)}w.push(...a.warnings)}return{refreshed:$i([...d.refreshed,...f.refreshed]),skipped:$i([...s.skippedIds,...d.skipped,...f.skipped]),warnings:[...s.warnings,...d.warnings,...f.warnings,...w]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e15abc24-c46a-512b-b859-015186c960df")}catch{}})();function mf(e,t){let n=t??{};return e.filter(r=>n[r.id]!==r.updated_at).map(r=>r.id).sort((r,o)=>r.localeCompare(o))}import J$ from"node:crypto";import _f 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]="9d949852-abfe-5fbd-88c5-5da0cfbaf7de")}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]="4e329152-7e9e-5cf2-a4cf-35260a599360")}catch{}})();var AX=new Map([[_.USAGE,"invalid_command_usage"],[_.NOT_FOUND,"item_not_found"],[_.CONFLICT,"lock_conflict"],[_.DEPENDENCY_FAILED,"dependency_failed"]]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f0ef8253-1b96-56d2-bf94-6ff5debcab08")}catch{}})();var VX=_f.join("runtime","telemetry","events.jsonl"),KX=_f.join("runtime","telemetry","state.json"),JX=_f.join("runtime","telemetry","otel-spans.jsonl");var ib=1;var sb=15;var YX=3600*1e3;var XX=globalThis.fetch;var QX=Promise.resolve(),eZ=Promise.resolve();var tZ=new Set(so);var nZ=J$.randomUUID();var ab="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",rZ=new RegExp(`\\b(${ab})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),oZ=new RegExp(`(--${ab})(=|\\s+)([^\\s,;]+)`,"giu");(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fac6b840-f5f1-51f6-b643-99b48ac864ba")}catch{}})();var Y$=Object.freeze([{code:"missing_directory",command:"pm init",summary:"Recreate missing tracker directories (pm init is idempotent and restores the scaffold)."},{code:"settings_read_fs_error",command:"pm config list --json",summary:"settings.json could not be read as a regular file and pm fell back to defaults; repair the reported path or permissions, then re-run."},{code:"settings_read_invalid_json",command:"pm config list --json",summary:"settings.json is not valid JSON and pm fell back to defaults; fix the syntax error in the reported path, then re-run."},{code:"settings_read_invalid_schema",command:"pm config list --json",summary:"settings.json failed schema validation and pm fell back to defaults; correct the reported key in the file, then re-run."},{code:"settings_read_merge_failed",command:"pm config list --json",summary:"Global/project settings could not be merged; reconcile the conflicting keys in the reported settings files."},{code:"settings:id_prefix_empty",command:"pm config list --json",summary:'id_prefix is empty; set a non-empty "id_prefix" in settings.json so generated item ids are well-formed.'},{code:"settings:locks_ttl_non_positive",command:"pm config list --json",summary:'locks.ttl_seconds must be positive; set a positive "locks.ttl_seconds" in settings.json.'},{code:"telemetry_state_invalid_json",command:"pm health --check-telemetry",summary:"Local telemetry state file is corrupt; pm recreates it on the next flush. Advisory only."},{code:"telemetry_queue_invalid_rows",command:"pm health --check-telemetry",summary:"The telemetry queue has unparseable rows; they are skipped on the next flush. Advisory only."},{code:"telemetry_queue_pending",command:"pm health --check-telemetry",summary:"Telemetry events are queued; they flush automatically on the next reachable command. Advisory only."},{code:"telemetry_queue_high_retries",command:"pm telemetry flush",summary:"Some queued telemetry events are near retry exhaustion; flush now and verify endpoint reachability before entries are dropped."},{code:"telemetry_endpoint_probe_failed",command:"pm health --check-telemetry",summary:"The telemetry endpoint is unreachable; events stay queued until it recovers. Advisory only."},{code:"telemetry_endpoint_probe_http_status",command:"pm health --check-telemetry",summary:"The telemetry endpoint returned a non-success status; events stay queued until it recovers. Advisory only."},{code:"telemetry_schema_version_behind",command:"pm health --check-telemetry",summary:"Client schema is behind server; upgrade pm-cli to emit the latest event shape."},{code:"telemetry_otel_export_failing",command:"pm health --check-telemetry",summary:"OTLP trace spans are queued but the traces endpoint export is failing; spans retry automatically on the next reachable command, or set PM_TELEMETRY_OTEL_DISABLED=1 to skip OTLP export. Advisory only."},{code:"merge_driver_configuration_missing",command:"pm merge install",summary:"Install the clone-local Git drivers required by the tracker merge fence."},{code:"merge_driver_configuration_drift",command:"pm merge install",summary:"Reinstall clone-local Git drivers after runtime or package paths change."},{code:"merge_fence_missing",command:"pm merge install",summary:"Install the active tracker's committed Git merge attributes."},{code:"merge_fence_drift",command:"pm merge install",summary:"Restore the active tracker's merge mappings while retaining sibling tracker fences."},{code:"validate_merge_driver_configuration",command:"pm merge install",summary:"Restore missing or drifted clone-local Git merge driver commands."},{code:"integrity_item_unreadable",command:"pm validate --check-files --verbose-diagnostics",summary:"An item file could not be read; restore or repair the file at the reported path."},{code:"integrity_item_parse_failed",command:"pm validate --check-files --verbose-diagnostics",summary:"An item file failed to parse; fix the malformed item metadata at the reported path."},{code:"integrity_item_conflict_marker",command:"pm validate --check-files --verbose-diagnostics",summary:"An item file contains Git conflict markers; resolve the <<<<<<< / >>>>>>> markers at the reported line."},{code:"integrity_history_unreadable",command:"pm history-repair <id>",summary:"A history stream could not be read; re-anchor the affected item's history chain."},{code:"integrity_history_invalid_json",command:"pm history-repair <id>",summary:"A history stream contains invalid JSON; re-anchor the affected item's history chain."},{code:"integrity_history_conflict_marker",command:"pm history-repair <id>",summary:"A history stream contains Git conflict markers; resolve the markers, then re-anchor the chain."},{code:"validate_storage_unreadable_items",command:"pm validate --check-storage-integrity --verbose-diagnostics",summary:"An on-disk item file cannot be parsed (for example a botched merge resolution with stale TOON count headers); repair or restore the file at the reported path \u2014 list commands silently skip it while pm get hard-errors."},{code:"validate_storage_duplicate_item_ids",command:"pm validate --check-storage-integrity --verbose-diagnostics",summary:"One item id is claimed by multiple item documents \u2014 usually two branches minting the same id for different items before merging (GH-600). Keep one document, recreate the other item under a fresh id (pm copy, then delete the colliding file), and consider raising ids.token_length for concurrent multi-agent work."},{code:"validate_storage_history_conflict_markers",command:"pm merge driver history <base> <ours> <theirs>",summary:"A history stream contains unresolved Git conflict markers; re-merge it with the pm history merge driver (or resolve the markers by hand), then run pm history-repair for the item."},{code:"validate_storage_unparseable_history",command:"pm history-repair <id>",summary:"A history stream's newest line is not valid JSONL; repair or restore the stream before further mutations."},{code:"validate_storage_resurrected_items",command:"pm delete <id>",summary:"A live item's newest history operation is a delete: a delete/modify merge silently resurrected it. Decide the winner \u2014 re-delete the item, or keep it and append a mutation documenting the revival."},{code:"validate_storage_unparseable_config",command:"pm merge driver json <base> <ours> <theirs>",summary:"settings.json or a schema file cannot be parsed, so pm silently falls back to defaults; re-merge it with the pm JSON merge driver or fix the file by hand, then rerun pm validate."},{code:"validate_merge_fence_drift",command:"pm merge install",summary:"The committed .gitattributes merge fence no longer matches the active schema's type folders or tracker JSONL stores; rerun pm merge install (and commit .gitattributes) so every tracker artifact keeps its field-aware merge driver."},{code:"validate_storage_tracked_runtime_cache_files",command:"git rm --cached -r -- <tracked-runtime-directories>",summary:"Clone-local tracker runtime artifacts are committed. Run the exact tracked_runtime_cache.remediation_command, commit the index-only removals and managed .gitignore fence, then rerun validation."},{code:"integrity_item_outdated_format_version",command:"pm validate --verbose-diagnostics",summary:"An item predates the current storage format version; a pm storage migration rewrites it. Use --verbose-diagnostics to list the affected items."},{code:"integrity_item_ahead_format_version",command:"npm install -g @unbrained/pm-cli@latest",summary:"An item was written by a newer pm format version than this runtime supports; upgrade pm to read and validate it safely."},{code:"tracked_runtime_cache_files",command:"git rm --cached -r -- <tracked-runtime-directories>",summary:"Clone-local tracker runtime artifacts are committed. Run the exact tracked_runtime_cache.remediation_command from the integrity check, commit the index-only removals, and keep the managed .gitignore fence."},{code:"merge_decisions_unreviewed",command:"pm merge reconcile --dry-run",summary:"Review the pending merge receipts, re-apply any intended discarded values, then run pm merge reconcile; lossy receipts require explicit --force acceptance."},{code:"merge_receipts_pending",command:"pm merge reconcile",summary:"A lossless merge receipt is still pending; run pm merge reconcile to settle it (optionally preview first with --dry-run) so a green health gate certifies receipt settlement, not only intact data."},{code:"merge_receipt_evidence_invalid",command:"pm merge report --include-reconciled --json",summary:"One or more receipt candidates failed bounded-file, schema, identity, or copy-consistency validation; inspect the report's privacy-safe source, receipt id, and reason before repairing only the named evidence."},{code:"merge_receipt_history_reference_missing",command:"pm merge reconcile --dry-run",summary:"Review the bounded coordinates and recover available evidence first; for exact pre-durable clone-local-only references, rerun with --force so pm appends an audited disposition and proves the health finding is cleared without rewriting history."},{code:"validate_merge_decisions_unreviewed",command:"pm merge reconcile --dry-run",summary:"Review the pending merge receipts before reconciliation; history-repair alone does not settle them, and lossy receipts require explicit --force acceptance."},{code:"history_drift_missing_stream",command:"pm history-repair <id>",summary:"The item has no history stream; re-anchor the chain to rebuild it (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_unreadable_stream",command:"pm history-repair <id>",summary:"The item's history stream is unreadable; re-anchor the chain (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_hash_mismatch",command:"pm history-repair <id>",summary:"The item's content hash no longer matches its history; re-anchor the chain (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_chain_mismatch",command:"pm history-repair <id>",summary:"The item's history chain is broken; re-anchor the chain (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_version_skew",command:"npm install -g @unbrained/pm-cli@latest",summary:"A history stream declares an item hash version this runtime does not support; upgrade pm to verify the chain instead of re-anchoring it."},{code:"history_drift_merge_receipt",command:"pm merge reconcile",summary:"Canonical path, changed-field, and merged-value hash evidence attributes this drift to a pending receipt; run reconciliation (optionally preview first with --dry-run) instead of repairing history directly."},{code:"history_stream_over_compact_threshold",command:"pm history-compact <id>",summary:"The history stream exceeds the configured compaction threshold; compact it (pm history-compact --all-streams sweeps every over-threshold stream in one pass)."},{code:"history_unknown_author_events",command:'pm history-author-acknowledge --all-actionable --attributed-author "<principal>" --reviewer "<reviewer>" --reason "<evidence>"',summary:"Review the actionable coordinates, then record an append-only attribution disposition for the complete current set."},{code:"provenance_value_domain_invalid",command:"pm history-repair --all --normalize-provenance",summary:"Remove invalid bounded provenance observations from affected streams and append privacy-safe aggregate repair receipts."},{code:"validate_history_unknown_author_events",command:'pm history-author-acknowledge --all-actionable --attributed-author "<principal>" --reviewer "<reviewer>" --reason "<evidence>"',summary:"Review the actionable coordinates, then record an append-only attribution disposition for the complete current set."},{code:"locks_stale_count",command:"pm gc --scope locks",summary:"Stale item-claim locks (embedded ttl elapsed) can block mutations; sweep them \u2014 gc retains active and unparseable locks."},{code:"locks_unreadable",command:"pm gc --scope locks --dry-run",summary:"Some lock files could not be read; preview the sweep and inspect the unreadable files manually \u2014 gc never deletes what it cannot read."},{code:"extension_update_health_partial_coverage",command:"pm extension --adopt-all --project",summary:"Update-health coverage is partial because unmanaged extensions were skipped; adopt the existing installs into managed metadata so the update scan covers them (use --global for global-scope extensions, or pm package --adopt-all when working with packages)."},{code:"vectorization_stale_items_remaining",command:"pm health --refresh-vectors",summary:"Some items have stale embeddings; refresh vectors so semantic search results stay current."},{code:"vectorization_embedding_identity_changed",command:"pm reindex --mode semantic",summary:"Embedding provider/model changed since the last index; run a semantic reindex to rebuild vectors."},{code:"validate_metadata_missing_closed_at",command:"pm validate --check-metadata --auto-fix --fix-scope timestamps --dry-run",summary:"Preview closure dates proven by verified lifecycle history; inspect residuals and omit --dry-run to apply only proven dates."},{code:"validate_metadata_missing_acceptance_criteria",command:'pm update <id> --acceptance-criteria "<criteria>"',summary:"Backfill the missing acceptance criteria on the reported item(s)."},{code:"validate_metadata_missing_estimate",command:'pm update <id> --estimate "<estimate>"',summary:"Backfill the missing estimate on the reported item(s)."},{code:"validate_metadata_missing_close_reason",command:'pm update <id> --close-reason "<reason>"',summary:"Backfill the missing close reason on the reported closed item(s)."},{code:"validate_metadata_missing_reviewer",command:'pm update <id> --reviewer "<name>"',summary:"Backfill the missing reviewer on the reported item(s)."},{code:"validate_metadata_missing_risk",command:'pm update <id> --risk "<level>"',summary:"Backfill the missing risk on the reported item(s)."},{code:"validate_metadata_missing_confidence",command:'pm update <id> --confidence "<level>"',summary:"Backfill the missing confidence on the reported item(s)."},{code:"validate_metadata_missing_sprint",command:'pm update <id> --sprint "<sprint>"',summary:"Backfill the missing sprint on the reported item(s)."},{code:"validate_metadata_missing_release",command:'pm update <id> --release "<release>"',summary:"Backfill the missing release on the reported item(s)."},{code:"validate_metadata_custom_profile_missing_required_fields",command:'pm config set metadata-required-fields --criterion "<field>"',summary:"Config-driven finding: the custom metadata profile has no required fields configured and falls back to core, so configure the fields rather than mutating items."},{code:"validate_metadata_duplicate_issue_codes",command:'pm update <id> --title "<distinct title>"',summary:"Two or more items share one logical issue code (GH-235); give each a distinct title so the derived code is unique, or close the redundant item with pm close <id> --duplicate-of <canonical-id> (closed-as-duplicate items are excluded from the check)."},{code:"validate_resolution_missing_fields",command:'pm update <id> --resolution "<how resolved>"',summary:"Backfill resolution / expected_result / actual_result on the reported closed item(s)."},{code:"validate_lifecycle_active_closure_like_metadata",command:"pm update <id> --unset <closure-like-field>",summary:"Clear the closure-like field the validator flags on this active item \u2014 the detail row names it (resolution / actual-result / blocked-reason) \u2014 or close the item if it is actually done."},{code:"validate_lifecycle_active_terminal_parent",command:"pm update <id> --parent <active-parent-id>",summary:"Reopen the terminal parent or move the active child under a non-terminal parent."},{code:"validate_lifecycle_stale_blockers",command:"pm update <id> --unset blocked-by --unset blocked-reason",summary:"Resolve the stale blocker the validator flags: clear blocked-by/blocked-reason when they linger on a non-blocked item or report a resolved blocker; if instead a blocked item is missing blocker context, add the context or move it out of a blocked status."},{code:"validate_lifecycle_dependency_cycles_error",command:"pm update <id> --dep-remove <dep-id>",summary:"Break the dependency cycle by removing one edge from the reported cycle."},{code:"validate_lifecycle_dependency_cycles",command:"pm update <id> --dep-remove <dep-id>",summary:"Break the dependency cycle by removing one edge from the reported cycle."},{code:"validate_hierarchy_parent_cycle_error",command:"pm update <id> --parent <other-id>",summary:"Break the parent-hierarchy cycle by reparenting one item in the reported cycle to a non-cyclic parent (or clear it with pm update <id> --unset parent)."},{code:"validate_hierarchy_parent_cycle",command:"pm update <id> --parent <other-id>",summary:"Break the parent-hierarchy cycle by reparenting one item in the reported cycle to a non-cyclic parent (or clear it with pm update <id> --unset parent)."},{code:"validate_files_missing_linked_paths",command:"pm <files|docs> <id> --remove <path>",summary:"The check spans both item.files and item.docs under one code: restore the missing linked artifact, or unlink it with pm files (linked file) or pm docs (linked doc)."},{code:"validate_files_orphaned_paths",command:"pm <files|docs> <id> --add <path>",summary:"Link the orphaned artifact with pm files (file) or pm docs (doc), or remove it from the workspace."},{code:"validate_files_tracked_all_strict_forces_pm_internals",command:"pm validate --check-files --include-pm-internals",summary:"tracked-all-strict scan flagged pm internals; re-run with --include-pm-internals or a softer --scan-mode."},{code:"validate_history_drift_missing_streams",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items missing a history stream."},{code:"validate_history_drift_unreadable_streams",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items with an unreadable history stream."},{code:"validate_history_drift_hash_mismatches",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items whose content hash drifted."},{code:"validate_history_drift_chain_mismatches",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items with a broken history chain."},{code:"validate_history_drift_version_skews",command:"npm install -g @unbrained/pm-cli@latest",summary:"One or more history streams declare an item hash version this runtime does not support; upgrade pm to verify the chains instead of re-anchoring them."},{code:"validate_command_references_stale_pm_ids",command:'pm update <id> --replace-tests --test "command=<corrected-command>" [--test ...]',summary:"Correct the stale pm-ID inside the item's linked test command (the check scans tests[].command, not the body). --replace-tests overwrites the entire tests list, so re-include the item's other linked tests in the same call."},{code:"validate_format_version_outdated_items",command:"pm validate --verbose-diagnostics",summary:"One or more items predate the current storage format version; a pm storage migration rewrites them. Use --verbose-diagnostics to list the affected items."},{code:"validate_format_version_ahead_items",command:"npm install -g @unbrained/pm-cli@latest",summary:"One or more items were written by a newer pm format version than this runtime supports; upgrade pm to read and validate them safely."}]);function gf(e){if(typeof e!="string")return;let t=e.trim();for(let n of Y$)if(t===n.code||t.startsWith(`${n.code}:`))return n}function hf(e){let t={};for(let n of e){let r=gf(n);r!==void 0&&!Object.prototype.hasOwnProperty.call(t,r.code)&&(t[r.code]=r.command)}return t}function cb(e){return Object.values(hf(e))}import ub from"node:fs/promises";import{createRequire as X$}from"node:module";import it 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]="a0014621-9e3d-5620-8f36-081811054843")}catch{}})();function lb(e,t){let n=it.relative(t,e);if(n.length>0&&n!==".."&&!n.startsWith(`..${it.sep}`)&&!it.isAbsolute(n))return n.split(it.sep).join("/");let r=it.resolve(e),o=0xcbf29ce484222325n;for(let s=0;s<r.length;s+=1)o^=BigInt(r.charCodeAt(s)),o=BigInt.asUintN(64,o*0x100000001b3n);return`<external>/${o.toString(16).padStart(16,"0")}/${it.basename(it.dirname(e))}/package.json`}function Z$(e){return e.includes(`${it.sep}.pnpm${it.sep}`)?"pnpm":e.includes(`${it.sep}node_modules${it.sep}`)?"npm":"other"}async function db(e){try{let t=JSON.parse(await ub.readFile(e,"utf8"));return t.name==="@unbrained/pm-cli"&&typeof t.version=="string"&&t.version.trim().length>0?t.version.trim():void 0}catch{return}}async function yf(e){try{return await ub.realpath(e)}catch{return it.resolve(e)}}async function fb(e,t,n=nt(import.meta.url,["../../.."])){let r=await yf(t),o=await yf(it.join(n,"package.json")),i=await db(o),s=new Map;i!==void 0&&s.set(o,{version:i,path:lb(o,r),layout:"host",consumers:["pm-cli-host"]});for(let l of e)try{let d=X$(l.entry_path).resolve("@unbrained/pm-cli/package.json"),u=await yf(d),f=await db(u);if(f===void 0)continue;let m=u,p=s.get(m);if(p){p.consumers.includes(l.name)||(p.consumers.push(l.name),p.consumers.sort((w,h)=>w.localeCompare(h)));continue}s.set(m,{version:f,path:lb(u,r),layout:Z$(u),consumers:[l.name]})}catch{}let a=[...s.values()].sort((l,d)=>l.path.localeCompare(d.path)),c=i===void 0?[]:a.filter(l=>l.version!==i);return{host_version:i??null,copies:a,mismatches:c,warnings:c.map(l=>`extension_host_pm_cli_version_skew:${i}:${l.version}:${l.consumers.join("+")}`)}}import Xf from"node:fs/promises";import Zf from"node:path";import{Option as uie}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]="09f9d531-8ebf-51bf-9ee6-5a3351d96c7a")}catch{}})();var _Z=new Set(["rename-type","rename-field","remap-status",...zr]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="93b04081-a71a-5987-8fb6-09a8d045c1da")}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]="8ed4af4c-40cf-5902-930b-78a4758871b2")}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]="fdacd8ac-787a-5639-84d5-a32b6ce79d41")}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]="854a0596-b0ec-5d2e-85b1-5444d8d7b622")}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]="e6571e4b-c436-5af7-be01-c3fce3a9c5d3")}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]="91874535-458b-5a33-a68a-96f44bd2e1f8")}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]="b0306587-b3bb-5f82-bb56-7939d1976870")}catch{}})();var Q$={critical:0,high:1,medium:2,low:3,minimal:4},eF=Object.keys(Q$),qZ=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${eF.join(", ")}), case-insensitive`;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bfb46357-04de-55a0-b132-779c153314de")}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]="0eff4d63-2691-5130-bc12-4957218393b5")}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]="eb151177-d326-5ce4-9624-87f6393046e0")}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]="41196e9d-00c2-5473-848d-7563463c42a7")}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]="df9abedd-6e84-5712-8e5e-4e510ec3ed60")}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]="24688724-53cd-5375-ae7e-cfe098cd0dc8")}catch{}})();var sQ=new Map(Lc.map(e=>[e.toLowerCase(),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]="7778b388-1b28-53e7-a06e-ef6441b0ed68")}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]="ef20c613-623c-5a11-8384-ccf4ee3addde")}catch{}})();import{createRequire as nF}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]="12bf6794-9410-5683-bb83-a0da8d2614a7")}catch{}})();var rF=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,yQ=new RegExp(`\\b(${rF.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var wQ=nF(import.meta.url);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="199c4791-6ca7-50c4-b2cd-aa96c0ab2408")}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]="d7a68072-168d-509a-95ec-145635d71d46")}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]="eed441f0-e2b5-51e9-b9bf-0f4882a9eeea")}catch{}})();var oF=[{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"}],DQ=new Map(oF.map(e=>[e.action,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]="c18e4dfc-d3e3-5185-9470-9d46b4dca893")}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]="bff806e7-b1c7-5064-bdd4-6d6dd1a24100")}catch{}})();import iF 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]="cdae67c6-8316-5e97-84ca-0be4460ffd57")}catch{}})();function Qa(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function sF(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 pb(e,t){let n=Math.max(1,Math.trunc(t.threshold_hours)),r=(t.now??new Date).getTime(),o=Qa(t.in_progress_status),i=[];for(let s of e){if(Qa(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=sF(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 wf(e,t,n){let r=new Map;return await Promise.all(t.filter(o=>Qa(String(o.status))===Qa(n.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await rt(iF.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)})),pb(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]="eb1afbe5-eb0a-56d2-bb94-80fd427325f7")}catch{}})();var HQ=Object.freeze({"&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&amp;":"&"});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4873876d-67b4-5f79-a984-756b7e539e9b")}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]="3940f646-f84d-5eb0-8db1-de64ca0a5985")}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]="f3edff87-6ea5-5108-a749-eeb380870601")}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]="1ad4a739-f29d-5b50-b1cf-f8590804e32b")}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]="d2940263-a7b4-5d29-b1e5-631fe1072a5b")}catch{}})();import tee from"node:readline/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91cfc9cf-9ab1-5c9f-803d-f378e9963c4a")}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]="7b64ac69-240e-504c-adc4-d5f3170d3de7")}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]="497e2b9b-39e8-57c6-a040-3bf8cbac0324")}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]="b569d3f7-12f3-5ece-b529-804be641a778")}catch{}})();var bf=[{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:"allowUnresolvedDeps",keys:["allowUnresolvedDeps","allow_unresolved_deps"],option:"--allow-unresolved-deps",description:"Allow unresolved local dependency targets and emit explicit warning receipts"},{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","linkedFile"],option:"--file <value>",description:"Seed linked file entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-file <value>",description:"Alias for --file (cross-surface name)"}]},{target:"test",keys:["test","linkedTest"],option:"--test <value>",description:"Seed linked test entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-test <value>",description:"Alias for --test (cross-surface name)"}]},{target:"doc",keys:["doc"],option:"--doc <value>",description:"Seed linked doc entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0}],gb=bf.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),hb=bf.filter(e=>e.repeatable===!0).map(e=>({target:e.target,keys:e.keys})),vf=[{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:"Replace the complete acceptance-criteria list (repeatable values join with '; '); use --remove-ac plus --add-ac for one-entry repair",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; fails if any selector is unmatched (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:"allowUnresolvedDeps",keys:["allowUnresolvedDeps","allow_unresolved_deps"],option:"--allow-unresolved-deps",description:"Allow unresolved local dependency targets and emit explicit warning receipts"},{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 by dependency id or exact row signature (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","linkedFile"],option:"--file <value>",description:"Append linked file path=<value>,scope=<project|global>,note=<text> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-file <value>",description:"Alias for --file (cross-surface name)"}]},{target:"test",keys:["test","linkedTest"],option:"--test <value>",description:"Append test command=<value>,path=<value>,scope=<project|global>,timeout_seconds=<n>,pm_context_mode=<schema|tracker|auto|none> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-test <value>",description:"Alias for --test (cross-surface name)"}]},{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}],kf=vf.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),yb=vf.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]="35c88fec-b8c2-5478-b9a6-ecaebb736b2e")}catch{}})();function xe(e){return e.map(t=>({...t}))}var Ef=[{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"}],wb=[{param:"updatedAfter",flag:"--updated-after"},{param:"updatedBefore",flag:"--updated-before"},{param:"createdAfter",flag:"--created-after"},{param:"createdBefore",flag:"--created-before"}],bF=[{param:"today",flag:"--today",booleanish:!0},{param:"recent",flag:"--recent",booleanish:!0},...wb],bb=[{param:"assignee",flag:"--assignee"},{param:"assigneeFilter",flag:"--assignee-filter"},{param:"parent",flag:"--parent"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"}],vF=[{param:"assignee",flag:"--assignee"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"parent",flag:"--parent"}],kF=[...Ef,...bb],vb=[{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"}],EF=[{param:"filterAcMissing",flag:"--filter-ac-missing"},{param:"filterEstimatesMissing",flag:"--filter-estimates-missing"},{param:"filterResolutionMissing",flag:"--filter-resolution-missing"},{param:"filterMetadataMissing",flag:"--filter-metadata-missing"}],kb=[{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"}],Sf=[{param:"for",flag:"--for"},{param:"tokenBudget",flag:"--token-budget"},...xe(Ef),...xe(bF),{param:"ids",flag:"--ids"},...xe(bb),...xe(EF),...xe(vb),...xe(kb),{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"}],Tf=[{param:"groupBy",flag:"--group-by"},{param:"setMode",flag:"--set-mode"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"},{param:"sum",flag:"--sum"},{param:"avg",flag:"--avg"},...xe(kF)],Af=[{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"},...xe(Ef),...xe(wb),...xe(vF),...xe(vb),...xe(kb),{param:"fields",flag:"--fields"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"}],Eb=[{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"}],ec=xe(Eb),Sb=[{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:"allowUnresolvedDeps",flag:"--allow-unresolved-deps"},{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"}],If=xe(Sb),Tb=[{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:"allowUnresolvedDeps",flag:"--allow-unresolved-deps"},{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"}],Cf=xe(Tb),Of=[{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"}],xf=xe(Of),Rf=xe(Of);var Nf=[{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:"raw",flag:"--raw"},{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}],Df=[{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"}];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d78f489d-2ce1-5806-a17e-0c6c049ad0f0")}catch{}})();var TF=["item","list","context","search","graph","history","workspace","package","ops","plan","contracts","help"];function S(e,t,n,r={}){return{name:e,required:n,variadic:r.variadic===!0,value_kind:t,polymorphic:r.polymorphic===!0}}function Ab(e){let t=e.replaceAll("-"," ");return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}var te=S("id","item_id",!0),ji=S("id","item_id",!1),Ui=S("text","string",!1),zi=S("plan-id","item_id",!0),Ib=S("step","string",!0),AF=["--acceptance-criteria","--actual-result","--affected-version","--assignee","--blocked-by","--blocked-reason","--blocks","--body","--claim","--comment","--component","--confidence","--create-mode","--customer-impact","--deadline","--definition-of-ready","--description","--doc","--environment","--estimate","--event","--expected-result","--fixed-version","--file","--from-search","--goal","--harness","--impact","--learning","--message","--mode","--note","--objective","--order","--outcome","--parent","--priority","--rank","--related","--release","--reminder","--reporter","--repro-steps","--resolution","--resume-context","--reviewer","--risk","--scope","--severity","--sprint","--status","--step","--step-blocked-reason","--step-body","--step-evidence","--step-owner","--step-replacement","--step-status","--step-title","--tags","--template","--test","--title","--type-option","--unblock-note","--value","--why-now"],Pf=["--allow-multiple-active","--depends-on","--file","--force","--message","--step-blocked-reason","--step-body","--step-evidence","--step-owner","--step-status","--step-title","--test"],IF={"update-step":"Update one declared Plan step.","complete-step":"Complete one declared Plan step.","block-step":"Block one declared Plan step.","remove-step":"Remove one declared Plan step.",link:"Link one dependency to a declared Plan step.",unlink:"Unlink one dependency from a declared Plan step."},mo=[{command:"plan create",parent:"plan",action:"create",slots:[S("title","string",!1,{polymorphic:!0})],accepted_flags:AF,description:"Create a Plan item and optionally seed its ordered steps.",example:'pm plan create --title "Refactor lock retry"'},{command:"plan show",parent:"plan",action:"show",slots:[zi],accepted_flags:["--depth","--fields"],description:"Read one Plan item with a bounded plan projection.",example:"pm plan show pm-a1b2 --depth standard"},{command:"plan add-step",parent:"plan",action:"add-step",slots:[zi],accepted_flags:Pf,description:"Append one ordered step to a Plan item.",example:'pm plan add-step pm-a1b2 --step-title "Run tests"'},...Object.entries(IF).map(([e,t])=>({command:`plan ${e}`,parent:"plan",action:e,slots:[zi,Ib],accepted_flags:Pf,description:t,example:`pm plan ${e} pm-a1b2 plan-step-001`})),{command:"plan reorder-step",parent:"plan",action:"reorder-step",slots:[zi,Ib,S("new-order","integer",!0)],accepted_flags:["--force","--message"],description:"Move one Plan step to a declared integer order.",example:"pm plan reorder-step pm-a1b2 plan-step-001 2"},...["decision","discovery","validation","resume","approve","materialize"].map(e=>({command:`plan ${e}`,parent:"plan",action:e,slots:[zi],accepted_flags:Pf,description:`${Ab(e)} for one Plan item.`,example:`pm plan ${e} pm-a1b2`})),...["list","show","put","remove"].map(e=>({command:`assurance ${e}`,parent:"assurance",action:e,slots:[S("kind","string",!0),...e==="list"?[]:[S("id","string",!0)]],accepted_flags:e==="put"?["--author","--definition","--message"]:e==="remove"?["--author","--message"]:[],description:`${Ab(e)} assurance declarations by kind.`,example:e==="list"?"pm assurance list measurement":`pm assurance ${e} measurement example-id`})),{command:"assurance run",parent:"assurance",action:"run",slots:[S("gate-id","string",!0)],accepted_flags:["--dry-run","--trigger","--tree"],description:"Evaluate one assurance gate for a lifecycle trigger.",example:"pm assurance run tracker-context-quality --trigger ci --dry-run"},{command:"assurance verdicts",parent:"assurance",action:"verdicts",slots:[S("gate-id","string",!1)],accepted_flags:["--gate","--limit"],description:"List bounded assurance verdict history.",example:"pm assurance verdicts --limit 20"},...["presets","apply"].map(e=>({command:`assurance ${e}`,parent:"assurance",action:e,slots:[S("preset","string",e==="apply")],accepted_flags:["--author","--message","--owner"],description:e==="apply"?"Apply one assurance adoption preset.":"List available assurance adoption presets.",example:e==="apply"?"pm assurance apply software-delivery --owner <pm-item-id>":"pm assurance presets"})),{command:"assurance derive",parent:"assurance",action:"derive",slots:[],accepted_flags:["--apply","--author","--message","--owner"],description:"Derive assurance proposals from current project context.",example:"pm assurance derive --owner pm-a1b2"},{command:"assurance promote",parent:"assurance",action:"promote",slots:[S("assertion-id","string",!0)],accepted_flags:["--author","--enforcement","--message"],description:"Promote one assertion into a warning or blocking gate.",example:"pm assurance promote assertion-id --enforcement warn"},{command:"assurance risk",parent:"assurance",action:"risk",slots:[],accepted_flags:["--definition"],description:"Analyze bounded defect-recurrence risk for a proposed change.",example:`pm assurance risk --definition '{"change":{"files":[]}}'`},{command:"assurance lineages",parent:"assurance",action:"lineages",slots:[],accepted_flags:["--definition"],description:"Measure all recorded recurrence lineages with bounded evidence rows.",example:`pm assurance lineages --definition '{"policy":{"version":1,"evidence_epoch":"2026-01-01T00:00:00.000Z","families":[]}}'`},{command:"workspace position",parent:"workspace",action:"position",slots:[],accepted_flags:[],description:"Read bounded merge-fence, receipt, history-drift, and next-action readiness.",example:"pm workspace position"},{command:"workspace snapshot create",parent:"workspace snapshot",action:"create",slots:[S("name","string",!1)],accepted_flags:[],description:"Capture authoritative tracker state as an immutable snapshot.",example:"pm workspace snapshot create before-migration"},{command:"workspace snapshot list",parent:"workspace snapshot",action:"list",slots:[],accepted_flags:[],description:"List immutable workspace snapshots and named references.",example:"pm workspace snapshot list"},{command:"workspace snapshot inspect",parent:"workspace snapshot",action:"inspect",slots:[S("target","string",!0)],accepted_flags:[],description:"Inspect one workspace snapshot target.",example:"pm workspace snapshot inspect before-migration"},{command:"workspace snapshot restore",parent:"workspace snapshot",action:"restore",slots:[S("target","string",!0)],accepted_flags:["--author","--dry-run","--force","--message"],description:"Restore an immutable workspace snapshot with explicit recovery controls.",example:"pm workspace snapshot restore before-migration --dry-run"},{command:"workspace snapshot delete",parent:"workspace snapshot",action:"delete",slots:[S("target","string",!0)],accepted_flags:[],description:"Delete one workspace snapshot target.",example:"pm workspace snapshot delete before-migration"}],CF=[...mo].sort((e,t)=>t.command.length-e.command.length),OF=new Map([["append",[te,Ui]],["assurance",[S("action","action",!0),S("kind","string",!1),S("id","string",!1)]],["beads import",[S("file","string",!1)]],["changelog export",[S("file","string",!1)]],["claim",[ji]],["close",[te,Ui]],["close-task",[te,S("reason","string",!1)]],["comments",[te,Ui]],["completion",[S("shell","string",!1)]],["config",[S("scope","string",!1,{polymorphic:!0}),S("action","action",!1),S("key","string",!1),S("value","string",!1,{polymorphic:!0})]],["copy",[te]],["create",[S("type-or-title","string",!1,{polymorphic:!0}),S("title","string",!1)]],["delete",[te]],["deps",[te]],["docs",[te]],["event",[S("title","string",!0)]],["files",[te]],["files discover",[te]],["files lookup",[S("paths","string",!0,{variadic:!0})]],["focus",[ji]],["get",[te]],["graph",[S("subcommand","action",!0),ji,S("target","item_id",!1)]],["guide",[S("topic","string",!1)]],["history",[te]],["history-compact",[ji]],["history-redact",[te]],["history-repair",[ji]],["init",[S("prefix-or-path","string",!1,{polymorphic:!0})]],["item complete",[te,S("reason","string",!1)]],["item reopen",[te,S("reason","string",!0)]],["learnings",[te,Ui]],["meet",[S("title","string",!0)]],["merge",[S("subcommand","action",!0),S("artifact","string",!1),S("base","string",!1),S("ours","string",!1),S("theirs","string",!1)]],["notes",[te,Ui]],["package",[S("target","string",!1,{polymorphic:!0})]],["package list",[]],["package inventory",[S("name","string",!1)]],["package scaffold",[S("target","string",!0)]],["package upgrade",[S("target","string",!1)]],["packages",[S("target","string",!1,{polymorphic:!0})]],["packages list",[]],["packages inventory",[S("name","string",!1)]],["packages scaffold",[S("target","string",!0)]],["packages upgrade",[S("target","string",!1)]],["pause-task",[te]],["plan",[S("subcommand","action",!0),S("id","item_id",!1,{polymorphic:!0}),S("step","string",!1),S("new-order","integer",!1)]],["profile",[S("subcommand","action",!0),S("name","string",!1)]],["release",[te]],["remind",[S("title","string",!0)]],["restore",[te,S("target","string",!0)]],["schema",[S("subcommand","action",!0),S("name","string",!1)]],["search-advanced",[S("keywords","string",!0,{variadic:!0})]],["search",[S("keywords","string",!0,{variadic:!0})]],["start-task",[te]],["templates save",[S("name","string",!0)]],["templates show",[S("name","string",!0)]],["telemetry",[S("namespace-or-subcommand","action",!1,{polymorphic:!0}),S("subcommand","action",!1)]],["test",[te]],["test-runs-worker",[S("runId","string",!0)]],["update",[te]],["workspace snapshot",[S("action","action",!0),S("target","string",!1)]],...["activate","adopt","deactivate","init","uninstall"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[S("target","string",!0)]])),...["describe"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[S("target","string",!1)]])),...["install"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[S("targets","string",!1,{variadic:!0})]])),["vcs abandon",[te]],["vcs create",[S("title","string",!0)]],["vcs merge",[te]],["vcs propose",[te]],["vcs ref-create",[S("name","string",!0)]],["vcs show",[te]]]);function xF(e){return e.trim().toLowerCase().replace(/\s+/gu," ")}function RF(e){let t=xF(e);return CF.find(n=>n.command===t||t.startsWith(`${n.command} `))}function U(e,t,n,r,o){return o.map(i=>({command:i,noun:e,target:t,disposition:n,owner:r}))}var NF=[...U("item","item","target_noun","pm-pbyu",["item","item complete","item mutate","item reopen"]),...U("item","item","consolidation","pm-yql1",["append","close-many","close-task","comments","copy","delete","deps","docs","files","learnings","notes","pause-task","start-task","test","update-many"]),...["claim","close","create","get","release","update"].map(e=>({command:e,noun:"item",target:e,disposition:"keep_as_is",owner:"pm-pbyu",reason:"Permanent high-frequency item operations retain concise root spellings under the accepted hot-path grammar policy."})),...U("item","item files","target_noun","pm-yql1",["files discover","files lookup","item files discover","item files lookup"]),...U("item","item test worker","consolidation","pm-lp4j",["test-runs-worker"]),...U("list","list","target_noun","pm-pfqi",["list"]),...U("list","list --group-by","consolidation","pm-xkgq",["aggregate"]),...U("context","context","target_noun","pm-pbyu",["context"]),...U("context","context","consolidation","pm-kcs4",["ctx","focus","next"]),...U("context","context next","consolidation","pm-kcs4",["ctx next"]),...U("context","context focus","consolidation","pm-kcs4",["ctx focus"]),...U("search","search","target_noun","pm-pbyu",["search"]),...U("search","search","package_owned","package:search-advanced",["reindex","search-advanced"]),...U("item","item duplicates","consolidation","pm-fmy9ih",["duplicates"]),...U("item","item duplicates","package_owned","pm-fmy9ih",["dedupe-audit","dedupe-merge","comments-audit"]),...U("graph","graph","target_noun","pm-pbyu",["graph"]),...U("history","history","target_noun","pm-pbyu",["history"]),...U("history","history attest","target_noun","pm-3z0k",["history attest"]),...U("history","history attest","consolidation","pm-3z0k",["history-attest"]),...ia.flatMap(({alias:e,canonical:t})=>[...U("history",t,"target_noun","pm-tqel",[t]),...U("history",t,"consolidation","pm-tqel",[e])]),...U("history","history","consolidation","pm-tqel",["events","merge"]),...U("history","history acknowledge","consolidation","pm-djyvbk",["history-author-acknowledge"]),...U("history","history","package_owned","package:builtin-vcs-exemplar",["vcs abandon","vcs create","vcs log","vcs merge","vcs propose","vcs ref-create","vcs show"]),...U("workspace","workspace","target_noun","pm-pbyu",["workspace","workspace position","workspace snapshot","workspace snapshot create","workspace snapshot delete","workspace snapshot inspect","workspace snapshot list","workspace snapshot restore"]),...U("workspace","workspace init","consolidation","pm-npr3",["init"]),...U("package","package","target_noun","pm-pbyu",["package","package activate","package adopt","package adopt-all","package catalog","package deactivate","package describe","package doctor","package explore","package init","package install","package inventory","package list","package manage","package migrate","package reload","package scaffold","package uninstall","package upgrade"]),...U("package","package","consolidation","pm-tnud",["extension activate","extension adopt","extension adopt-all","extension catalog","extension deactivate","extension describe","extension doctor","extension explore","extension init","extension install","extension manage","extension migrate","extension reload","extension uninstall","packages","packages activate","packages adopt","packages adopt-all","packages catalog","packages deactivate","packages describe","packages doctor","packages explore","packages init","packages install","packages inventory","packages list","packages manage","packages migrate","packages reload","packages scaffold","packages uninstall","packages upgrade"]),...U("package","package","package_owned","package:beads",["beads import"]),...U("package","package","package_owned","package:pm-changelog",["changelog export","changelog generate"]),...U("package","package calendar","package_owned","pm-o3fh",["event","meet","remind"]),...U("ops","ops","target_noun","pm-6apl",["ops"]),...U("ops","ops normalize","package_owned","package:pm-governance-audit",["normalize"]),...U("ops","ops","consolidation","pm-6apl",["eval","gc","health","stats","telemetry","test-all","validate"]),...U("workspace","workspace","consolidation","pm-npr3",["config","profile","schema"]),...["assurance",...mo.filter(({parent:e})=>e==="assurance").map(({command:e})=>e)].map(e=>({command:e,noun:"ops",target:e,disposition:"keep_as_is",owner:"pm-djyvbk",reason:"Assurance manages durable measurement, assertion, gate, and verdict data; retain its established domain surface independently of operational diagnostics."})),...U("plan","plan","target_noun","pm-pbyu",["plan"]),...U("plan","plan","target_noun","pm-2tan",mo.filter(({parent:e})=>e==="plan").map(({command:e})=>e)),...U("contracts","contracts","target_noun","pm-pbyu",["contracts"]),...U("help","help","target_noun","pm-pbyu",["help"]),...U("workspace","templates","package_owned","package:builtin-templates",["templates","templates list","templates save","templates show"]),...U("help","help","package_owned","package:builtin-guide-shell",["completion","completion-statuses","completion-tags","completion-types","guide"])].flatMap(e=>{let t=sa.find(r=>r.alias===e.command);if(!t)return[e];let n=TF.find(r=>r===t.canonical_argv[0])??e.noun;return[{...e,noun:n,target:t.canonical,owner:t.owner},{...e,command:t.canonical,noun:n,target:t.canonical,owner:t.owner,disposition:e.disposition==="package_owned"?"package_owned":"target_noun"}]}),DF=[...new Set(NF.map(({command:e})=>e))].map(e=>({command:e,slots:RF(e)?.slots??OF.get(en(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]="4e1e3ef4-cdf3-5d4c-88fe-d23f6fc171d1")}catch{}})();function Lf(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]="bfaa3455-3237-5c98-8ef4-b353ce9530fe")}catch{}})();var Hi=Object.freeze({rows:10,paths:5,samples:10,path_depth:8,visited_paths:1e4});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4c3fb594-00bc-5625-aeaa-692e7ac01437")}catch{}})();var Cb=Al.map(e=>({flag:e.flag,reservation_scope:"inherited",...e.aliases?{aliases:[...e.aliases]}:{},...e.value_name?{value_name:e.value_name}:{}})),PF=[...Cb,{flag:"--version",value_type:"boolean",reservation_scope:"root_only"},{flag:"--all",value_type:"boolean",reservation_scope:"root_only",description:"Expand root help to every command."},{flag:"--explain",value_type:"boolean",reservation_scope:"root_only",description:"Expand root help with command guidance."}],Ob=[{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"}],xb=[{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"}],tc=Uf([{flag:"--for",value_name:"intent"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--status",list:!0},{flag:"--all",value_type:"boolean"},{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"},...Ob,{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"])),Rb=[{flag:"--group-by",list:!0},{flag:"--set-mode"},{flag:"--limit"},{flag:"--after"},{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}],Nb=[{flag:"--id",value_name:"item-id"},{flag:"--add",aliases:["--comment","--body","--text"]},{flag:"--stdin"},{flag:"--file"},{flag:"--edit"},{flag:"--delete"},{flag:"--limit"},{flag:"--full-history"},{flag:"--if-absent",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}];function Uf(e,t){return e.map(n=>t.has(n.flag)?{...n,cursor_semantics:"presentation"}:n)}var Db=[{flag:"--id",value_name:"item-id"},{flag:"--add",aliases:["--note","--text"]},{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:"--if-absent",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Pb=[{flag:"--id",value_name:"item-id"},{flag:"--add",aliases:["--learning","--text"]},{flag:"--stdin"},{flag:"--file"},{flag:"--edit"},{flag:"--delete"},{flag:"--limit"},{flag:"--full-history"},{flag:"--if-absent",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Lb=[{flag:"--id",value_name:"item-id"},{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:"--explain"},{flag:"--lines",value_name:"start:end"},{flag:"--decision-depth",value_name:"n",value_type:"number"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Mb=[{flag:"--id",value_name:"item-id"},{flag:"--add"},{flag:"--add-glob"},{flag:"--remove"},{flag:"--migrate"},{flag:"--note"},{flag:"--list"},{flag:"--validate-paths"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],$b=[{flag:"--id",value_name:"item-id"},{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"}],Fb=[{flag:"--dry-run"},{flag:"--message"},{flag:"--force"},{flag:"--include-reconciled"},{flag:"--output"},{flag:"--item-path"},{flag:"--prefer"}],jb=[{flag:"--id",value_name:"item-id"},{flag:"--literal"},{flag:"--regex"},{flag:"--replacement"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Ub=[{flag:"--id",value_name:"item-id"},{flag:"--all"},{flag:"--dry-run"},{flag:"--normalize-provenance"},{flag:"--salvage-tail",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],zb=[{flag:"--event",repeatable:!0},{flag:"--all-actionable"},{flag:"--dry-run"},{flag:"--plan-fingerprint"},{flag:"--limit",value_type:"number"},{flag:"--attributed-author",aliases:["--attributed_author"]},{flag:"--reviewer"},{flag:"--reason"}],Hb=[{flag:"--id",value_name:"item-id"},{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"}],LF=[{flag:"--verify",value_name:"file",value_type:"string"},{flag:"--output",value_name:"file",value_type:"string"},{flag:"--hash-algorithm",value_name:"name",value_type:"string"}],qb=[{flag:"--definition",value_name:"json"},{flag:"--policy",value_name:"id"},{flag:"--message",value_name:"value"},{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",value_type:"boolean"},{flag:"--to"},{flag:"--migration-id",aliases:["--migration_id"]},{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],Gb=[{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],zf=[{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"}],Bb=[{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"}],Wb=[{flag:"--value",value_name:"value"},{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"}],Hf=[{flag:"--dry-run"},{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"}],cn=[{flag:"--project"},{flag:"--local"},{flag:"--global"}],Vb=[...cn,{flag:"--capability"}],Mf=[...Hf,{flag:"--declarative"}],MF=[...Vb,{flag:"--declarative"}];var $F=[...cn,{flag:"--markdown"},{flag:"--output"}];var FF=[...cn,{flag:"--dry-run"}],jF=[...cn,{flag:"--runtime-probe"},{flag:"--fix-managed-state"}],UF=[...cn,{flag:"--watch"}],zF=[...cn,{flag:"--detail"},{flag:"--trace"},{flag:"--fix-managed-state"},{flag:"--isolated"},{flag:"--ignore-global"},{flag:"--strict-exit"},{flag:"--fail-on-warn"}],HF=[...cn,{flag:"--fields",list:!0}],qF=[...cn,{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],Kb=[{flag:"--dry-run"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],Jb=[{flag:"--dry-run"},{flag:"--cli-only"},{flag:"--packages-only"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--repair"},{flag:"--tag"},{flag:"--package-name"}];var Yb=[{flag:"--release-assignment",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{flag:"--reason",value_name:"value"},{flag:"--close-reason",value_name:"value"},{flag:"--completed-at",value_name:"value"},{flag:"--duplicate-of",value_name:"value"},{flag:"--author",value_name:"value"},{flag:"--message",value_name:"value"},{flag:"--validate-close",value_name:"off|warn|strict"},{flag:"--resolution",value_name:"value"},{flag:"--expected-result",aliases:["--expected_result","--expected"],value_name:"value"},{flag:"--actual-result",aliases:["--actual_result","--actual"],value_name:"value"},{flag:"--force",value_type:"boolean"}],Xb=[{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"},...xb,{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"}],Zb=[{flag:"--id",value_name:"item-id"},{flag:"--body",short:"-b"},{flag:"--text"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Qb=[{flag:"--start",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{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:"--include-gates"},{flag:"--include-containers"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--explain-ranking",aliases:["--explain_ranking"]}],ev=[{flag:"--id",value_name:"item-id"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],tv=[{flag:"--id",value_name:"item-id"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],nv=[{flag:"--pause",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],rv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],ov=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],iv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--validate-close",value_name:"off|warn|strict"},{flag:"--force"}],sv=[{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--tags"},{flag:"--priority"},{flag:"--body"},{flag:"--description"},{flag:"--author"},{flag:"--message"}],qf=[{flag:"--start"},{flag:"--duration"},{flag:"--end"},{flag:"--location"},{flag:"--timezone"},{flag:"--all-day"},...sv],av=qf,cv=[{flag:"--at"},{flag:"--text"},...sv],lv=[{flag:"--list"},{flag:"--id",value_name:"item-id"},{flag:"--add"},{flag:"--add-json"},{flag:"--remove"},{flag:"--remove-index",repeatable:!0},{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:"--workspace-context"},{flag:"--override-linked-workspace-context"},{flag:"--allow-untrusted-linked-tests"},{flag:"--acknowledge-linked-tests"},{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"}],dv=[{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:"--workspace-context"},{flag:"--override-linked-workspace-context"},{flag:"--allow-untrusted-linked-tests"},{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"}],uv=[{flag:"--limit"}];var fv=[{flag:"--dry-run"},{flag:"--scope"}],mv=[{flag:"--include-empty"},{flag:"--storage"},{flag:"--metadata-coverage"},{flag:"--field-utilization"},{flag:"--by-assignee"},{flag:"--by-tag"},{flag:"--by-priority"},{flag:"--tag-prefix"},{flag:"--analytics"}],pv=[{flag:"--exhaustive",value_type:"boolean"},{flag:"--status",repeatable:!0,list:!0},{flag:"--since"},{flag:"--threshold"},{flag:"--limit"}],_v=[{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"}],gv=[{flag:"--check-completeness",value_type:"boolean"},{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"}],Gf=[{flag:"--definition",value_name:"json"},{flag:"--trigger",value_name:"value"},{flag:"--tree",value_name:"value"},{flag:"--gate",value_name:"id"},{flag:"--limit",value_name:"number"},{flag:"--dry-run"},{flag:"--author",value_name:"value"},{flag:"--message",value_name:"value"},{flag:"--owner",value_name:"item-id"},{flag:"--apply",value_type:"boolean"},{flag:"--enforcement",value_name:"level"}],hv=[{flag:"--assignee"},{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--allow-unresolved-deps"},{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"}],yv=[{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"}],wv=[{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"]}],$f=[{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"},...hv,...yv,{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",aliases:["--linked-file"]},{flag:"--test",aliases:["--linked-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"}],bv=[{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"}],vv=[{flag:"--id",value_name:"item-id"},{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:"off|warn|strict"},{flag:"--lock-ttl-seconds",value_name:"n"},{flag:"--lock-wait-ms",value_name:"n"},{flag:"--dry-run"},{flag:"--force"},{flag:"--author",value_name:"value"}],kv=[{flag:"--id",value_name:"item-id"},{flag:"--status",value_name:"open|in_progress"},{flag:"--message",value_name:"value"},{flag:"--force"},{flag:"--author",value_name:"value"}],Ev=[{flag:"--id",value_name:"item-id"},{flag:"--title",value_name:"value"},{flag:"--author",value_name:"value"},{flag:"--message",value_name:"value"},{flag:"--allow-duplicate",value_type:"boolean"}],Sv=[{flag:"--id",value_name:"item-id"},{flag:"--clear"}],Tv=[{flag:"--id",value_name:"item-id"},{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"},...wv,...hv,{flag:"--fixed_version"},...yv,{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",aliases:["--linked-file"]},{flag:"--test",aliases:["--linked-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"}],Av=[{flag:"--status",short:"-s"},{flag:"--assignee"},{flag:"--parent"},{flag:"--blocked-by",aliases:["--blocked_by"]},{flag:"--blocked-reason",aliases:["--blocked_reason"]},{flag:"--unblock-note",aliases:["--unblock_note"]},{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"},...xb,{flag:"--dry-run"},{flag:"--rollback"},{flag:"--no-checkpoint"},{short:"-t",flag:"--title"},{short:"-d",flag:"--description"},{short:"-b",flag:"--body"},...wv,{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:"--allow-unresolved-deps"},{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"}],Ff=[{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"}],Iv=[{flag:"--id"},{flag:"--op"},{flag:"--author"},{flag:"--from"},{flag:"--to"},{flag:"--limit"},{flag:"--unbounded"},{flag:"--compact"},{flag:"--raw"},{flag:"--full"},{flag:"--provenance"},{flag:"--provenance-summary"},{flag:"--harness",repeatable:!0},{flag:"--agent-instance",repeatable:!0},{flag:"--provenance-filter",repeatable:!0},{flag:"--stream"}],Cv=[{flag:"--since"},{flag:"--type",repeatable:!0},{flag:"--author",repeatable:!0},{flag:"--item",repeatable:!0},{flag:"--limit",value_type:"number"},{flag:"--cursor-mode",value_name:"batch|row"},{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"}],jf=Uf([{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"])),Ov=[{flag:"--id",value_name:"item-id"},{flag:"--for",value_name:"intent"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--depth"},{flag:"--full",value_type:"boolean"},{flag:"--fields",list:!0},{flag:"--at"},{flag:"--tree"},{flag:"--tree-depth"},{flag:"--tree_depth"},{flag:"--format"}],xv=[{flag:"--list"},{flag:"--format"},{flag:"--depth"}],Rv=[{flag:"--id",value_name:"item-id"},{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}],Nv=[{flag:"--kind",list:!0},{flag:"--max-depth",description:`Maximum traversal depth; paths default to ${Hi.path_depth}.`},{flag:"--limit",description:`Maximum rows per collection; default ${Hi.rows}. Use --full to remove the row cap.`},{flag:"--after"},{flag:"--direction"},{flag:"--max-paths",description:`Maximum enumerated paths; default ${Hi.paths}.`},{flag:"--sample",description:`Maximum evidence examples per audit finding; default ${Hi.samples}.`},{flag:"--exempt-isolate",list:!0},{flag:"--exempt-isolate-type",list:!0},{flag:"--save-baseline"},{flag:"--rebuild"},{flag:"--clear"},{flag:"--summary"},{flag:"--full"}],Dv=[{flag:"--mode"},{flag:"--k"},{flag:"--fail-under"},{flag:"--queries"},{flag:"--format"}],an=[{flag:"--dry-run"},{flag:"--force"},{flag:"--author"},{flag:"--message"}],Pv=[],Lv=[{flag:"--include-decisions"},{flag:"--include-gates"},{flag:"--include-containers"},{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"]}],Mv=Uf([{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"},...Ob],new Set(["--highlight","--compact","--full","--fields","--format","--limit","--token-budget","--after"])),$v=[{flag:"--action"},{flag:"--command"},{flag:"--summary"},{flag:"--schema-only"},{flag:"--flags-only"},{flag:"--availability-only"},{flag:"--runtime-only"},{flag:"--active-only"},{flag:"--full"}],Fv=[{flag:"--eager-tags"}];var GF=["list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled"],BF=tc.filter(e=>e.flag!=="--status"&&e.flag!=="--all");function nc(e){let t=new Map;for(let n of e)for(let r of[n.flag,...n.aliases??[]]){let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}var WF=nc(zf),VF=nc(Gf),KF=new Map([["assurance",VF],["plan",WF],["workspace",nc(Pv)],["workspace snapshot",nc(an)]]);function jv(e=mo){return e.map(({command:t,parent:n,accepted_flags:r})=>{let o=KF.get(n);if(!o)throw new Error(`Positional action ${t} has no flag-contract index for ${n}.`);let i=r.map(s=>{let a=o.get(s)??[];if(a.length!==1)throw new Error(`Positional action ${t} accepted flag ${s} does not resolve to exactly one ${n} flag contract.`);return a[0]});return[t,i]})}var JF=jv(),zre=new Map([["list",tc],["list-all",tc],...GF.map(e=>[e,BF]),["templates",$f],["cal",Ff],["ctx",jf],["test-runs-worker",[]],["init",Bb],["config",Wb],["extension",Hf],["package",Mf],["packages",Mf],["install",Kb],["upgrade",Jb],["create",$f],["item",[]],["item mutate",bv],["item complete",vv],["item reopen",kv],["copy",Ev],["focus",Sv],["aggregate",Rb],["calendar",Ff],["context",jf],["get",Ov],["guide",xv],["search",Mv],["next",Lv],["eval",Dv],["workspace",an],["workspace position",Pv],["workspace snapshot",an],["workspace snapshot create",an],["workspace snapshot list",an],["workspace snapshot inspect",an],["workspace snapshot restore",an],["workspace snapshot delete",an],["history",$b],["history-redact",jb],["history-repair",Ub],["history-author-acknowledge",zb],["history-compact",Hb],["history-attest",LF],["merge",Fb],["schema",qb],["profile",Gb],["plan",zf],["activity",Iv],["events",Cv],["restore",ev],["update",Tv],["update-many",Av],["close",Yb],["close-many",Xb],["delete",tv],["append",Zb],["comments",Nb],["notes",Db],["learnings",Pb],["files",Lb],["docs",Mb],["deps",Rv],["graph",Nv],["test",lv],["test-all",dv],["telemetry",uv],["health",_v],["assurance",Gf],...JF,["validate",gv],["gc",fv],["stats",mv],["duplicates",pv],["contracts",$v],["completion",Fv],["claim",Qb],["release",nv],["start-task",rv],["pause-task",ov],["close-task",iv],["meet",qf],["event",av],["remind",cv]]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a14011f9-67eb-5cd6-b520-8e938ada4f1b")}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]="e216fd39-09ee-5a04-b0b5-44f518db4f93")}catch{}})();function qi(e){let t=e?.trim()??"";return/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(t)||/^(?:github|gitlab|jira|linear):/iu.test(t)}function po(e){let t=e?.trim().toLowerCase();return t==="global"||t==="external"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8d87a4e8-5853-52ca-8fdf-1433e2a9e75d")}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]="12a0ee7f-508d-5e6e-b59d-24bc0aba22aa")}catch{}})();var Uv=["production_defect","nightly_regression","scanner_finding","review_caught_late"];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06f5d0fa-6f34-5e3e-990b-2e3bc00364ca")}catch{}})();var rc={type:"string",pattern:"\\S"},Bf={type:"array",minItems:1,items:rc},Hv={type:"object",properties:Object.fromEntries(["files","package_names","item_ids","tags","error_codes"].map(e=>[e,{type:"array",items:{type:"string"}}]))},YF={type:"object",required:["id","version","title","owner_item_id","escape_class","triggers","checks","negative_control","historical_item_ids","budget"],properties:{id:rc,version:{type:"integer",minimum:1},title:rc,owner_item_id:rc,escape_class:{enum:Uv},triggers:{type:"object",properties:{...Object.fromEntries(["package_names","item_ids","tags","error_codes"].map(e=>[e,{type:"array",items:{type:"string"}}])),file_patterns:{type:"array",items:{type:"string",maxLength:256}}}},checks:{type:"object",required:["local","hosted"],properties:{local:Bf,hosted:Bf}},negative_control:{...Hv,minProperties:1},historical_item_ids:Bf,budget:{type:"object",required:["max_escape_rate","max_false_positive_rate"],properties:Object.fromEntries(["max_escape_rate","max_false_positive_rate"].map(e=>[e,{type:"number",minimum:0,maximum:1}]))}}},zv={oneOf:[{type:"number"},{type:"array",items:{type:"string"}}]},qv={if:{required:["field"]}};Reflect.set(qv,"then",{oneOf:[{required:["equals"]},{required:["state"]}]});var Gv={oneOf:[...[!0,!1].map(e=>({type:"object",additionalProperties:!1,required:e?["policy","change"]:["policy"],properties:{policy:{type:"object",required:["version","evidence_epoch","families"],properties:{version:{const:1},evidence_epoch:{type:"string",format:"date-time"},families:{type:"array",items:YF}},additionalProperties:!1},...e?{change:{...Hv,additionalProperties:!1}}:{uncoveredOnly:{type:"boolean"}},limit:{type:"integer",minimum:1,maximum:100},cursor:{type:"string",minLength:1}}})),{type:"object",additionalProperties:!1,required:["id","source"],properties:{id:{type:"string",minLength:1},description:{type:"string"},max_cost:{type:"number",minimum:0},source:{oneOf:[{type:"object",additionalProperties:!1,required:["kind"],allOf:[qv],properties:{kind:{const:"items"},statuses:{type:"array",items:{type:"string"}},types:{type:"array",items:{type:"string"}},tags:{type:"array",items:{type:"string"}},field:{type:"string"},equals:{type:["string","number","boolean","null"]},state:{enum:["present","missing"]}}},{type:"object",additionalProperties:!1,required:["kind","dependency_kind"],properties:{kind:{const:"dependency_kind"},dependency_kind:{type:"string",minLength:1}}},{type:"object",required:["kind","operation","field"],properties:{kind:{const:"graph"},operation:{type:"string",minLength:1},field:{type:"string",minLength:1},parameters:{type:"object"}},additionalProperties:!1},...["validate","health"].map(e=>({type:"object",required:["kind","check","field"],properties:{kind:{const:e},check:{type:"string",minLength:1},field:{type:"string",minLength:1}},additionalProperties:!1})),{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{const:"history"},op:{type:"string"},author:{type:"string"},harness:{type:"string"},model:{type:"string"}}},{type:"object",additionalProperties:!1,required:["kind","link","state"],properties:{kind:{const:"links"},link:{enum:["files","tests","docs"]},state:{enum:["present","missing"]}}},{type:"object",additionalProperties:!1,required:["kind","provider","key"],properties:{kind:{const:"provider"},provider:{type:"string",minLength:1},key:{type:"string",minLength:1},parameters:{type:"object"}}},{type:"object",additionalProperties:!1,required:["kind","expression"],properties:{kind:{const:"derived"},expression:{type:"object",minProperties:1}}}]}}},{type:"object",additionalProperties:!1,required:["id","measurement_id","owner_item_id","scope","enforcement","negative_control"],oneOf:[{required:["ceiling"]},{required:["floor"]},{required:["equals"]},{required:["zero"]},{required:["monotone_nondecreasing"]},{required:["monotone_nonincreasing"]},{required:["subset_of"]}],allOf:[{oneOf:[{not:{required:["lifetime"],properties:{lifetime:{const:"retire"}}}},{required:["lifetime","retire_reason"],properties:{lifetime:{const:"retire"},retire_reason:{type:"string",minLength:1}}}]}],properties:{id:{type:"string",minLength:1},measurement_id:{type:"string",minLength:1},owner_item_id:{type:"string",minLength:1},scope:{oneOf:[{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{enum:["all","active"]}}},{type:"object",additionalProperties:!1,required:["kind","measurement_id"],properties:{kind:{const:"filter"},measurement_id:{type:"string",minLength:1}}}]},ceiling:{type:"number"},floor:{type:"number"},equals:zv,zero:{const:!0},monotone_nondecreasing:{type:"number"},monotone_nonincreasing:{type:"number"},subset_of:{type:"array",items:{type:"string"}},lifetime:{enum:["hold","retire"]},retire_reason:{type:"string",minLength:1},enforcement:{enum:["block","warn","observe"]},authorization_decision:{type:"string",minLength:1},negative_control:{type:"object",additionalProperties:!1,required:["cases"],properties:{cases:{type:"array",minItems:2,items:{type:"object",additionalProperties:!1,required:["observed","expected"],properties:{observed:zv,expected:{enum:["pass","fail"]}}}}}}}},{type:"object",additionalProperties:!1,required:["id","assertion_ids","triggers"],properties:{id:{type:"string",minLength:1},description:{type:"string"},assertion_ids:{type:"array",minItems:1,items:{type:"string",minLength:1}},triggers:{type:"array",minItems:1,items:{enum:["pre-commit","pre-push","pre-merge","ci","pre-release","post-release","scheduled","on-claim","on-close"]}},provider_policy:{type:"object",additionalProperties:!1,required:["allowed_providers","triggers"],properties:{allowed_providers:{type:"array",items:{type:"string",minLength:1}},triggers:{type:"object",additionalProperties:{type:"object",additionalProperties:!1,required:["max_cost_class","allow_network"],properties:{max_cost_class:{enum:["low","medium","high"]},allow_network:{type:"boolean"}}}}}}}}]};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a1a65d4a-ac34-501a-bf27-74fa4fc2cfad")}catch{}})();var Wf={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:{anyOf:[{type:"integer",minimum:1},{const:"unbounded"}]},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:da,items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"}}}}]},outputCursor:{type:"string",minLength:1},outputRowContract:{type:"boolean"},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"},allowUnresolvedDeps:{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"},cursorMode:{type:"string",enum:["batch","row"]},exhaustive:{type:"boolean"},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"},owner:{type:"string"},enforcement:{type:"string"},assignee:{type:"string"},assigneeFilter:{type:"string",enum:["assigned","unassigned"]},parent:{type:"string"},reviewer:{type:"string"},attributedAuthor:{type:"string"},planFingerprint:{type:"string",pattern:"^[a-f0-9]{64}$"},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"},raw:{type:"boolean"},brief:{type:"boolean"},full:{type:"boolean"},includeEmpty:{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"}]},removeIndex:{type:"array",items:{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","none"]},overrideLinkedPmContext:{type:"boolean"},workspaceContext:{type:"string",enum:["source","isolated","snapshot"]},overrideLinkedWorkspaceContext:{type:"boolean"},allowUntrustedLinkedTests:{type:"boolean"},acknowledgeLinkedTests:{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"},checkCompleteness:{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"},normalizeProvenance:{type:"boolean"},salvageTail:{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"},ifAbsent:{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"},includeGates:{type:"boolean"},includeContainers:{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"},treeId:{type:"string",minLength:1},definition:{type:"object"},trigger:{type:"string",enum:["pre-commit","pre-push","pre-merge","ci","pre-release","post-release","scheduled","on-claim","on-close"]},gate:{type:"string",minLength:1},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"}},explain:{type:"boolean"},lines:{type:"string",pattern:"^[1-9]\\d*:[1-9]\\d*$"},decisionDepth:{type:"integer",minimum:1,maximum:32},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"},setMode:{type:"string",enum:["element","tuple"]},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"}},Bv={schema:{definition:{type:["object","string"]}},assurance:{definition:Gv,kind:{type:"string",enum:["measurement","assertion","gate"]},subcommand:{type:"string",enum:["list","show","put","remove","run","verdicts","presets","apply","derive","promote","risk","lineages"]},preset:{type:"string",enum:["software-delivery","research","agent-evaluation","operations"]},enforcement:{type:"string",enum:["warn","block"]},limit:{type:"integer",minimum:1,maximum:1e3}},activity:{harness:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},"update-many":{ids:{anyOf:[{type:"string"},{type:"number"},{type:"array",items:{anyOf:[{type:"string"},{type:"number"}]}}]}},"close-many":{ids:{anyOf:[{type:"string"},{type:"number"},{type:"array",items:{anyOf:[{type:"string"},{type:"number"}]}}]}},"history-compact":{ids:{anyOf:[{type:"string"},{type:"number"},{type:"array",items:{anyOf:[{type:"string"},{type:"number"}]}}]}},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}}},XF=["create","show","add-step","update-step","complete-step","block-step","reorder-step","remove-step","link","unlink","decision","discovery","validation","resume","approve","materialize"],Vf={subcommand:{type:"string",enum:[...XF]},stepRef:{type:"string"},reorderTo:{anyOf:[{type:"string"},{type:"number"}]},scope:{type:"string"},harness:{type:"string",enum:[...Hm]},mode:{type:"string",enum:[...zm]},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:[..._s]},stepEvidence:{type:"string"},stepBlockedReason:{type:"string"},stepReplacement:{type:"string"},dependsOn:{type:"string"},link:{type:"string"},linkKind:{type:"string",enum:[...qm]},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"}}]}},Kf={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"]}},Wv={includeGates:{description:"Opt next or claim-next into outcome gates. Blocker and ownership restrictions still apply."},includeContainers:{description:"Opt next or claim-next into containers with unfinished descendants. Blocker and ownership restrictions still apply."},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, or unbounded to disable the shared ceiling.",examples:[600,1200,"unbounded"]},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:[]}]},outputCursor:{description:"Opaque continuation cursor returned when a declared row collection is compacted by the output budget."},outputRowContract:{description:"Include the row selector and TOON row-encoding contract on a read result."},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"]},treeId:{description:"Commit, tree, snapshot, or immutable workspace identity judged by an assurance gate.",examples:["0123456789abcdef","release-candidate-3"]},definition:{description:"Structured measurement, assertion, or gate declaration used by assurance put."},trigger:{description:"Lifecycle trigger used to evaluate an assurance gate.",examples:["ci","pre-release"]},gate:{description:"Stable assurance gate id used to filter durable verdict history.",examples:["release-readiness"]},owner:{description:"pm item that owns preset or observation-derived assurance assertions.",examples:["pm-a1b2"]},enforcement:{description:"Explicit next assurance enforcement level.",examples:["warn","block"]},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."},allowUnresolvedDeps:{description:"Permit unresolved local dependency targets while returning dependency_target_unresolved warning receipts. Cross-workspace references should use source_kind=external instead.",examples:[!0]},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"]},exhaustive:{description:"Compare every duplicate pair within the disclosed safety bound; default prefix filtering preserves exact recall."},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; the mutation fails atomically if any selector is unmatched (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"]]},planFingerprint:{description:"Exact SHA-256 returned by a history-author-acknowledge dry-run preview; apply refuses stale or changed source coordinates.",examples:["0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"]},estimate:{description:"Estimated effort in minutes.",examples:[60,"120"]},acceptanceCriteria:{description:"Complete acceptance-criteria text supplied while creating or replacing an item field."},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."},ifAbsent:{description:"For annotations, append only when no existing entry has the same resolved author and exact stored text; retries return changed false without a history event."},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"]]},explain:{description:"Include ranked linked-file, rationale, and governing-decision evidence for a files lookup."},lines:{description:"Inclusive start:end source-line range for Git contribution attribution; requires one lookup path.",examples:["10:24"]},decisionDepth:{description:"Maximum typed relationship depth searched for a governing Decision during files lookup.",examples:[8]},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"]},removeIndex:{description:"Remove linked tests by their 1-based positions from pm test <id> --list order; repeatable and lossless for commands containing commas or equals signs.",examples:[[1],["2","4"]]},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 commands; none omits PM_PATH for self-isolating SDK tests in isolated or snapshot workspaces).",examples:["schema","tracker","auto","none"]},overrideLinkedPmContext:{description:"Force run-level --pm-context to override per-linked-test pm_context_mode metadata for all linked-test entries."},workspaceContext:{description:"Source-workspace mode: source preserves read-only source context, isolated omits it for self-sandboxing commands, and snapshot runs from a temporary workspace paired with the selected tracker sandbox.",examples:["source","isolated","snapshot"]},overrideLinkedWorkspaceContext:{description:"Force run-level --workspace-context over per-linked-test workspace_context_mode metadata."},allowUntrustedLinkedTests:{description:"Explicitly execute commands not yet trusted by this clone when testing.allow_untrusted_linked_tests is also enabled."},acknowledgeLinkedTests:{description:"Record clone-local trust for the item's current linked commands without executing them."},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."},normalizeProvenance:{description:"For history-repair: remove invalid legacy provenance observations and emit only aggregate privacy-safe repair evidence."},salvageTail:{description:"For history-repair with one explicit id: remove an invalid trailing suffix after a verified prefix; refuses interior corruption."},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."},checkCompleteness:{description:"Evaluate declarative lifecycle field requirements, with per-type counts and bounded missing-field diagnostics."},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:"Apply the selected capability's strict exit policy; health also requires merge drivers."},failOnWarn:{description:"Alias for strictExit in health, validation, history, and managed doctor actions."},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."},raw:{description:"For activity, restore the compact per-event stream instead of the default item digest."},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."},includeEmpty:{description:"For stats, restore zero-count registered type and lifecycle-status buckets."},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"]},setMode:{description:"Aggregate array dimensions by distinct element (default), or by the complete normalized tuple. Empty sets retain a null group.",examples:["element","tuple"]},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:"Opaque action-specific continuation cursor returned by the preceding bounded query.",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"]}},Vv={health:{strictExit:{description:"Return non-zero for a failing health verdict; also require merge drivers."}},validate:{strictExit:{description:"Return non-zero when validation reports warnings."}},"extension-doctor":{strictExit:{description:"Return non-zero when extension diagnostics report warnings or a non-ok summary."}},"package-doctor":{strictExit:{description:"Return non-zero when package diagnostics report warnings or a non-ok summary."}},history:{strictExit:{description:"Return non-zero for history verification failures when verify is enabled."}},extension:{strictExit:{description:"For doctor operations, return non-zero on warnings or a non-ok diagnostic summary."}},package:{strictExit:{description:"For doctor operations, return non-zero on warnings or a non-ok diagnostic summary."}},assurance:{subcommand:{description:"Assurance operation: list, show, put, remove, run, verdicts, presets, apply, derive, promote, risk, or lineages.",examples:["list","run","risk","lineages"]},kind:{description:"Assurance declaration kind for registry operations: measurement, assertion, or gate.",examples:["measurement","assertion","gate"]},id:{description:"Stable assurance declaration id or gate id, depending on subcommand.",examples:["active-issues","release-readiness"]},limit:{description:"Maximum number of newest assurance verdicts returned.",examples:[10,25]},preset:{description:"Built-in assurance project shape to preview or apply.",examples:["software-delivery","agent-evaluation"]}},update:{acceptanceCriteria:{description:"Complete acceptance-criteria replacement text. Use removeAc plus addAc together for an atomic one-entry repair that preserves unrelated criteria."}},"update-many":{acceptanceCriteria:{description:"Complete acceptance-criteria replacement text. Use removeAc plus addAc together for an atomic one-entry repair that preserves unrelated criteria."}},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]},cursorMode:{description:"Cursor framing: batch returns one terminal next_cursor (default); row also adds a cursor to every event.",examples:["batch","row"]}},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."},ifAbsent:{description:"Append a comment only when the resolved author and exact stored text are absent; a duplicate retry returns changed false without writing history."}},notes:{full:{description:"Return the complete post-mutation note history instead of the bounded mutation receipt projection."},ifAbsent:{description:"Append a note only when the resolved author and exact stored text are absent; a duplicate retry returns changed false without writing history."},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."},ifAbsent:{description:"Append a learning only when the resolved author and exact stored text are absent; a duplicate retry returns changed false without writing history."}},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:{definition:{description:"Workflow policy declaration for policy-put, or proposed item fields for policy-check."},policy:{description:"Declared approval rule id for policy-approve."},name:{description:"Custom item type name, status id, field key, policy id, or item id for the selected schema verb; policy-mode requires advise|refuse.",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]="415b46ad-d836-5593-8b6d-af08bbaba0c2")}catch{}})();var QF={...Bv,"history-attest":{verify:{type:"object",additionalProperties:!0},output:{not:{}}}},oc={...Wf,pause:{type:"boolean"},releaseAssignment:{type:"boolean"},hashAlgorithm:{type:"string",enum:["sha256","sha512"]}},sc={...Wv,pause:{description:"Return work to its configured open status before releasing ownership."},releaseAssignment:{description:"Release assignment after recording closure evidence."},hashAlgorithm:{description:"Digest for detached history bundles; defaults to sha256."}},ej=["json","quiet","profile","noExtensions","noPager","tokenAccounting","path","pmExecutable","timeoutMs"],tj=["outputInclude","outputLimit","outputBudget","outputFormat","outputSession","outputCursor","outputRowContract"],nj=new Set(["action","cwd","options",...Object.keys(oc).filter(e=>e!=="severity")]);var rj={create:["fullChangedFields","idOnly"],copy:["fullChangedFields","idOnly"],update:["fullChangedFields","idOnly"],"item-reopen":["fullChangedFields","idOnly"],close:["fullChangedFields","idOnly"],claim:["fullChangedFields","idOnly"],release:["fullChangedFields","idOnly"],"start-task":["fullChangedFields","idOnly"],"pause-task":["fullChangedFields","idOnly"],"close-task":["fullChangedFields","idOnly"],restore:["fullChangedFields","idOnly"],append:["fullChangedFields"],"update-many":["fullChangedFields"],"close-many":["fullChangedFields"],assurance:["fullChangedFields","idOnly"]},ek=["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"],moe=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(Tn.filter(e=>e==="upgrade"||e==="install"||e==="extension"||e==="package"||e.startsWith("extension-")||e.startsWith("package-")).map(e=>[e,["project","local","global"]]))});function st(e){return Lf(e)}var oj=st([...If.map(e=>e.param),...ec.map(e=>e.param),"assignee","closeReason","completedAt"]),tk=st([...Cf.map(e=>e.param),...ec.map(e=>e.param),"force"]),ij=st([...xf.map(e=>e.param),...tk.filter(e=>e!=="allowMissingParent"&&e!=="completedAt"),"dryRun","rollback","noCheckpoint"]),sj=st([...Rf.map(e=>e.param),"reason","completedAt","resolution","expectedResult","actualResult","validateClose","dryRun","rollback","noCheckpoint","author","message","force"]),Kv=st([...Df.map(e=>e.param),"past","section"]),aj=st([...Nf.map(e=>e.param),"stream"]),Jf=st([...Sf.map(e=>e.param),"all","includeBody","noTruncate","strictRead","compact","brief","full"]),_o=Jf.filter(e=>e!=="all"&&e!=="status"),$n=[[{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"}}]],cj=[[{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}}]],lj=st([...Tf.map(e=>e.param),"count","completion","includeUnparented"]),dj=st(["query","keywords","mode","semantic","hybrid","includeLinked","titleExact","phraseExact","highlight","compact","full",...Af.map(e=>e.param)]),Jv=st(["type","tag","priority","assignee","assigneeFilter","sprint","release","parent","limit","blockedLimit","readyOnly","format","includeDecisions","includeGates","includeContainers","tokenBudget","explainRanking"]),Xe=["author","message","force"],nk=["releaseAssignment","text","reason","closeReason","completedAt","duplicateOf","validateClose","resolution","expectedResult","actualResult"],Gi=["author","assignee","message","force"],uj=["dryRun","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 Yv(e){return{[`${e}-init`]:{required:["target"],optional:["scope","capability",...e==="package"?["declarative"]:[]]},[`${e}-install`]:{optional:["target","github","scope","ref","dryRun"],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:uj,dependentAnyOfRequired:[{property:"dryRun",value:!0,anyOfRequired:[["install","target"],["install","github"]]}],mutuallyExclusiveWhen:[[{property:"dryRun",schema:{const:!0}},{property:"install",schema:{const:!1}}]]}}}var Xv={required:["title"],optional:["start","duration","end","location","timezone","allDay","parent","allowMissingParent","tags","priority","body","description","author","message"]},Zv={optional:["target","scope","dryRun","cliOnly","packagesOnly","repair","tag","packageName"]},ic={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"]},...Yv("extension"),...Yv("package"),"package-upgrade":Zv,install:{optional:["target","github","scope","ref","dryRun"],anyOfRequired:[["target"],["github"]]},upgrade:Zv,create:{required:["title","description","type","status","priority","message"],optional:oj},copy:{required:["id"],optional:["title","author","message","allowDuplicate"]},focus:{optional:["id","clear"],mutuallyExclusive:[["id","clear"]]},list:{optional:Jf,mutuallyExclusiveWhen:$n},"list-all":{optional:Jf,mutuallyExclusiveWhen:$n},"list-draft":{optional:_o,mutuallyExclusiveWhen:$n},"list-open":{optional:_o,mutuallyExclusiveWhen:$n},"list-in-progress":{optional:_o,mutuallyExclusiveWhen:$n},"list-blocked":{optional:_o,mutuallyExclusiveWhen:$n},"list-closed":{optional:_o,mutuallyExclusiveWhen:$n},"list-canceled":{optional:_o,mutuallyExclusiveWhen:$n},aggregate:{optional:lj},guide:{optional:["list","format","depth"]},context:{optional:Kv},ctx:{optional:Kv},get:{required:["id"],optional:["for","tokenBudget","at","depth","full","fields","tree","treeDepth","format"]},search:{optional:dj,anyOfRequired:[["query"],["keywords"]]},eval:{optional:["mode","k","failUnder","queries","format"]},events:{optional:["since","type","author","item","limit","full","provenance","provenanceSummary","harness","agentInstance","provenanceFilter","cursorMode"]},merge:{required:["subcommand"],optional:["dryRun","author","message","force","includeReconciled","artifact","basePath","oursPath","theirsPath","output","outputPath","itemPath","prefer"]},workspace:{required:["subcommand"],optional:["snapshotAction","name","target","dryRun","force","author","message","lockTtlSeconds","lockWaitMs"],conditionalRequired:[{property:"subcommand",value:"snapshot",required:["snapshotAction"]}]},meet:Xv,event:Xv,remind:{required:["title"],optional:["at","text","parent","allowMissingParent","tags","priority","body","description","author","message"]},next:{optional:[...Jv,"for"]},reindex:{optional:["mode","progress"]},history:{required:["id"],optional:["limit","compact","full","provenance","provenanceSummary","harness","agentInstance","provenanceFilter","diff","verify","field","strictExit","failOnWarn","format"]},"history-attest":{optional:["verify","output","hashAlgorithm"],mutuallyExclusive:[["verify","hashAlgorithm"]]},"history-redact":{required:["id"],optional:["literal","regex","replacement","dryRun",...Xe],anyOfRequired:[["literal"],["regex"]]},"history-repair":{optional:["id","all","dryRun","normalizeProvenance","salvageTail",...Xe],oneOfRequired:[["id"],["all"]],mutuallyExclusiveWhen:[[{property:"salvageTail",schema:{const:!0}},{property:"all",schema:{const:!0}}],[{property:"salvageTail",schema:{const:!0}},{property:"normalizeProvenance",schema:{const:!0}}]]},"history-author-acknowledge":{optional:["historyEvent","allActionable","dryRun","planFingerprint","limit","attributedAuthor","reviewer","reason"],oneOfRequired:[["historyEvent"],["allActionable"]]},"history-compact":{optional:["id","before","ids","allOver","closed","allStreams","minEntries","dryRun",...Xe]},schema:{mutuallyExclusiveWhen:[[{property:"subcommand",schema:{const:"policy-mode"}},{property:"name",schema:{not:{enum:["advise","refuse"]}}}]],required:["subcommand"],optional:["definition","policy","message","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:"policy-put",required:["definition"]},{property:"subcommand",value:"policy-remove",required:["name"]},{property:"subcommand",value:"policy-mode",required:["name"]},{property:"subcommand",value:"policy-check",required:["name"]},{property:"subcommand",value:"policy-approve",required:["name","policy"]},{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",...ek,"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",...Xe]},activity:{optional:aj},restore:{required:["id","target"],optional:Xe},update:{required:["id"],optional:tk,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},"update-many":{optional:ij,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},close:{required:["id"],optional:[...nk,...Xe]},"close-many":{optional:sj},delete:{required:["id"],optional:["dryRun",...Xe]},append:{required:["id","body"],optional:Xe},comments:{required:["id"],optional:["text","add","stdin","edit","delete","limit","full","ifAbsent",...Xe],mutuallyExclusive:[["edit","ifAbsent"],["delete","ifAbsent"]]},notes:{required:["id"],optional:["text","add","addJson","stdin","edit","delete","limit","since","eventType","includeMeta","full","ifAbsent",...Xe],mutuallyExclusive:[["addJson","add"],["addJson","stdin"],["addJson","file"],["addJson","edit"],["addJson","delete"],["edit","ifAbsent"],["delete","ifAbsent"]]},learnings:{required:["id"],optional:["text","add","stdin","edit","delete","limit","full","ifAbsent",...Xe],mutuallyExclusive:[["edit","ifAbsent"],["delete","ifAbsent"]]},files:{required:[],optional:["id","add","addGlob","remove","migrate","list","addNote","discover","apply","discoveryNote","appendStable","validatePaths","lookupPath","scope","limit","offset","noTruncate","strictRead","explain","lines","decisionDepth",...Xe],anyOfRequired:[["id"],["lookupPath"]],dependentAnyOfRequired:[{property:"addNote",anyOfRequired:[["add"],["addGlob"]]}]},docs:{required:["id"],optional:["add","addGlob","remove","migrate","addNote","list","validatePaths",...Xe],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:["list","add","addJson","remove","removeIndex","run","match","onlyIndex","onlyLast","background","timeout","progress","envSet","envClear","sharedHostSafe","pmContext","overrideLinkedPmContext","workspaceContext","overrideLinkedWorkspaceContext","allowUntrustedLinkedTests","acknowledgeLinkedTests","failOnContextMismatch","failOnSkipped","failOnEmptyTestRun","requireAssertionsForPm","checkContext","autoPmContext","measure","metricBelow","metricDiff",...Xe],mutuallyExclusive:[["acknowledgeLinkedTests","run"],["acknowledgeLinkedTests","background"]]},"test-all":{optional:["status","limit","offset","background","timeout","progress","envSet","envClear","sharedHostSafe","pmContext","overrideLinkedPmContext","workspaceContext","overrideLinkedWorkspaceContext","allowUntrustedLinkedTests","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:["includeEmpty","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","exhaustive"]},health:{optional:["strictDirectories","requireMergeDrivers","strictExit","failOnWarn","checkOnly","checkTelemetry","noRefresh","refreshVectors","verboseStaleItems","verboseAuthorEvents","brief","summary","skipVectors","skipIntegrity","skipDrift","full"]},validate:{optional:["checkCompleteness","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"]},assurance:{required:["subcommand"],optional:["kind","id","definition","trigger","treeId","gate","limit","dryRun","author","message","preset","owner","apply","enforcement"],conditionalRequired:[{property:"subcommand",value:"list",required:["kind"]},{property:"subcommand",value:"show",required:["kind","id"]},{property:"subcommand",value:"put",required:["kind","id","definition"]},{property:"subcommand",value:"remove",required:["kind","id"]},{property:"subcommand",value:"run",required:["id","trigger"]},{property:"subcommand",value:"apply",required:["preset","owner"]},{property:"subcommand",value:"derive",required:["owner"]},{property:"subcommand",value:"risk",required:["definition"]},{property:"subcommand",value:"lineages",required:["definition"]},{property:"subcommand",value:"promote",required:["id","enforcement"]}],mutuallyExclusiveWhen:[[{property:"subcommand",schema:{const:"risk"}},{property:"definition",schema:{not:{required:["policy","change"]}}}],[{property:"subcommand",schema:{const:"lineages"}},{property:"definition",schema:{anyOf:[{required:["change"]},{not:{required:["policy"]}}]}}]]},gc:{optional:["dryRun","gcScope"]},contracts:{optional:["contractAction","command","summary","schemaOnly","flagsOnly","availabilityOnly","runtimeOnly","activeOnly","full"],mutuallyExclusiveWhen:cj},completion:{required:["shell"],optional:["eagerTags"]},claim:{optional:["start","id","next","ifAvailable","maxAttempts","includeDecisions",...Jv,...Gi],oneOfRequired:[["id"],["next"]],mutuallyExclusiveWhen:[[{property:"start",schema:{const:!0}},{property:"next",schema:{const:!0}}],[{property:"start",schema:{const:!0}},{property:"ifAvailable",schema:{const:!0}}]]},release:{required:["id"],optional:["pause",...Gi]},"start-task":{required:["id"],optional:Gi},"pause-task":{required:["id"],optional:Gi},"close-task":{required:["id"],optional:["text","validateClose",...Gi]},"item-reopen":{required:["id","reason"],optional:["status","author","message","force"]}},fj=Object.freeze(Object.fromEntries(Tn.map(e=>[e,ic[e]])));function rk(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").trim().replace(/^./,t=>t.toUpperCase()).concat(".")}function mj(e,t){let n=typeof t=="object"&&t!==null?{...t}:{},r=sc[e];return{...n,description:r?.description??rk(e),...r?.examples?{examples:r.examples}:{}}}function pj(e,t){if(e==="history-attest"&&t==="verify")return{description:"Compare all retained history streams with a detached JSON proof object. Server-local proof paths are not accepted over MCP."};if(e==="history-attest"&&t==="output")return{description:"Local CLI/SDK only. MCP rejects this field; save the returned JSON bundle on the client."};if(e==="claim"&&t==="start")return{description:"Claim an explicit item and move it to its configured in-progress status."};if((e==="list"||e.startsWith("list-"))&&t==="all")return{description:"Return items from every lifecycle status instead of the default active-status set."};if(e==="plan"&&Object.prototype.hasOwnProperty.call(Kf,t))return Kf[t];let n=Vv[e];return n&&Object.prototype.hasOwnProperty.call(n,t)?n[t]:sc[t]}function _j(e,t,n){let r=typeof n=="object"&&n!==null?{...n}:{},o=pj(e,t);return{...r,description:o?.description??rk(t),...o?.examples?{examples:o.examples}:{}}}function gj(e,t){if(e==="claim"&&t==="start")return{type:"boolean"};let n=QF[e];return n&&Object.prototype.hasOwnProperty.call(n,t)?n[t]:e==="plan"&&Object.prototype.hasOwnProperty.call(Vf,t)?Vf[t]:(e==="get"||e==="history"||e==="search")&&t==="format"?{type:"string",enum:["json","toon"]}:t==="pause"||t==="releaseAssignment"||t==="hashAlgorithm"?oc[t]:Wf[t]}function hj(e,t){let n={action:{const:e,description:sc.action?.description??"Tool action to execute."}};for(let r of t){if(r==="action")continue;let o=gj(e,r);o&&(n[r]=_j(e,r,o))}return n}function yj(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 Qv(e,t){return{...t===void 0?{}:{properties:{[e]:{const:t}}},required:[e]}}function wj(e){let t=[];if(e.conditionalRequired&&e.conditionalRequired.length>0)for(let n of e.conditionalRequired)t.push({if:Qv(n.property,n.value),then:{required:n.required}});if(e.dependentAnyOfRequired&&e.dependentAnyOfRequired.length>0)for(let n of e.dependentAnyOfRequired)t.push({if:Qv(n.property,n.value),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:st(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 ok(e){if(!Object.prototype.hasOwnProperty.call(ic,e))return;let t=ic[e],n=rj[e]??[];return st(["action",...ej,...Jo(e)!==void 0?tj:[],...n,...t.required??[],...t.optional??[]])}function bj(e){let t=ic[e],n=st(t.required??[]),r=ok(e),o={type:"object",additionalProperties:!1,required:["action",...n],title:`pm action "${e}" parameters`,properties:hj(e,r)};t.anyOfRequired&&t.anyOfRequired.length>0&&(o.anyOf=t.anyOfRequired.map(s=>({required:[...s]}))),t.oneOfRequired&&t.oneOfRequired.length>0&&(o.oneOf=yj(e,t.oneOfRequired));let i=wj(t);return i.length>0&&(o.allOf=i),o}function ik(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 Yf="4.20.0",sk=Yf.split(".")[0],ak="1.9.0",vj=ik(()=>({$schema:"https://json-schema.org/draft/2020-12/schema",$id:`https://schema.unbrained.dev/pm-cli/tool-parameters-v${sk}.schema.json`,title:"pm-cli tool parameters (action-scoped strict schema)","x-schema-version":Yf,type:"object",oneOf:Tn.map(e=>bj(e))}));function kj(e,t){let n=mj(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 Ej(){let e={action:{type:"string",description:sc.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(oc).sort())e[t]=kj(t,oc[t]);return{title:"pm-cli tool parameters (provider-compatible flat schema)","x-schema-version":ak,type:"object",additionalProperties:!1,required:["action"],properties:e}}var Sj=ik(Ej);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="48efaa37-f28e-5f2a-a033-456bee15e294")}catch{}})();var woe=new Set([...Wg,...Vg]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="92c17dbe-3868-5fa5-a873-0744d3e7ca8e")}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]="7ffd5046-9154-52e7-94ce-192b07b8ceae")}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]="e3e1f9c6-6824-524d-9800-c4e031a71f3e")}catch{}})();var Pj=new Set(["comment","note","learning","reminder","event","dep","depRemove","dep_remove","file","doc","test","unset","addGlob","add_glob","migrate","envSet","env_set","envClear","env_clear"]),Aie=new Set([...Pj].filter(e=>e!=="file"));(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fd8c4c35-98bb-5f3b-927d-8696125af703")}catch{}})();var Lj="2026-07-15T06:22:12.276Z",Mj=Date.parse(Lj),$j=[["attributed","attributed"],["legacy_unknown","actionable_unknown"]],lk=e=>typeof e=="string"?e:"",Fj=e=>{let t=e??{},n=lk(t.author).trim().toLowerCase(),r=Number(["","unknown"].includes(n)),o=+(Date.parse(lk(t.ts))>=Mj);return $j[r][o]};function jj(e,t,n=20,r=new Set,o=!1){let i=[],s=[],a={legacy_unknown:0,actionable_unknown:0},c=Math.max(0,n),l=0,d=0,u=0;for(let[f,m]of t.split(/\r?\n/).entries()){let p;try{p=JSON.parse(m)}catch{continue}l+=1;let w=Fj(p);if(w!=="attributed"){if(d+=1,w==="actionable_unknown"&&r.has(`${e}:${f+1}`)){u+=1;continue}a[w]+=1,o&&w==="actionable_unknown"&&s.push({item_id:e,line:f+1}),i.length<c&&i.push({item_id:e,line:f+1})}}return{checked_events:l,unknown_event_count:d,legacy_unknown_event_count:a.legacy_unknown,actionable_unknown_event_count:a.actionable_unknown,acknowledged_actionable_event_count:u,samples:i,samples_truncated:a.legacy_unknown+a.actionable_unknown>i.length,actionable_events:s}}function Uj(e){let t=new Set;for(let n of e.split(/\r?\n/)){let r;try{r=JSON.parse(n)}catch{continue}let i=(typeof r=="object"&&r!==null&&typeof r.context=="object"&&r.context!==null?r.context:{}).author_acknowledgment;if(!(typeof i!="object"||i===null||!Array.isArray(i.events)))for(let s of i.events)typeof s=="object"&&s!==null&&typeof s.item_id=="string"&&Number.isSafeInteger(s.line)&&t.add(`${s.item_id}:${String(s.line)}`)}return t}var ac=async(e,t=20,n=!1)=>{let r=Zf.join(e,"history"),o;try{o=(await Xf.readdir(r)).filter(b=>b.endsWith(".jsonl")).sort((b,v)=>b.localeCompare(v))}catch{o=[]}let i=new Set,s=[],a=[],c=0,l=0,d=0,u=0,f=0,m=0,p="_workspace.jsonl",w=new Set;if(o.includes(p))try{w=Uj(await Xf.readFile(Zf.join(r,p),"utf8"))}catch{w=new Set}for(let b of o){let v;try{v=await Xf.readFile(Zf.join(r,b),"utf8")}catch{continue}let I=b.slice(0,-6),A=jj(I,v,t-s.length,w,n);c+=1,l+=A.checked_events,d+=A.unknown_event_count,u+=A.legacy_unknown_event_count,f+=A.actionable_unknown_event_count,m+=A.acknowledged_actionable_event_count,A.unknown_event_count>0&&i.add(I),s.push(...A.samples),n&&a.push(...A.actionable_events)}let h=u+f;return{checked_streams:c,checked_events:l,unknown_event_count:d,legacy_unknown_event_count:u,actionable_unknown_event_count:f,acknowledged_actionable_event_count:m,affected_item_ids:[...i].sort((b,v)=>b.localeCompare(v)),samples:s,samples_truncated:h>s.length,...n?{actionable_events: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]="f7999053-cf48-5588-b8c8-570789086dac")}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]="e3a1e65b-55d7-5206-b3e7-cac3ac29745c")}catch{}})();var Bie=new Set(Tr),zj=new Set(Eo.map(e=>be(e.id)).filter(e=>e.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]="f9535c02-9214-5d5e-bac0-2dabbe5d395e")}catch{}})();var Xie=new Set(pn),Zie=new Set(Ar),Qie=new Set([...We.filter(e=>e!=="severity"),"id","title","type","status","priority","tags","assignee","parent","description","body","created_at","updated_at","closed_at","completed_at","author","deadline","estimate","sprint","release","risk","confidence","reviewer","resolution","expected","actual"]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ebcb45a2-996a-5194-8086-efe882dbcacc")}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]="96cec314-edb6-5c51-abc4-d028bdc4f10c")}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]="0daf7c89-abc5-5c35-ba3f-9772a50408c0")}catch{}})();var Bi={type:"string",minLength:1,maxLength:128,pattern:"\\S"},cc={type:"array",minItems:1,maxItems:Ur,items:Bi},dk={...cc,items:{...Bi,pattern:"^(?!(?:.*\\.)?(?:__proto__|constructor|prototype)(?:\\.|$))[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$"}},ase={type:"object",additionalProperties:!1,required:["id","rule"],properties:{id:{type:"string",minLength:1,maxLength:128,pattern:"^[a-zA-Z0-9][a-zA-Z0-9._-]*$"},description:{type:"string",minLength:1,maxLength:500,pattern:"\\S"},effect:{enum:["advise","warn","refuse"]},subject:{type:"object",additionalProperties:!1,properties:{...Object.fromEntries(["types","tags","statuses","operations","parents"].map(e=>[e,cc])),dependency:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:Bi,id:Bi}}}},rule:{oneOf:[{type:"object",additionalProperties:!1,required:["kind","fields"],properties:{kind:{const:"require_fields"},fields:dk}},{type:"object",additionalProperties:!1,required:["kind","authors"],properties:{kind:{const:"authors"},authors:cc}},...["field_writers","approval"].map(e=>({type:"object",additionalProperties:!1,required:["kind","fields","authors"],properties:{kind:{const:e},fields:dk,authors:cc}})),{type:"object",additionalProperties:!1,required:["kind","allowed"],properties:{kind:{const:"transition"},allowed:{type:"array",maxItems:Ur,items:{type:"array",minItems:2,maxItems:2,items:Bi}}}}]}}};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42dee0a5-d003-5e44-8b2d-d74a23d3f2ce")}catch{}})();async function uk(e,t,n,r){let o=await gi(e).catch(()=>null);return o===null?{check:{name:"completeness",status:"error",ok:!1,details:{policy_registry_readable:!1,policy_registry_path:"schema/policies.json",remediation_hint:"Repair schema/policies.json, then rerun pm validate."}},warnings:["validate_completeness_policy_registry_unreadable"]}:fk(o,t,n,r)}function qj(e,t,n){return e===0?"undeclared":t===0?"empty":n===0?"inapplicable":n===t?"covered":"partial"}function fk(e,t,n=5,r=!1){let o=[],i=new Map,s=e.policies.filter(h=>h.rule.kind==="require_fields"),a=s.filter(h=>h.subject?.operations===void 0),c=new Set,l=0,d=0,u=0,f=0,m=0,p=Og(e);for(let h of t){let b=p({operation:"",author:"",before:h,after:h,completeness_only:!0});l+=+(b.decisions.length>0),d+=b.decisions.length,b.decisions.forEach(A=>c.add(A.policy_id));let v=b.decisions.filter(A=>!A.satisfied);if(v.length===0)continue;f+=1;let I=i.get(h.type)??{items:0,violations:0,missing_fields:0};I.items+=1;for(let A of v)u+=1,I.violations+=1,I.missing_fields+=A.missing_fields.length,A.effect==="refuse"&&(m+=1),o.length<n&&o.push({id:h.id,type:h.type,status:h.status,decision:A});i.set(h.type,I)}let w=r||m>0?"error":u>0?"warn":"ok";return{check:{name:"completeness",status:w,ok:w==="ok",details:{scope:"operation_independent_require_fields",declared_requirement_count:s.length,state_requirement_count:a.length,applicable_requirement_count:c.size,requirement_application_count:d,governed_items:l,ungoverned_items:t.length-l,contract_status:qj(s.length,t.length,l),applied_policy_ids:[...c].sort().slice(0,Math.max(0,n)),applied_policy_ids_truncated:c.size>Math.max(0,n),checked_items:t.length,incomplete_items:f,violation_count:u,refused_violations:m,missing_by_type:Object.fromEntries(i),violations:o,violations_truncated:o.length<u,enforcement:e.enforcement}},warnings:[...u>0?[`validate_completeness_missing_fields:${u}`]:[],...r?["validate_completeness_source_incomplete"]:[]]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f54fe358-8f4c-5bf4-ae2a-9c92cd08c953")}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]="e524f0ad-faad-5d89-b8f5-1283979919ad")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d7f490a-03a3-512c-ba3c-b19fcc9a1270")}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]="9052af10-ff8c-55db-8a35-b45e1e23a901")}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]="1805dfab-5dc5-5be4-ad32-cbd8b3e37f8c")}catch{}})();var Wae=[...zr,"add-type","remove-type","add-status","remove-status","add-field","remove-field","list-fields","show-field","apply-preset","list","show","show-status","rename-type","rename-field","remap-status"];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="decec6f3-3795-5353-bf48-75aa61dd79d4")}catch{}})();function Qf(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}import Zj from"node:fs/promises";import Qj 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]="33b7f318-cc64-55d6-8b57-19a618efe6c0")}catch{}})();var e1=".managed-extensions.json",em=1;function tm(e){return Qj.join(e,e1)}function t1(){return{version:em,updated_at:j(),entries:[]}}function pk(e){return[...e].sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.name.localeCompare(n.name);return o!==0?o:t.directory.localeCompare(n.directory)})}function at(e){return typeof e=="string"?e:void 0}function n1(e){return typeof e.name=="string"&&e.name.trim().length>0&&typeof e.directory=="string"&&e.directory.trim().length>0&&(e.scope==="project"||e.scope==="global")&&typeof e.manifest_version=="string"&&typeof e.manifest_entry=="string"&&Array.isArray(e.capabilities)&&e.capabilities.every(t=>typeof t=="string")&&typeof e.installed_at=="string"&&typeof e.updated_at=="string"}function r1(e){if(typeof e!="object"||e===null)return null;let t=e;return t.kind!=="local"&&t.kind!=="github"&&t.kind!=="npm"&&t.kind!=="builtin"||typeof t.input!="string"||typeof t.location!="string"?null:{kind:t.kind,input:t.input,location:t.location,name:at(t.name),package:at(t.package),version:at(t.version),repository:at(t.repository),owner:at(t.owner),repo:at(t.repo),ref:at(t.ref),subpath:at(t.subpath),commit:at(t.commit)}}function o1(e){if(typeof e!="object"||e===null)return null;let t=e;if(!n1(t))return null;let n=r1(t.source);if(!n)return null;let r=Mr(t.contributions);return r===null?null:{name:t.name.trim(),directory:t.directory.trim(),scope:t.scope,manifest_version:t.manifest_version,manifest_entry:t.manifest_entry,capabilities:Qf(t.capabilities),contributions:r,installed_at:t.installed_at,updated_at:t.updated_at,source:n,last_update_check_at:at(t.last_update_check_at),last_update_remote_commit:at(t.last_update_remote_commit),update_available:typeof t.update_available=="boolean"||t.update_available===null?t.update_available:void 0,update_error:at(t.update_error)}}function i1(e){if(typeof e!="object"||e===null)return null;let t=e;if(t.version!==em||!Array.isArray(t.entries))return null;let n=[];for(let r of t.entries){let o=o1(r);o&&n.push(o)}return{version:em,updated_at:at(t.updated_at)??j(),entries:pk(n)}}async function Vi(e){let t=tm(e),n=t1();try{let r=await Zj.readFile(t,"utf8"),o=JSON.parse(r),i=i1(o);if(!i)throw new g(`Managed extension state file "${t}" has an invalid schema. Repair or remove it before mutating extension state.`,_.GENERIC_FAILURE);return{path:t,state:i,warnings:[]}}catch(r){if(r instanceof g)throw r;if(typeof r=="object"&&r!==null&&"code"in r&&F(r))return{path:t,state:n,warnings:[]};throw new g(`Managed extension state file "${t}" could not be read. Repair or remove it before mutating extension state.`,_.GENERIC_FAILURE)}}import{execFile as l1}from"node:child_process";import{promisify as d1}from"node:util";import Pce from"npm-package-arg";import{extract as Mce,list as $ce}from"tar";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8269d712-f438-5f18-8137-ed9a0358e23b")}catch{}})();var gce=Object.freeze({extensions:Object.freeze([".agents/pm/extensions","extensions",".custom/pm-extensions",".custom/pm-extension"]),docs:Object.freeze(["docs","documentation"]),examples:Object.freeze(["examples","docs/examples"]),assets:Object.freeze(["assets",".agents/pm/assets"]),prompts:Object.freeze(["prompts",".agents/pm/prompts"])});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="96c5708d-1f4d-5f94-9945-7f8baa337106")}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]="68a37ea1-3571-59ab-b72c-0195efa84e3c")}catch{}})();var Bce=d1(l1);var Wce={maxArchiveBytes:64*1024*1024,maxEntries:4096,maxExpandedBytes:256*1024*1024,maxEntryBytes:64*1024*1024};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60ab864f-43c5-512c-b33f-456de96f8090")}catch{}})();var Qce=new Set([...Hr.map(e=>e.split("-")[0].toLowerCase()),...Object.keys(gd).map(e=>e.toLowerCase()),"scaffold"]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2bc00b8e-0d9f-5af8-9667-d46136ff52b0")}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]="6c9e36f8-0f95-5768-8893-bf33bbb4d848")}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]="df60255d-fdd6-594a-9e17-547d53f7b3bb")}catch{}})();var gk=new Set(["extension_command_handler_collision","extension_command_override_collision","extension_command_override_handler_overlap","extension_parser_override_collision","extension_preflight_override_collision","extension_renderer_collision","extension_service_override_collision"]);function m1(e){return gk.has(g1(e))}function _k(e){return e==="project"||e==="global"}function p1(e){let t=e.split(":"),n=t[0];if(!n||!gk.has(n))return null;let r=t.at(-4),o=t.at(-3)?.trim(),i=t.at(-2),s=t.at(-1)?.trim();return!_k(r)||!_k(i)||!o||!s?null:{code:n,surface:t.slice(1,-4).join(":")||"global",winner:{layer:r,name:o},displaced:{layer:i,name:s}}}function _1(e){let t=new Set;for(let n of e){let r=p1(n);r&&(t.add(r.winner.name),t.add(r.displaced.name))}return[...t].sort((n,r)=>n.localeCompare(r))}function hk(e,t){let n=e.filter(m1);if(n.length===0)return null;let r=_1(n);return`Extension registration collisions or handler/override overlaps detected.${r.length>0?` Conflicting extensions: ${r.join(", ")}.`:""} Single-winner surfaces can hide earlier package behavior. Deactivate one conflicting package with ${t.deactivate}, or scope registration surfaces in extensions.policy.extension_overrides, then rerun ${t.doctor}.`}function g1(e){let t=e.trim(),n=t.indexOf(":");return n===-1?t:t.slice(0,n)}function nm(e){let t=new Set,n=[];for(let r of e){let o=(()=>{let i=_l(r);return i?[i]:gl(r)})();for(let i of o){let s=`${i.layer}:${i.name}:${i.capability}`;t.has(s)||(t.add(s),n.push(i))}}return n}function rm(){return{version:rs.version,capabilities:[...rs.capabilities],legacy_aliases:{...rs.legacy_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]="3df6b126-ff8b-55be-8f33-53ec9a2336a8")}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]="67bd3c08-81bf-5286-81ee-60126f7f979b")}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]="37f2dced-3b93-5c64-85ae-56e62c95e8eb")}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]="fcc97434-1ef5-5c47-b491-f00e9d19b2c6")}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]="a1803149-25ca-5bb0-a178-afa2d85d2ec9")}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]="8507f364-e079-5743-a54b-bb3a68ab66d0")}catch{}})();import y1 from"node:fs/promises";import w1 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]="c4dc16d1-672a-5b1c-b681-97a7b3febd69")}catch{}})();function b1(e){return w1.join(e,"extension-migrations.json")}function v1(e,t){let n=e.definition.id;return typeof n=="string"&&n.trim().length>0?n.trim():`migration-${String(t+1).padStart(3,"0")}`}function k1(e,t){return`${e.layer}:${e.name}:${t}`}async function E1(e){let t=b1(e);if(!await M(t))return{version:1,updated_at:"",entries:[]};let n=JSON.parse(await y1.readFile(t,"utf8"));return{version:1,updated_at:typeof n.updated_at=="string"?n.updated_at:"",entries:Array.isArray(n.entries)?n.entries.filter(r=>typeof r?.key=="string"&&(r.status==="applied"||r.status==="failed")):[]}}async function yk(e,t){let n=await E1(e),r=new Map(n.entries.map(o=>[o.key,o]));return t.forEach((o,i)=>{let s=v1(o,i),a=r.get(k1(o,s));a&&(o.definition.status=a.status,a.status==="failed"?o.definition.reason=a.error:(delete o.definition.reason,delete o.definition.error,delete o.definition.message))}),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]="ee1bfa77-6687-578c-9cd6-639fc702c48c")}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]="7819cf2a-73dd-5002-9b79-4e099848d0d3")}catch{}})();import A1 from"node:fs/promises";import I1 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]="b1bf79a0-1f04-590f-b613-45ca1b534d5d")}catch{}})();function C1(e){return typeof e.name=="string"&&e.name.trim().length>0?e.name.trim():"workspace-manifest"}function O1(e,t){return t.code==="manifest_unknown_key"?`extension_manifest_unknown_key:author:${e}:key=${t.path}${t.suggested_key?`:suggested=${t.suggested_key}`:""}`:`extension_manifest_no_version_bounds:author:${e}:suggested=pm_min_version`}async function wk(e){let t=I1.join(e,"manifest.json"),n;try{n=await A1.readFile(t,"utf8")}catch(a){if(yt(a))return{path:t,present:!1,parse_status:"absent",package_metadata_location:"package.json#pm",schema_findings:[],warnings:[],remediation:[]};throw a}let r;try{r=JSON.parse(n)}catch{return{path:t,present:!0,parse_status:"invalid_json",package_metadata_location:"package.json#pm",schema_findings:[],warnings:["extension_author_manifest_invalid_json:manifest.json"],remediation:["Repair manifest.json so it contains one valid JSON object, then rerun pm package doctor --project."]}}if(typeof r!="object"||r===null||Array.isArray(r))return{path:t,present:!0,parse_status:"invalid_shape",package_metadata_location:"package.json#pm",schema_findings:[],warnings:["extension_author_manifest_invalid_shape:manifest.json"],remediation:["Replace manifest.json with one JSON object, then rerun pm package doctor --project."]};let o=r,i=Tl(o),s=C1(o);return{path:t,present:!0,parse_status:"valid",package_metadata_location:"package.json#pm",schema_findings:i.findings,warnings:i.findings.map(a=>O1(s,a)),remediation:i.findings.map(a=>a.message)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dcdfdabd-8862-502f-8cd1-298c08825985")}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]="d7afb9a1-be35-5dfd-a52e-2525598b68d8")}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]="4f8fc1a7-748d-559d-9de8-835d0428c6a7")}catch{}})();var D1=[["install","install","--install"],["uninstall","uninstall","--uninstall"],["explore","explore","--explore"],["list","explore","--explore"],["manage","manage","--manage"],["describe","describe","--describe"],["reload","reload","--reload"],["doctor","doctor","--doctor"],["catalog","catalog","--catalog"],["init","init","--init"],["scaffold","init","--scaffold"],["adopt","adopt","--adopt"],["adopt-all","adopt-all","--adopt-all"],["activate","activate","--activate"],["deactivate","deactivate","--deactivate"],["migrate","migrate","--migrate"]],Rue=D1.map(([,,e])=>e).filter((e,t,n)=>n.indexOf(e)===t).join(", ");var Nue=Ws();import{execFile as P1}from"node:child_process";import{realpath as L1}from"node:fs/promises";import bk from"node:path";import{promisify as M1}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="be96ba6f-f848-58bf-8a3b-b6e3d6ab4b7a")}catch{}})();var $1=M1(P1),F1=32*1024*1024,j1=1e4,U1=["search/eval-queries.json"];function om(e){return e.replaceAll("\\","/").replace(/\/+$/,"")}function z1(e){return`'${e.replaceAll("'","'\\''")}'`}async function H1(e,t=L1){return t(e).catch(()=>bk.resolve(e))}async function lc(e){let t=await Ct(e);if(t===null)return{git_workspace_root:null,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let n=await H1(e),r=om(bk.relative(t,n));if(r.length===0)return{git_workspace_root:t,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let o=sy.map(i=>`${r}/${om(i)}`);try{let{stdout:i}=await $1("git",["ls-files","-z","--",...o.map(l=>`:(literal)${l}`)],{cwd:t,encoding:"utf8",maxBuffer:F1,windowsHide:!0,timeout:j1}),s=new Set(U1.map(l=>`${r}/${l}`)),a=[...new Set(i.split("\0").filter(l=>l.length>0&&!s.has(om(l))))].sort((l,d)=>l.localeCompare(d)),c=o.filter(l=>a.some(d=>d===l||d.startsWith(`${l}/`)));return{git_workspace_root:t,tracker_relative_root:r,tracked_paths:a,tracked_path_count:a.length,remediation_command:a.length===0?null:`git rm --cached -r -- ${c.map(l=>z1(`:(literal)${l}`)).join(" ")}`}}catch{return{git_workspace_root:t,tracker_relative_root:r,tracked_paths:[],tracked_path_count:0,remediation_command: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]="fb0133ea-dd0c-5412-bd4d-440d1c40f055")}catch{}})();async function vk(e,t,n,r){if(t===null)return{audit:null,count:0,warnings:[]};let o=await fi(e,to(n));if(o.status==="ok")return{audit:o,count:0,warnings:[]};let i=Math.max(1,o.missing_patterns.length+o.stale_patterns.length);return{audit:o,count:i,warnings:r?[`merge_fence_${o.status==="not_installed"?"missing":"drift"}:${i}`]:[]}}function kk(e){let t=[];return e.invalidEvidenceCount>0&&t.push(`merge_receipt_evidence_invalid:${e.invalidEvidenceCount}`),e.missingHistoryReferenceCount>0&&t.push(`merge_receipt_history_reference_missing:${e.missingHistoryReferenceCount}`),t}import{createHash as q1}from"node:crypto";import dc 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]="e5ba549f-1965-5c5e-98b3-bd0903210032")}catch{}})();var sm="2026-08-09T16:15:18.000Z",Sk=Symbol("pre-durable-disposition-eligible");function ln(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function im(e){if(!Array.isArray(e)||e.length>256)return!1;let t=new Set;for(let n=0;n<e.length;n+=1){let r=e[n];if(!(n in e)||typeof r!="string"||r.length===0||r.length>256||r.includes("\0")||t.has(r))return!1;t.add(r)}return!0}function Ek(e){return ln(e)?typeof e.field=="string"&&e.field.length>0&&e.field.length<=256&&!e.field.includes("\0")&&typeof e.retained_hash=="string"&&/^[a-f0-9]{64}$/u.test(e.retained_hash)&&typeof e.discarded_hash=="string"&&/^[a-f0-9]{64}$/u.test(e.discarded_hash):!1}function Tk(e,t){if(typeof e!="string")return!1;let n=dc.posix.normalize(e);return e.length<=4096&&!e.includes("\\")&&!e.includes("\0")&&!dc.posix.isAbsolute(e)&&n===e&&!n.startsWith("../")&&(dc.posix.basename(n)===`${t}.toon`||dc.posix.basename(n)===`${t}.md`)}function G1(e,t){return typeof e.receipt_id=="string"&&rn(e.receipt_id)&&(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0&&e.conflict_resolution===void 0&&e.item_id===t&&Tk(e.item_path,t)}function Ak(e){let t=e.conflict_fields,n=e.fields_from_theirs,r=e.union_fields,o=e.decisions,i=Array.isArray(o)?new Set(o.flatMap(s=>Ek(s)?[s.field]:[])):new Set;return im(t)&&im(n)&&im(r)&&Array.isArray(o)&&o.length>0&&o.length<=256&&Object.keys(o).length===o.length&&o.every(Ek)&&i.size===o.length&&t.length===i.size&&t.every(s=>i.has(s))}function B1(e,t){return G1(e,t)&&Ak(e)}function W1(e,t){return typeof e.receipt_id=="string"&&rn(e.receipt_id)&&(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0&&(e.conflict_resolution==="preferred_side"||e.conflict_resolution==="stable_value_order")&&e.item_id===t&&Tk(e.item_path,t)&&Ak(e)}function am(e){return e[Sk]===!0}function uc(e,t){if(!ln(e)||!ln(e.context))return[];let n=e.context.merge;return!ln(n)||!Array.isArray(n.receipts)?[]:n.receipts.flatMap(r=>!ln(r)||typeof r.receipt_id!="string"||r.receipt_id.trim().length===0?[]:[{receiptId:r.receipt_id,legacySummaryAccepted:B1(r,t),[Sk]:W1(r,t),...typeof e.ts=="string"&&Kt(e.ts)?{eventTimestamp:e.ts}:{}}])}function Ik(e,t,n){if(!ln(e)||e.op!=="merge_reconcile")return[];if(!ln(e.context)||!ln(e.context.merge))return[];let r=e.context.merge.missing_receipt_dispositions;return!Array.isArray(r)||r.length>256?[]:r.flatMap(o=>!ln(o)||typeof o.receipt_id!="string"||!rn(o.receipt_id)||typeof o.original_history_line!="number"||!Number.isSafeInteger(o.original_history_line)||o.original_history_line<1||typeof o.original_event_ts!="string"||!Kt(o.original_event_ts)||o.reason!=="legacy_clone_local_only"?[]:[{itemId:t,receiptId:o.receipt_id,originalHistoryLine:o.original_history_line,originalEventTimestamp:o.original_event_ts,auditHistoryLine:n,reason:o.reason}])}function Ck(e,t,n=[]){let r=new Map;for(let s of n){let a=`${s.itemId}\0${s.originalHistoryLine}\0${s.receiptId}\0${s.originalEventTimestamp}`;r.set(a,Math.max(r.get(a)??0,s.auditHistoryLine))}let o=s=>am(s)&&s.eventTimestamp!==void 0&&ye(s.eventTimestamp,sm)<0&&(r.get(`${s.itemId}\0${s.line}\0${s.receiptId}\0${s.eventTimestamp}`)??0)>s.line;return{missing:e.filter(s=>!s.legacySummaryAccepted&&!t.has(s.receiptId)&&!o(s)).map(s=>({item_id:s.itemId,history_line:s.line,...rn(s.receiptId)?{receipt_id:s.receiptId}:{receipt_reference_hash:q1("sha256").update(s.receiptId).digest("hex")}})),acceptedLegacyCount:e.filter(s=>s.legacySummaryAccepted).length,acceptedDispositionCount:e.filter(o).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]="fdd874ad-e51d-5df2-9486-a0465ad65979")}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]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function dn(){let e=qn();for(let t of Y()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return 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]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function mc(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function fc(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function V1(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function K1(e,t){let n=[...e].sort(),r=V1(n,t),o=new Set,i=J1(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=Y1(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function J1(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function Y1(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function X1(e){let t=new Map;for(let n of e){let r=mc(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Z1(e,t,n){let r=mc(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function Q1(e,t,n,r){let o=mc(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function eU(e,t){let n=new Map;for(let[r,o]of e){let i=Z1(r,o,e);i&&n.set(fc(i),i);for(let s of o.dependencies??[]){let a=Q1(r,s,e,t);a&&n.set(fc(a),a)}}return[...n.values()].sort((r,o)=>fc(r).localeCompare(fc(o)))}function tU(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function nU(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=mc(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(l=>l!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(l=>n.has(l))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function Ki(e,t=r=>r==="closed"||r==="canceled",n=dn()){let r=X1(e),o=eU(r,n),i=rU(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=K1([...r.keys()],new Map([...i.children_by_parent].map(([c,l])=>[c,new Set(l)]))).map(c=>({item_ids:c,legacy_terminal:c.every(l=>s.has(l))}));return{relations:o,cycles:a,cardinality_violations:tU(o,i.parents_by_child,s),divergences:nU(r,o,s)}}function rU(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function Ok(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function oU(e,t,n=!0){let r=Ok(e);return n&&(po(t)||r!==void 0&&qi(r))}function xk(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,l,d,u,f)=>{let m=Ok(l);if(!m||r.has(m.toLowerCase())||oU(m,void 0,f))return;let p={holder_id:c.id.trim(),target_id:m,kind:d,source:u,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:m.toLowerCase()==="no-active-blocker"};o.set(`${p.holder_id}::${p.target_id}::${p.kind}::${p.source}`,p)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let l of c.dependencies??[]){if(typeof l!="object"||l===null)continue;let d=l;po(d.source_kind)||i(c,d.id,typeof d.kind=="string"?d.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,l)=>c.holder_id.localeCompare(l.holder_id)||c.target_id.localeCompare(l.target_id)||c.kind.localeCompare(l.kind)||c.source.localeCompare(l.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77ccea6e-a118-53df-94b7-a740bb3d7681")}catch{}})();function pc(e,t,n=25){let r=e.definitions.filter(s=>s.roles.length===0).map(s=>s.id).sort((s,a)=>s.localeCompare(a)),o=new Set(r),i=t.filter(s=>{let a=Cr(s.status,e);return a!==void 0&&o.has(a)}).map(s=>s.id).sort((s,a)=>s.localeCompare(a));return{roleless_status_count:r.length,roleless_statuses:r.slice(0,n),roleless_statuses_truncated:r.length>n,affected_item_count:i.length,affected_item_ids:i.slice(0,n),affected_item_ids_truncated:i.length>n}}function _c(e){return e.roleless_status_count===0?[]:[`schema_status_missing_lifecycle_role:${e.roleless_status_count}`]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6bed68c-7e40-5b4f-a520-75b36fefc33b")}catch{}})();var iU=new Set(so),Pk=25,go=8,br=100,sU=Ze.join("runtime","telemetry","events.jsonl"),aU=Ze.join("runtime","telemetry","state.json"),cU=2500,lU=500,Lk=sb-3,dU=["x-pm-telemetry-max-schema-version","x-pm-telemetry-max-version"];function Mk(e,t=!1){return e.startsWith("agent_guidance_")||e.startsWith("telemetry_")||e.startsWith("history_stream_over_compact_threshold:")||e.startsWith("integrity_legacy_hierarchy_")||e.startsWith("stale_in_progress_items:")||e.startsWith("provenance_resolver_zero_success:")||e.startsWith("provenance_value_domain_invalid:")||!t&&e.startsWith("merge_driver_configuration_missing:")}function $k(e){let t=e.trim(),n=t.indexOf(":");return n===-1?t:t.slice(0,n)}function Ji(e){return e.trim().toLowerCase()}function Rk(e,t){let n=Ji(e),r=Ji(t);return n.startsWith("builtin-")?!0:r==="beads"||r==="todos"}async function Fk(e){try{return(await fn.stat(e)).isDirectory()}catch{return!1}}async function uU(e){let t=(await fn.readdir(e,{withFileTypes:!0})).filter(r=>r.isDirectory()),n=await Promise.all(t.map(r=>fn.readdir(Ze.join(e,r.name),{withFileTypes:!0})));return new Set(n.flatMap(r=>r.filter(o=>o.isFile()).filter(o=>Jt.some(i=>o.name.endsWith(i))).map(o=>Ze.parse(o.name).name)))}async function fU(e,t,n,r){let o=await Fe({path:e,scope:"project"}),i=t!=="_workspace"&&!r.has(t);if(!n.enabled&&!i)return{warnings:o,overThreshold:!1,classification:"live"};let s;try{s=await fn.readFile(e,"utf8")}catch{return{warnings:o,overThreshold:!1,classification:"unreadable"}}let a="live";if(i){let l=s.split(/\r?\n/).map(d=>d.trim()).filter(Boolean).at(-1);try{a=JSON.parse(l??"{}").op==="delete"?"tombstone":"orphaned"}catch{a="orphaned"}}let c=n.enabled?s.split(/\r?\n/).filter(l=>l.trim().length>0).length:0;return{warnings:o,overThreshold:n.enabled&&c>n.max_entries,classification:a}}async function mU(e,t,n){let r=Ze.join(e,"history");if(!await Fk(r))return{count:0,warnings:[],over_threshold:[],max_entries:null,tombstones:[],orphaned:[]};let o=(await fn.readdir(r)).filter(u=>u.endsWith(".jsonl")).sort((u,f)=>u.localeCompare(f)),s=t.enabled?t.max_entries:null,a=[],c=[],l=[],d=[];for(let u of o){let f=Ze.join(r,u),m=u.slice(0,-6),p=await fU(f,m,t,n);a.push(...p.warnings),p.classification==="tombstone"&&l.push(m),p.classification==="orphaned"&&d.push(m),p.overThreshold&&c.push(m)}return{count:o.length,warnings:[...a,...c.map(u=>`history_stream_over_compact_threshold:${u}`),...d.map(u=>`history_orphaned_stream:${u}`)],over_threshold:c,max_entries:s,tombstones:l,orphaned:d}}function fm(e,t){return Ze.relative(e,t).replaceAll("\\","/")}async function pU(e,t){let n=[...new Set(Object.values(t))].sort((o,i)=>o.localeCompare(i)),r=[];for(let o of n){let i=Ze.join(e,o),s=[];try{s=await fn.readdir(i)}catch(a){if(typeof a=="object"&&a!==null&&"code"in a&&F(a))continue;continue}for(let a of s)Jt.some(c=>a.toLowerCase().endsWith(c))&&r.push(Ze.join(i,a))}return r.sort((o,i)=>fm(e,o).localeCompare(fm(e,i))),r}function _U(e){return!(typeof e=="object"&&e!==null&&"code"in e&&F(e))}async function gU(e,t,n){let r=await pU(e,t),o=[],i=[],s=[],a=[],c=Tt(Y());for(let l of r){let d=fm(e,l),u;try{u=await fn.readFile(l,"utf8")}catch{o.push(d);continue}let f=Me(u);if(f){i.push({path:d,...f});continue}try{let m=Ve(u,{format:Lr(l),schema:n,extensionFieldNames:c});a.push({ref:d,version:As(m.metadata)})}catch{s.push(d)}}return{paths:r,unreadable:o,conflictMarkers:i,parseFailures:s,formatVersions:a}}async function hU(e){let t=Ze.join(e,"history"),n=[],r=[],o=[],i=[],s=[],a=[];try{a=(await fn.readdir(t)).filter(c=>c.endsWith(".jsonl")).sort((c,l)=>c.localeCompare(l))}catch(c){_U(c)&&n.push("history")}for(let c of a){let l=c.slice(0,-6),d;try{d=await fn.readFile(Ze.join(t,c),"utf8")}catch{n.push(l);continue}let u=Me(d);if(u){r.push({id:l,...u});continue}d.split(/\r?\n/).forEach((f,m)=>{if(f.trim())try{let p=JSON.parse(f);i.push(...uc(p,l).map(w=>({itemId:l,line:m+1,...w}))),s.push(...Ik(p,l,m+1))}catch{o.push({id:l,line:m+1})}})}return{files:a,unreadable:n,conflictMarkers:r,invalidJson:o,mergeReceiptReferences:i,mergeReceiptDispositions:s}}function yU(e){return[...e.cycles.map(t=>t.legacy_terminal?`integrity_legacy_hierarchy_cycle:${t.item_ids.join(",")}`:`integrity_hierarchy_cycle:${t.item_ids.join(",")}`),...e.cardinality_violations.map(t=>t.legacy_terminal?`integrity_legacy_hierarchy_cardinality:${t.child_id}`:`integrity_hierarchy_cardinality:${t.child_id}`),...e.divergences.map(t=>t.legacy_terminal?`integrity_legacy_hierarchy_divergence:${t.child_id}`:`integrity_hierarchy_divergence:${t.child_id}`)]}async function wU(e,t,n,r,o,i){let s=await gU(e,t,n),a=await hU(e),c=Is(s.formatVersions),l=ct(n),d=Ki(i,T=>qc(T,l),dn()),u=await lc(e),f=await Ct(e),m=await vk(e,f,r,o),p=f===null?null:await mi(f),w=await St(f??e,{includeReconciled:!0,includeLossless:!0,pmRoot:e}),h=new Set(w.receipts.map(T=>T.id)),b=Ck(a.mergeReceiptReferences,h,a.mergeReceiptDispositions),v=b.missing,I=w.receipts.filter(T=>T.state==="pending"),{pendingDecisions:A,lossless:C}=Ea(I),L=p?.status==="missing"&&p.missing_keys.length===5&&p.drifted_keys.length===0,E=[...s.unreadable.map(T=>`integrity_item_unreadable:${T}`),...s.conflictMarkers.map(T=>`integrity_item_conflict_marker:${T.path}:L${T.line}`),...s.parseFailures.map(T=>`integrity_item_parse_failed:${T}`),...a.unreadable.map(T=>`integrity_history_unreadable:${T}`),...a.conflictMarkers.map(T=>`integrity_history_conflict_marker:${T.id}:L${T.line}`),...a.invalidJson.map(T=>`integrity_history_invalid_json:${T.id}:L${T.line}`),...c.outdated.map(T=>`integrity_item_outdated_format_version:${T}`),...c.ahead.map(T=>`integrity_item_ahead_format_version:${T}`),...yU(d),...u.tracked_path_count>0?[`tracked_runtime_cache_files:${u.tracked_path_count}`]:[],...p!==null&&p.status!=="ok"?[`merge_driver_configuration_${L?"missing":"drift"}:${p.missing_keys.length+p.drifted_keys.length}`]:[],...m.warnings,...A.length>0?[`merge_decisions_unreviewed:${A.length}`]:[],...C.length>0?[`merge_receipts_pending:${C.length}`]:[],...kk({invalidEvidenceCount:w.invalid_evidence_count,missingHistoryReferenceCount:v.length})],N=[...new Set(E)].sort((T,z)=>T.localeCompare(z)),G=N.filter(T=>!T.startsWith("integrity_legacy_hierarchy_"));return{check:{name:"integrity",status:G.length===0?"ok":"warn",ok:G.length===0,details:{checked_item_files:s.paths.length,checked_history_streams:a.files.length,counts:{item_unreadable:s.unreadable.length,item_conflict_markers:s.conflictMarkers.length,item_parse_failures:s.parseFailures.length,history_unreadable:a.unreadable.length,history_conflict_markers:a.conflictMarkers.length,history_invalid_json:a.invalidJson.length,item_outdated_format_version:c.outdated.length,item_ahead_format_version:c.ahead.length,hierarchy_cycles:d.cycles.length,hierarchy_cardinality_violations:d.cardinality_violations.length,hierarchy_parent_divergences:d.divergences.length,tracked_runtime_cache_files:u.tracked_path_count,merge_driver_configuration:p===null||p.status==="ok"?0:p.missing_keys.length+p.drifted_keys.length,merge_fence:m.count,pending_merge_decisions:A.length,lossless_merge_receipts:C.length,invalid_merge_receipt_evidence:w.invalid_evidence_count,missing_merge_receipt_history_references:v.length,accepted_legacy_merge_receipt_references:b.acceptedLegacyCount,accepted_missing_merge_receipt_dispositions:b.acceptedDispositionCount},item_unreadable:s.unreadable,item_conflict_markers:s.conflictMarkers,item_parse_failures:s.parseFailures,item_outdated_format_version:c.outdated,item_ahead_format_version:c.ahead,hierarchy_integrity:{...d,relations:un(d.relations,go)},history_unreadable:a.unreadable,history_conflict_markers:a.conflictMarkers,history_invalid_json:a.invalidJson,tracked_runtime_cache:{tracker_relative_root:u.tracker_relative_root,tracked_paths:u.tracked_paths,tracked_path_count:u.tracked_path_count,remediation_command:u.remediation_command},merge_driver_configuration:p===null?null:{...p,required:o},merge_fence:m.audit,pending_merge_decision_items:[...new Set(A.map(T=>T.item_id))].sort((T,z)=>T.localeCompare(z)),lossless_merge_receipt_items:[...new Set(C.map(T=>T.item_id))].sort((T,z)=>T.localeCompare(z)),invalid_merge_receipt_evidence_details:w.invalid_evidence,invalid_merge_receipt_evidence_details_truncated:w.invalid_evidence_truncated,missing_merge_receipt_history_reference_details:v.slice(0,br),missing_merge_receipt_history_reference_details_truncated:v.length>br}},warnings:N,gitWorkspaceRoot:f,pendingMergeReceipts:I}}function bU(e){if(typeof e.activate=="function")return!0;let t=e.default;return typeof t!="object"||t===null?!1:typeof t.activate=="function"}function vU(e){let t={layer:e.layer,directory:e.directory,manifest_path:e.manifest_path,name:e.name,version:e.version,entry:e.entry,priority:e.priority,entry_path:e.entry_path,has_activate:bU(e.module)};return Array.isArray(e.capabilities)&&(t.capabilities=[...e.capabilities]),t}function kU(e,t){let n=de(e.id);return n||`migration-${String(t+1).padStart(3,"0")}`}function EU(e){let n=de(e.status)?.toLowerCase();return n==="failed"?"failed":n==="applied"?"applied":"pending"}function SU(e){return de(e.reason)??de(e.error)??de(e.message)}function cm(e,t){let n=(e.layer??"").localeCompare(t.layer??"");if(n!==0)return n;let r=(e.name??"").localeCompare(t.name??"");return r!==0?r:(e.id??"").localeCompare(t.id??"")}function TU(e){let t=[],n=[],r=[];e.forEach((i,s)=>{let a=kU(i.definition,s),c=EU(i.definition);if(c==="applied"){t.push({layer:i.layer,name:i.name,id:a,status:c});return}if(c==="failed"){r.push({layer:i.layer,name:i.name,id:a,status:c,reason:SU(i.definition)});return}n.push({layer:i.layer,name:i.name,id:a,status:c})}),t.sort(cm),n.sort(cm),r.sort(cm);let o=[...r.map(i=>`extension_migration_failed:${i.layer}:${i.name}:${i.id}`),...n.map(i=>`extension_migration_pending:${i.layer}:${i.name}:${i.id}`)];return{summary:{applied:t,pending:n,failed:r,applied_count:t.length,pending_count:n.length,failed_count:r.length},warnings:o}}function AU(e,t,n,r,o,i,s,a,c){let l=[...new Set(e)].sort((h,b)=>h.localeCompare(b)),d=[...new Set(l.map(h=>$k(h)))].sort((h,b)=>h.localeCompare(b)),u=l.filter(h=>h.startsWith("extension_capability_unknown:")).length,f=c.length>0,m=f?"partial":"full",p=[],w=hk(l,{deactivate:"pm extension --deactivate <name> --project/--global",doctor:"pm extension --doctor --project/--global --detail deep --trace"});return w&&p.push(w),t>0&&p.push("Run pm extension --explore --project and pm extension --explore --global to inspect load failures."),n>0&&p.push("Review checks[name=extensions].details.activation.failed in pm health --json for activation error details."),(r.failed_count>0||r.pending_count>0)&&p.push("Resolve pending/failed extension migrations before write commands; use --force only when policy allows."),o>0&&p.push("Run pm extension --manage --project and pm extension --manage --global to refresh managed-state diagnostics."),u>0&&p.push(`Unknown extension capabilities detected. Allowed capabilities: ${et.join(", ")}. Review extension_capability_unknown warning details for suggested replacements.`),l.some(h=>h.startsWith("extension_capability_legacy_alias:"))&&p.push("Legacy extension capability aliases were auto-remapped to canonical capabilities. Update manifests to canonical names (migration/validation -> schema)."),l.some(h=>h.startsWith("extension_command_definition_legacy_handler_alias:"))&&p.push("Extension command definitions using legacy handler were auto-remapped. Update command definitions to use run: (context) => ... for forward compatibility."),f?p.push("Update-check coverage is partial because unmanaged extensions need adoption. Adopt existing installs via pm extension --manage --project/--global --fix-managed-state, pm extension --adopt-all --project/--global, or pm extension --adopt <name>."):s.length>0&&p.push("Loaded unmanaged extensions are currently treated as informational. Use pm extension --manage --project/--global --fix-managed-state to adopt them for update checks."),p.length===0&&p.push("No immediate action required. Re-run pm health after extension configuration changes."),{status:l.length===0?"ok":"warn",warning_count:l.length,warning_codes:d,load_failure_count:t,activation_failure_count:n,migration_failed_count:r.failed_count,migration_pending_count:r.pending_count,managed_state_warning_count:o,managed_extension_entries_count:i,unmanaged_loaded_extension_count:s.length,unmanaged_loaded_extensions:s,unmanaged_expected_extension_count:a.length,unmanaged_expected_extensions:a,unmanaged_action_required_extension_count:c.length,unmanaged_action_required_extensions:c,update_health_coverage:m,update_health_partial:f,unknown_capability_count:u,top_warnings:l.slice(0,8),remediation:p}}async function IU(e,t,n){let r=await wk(vn(e)),o=await Go({pmRoot:e,settings:t,cwd:process.cwd(),noExtensions:n}),i=o.loaded.map(E=>vU(E)),s=await fb(o.loaded,vn(e)),a=await Bo({...o,loaded:o.loaded}),[c,l]=await Promise.all([Vi(o.roots.project),Vi(o.roots.global)]);await yk(e,a.registrations.migrations);let d=TU(a.registrations.migrations),u={failed:a.failed,warnings:a.warnings,hook_counts:a.hook_counts,command_override_count:a.command_override_count,command_handler_count:a.command_handler_count,parser_override_count:a.parser_override_count,preflight_override_count:a.preflight_override_count,service_override_count:a.service_override_count,renderer_override_count:a.renderer_override_count,registration_counts:a.registration_counts,registrations:a.registrations,migration_status:d.summary,managed_extensions:{project:{path:c.path,count:c.state.entries.length,entries:c.state.entries},global:{path:l.path,count:l.state.entries.length,entries:l.state.entries}}},f=new Set(c.state.entries.map(E=>Ji(E.name))),m=new Set(l.state.entries.map(E=>Ji(E.name))),p=[...new Map(o.loaded.filter(E=>!(E.layer==="project"?f:m).has(Ji(E.name))).map(E=>[`${E.layer}:${E.name}`,{layer:E.layer,name:E.name,directory:E.directory}])).values()].sort((E,N)=>{let G=`${E.layer}:${E.name}`,T=`${N.layer}:${N.name}`;return G.localeCompare(T)}),w=p.map(E=>`${E.layer}:${E.name}`).sort((E,N)=>E.localeCompare(N)),h=p.filter(E=>Rk(E.name,E.directory)).map(E=>`${E.layer}:${E.name}`).sort((E,N)=>E.localeCompare(N)),b=p.filter(E=>!Rk(E.name,E.directory)).map(E=>`${E.layer}:${E.name}`).sort((E,N)=>E.localeCompare(N)),v=b.length>0?[`extension_update_health_partial_coverage:skipped_unmanaged:${b.length}`]:[],I=[...r.warnings,...o.warnings,...u.warnings,...d.warnings,...c.warnings,...l.warnings,...v,...s.warnings],A=nm(I),C=rm(),L=AU(I,o.failed.length,a.failed.length,d.summary,c.warnings.length+l.warnings.length,c.state.entries.length+l.state.entries.length,w,h,b);return{check:{name:"extensions",status:I.length===0?"ok":"warn",ok:I.length===0,details:{...o,loaded:i,warnings:I,activation:u,author_manifest:r,triage:L,...d.summary.pending_count>0?{remediation_map:{extension_migration_pending:"pm extension migrate --project"}}:{},capability_contract:C,capability_guidance:A,host_version_census:s}},warnings:I}}function CU(e,t){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function un(e,t){return Array.isArray(e)?{count:e.length,sample:e.slice(0,t),truncated:e.length>t}:{count:0,sample:[],truncated:!1}}function OU(e){if(typeof e!="object"||e===null||Array.isArray(e))return{};let t=e;return{layer:t.layer,directory:t.directory,name:t.name,version:t.version,enabled:t.enabled,status:t.status,has_activate:t.has_activate,capabilities:t.capabilities}}function lm(e,t){let n=un(e,t);return{...n,sample:n.sample.map(r=>OU(r))}}function J(e,t){if(!Array.isArray(e))return{count:0,sample:[],truncated:!1};let n=e.filter(r=>typeof r=="string");return{count:n.length,sample:n.slice(0,t),truncated:n.length>t}}function xU(e){if(typeof e!="object"||e===null)return null;let t=e;return{applied_count:t.applied_count,pending_count:t.pending_count,failed_count:t.failed_count}}var RU={settings:(e,t)=>({version:e.version,id_prefix:e.id_prefix,locks_ttl_seconds:e.locks_ttl_seconds,warnings:J(e.warnings,t)}),directories:(e,t)=>({required_count:Array.isArray(e.required)?e.required.length:0,optional_count:Array.isArray(e.optional)?e.optional.length:0,missing_required:J(e.missing_required,t),missing_optional:J(e.missing_optional,t),missing:J(e.missing,t),strict_directories:e.strict_directories}),settings_values:(e,t)=>({warnings:J(e.warnings,t)}),telemetry:e=>({enabled:e.enabled,capture_level:e.capture_level,endpoint:e.endpoint,queue_exists:e.queue_exists,queue_entries:e.queue_entries,queue_draining:e.queue_draining,queue_invalid_rows:e.queue_invalid_rows,queue_rows_total:e.queue_rows_total,last_successful_flush_at:e.last_successful_flush_at,last_failed_flush_at:e.last_failed_flush_at,endpoint_probe:e.endpoint_probe,env_overrides:e.env_overrides}),extensions:(e,t)=>{let n=typeof e.activation=="object"&&e.activation!==null?e.activation:{};return{disabled_by_flag:e.disabled_by_flag,discovered:lm(e.discovered,t),effective:lm(e.effective,t),loaded:lm(e.loaded,t),failed:un(e.failed,t),warnings:J(e.warnings,t),activation:{failed:un(n.failed,t),warnings:J(n.warnings,t),hook_counts:n.hook_counts,command_handler_count:n.command_handler_count,service_override_count:n.service_override_count,renderer_override_count:n.renderer_override_count,registration_counts:n.registration_counts,migration_status:xU(n.migration_status)},author_manifest:e.author_manifest,triage:e.triage,capability_contract:e.capability_contract,capability_guidance:un(e.capability_guidance,t),host_version_census:e.host_version_census}},storage:(e,t)=>{let n=typeof e.author_attribution=="object"&&e.author_attribution!==null?e.author_attribution:void 0;return{...e,...n?{author_attribution:{...n,affected_item_ids:J(n.affected_item_ids,t),samples:un(n.samples,t)}}:{}}},locks:e=>({active_lock_count:e.active_lock_count,stale_lock_count:e.stale_lock_count,unreadable_lock_count:e.unreadable_lock_count,unparseable_lock_count:e.unparseable_lock_count}),integrity:(e,t)=>{let n=typeof e.tracked_runtime_cache=="object"&&e.tracked_runtime_cache!==null?e.tracked_runtime_cache:void 0;return{checked_item_files:e.checked_item_files,checked_history_streams:e.checked_history_streams,counts:e.counts,item_unreadable:J(e.item_unreadable,t),item_conflict_markers:un(e.item_conflict_markers,t),item_parse_failures:J(e.item_parse_failures,t),tracked_runtime_cache:n===void 0?e.tracked_runtime_cache:{...n,tracked_paths:J(n.tracked_paths,t)},history_unreadable:J(e.history_unreadable,t),history_conflict_markers:un(e.history_conflict_markers,t),history_invalid_json:un(e.history_invalid_json,t),skipped:e.skipped}},history_drift:(e,t)=>{let n=typeof e.cache_confirmation=="object"&&e.cache_confirmation!==null?e.cache_confirmation:void 0;return{checked_items:e.checked_items,cache_hit_verification:e.cache_hit_verification,cache_confirmation:n===void 0?e.cache_confirmation:{...n,candidate_items:J(n.candidate_items,t),confirmed_items:J(n.confirmed_items,t),resolved_false_positive_items:J(n.resolved_false_positive_items,t)},counts:e.counts,drifted_items:J(e.drifted_items,t),merge_receipt_attributed_items:J(e.merge_receipt_attributed_items,t),missing_streams:J(e.missing_streams,t),unreadable_streams:J(e.unreadable_streams,t),hash_mismatches:J(e.hash_mismatches,t),chain_mismatches:J(e.chain_mismatches,t),version_skews:J(e.version_skews,t),workspace_state_mismatches:J(e.workspace_state_mismatches,t),workspace_state_missing:J(e.workspace_state_missing,t),workspace_state_unreadable:J(e.workspace_state_unreadable,t),skipped:e.skipped}},vectorization:(e,t)=>({semantic_runtime_available:e.semantic_runtime_available,compatibility_mode_auto_defaults:e.compatibility_mode_auto_defaults,auto_ollama_defaults_applied:e.auto_ollama_defaults_applied,auto_ollama_defaults_skipped_reason:e.auto_ollama_defaults_skipped_reason,auto_ollama_defaults_remediation:e.auto_ollama_defaults_remediation,refresh_policy:e.refresh_policy,provider_active:e.provider_active,vector_store_active:e.vector_store_active,items:e.items,ledger_entries_before:e.ledger_entries_before,stale_items_before_total:e.stale_items_before_total,stale_items_before:J(e.stale_items_before,t),refresh_attempted:e.refresh_attempted,refresh_skipped_reason:e.refresh_skipped_reason,refresh_result:e.refresh_result,ledger_entries_after:e.ledger_entries_after,stale_items_after_total:e.stale_items_after_total,stale_items_after:J(e.stale_items_after,t),skipped:e.skipped})};function NU(e,t){let n=RU[e.name];return n?n(e.details,t):e.details}function DU(e){let t=J(e.warnings,go);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.map(n=>({name:n.name,status:n.status,ok:n.ok,details:NU(n,go)})),warnings:t.sample,findings:e.findings.filter(n=>t.sample.includes(n.warning)||e.failed_because.includes(n.warning)),failed_because:e.failed_because,projection:{mode:"brief",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:go},generated_at:e.generated_at}}function Nk(e){return e.details.skipped===!0}function PU(e){let t=J(e.warnings,go),n=e.checks.filter(Nk).map(r=>r.name);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.filter(r=>!Nk(r)).map(r=>({name:r.name,status:r.status,ok:r.ok,details:{}})),warning_count:t.count,warnings:t.sample,findings:e.findings.filter(r=>t.sample.includes(r.warning)||e.failed_because.includes(r.warning)),failed_because:e.failed_because,projection:{mode:"summary",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:go,omitted_checks:n},generated_at:e.generated_at}}function Dk(e,t){if(t)return{values:e,truncated:!1,total:e.length};let n=CU(e,Pk);return{values:n.values,truncated:n.truncated,total:e.length}}function dm(e){let t=(process.env[e]??"").trim().toLowerCase();return t==="1"||t==="true"||t==="yes"||t==="on"}function LU(){let e=(process.env.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase();return iU.has(e)?e:null}function mm(e){let t=e.trim();if(t.length===0)return"";try{let n=new URL(t);return n.username="",n.password="",n.search="",n.hash="",n.toString()}catch{return t}}function MU(e){let t=0,n=0,r=0,o=0,i=0;for(let s of e.split(`
137
- `)){let a=s.trim();if(a.length!==0){r+=1;try{let c=JSON.parse(a);if(typeof c=="object"&&c!==null&&typeof c.attempts=="number"&&Number.isFinite(c.attempts)){let l=Math.max(0,Math.trunc(c.attempts));t+=1,i=Math.max(i,l),l>=Lk&&(o+=1)}else n+=1}catch{n+=1}}}return{validEntries:t,invalidRows:n,totalRows:r,highRetryEntries:o,maxAttempts:i}}function $U(){return{validEntries:0,invalidRows:0,totalRows:0,highRetryEntries:0,maxAttempts:0}}function FU(e){if(!e||e.trim().length===0)return{runtimeState:{},stateParseFailed:!1};try{let t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?{runtimeState:t,stateParseFailed:!1}:{runtimeState:{},stateParseFailed:!0}}catch{return{runtimeState:{},stateParseFailed:!0}}}async function jU(e,t){let n=e.telemetry.endpoint.trim();return!t||!e.telemetry.enabled||n.length===0||ao().telemetry_disabled?void 0:{attempted:!0,...await VU(n)}}function UU(e,t,n){let r=[];if(t.invalidRows>0&&r.push(`telemetry_queue_invalid_rows:${t.invalidRows}`),!e.telemetry.enabled||t.validEntries===0)return r;let o=n.last_successful_flush_at,i=n.last_failed_flush_at,s=i&&(!o||i>o),a=!o,c=t.validEntries>=lU;return(s||a||c)&&r.push(`telemetry_queue_pending:${t.validEntries}`),t.highRetryEntries>0&&r.push(`telemetry_queue_high_retries:${t.highRetryEntries}`),r}function zU(e){return!e||e.ok!==!1?[]:typeof e.status=="number"?[`telemetry_endpoint_probe_http_status:${e.status}`]:["telemetry_endpoint_probe_failed"]}function HU(e){let t=Number.parseInt(e?.max_schema_version??"",10);return e?.ok===!0&&Number.isInteger(t)&&t>ib?[`telemetry_schema_version_behind:${t}`]:[]}function qU(e,t){let n=typeof t.pending_otel_spans=="number"?t.pending_otel_spans:0,r=t.last_otel_success_at,o=t.last_otel_failure_at;return e.telemetry.enabled&&n>0&&!!o&&(!r||o>=r)?[`telemetry_otel_export_failing:${n}`]:[]}function GU(){return{...ao(),pm_no_telemetry:dm("PM_NO_TELEMETRY"),telemetry_otel_disabled:dm("PM_TELEMETRY_OTEL_DISABLED"),telemetry_inline_flush:dm("PM_TELEMETRY_INLINE_FLUSH"),telemetry_source_context:LU()}}function BU(e,t){return e.telemetry.enabled&&t.validEntries>0}function WU(e,t){return e&&t.every(n=>!n.startsWith("telemetry_queue_pending:")&&!n.startsWith("telemetry_queue_high_retries:"))}async function VU(e){let t=e;try{let n=new URL(e);n.pathname="/healthz",n.search="",n.hash="",t=n.toString()}catch{}try{let n=await fetch(t,{method:"GET",signal:AbortSignal.timeout(cU)});return{probe_url:mm(t),ok:n.ok,status:n.status,max_schema_version:(()=>{for(let r of dU){let o=n.headers.get(r)?.trim();if(o&&o.length>0)return o}})()}}catch(n){return{probe_url:mm(t),ok:!1,error:n instanceof Error?n.message:"probe_failed"}}}async function KU(e,t){let n=Bn(process.cwd()),r=Ze.join(n,sU),o=Ze.join(n,aU),i=await K(r),s=i!==null,a=i?Buffer.byteLength(i,"utf8"):0,c=i?MU(i):$U(),l=await K(o),{runtimeState:d,stateParseFailed:u}=FU(l),f=e.telemetry.endpoint.trim(),m=mm(f),p=await jU(e,t.checkTelemetry),w=[];u&&w.push("telemetry_state_invalid_json"),w.push(...UU(e,c,d),...zU(p),...HU(p),...qU(e,d));let h=BU(e,c),b=typeof d.pending_otel_spans=="number"?d.pending_otel_spans:0;return{check:{name:"telemetry",status:w.length===0?"ok":"warn",ok:w.length===0,details:{enabled:e.telemetry.enabled,capture_level:e.telemetry.capture_level,endpoint:m,global_pm_root:n,queue_path:r,queue_exists:s,queue_entries:c.validEntries,queue_draining:WU(h,w),queue_invalid_rows:c.invalidRows,queue_rows_total:c.totalRows,queue_size_bytes:a,queue_high_retry_entries:c.highRetryEntries,queue_high_retry_threshold:Lk,queue_max_attempts:c.maxAttempts,runtime_state_path:o,last_attempted_flush_at:d.last_attempted_flush_at??null,last_successful_flush_at:d.last_successful_flush_at??null,last_failed_flush_at:d.last_failed_flush_at??null,last_failed_flush_error:d.last_failed_flush_error??null,pending_otel_spans:b,last_otel_attempt_at:d.last_otel_attempt_at??null,last_otel_success_at:d.last_otel_success_at??null,last_otel_failure_at:d.last_otel_failure_at??null,last_otel_failure_error:d.last_otel_failure_error??null,endpoint_probe:p??{attempted:!1},env_overrides:GU()}},warnings:w}}async function JU(e){let t;try{t=await Dw(e)}catch(r){let o=r instanceof Error?r.message:String(r);return{check:{name:"locks",status:"warn",ok:!1,details:{active_lock_count:0,stale_lock_count:0,unreadable_lock_count:0,unparseable_lock_count:0,scan_failed:!0,error:o,pm_root:e}},warnings:[`locks_scan_failed:${o}`]}}let n=[];return t.stale_lock_count>0&&n.push(`locks_stale_count:${t.stale_lock_count}`),t.unreadable_lock_count>0&&n.push(`locks_unreadable:${t.unreadable_lock_count}`),{check:{name:"locks",status:n.length===0?"ok":"warn",ok:n.length===0,details:{active_lock_count:t.active_lock_count,stale_lock_count:t.stale_lock_count,unreadable_lock_count:t.unreadable_lock_count,unparseable_lock_count:t.unparseable_lock_count}},warnings:n}}async function YU(e){let t="metadata",n=e.items,r=await yr(e.pmRoot,n,{cacheHitVerification:t}),o=[...new Set([...r.hashMismatches,...r.chainMismatches,...r.versionSkews])].sort((b,v)=>b.localeCompare(v)),i=[],s=[];if(o.length>0){n=await gr(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema,{forceSourceScan:!0}),r=await yr(e.pmRoot,n),i=[...new Set([...r.hashMismatches,...r.chainMismatches,...r.versionSkews])].sort((v,I)=>v.localeCompare(I));let b=new Set(i);s=o.filter(v=>!b.has(v))}let{missingStreams:a,unreadableStreams:c,hashMismatches:l,chainMismatches:d,versionSkews:u,driftedItems:f,workspaceStateMismatches:m,workspaceStateMissing:p,workspaceStateUnreadable:w}=r,h=[...a.map(b=>`history_drift_missing_stream:${b}`),...c.map(b=>`history_drift_unreadable_stream:${b}`),...l.map(b=>`history_drift_hash_mismatch:${b}`),...d.map(b=>`history_drift_chain_mismatch:${b}`),...u.map(b=>`history_drift_version_skew:${b}`),...m.map(b=>`history_drift_workspace_state_mismatch:${b}`),...p.map(b=>`history_drift_workspace_state_missing:${b}`),...w.map(b=>`history_drift_workspace_state_unreadable:${b}`)];return{check:{name:"history_drift",status:h.length===0?"ok":"warn",ok:h.length===0,details:{checked_items:n.length,cache_hit_verification:o.length>0?"metadata_then_content_hash":t,cache_confirmation:{triggered:o.length>0,reason:o.length>0?"cached_corruption_candidate":null,candidate_items:o,confirmed_items:i,resolved_false_positive_items:s,authoritative_item_source:o.length>0},drifted_items:f,counts:{drifted:f.length,missing_streams:a.length,unreadable_streams:c.length,hash_mismatches:l.length,chain_mismatches:d.length,version_skews:u.length,workspace_state_mismatches:m.length,workspace_state_missing:p.length,workspace_state_unreadable:w.length},missing_streams:a,unreadable_streams:c,hash_mismatches:l,chain_mismatches:d,version_skews:u,workspace_state_mismatches:m,workspace_state_missing:p,workspace_state_unreadable:w}},warnings:h}}function XU(e,t){let n=lo(e),r=Ni(n.settings),o=Pi(n.settings,t),i=r.active?fo(r.active.name,r.active.model):null;return{runtimeDefaults:n,providerResolution:r,vectorStoreResolution:o,runtimeEmbeddingIdentity:i,semanticRuntimeAvailable:!!(r.active&&o.active)}}function ZU(){return{refreshed:[],skipped:[],warnings:[]}}async function QU(e){return!e.refreshPolicy.enabled||!e.snapshot.semanticRuntimeAvailable||e.staleBefore.length===0?ZU():rb(e.pmRoot,e.staleBefore,{settings:e.snapshot.runtimeDefaults.settings,apply_runtime_defaults:!1})}function ez(e){return e.strictVectorizationWarnings&&e.semanticRuntimeAvailable&&!!(e.ledgerBefore.embedding&&e.runtimeEmbeddingIdentity&&Li(e.ledgerBefore.embedding,e.runtimeEmbeddingIdentity))}function tz(e){let t=new Set([...e.ledgerBefore.warnings,...e.ledgerAfter.warnings]);if(e.strictVectorizationWarnings)for(let n of e.refreshResult.warnings)t.add(n);return e.embeddingIdentityChanged&&t.add("vectorization_embedding_identity_changed"),e.strictVectorizationWarnings&&e.semanticRuntimeAvailable&&e.staleAfter.length>0&&t.add(`vectorization_stale_items_remaining:${e.staleAfter.length}`),[...t].sort((n,r)=>n.localeCompare(r))}function nz(e,t,n){return e.enabled&&t&&n.length>0?null:e.enabled?t?"no_stale_items":"semantic_runtime_unavailable":"refresh_disabled"}function rz(e,t){let n=t.providerResolution.active?.name??null,r=t.vectorStoreResolution.active?.name??null;return{provider_active:n,provider_configured:typeof e.search?.provider=="string"?e.search.provider:null,provider_source:Ju(n,e.search?.provider??null),vector_store_active:r,vector_store_configured:typeof e.vector_store?.adapter=="string"?e.vector_store.adapter:null,vector_store_source:Ju(r,e.vector_store?.adapter??null)}}function oz(e){return{enabled:e.enabled,check_only:e.checkOnly,no_refresh:e.noRefresh,refresh_vectors:e.refreshVectors}}function iz(e,t,n){return e.enabled&&n.length>0&&t}async function sz(e,t,n,r,o){let i=XU(t,e),s=await Fi(e),a=i.semanticRuntimeAvailable?mf(n,s.entries):[],c=await QU({pmRoot:e,snapshot:i,refreshPolicy:r,staleBefore:a}),l=await Fi(e),d=i.semanticRuntimeAvailable?mf(n,l.entries):[],u=!i.runtimeDefaults.auto_ollama_defaults_applied,f=ez({strictVectorizationWarnings:u,semanticRuntimeAvailable:i.semanticRuntimeAvailable,ledgerBefore:s,runtimeEmbeddingIdentity:i.runtimeEmbeddingIdentity}),m=tz({ledgerBefore:s,ledgerAfter:l,refreshResult:c,strictVectorizationWarnings:u,semanticRuntimeAvailable:i.semanticRuntimeAvailable,embeddingIdentityChanged:f,staleAfter:d}),p=Dk(a,o),w=Dk(d,o),h=iz(r,i.semanticRuntimeAvailable,a);return{check:{name:"vectorization",status:m.length===0?"ok":"warn",ok:m.length===0,details:{semantic_runtime_available:i.semanticRuntimeAvailable,compatibility_mode_auto_defaults:i.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_applied:i.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_skipped_reason:i.runtimeDefaults.auto_ollama_defaults_skipped_reason??null,auto_ollama_defaults_remediation:i.runtimeDefaults.auto_ollama_defaults_remediation??null,refresh_policy:oz(r),...rz(t,i),embedding_identity_changed:f,embedding_identity_before:s.embedding??null,embedding_identity_runtime:i.runtimeEmbeddingIdentity??null,items:n.length,ledger_entries_before:Object.keys(s.entries).length,stale_items_detail_mode:o?"full":"summary",stale_items_summary_limit:Pk,stale_items_before_total:p.total,stale_items_before:p.values,stale_items_before_truncated:p.truncated,refresh_attempted:h,refresh_skipped_reason:nz(r,i.semanticRuntimeAvailable,a),refresh_result:c,ledger_entries_after:Object.keys(l.entries).length,stale_items_after_total:w.total,stale_items_after:w.values,stale_items_after_truncated:w.truncated}},warnings:m}}function az(e){let t=[];return e.id_prefix.trim().length===0&&t.push("settings:id_prefix_empty"),e.locks.ttl_seconds<=0&&t.push("settings:locks_ttl_non_positive"),t}function cz(e){let t=e.checkOnly===!0,n=e.refreshVectors===!0;if(n&&t)throw new g("--check-only cannot be combined with --refresh-vectors",_.USAGE);if(n&&e.noRefresh===!0)throw new g("--no-refresh cannot be combined with --refresh-vectors",_.USAGE);return{enabled:n,checkOnly:t,noRefresh:!n,refreshVectors:n}}var lz=new Set(["extensions","locks","search"]);function dz(e){let t=new Set(Nc.filter(o=>o.length>0)),n=new Set,r=new Set(Object.values(He));for(let o of e.folders)t.has(o)&&!r.has(o)||(t.delete(o),n.add(o));for(let o of lz)t.delete(o),n.add(o);return{requiredDirs:[...t].sort((o,i)=>o.localeCompare(i)),optionalDirs:[...n].sort((o,i)=>o.localeCompare(i)),optionalDirSet:n}}async function uz(e,t,n){let{requiredDirs:r,optionalDirs:o,optionalDirSet:i}=dz(t),s=[],a=[],c=[];for(let l of[...r,...o]){let d=Ze.join(e,l);c.push(...await Fe({path:d,scope:"project"})),!await Fk(d)&&(i.has(l)?a.push(l):s.push(l))}return{requiredDirs:r,optionalDirs:o,missingRequiredDirs:s,missingOptionalDirs:a,missingDirs:n?[...s,...a]:[...s],hookWarnings:c}}function fz(e){let t=e.checkOnly===!0&&e.brief!==!0&&e.summary!==!0&&e.full!==!0,n=(e.summary===!0||t)&&e.full!==!0,r=e.checkOnly===!0&&(e.brief===!0||e.summary===!0)&&e.full!==!0;return{summaryMode:n,skipIntegrity:(e.skipIntegrity===!0||r)&&e.full!==!0,skipDrift:(e.skipDrift===!0||r)&&e.full!==!0,skipVectors:(e.skipVectors===!0||r)&&e.full!==!0}}async function mz(e){return e.skipPolicy.skipDrift&&e.skipPolicy.skipVectors?Si(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema):gr(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema)}function um(e){return{check:{name:e,status:"ok",ok:!0,details:{skipped:!0}},warnings:[]}}function pz(e,t,n){return{name:"settings",status:n.length===0?"ok":"warn",ok:n.length===0,details:{path:e,version:t.version,id_prefix:t.id_prefix,locks_ttl_seconds:t.locks.ttl_seconds,warnings:n}}}function _z(e,t){return{name:"directories",status:e.missingDirs.length===0?"ok":"warn",ok:e.missingDirs.length===0,details:{required:e.requiredDirs,optional:e.optionalDirs,missing_required:e.missingRequiredDirs,missing_optional:e.missingOptionalDirs,missing:e.missingDirs,strict_directories:t}}}function gz(e,t){return{name:"settings_values",status:e.length===0?"ok":"warn",ok:e.length===0,details:{warnings:e,...t.roleless_status_count>0?{lifecycle_status_roles:t}:{}}}}var jk=e=>e.unknown_event_count??0,Uk=e=>e.actionable_unknown_event_count??jk(e);function hz(e,t,n,r,o,i){let s=jk(r),a=Uk(r),c=s>0,l=a>0,d=o.count>0;return{name:"storage",status:n.over_threshold.length===0&&n.orphaned.length===0&&!l&&!d?"ok":"warn",ok:n.over_threshold.length===0&&n.orphaned.length===0&&!l&&!d,details:{items:e.length,history_streams:n.count,tombstones:{retention_policy:"retain_append_only",gc_enabled:!1,count:n.tombstones.length,ids:n.tombstones.slice(0,25),truncated:n.tombstones.length>25},orphaned_history_streams:{count:n.orphaned.length,ids:n.orphaned.slice(0,25),truncated:n.orphaned.length>25},...c?{author_attribution:r}:{},...d?{stale_in_progress:o}:{},...i.outcomes.length>0?{provenance_resolver_outcomes:i.outcomes}:{},...i.invalid_values.length>0?{provenance_invalid_values:i.invalid_values}:{},provenance_sample:i.sample,...n.max_entries!==null?{compact_policy:{enabled:t.history.compact_policy.enabled,max_entries:n.max_entries,trigger:t.history.compact_policy.trigger,over_threshold_count:n.over_threshold.length,over_threshold:n.over_threshold}}:{}}}}function yz(e){let t=e.count===0?[]:[`stale_in_progress_items:${e.count}`];return{scan:e,warnings:t}}function wz(e){let t=[...e.directoryState.missingDirs.map(n=>`missing_directory:${n}`),...e.normalizedSettingsReadWarnings,...e.settingWarnings,...e.normalizedItemReadWarnings,...e.telemetryCheck.warnings,...e.extensionCheck.warnings,...e.historyPolicyWarnings,...e.historySummary.warnings,...e.authorAttributionWarnings,...e.staleInProgressWarnings,...e.provenanceWarnings,...e.locksCheck.warnings,...e.integrityCheck.warnings,...e.historyDriftCheck.warnings,...e.vectorizationCheck.warnings,...e.directoryState.hookWarnings];return[...new Set(t)]}function bz(e){let t=e.check.details.counts;return typeof t?.drifted=="number"?t.drifted:0}function vz(e){return{settings:e.normalizedSettingsReadWarnings,directories:e.directoryState.missingDirs.map(t=>`missing_directory:${t}`).concat(e.directoryState.hookWarnings),settings_values:e.settingWarnings,telemetry:e.telemetryCheck.warnings,extensions:e.extensionCheck.warnings,storage:[...e.historyPolicyWarnings,...e.historySummary.warnings,...e.authorAttributionWarnings,...e.staleInProgressWarnings,...e.provenanceWarnings],locks:e.locksCheck.warnings,integrity:[...e.normalizedItemReadWarnings,...e.integrityCheck.warnings],history_drift:e.historyDriftCheck.warnings,vectorization:e.vectorizationCheck.warnings}}function kz(e){let t=new Map;for(let[o,i]of Object.entries(e.remediationSources))for(let s of i)t.has(s)||t.set(s,o);let n=new Map(e.checks.map(o=>[o.name,o]));return e.warnings.map(o=>{let i=t.get(o)??"integrity",s=gf(o)?.code??$k(o),a=n.get(i)?.details,c=typeof a?.remediation_map=="object"&&a.remediation_map!==null?a.remediation_map:{},l=s==="agent_guidance_outdated"?"pm init --agent-guidance add":s==="agent_guidance_unreadable"?"Check AGENTS.md and CLAUDE.md read permissions and file types, then retry pm health.":c[s],d=Mk(o,e.requireMergeDrivers)?"advisory":"gate_failing";return{warning:o,code:s,check:i,severity:d,...typeof l=="string"?{remediation:l}:d==="gate_failing"?{disposition:"no_safe_automatic_remediation"}:{}}})}function Ez(e){if(e.check.name==="history_drift"&&e.historyDriftedCount>1)for(let t of Object.keys(e.remediationMap))t!=="history_drift_merge_receipt"&&t!=="history_drift_version_skew"&&(e.remediationMap[t]="pm history-repair --all");if(e.check.name==="storage"&&e.overThresholdCount>1)for(let t of Object.keys(e.remediationMap))e.remediationMap[t]="pm history-compact --all-streams"}function Sz(e){for(let t of e.checks){let n=hf(e.remediationSources[t.name]);Ez({check:t,remediationMap:n,historyDriftedCount:e.historyDriftedCount,overThresholdCount:e.overThresholdCount}),Object.keys(n).length>0&&(t.details={...t.details,remediation_map:n})}}async function Tz(e){if(e.gitWorkspaceRoot===null||e.pendingMergeReceipts.length===0)return[];let t=e.historyDriftCheck.check.details,n=Array.isArray(t.hash_mismatches)?t.hash_mismatches.filter(s=>typeof s=="string"):[],r=new Set([t.missing_streams,t.unreadable_streams,t.chain_mismatches].flatMap(s=>Array.isArray(s)?s:[])),o=new Map;for(let s of e.pendingMergeReceipts){if(s.evidence_source!=="clone_local")continue;let a=o.get(s.item_id)??[];a.push(s),o.set(s.item_id,a)}let i=[];for(let s of n){if(r.has(s))continue;let a=o.get(s);if(!(!a||a.length===0))try{await sn(s,{dryRun:!0,mergeReceiptProof:{gitWorkspaceRoot:e.gitWorkspaceRoot,receipts:a}},e.global),i.push(s)}catch{}}return[...new Set(i)].sort((s,a)=>s.localeCompare(a))}function Az(e,t){let n=new Set(t);e.warnings=[...e.warnings.filter(r=>r.startsWith("history_drift_hash_mismatch:")?!n.has(r.slice(r.indexOf(":")+1)):!0),...t.map(r=>`history_drift_merge_receipt:${r}`)].sort((r,o)=>r.localeCompare(o)),e.check.details={...e.check.details,merge_receipt_attributed_items:t}}function Iz(e,t,n){let r=e.warning_count??e.warnings.length,o={...e,warning_count:r,warning_limit:br,warnings_truncated:r>br,warnings:e.warnings.slice(0,br),findings:(e.findings??[]).filter(s=>e.warnings.slice(0,br).includes(s.warning)||e.failed_because.includes(s.warning))},i=n?PU(o):t.brief===!0?DU(o):o;return{...i,warning_count:r,warning_limit:br,warnings_truncated:r>i.warnings.length,...i.projection?{projection:{...i.projection,warning_count:r,warnings_truncated:r>i.warnings.length}}:{}}}async function pm(e,t={}){let n=X(process.cwd(),e.path);await je(n);let r=Se(n),{settings:o,warnings:i}=await Dn(n),s=[...new Set(i)],a=ge(o,Y()),c=t.strictDirectories===!0,l=t.strictExit===!0||t.failOnWarn===!0,d=t.requireMergeDrivers===!0||l,u=cz(t),f=await uz(n,a,c),m=az(o),p=await KU(o,{checkTelemetry:t.checkTelemetry===!0}),w=await IU(n,o,!!e.noExtensions),h=fz(t),b=[],v=await mz({pmRoot:n,settings:o,typeRegistry:a,skipPolicy:h,itemReadWarnings:b}),I=v,A=pc(ct(o.schema),v),L=[...(await xw({pm_root:n,cwd:process.cwd(),mode:"status",interactive:!1,settings:o}).catch(()=>({warnings:["agent_guidance_unreadable:AGENTS.md,CLAUDE.md"]}))).warnings.filter(Re=>Re.startsWith("agent_guidance_")),...m,..._c(A)],E=h.skipDrift?{warnings:[]}:await $a({pmRoot:n,settings:o,itemIds:v.map(Re=>Re.id),commandLabel:"health"}),N=await mU(n,o.history.compact_policy,await uU(n)),G=await ac(n,20,t.verboseAuthorEvents===!0),T=Uk(G),z=T>0?[`history_unknown_author_events:${T}`]:[],D=yz(await wf(n,v,{in_progress_status:o.schema.workflow.in_progress_status,threshold_hours:o.mutation_guard.stale_in_progress_hours})),pe=await pw(n),re=pe.warnings,Ee=await JU(n),Wt=h.skipIntegrity&&!d?{...um("integrity"),gitWorkspaceRoot:null,pendingMergeReceipts:[]}:await wU(n,a.type_to_folder,o.schema,o,d,v),Vt=h.skipDrift?um("history_drift"):await YU({pmRoot:n,items:I,settings:o,typeRegistry:a,itemReadWarnings:b}),Nm=[...new Set(b)],UE=await Tz({gitWorkspaceRoot:Wt.gitWorkspaceRoot,pendingMergeReceipts:Wt.pendingMergeReceipts,historyDriftCheck:Vt,global:e});Az(Vt,UE);let Tc=h.skipVectors?um("vectorization"):await sz(n,o,I,u,t.verboseStaleItems===!0),ts=[pz(r,o,s),_z(f,c),gz(L,A),p.check,w.check,hz(v,o,N,G,D.scan,pe),Ee.check,Wt.check,Vt.check,Tc.check],Ac=wz({directoryState:f,normalizedSettingsReadWarnings:s,settingWarnings:L,normalizedItemReadWarnings:Nm,telemetryCheck:p,extensionCheck:w,historyPolicyWarnings:E.warnings,historySummary:N,authorAttributionWarnings:z,staleInProgressWarnings:D.warnings,provenanceWarnings:re,locksCheck:Ee,integrityCheck:Wt,historyDriftCheck:Vt,vectorizationCheck:Tc}),Dm=vz({directoryState:f,normalizedSettingsReadWarnings:s,settingWarnings:L,normalizedItemReadWarnings:Nm,telemetryCheck:p,extensionCheck:w,historyPolicyWarnings:E.warnings,historySummary:N,authorAttributionWarnings:z,staleInProgressWarnings:D.warnings,provenanceWarnings:re,locksCheck:Ee,integrityCheck:Wt,historyDriftCheck:Vt,vectorizationCheck:Tc});Sz({checks:ts,remediationSources:Dm,historyDriftedCount:bz(Vt),overThresholdCount:N.over_threshold.length});let Ic=Ac.filter(Re=>!Mk(Re,d)),Cc=kz({warnings:Ac,checks:ts,remediationSources:Dm,requireMergeDrivers:d}),zE=new Set(Cc.filter(Re=>Re.severity==="gate_failing").map(Re=>Re.check)),HE=new Set(Cc.map(Re=>Re.check));for(let Re of ts)Re.ok=!zE.has(Re.name),HE.has(Re.name)&&(Re.status="warn");let qE={ok:Ic.length===0,verdict:{authority:"ok",...l?{strict_exit:!0}:{},...d?{require_merge_drivers:!0}:{},exit_code:l&&Ic.length>0?_.GENERIC_FAILURE:0},checks:ts,warnings:Ac,findings:Cc,failed_because:Ic,generated_at:j()};return Iz(qE,t,h.summaryMode)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6ef0b23-e861-50ec-b7b3-751863936631")}catch{}})();function zk(e,t){let n=bt(e),r=e.length>0?e[e.length-1].after_hash:Nd(),o=t===void 0||n.item_hash_version===void 0?void 0:Gr(t,n.item_hash_version,Ne(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?xd(t):o[Math.max(0,o.indexOf(r))],s=i===void 0?void 0:i===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1e1d8d86-3f4e-50eb-ae73-ca7c030f7c0a")}catch{}})();function Hk(e,t,n){if(!n.has(t.metadata.status))return{reason:"not_terminal"};if(e.length===0)return{reason:"missing_history"};if(!zk(e,t).ok)return{reason:"unverified_history"};let r=cr(),o={reason:"no_proven_transition"};for(let[i,s]of e.entries()){let a=n.has(String(r.metadata.status));r=ro(r,s.patch,i+1,s.op),n.has(String(r.metadata.status))?a||(o=["create","close","cancel","update","update_audit"].includes(s.op)&&gn(s.ts)?{timestamp:s.ts,source_index:i+1}:{reason:"no_proven_transition"}):o={reason:"no_proven_transition"}}return o}function qk(e){return new Set([...e.terminal_statuses,...[...e.alias_to_id].filter(([,t])=>e.terminal_statuses.has(t)).map(([t])=>t)])}async function Gk(e,t,n,r,o){let i=qk(n),s=t.filter(l=>i.has(l.status)&&!l.closed_at),a=[],c=[];for(let l of r?s:[]){let d;try{let u=await rt(ve(e,l.id),l.id),{body:f,...m}=l;d=Hk(u,{metadata:m,body:f},i)}catch{c.push({id:l.id,reason:"unreadable_history"});continue}if("reason"in d){c.push({id:l.id,reason:d.reason});continue}a.push({item_id:l.id,check:"metadata",field:"closed_at",kind:"set_closed_at",value:d.timestamp,gate:"timestamps",command:"pm validate --check-metadata --auto-fix --fix-scope timestamps"})}return{details:{missing_closed_at_count:s.length,missing_closed_at_item_ids:s.slice(0,o).map(l=>l.id),missing_closed_at_item_ids_truncated:s.length>o,closure_history_inspected:r,closure_timestamp_derivable_count:a.length,closure_timestamp_residual_count:c.length,closure_timestamp_residual:c.slice(0,o),closure_timestamp_residual_truncated:c.length>o,...s.length>0?{closure_timestamp_fix_hint:"pm validate --check-metadata --auto-fix --fix-scope timestamps --dry-run"}:{}},fixes:a,warnings:s.length>0?[`validate_metadata_missing_closed_at:${s.length}`]:[]}}async function Bk(e,t){let n=X(process.cwd(),t.path),r=await ne(n),o=ct(r.schema);await hr({pmRoot:n,settings:r,id:e.item_id,op:"update",author:Ie(t.author,r.author_default),message:"Backfill closed_at from verified lifecycle history",skipNoop:!0,async mutate(i){if(i.metadata.closed_at)return{changedFields:[]};let s=await rt(ve(n,i.metadata.id),i.metadata.id),a=qk(o),c=Hk(s,i,a);if(!("timestamp"in c)||c.timestamp!==e.value)throw new g("Closure timestamp evidence changed or cannot be verified; rerun the timestamp repair preview.",_.GENERIC_FAILURE);return i.metadata.closed_at=c.timestamp,{changedFields:["closed_at"]}}})}import Rm from"node:fs/promises";import{realpathSync as $2}from"node:fs";import{execFile as F2}from"node:child_process";import Qe from"node:path";import{promisify as j2}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c1b189d7-2939-5891-b936-5f208dc8f5ff")}catch{}})();var Cz=["metadata","resolution"],_m=["metadata","resolution","estimates","timestamps","lifecycle"],Oz="completed";function gm(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function Wk(e){let t=e?.trim();return t!==void 0&&t.length>0?t:void 0}function Vk(e){let t=[];for(let n of e){if(!n.missing_fields.includes("resolution"))continue;let r=Wk(n.close_reason)??Oz;t.push({item_id:n.id,check:"resolution",field:"resolution",kind:"set_resolution",value:r,command:`pm update ${n.id} --resolution ${gm(r)}`,gate:"resolution"})}return t}function Kk(e){let t=[];for(let n of e){let r=Wk(n.resolution);r!==void 0&&t.push({item_id:n.id,check:"metadata",field:"close_reason",kind:"set_close_reason",value:r,command:`pm update ${n.id} --close-reason ${gm(r)}`,gate:"metadata"})}return t}function Jk(e,t){return e.map(n=>{let r=Jh(n.type,t);return{item_id:n.id,check:"metadata",field:"estimated_minutes",kind:"set_estimate",value:String(r),command:`pm update ${n.id} --estimate ${r}`,gate:"estimates"}})}function Yk(e){return e.map(t=>t.grandparent_id!==void 0&&t.grandparent_active===!0?{item_id:t.id,check:"lifecycle",field:"parent",kind:"reparent",parent_id:t.grandparent_id,command:`pm update ${t.id} --parent ${t.grandparent_id}`,gate:"lifecycle"}:{item_id:t.id,check:"lifecycle",field:"parent",kind:"unset_parent",command:`pm update ${t.id} --unset parent`,gate:"lifecycle"})}function Xk(e){let t=[];for(let n of e){if(n.classification!=="deleted")continue;let r=n.link_kind==="files"?"files":"docs";t.push({item_id:n.item_id,check:"files",field:n.link_kind,kind:n.link_kind==="files"?"prune_file_link":"prune_doc_link",path:n.path,command:`pm ${r} ${n.item_id} --remove ${gm(n.path)}`})}return t}function Zk(e){let t=(e??[]).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0){if(e!==void 0&&e.length>0)throw new g(`--fix-scope values must not be empty. Supported values: ${_m.join(", ")}.`,_.USAGE);return new Set(Cz)}let n=new Set;for(let r of t){let o=r.toLowerCase().replaceAll("-","_");if(_m.includes(o)){n.add(o);continue}throw new g(`Unknown --fix-scope value "${r}". Supported values: ${_m.join(", ")}.`,_.USAGE)}return n}function Qk(e,t){let n=[],r=[];for(let o of e)o.gate!==void 0&&!t.has(o.gate)?r.push(o):n.push(o);return{applicable:n,gated:r}}function Yi(e){return{item_id:e.item_id,check:e.check,field:e.field,command:e.command,...e.gate!==void 0?{gate:e.gate}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3b09b58f-2ec7-523e-87f3-8d828deb8480")}catch{}})();var xz=/^([A-Z][A-Z0-9]*-\d+)\b/iu;function Rz(e,t={}){if(typeof e!="string")return null;let n=e.trim();if(n.length===0)return null;let r=xz.exec(n);if(!r)return null;let o=r[1],i=o.toUpperCase(),s=o.slice(0,o.lastIndexOf("-")),a=new Set((t.configuredPrefixes??[]).map(f=>f.trim().replace(/-+$/u,"").toUpperCase())),c=n.slice(o.length),l=t.evidenceText?.toUpperCase()??"",d=l.includes(`ISSUE CODE: ${i}`)||l.includes(`ISSUE CODE \`${i}\``)||l.includes(`\`${i}\``)||l.includes(`[${i}]`);return s===s.toUpperCase()||/^\s*(?::|—|–|\])/u.test(c)||a.has(s.toUpperCase())||d?i:null}function eE(e){return typeof e=="string"&&e.trim().length>0}function Nz(e){let t=new Set(e.map(a=>a.id.toLowerCase())),n=new Map,r=new Map;for(let a of e){let c=a.id.toLowerCase(),l=new Set([...a.parent===null?[]:[a.parent.toLowerCase()],...a.derivations].filter(d=>d!==c&&t.has(d)));n.set(c,l);for(let d of l){let u=r.get(d)??[];u.push(c),r.set(d,u)}}let i=[...[...n].filter(([,a])=>a.size===0).map(([a])=>a)],s=new Set;for(let a=0;a<i.length;a+=1)for(let c of r.get(i[a])??[]){let l=n.get(c);l.delete(i[a]),l.size===0&&(s.add(c),i.push(c))}return e.filter(a=>!s.has(a.id.toLowerCase()))}function tE(e,t={}){let n=new Map;for(let o of e){if(typeof o.title!="string"||eE(o.duplicate_of))continue;let i=Rz(o.title,{...t,evidenceText:o.body});if(i===null)continue;let s=n.get(i);s||(s=[],n.set(i,s)),s.some(a=>a.id===o.id)||s.push({id:o.id,title:o.title,parent:eE(o.parent)?o.parent.trim():null,derivations:(o.dependencies??[]).filter(a=>["discovered_from","supersedes","incident_from"].includes(a.kind)).map(a=>a.id.trim().toLowerCase()).filter(a=>a!==o.id.toLowerCase())})}let r=[];for(let[o,i]of n){if(i.length<2)continue;let s=Nz(i);if(s.length<2)continue;let a=[...s].sort((c,l)=>c.id.localeCompare(l.id));r.push({code:o,count:a.length,ids:a.map(c=>c.id),titles:a.map(c=>c.title)})}return r.sort((o,i)=>o.code.localeCompare(i.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]="b51a9fba-7bbe-573b-a708-5ffea6fa040f")}catch{}})();function nE(e){let t=new Map;for(let r of e){let o=t.get(r.item_type);o||(o=new Map,t.set(r.item_type,o)),o.set(r.field,(o.get(r.field)??0)+1)}let n={};for(let r of[...t.keys()].sort((o,i)=>o.localeCompare(i))){let o=t.get(r),i={};for(let s of[...o.keys()].sort((a,c)=>a.localeCompare(c)))i[s]=o.get(s);n[r]=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]="ede22770-cb10-5054-85a7-89bb2758c25f")}catch{}})();var rE=3;function oE(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t===-1?e:e.slice(t+1)}function iE(e,t,n=rE){let r=Number.isFinite(n)&&n>=1?Math.floor(n):rE,o=new Map;for(let i of t){let s=oE(i);if(s.length===0)continue;let a=o.get(s);a?a.push(i):o.set(s,[i])}return e.map(i=>{if(i.includes(",")||i.replace(/^[a-z]:[\\/]/i,"").includes(":"))return{path:i,classification:"malformed",candidates:[],candidates_truncated:!1};let s=(o.get(oE(i))??[]).filter(a=>a!==i).sort((a,c)=>a.localeCompare(c));return s.length===0?{path:i,classification:"deleted",candidates:[],candidates_truncated:!1}:{path:i,classification:"moved",candidates:s.slice(0,r),candidates_truncated:s.length>r}})}function sE(e){return e.map(t=>t.classification==="moved"?`${t.path}:moved:${t.candidates[0]}`:`${t.path}:${t.classification}`)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6f94fb3c-3d6c-5543-a2f0-e12680459e71")}catch{}})();var Dz=/^[a-z][a-z0-9+.-]+:\/\//i;function Xi(e){return Dz.test(e.trim())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2cd8850-491a-505c-8709-3dcdb758de75")}catch{}})();function Pz(e,t){return e==="malformed"||t==="malformed"?"malformed":e==="moved"||t==="moved"?"moved":"deleted"}function aE(e){return`${e.item_id} ${e.link_kind}`}function cE(e,t){let n=new Map;for(let r of e){let o=n.get(r.path);o?(o.classification=Pz(o.classification,r.classification),o.owners.set(aE(r),r)):n.set(r.path,{classification:r.classification,owners:new Map([[aE(r),r]])})}return[...n.entries()].sort(([r],[o])=>r.localeCompare(o)).map(([r,o])=>({path:r,classification:o.classification,items:[...o.owners.values()].map(i=>{let s=t(i.item_id);return{id:i.item_id,type:s?.type??"Unknown",title:s?.title??"",status:s?.status??"",field:i.link_kind}}).sort((i,s)=>{let a=i.id.localeCompare(s.id);return a!==0?a:i.field.localeCompare(s.field)})}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ccb0d064-940b-5e14-ae63-2803aced4ee7")}catch{}})();function lE(e,t,n,r,o=40){let i=o===1/0?1/0:Number.isFinite(o)?Math.max(0,Math.floor(o)):40,s=new Map(t.map(l=>[l.path,l])),a={missing_linked_path_rows_count:0,missing_linked_path_rows:[],missing_linked_path_rows_truncated:!1,missing_linked_links_count:0,active_missing_linked_links_count:0,legacy_closed_missing_linked_links_count:0,legacy_terminal_missing_linked_links_count:0,active_missing_linked_paths_count:0},c=cE(e,n).map(l=>{let d=[],u=[];for(let m of l.items){let p=Rt(m.status,r)??m.status;r.terminal_statuses.has(p)?(u.push(m),p===r.close_status&&(a.legacy_closed_missing_linked_links_count+=1)):d.push(m)}a.missing_linked_links_count+=l.items.length,a.active_missing_linked_links_count+=d.length,a.legacy_terminal_missing_linked_links_count+=u.length,d.length>0&&(a.active_missing_linked_paths_count+=1);let f=s.get(l.path);return{...l,candidates:f?.candidates??[],candidates_truncated:f?.candidates_truncated??!1,link_count:l.items.length,active_link_count:d.length,items:[...d,...u].slice(0,i),items_truncated:l.items.length>i}});return c.sort((l,d)=>+(d.active_link_count>0)-+(l.active_link_count>0)||l.path.localeCompare(d.path)),a.missing_linked_path_rows_count=c.length,a.missing_linked_path_rows=c.slice(0,i),a.missing_linked_path_rows_truncated=c.length>i,a}import ho from"node:fs/promises";import yo 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]="9bcae2f2-3739-5ef8-b080-daaaf7df2681")}catch{}})();async function Lz(e,t){let n=[...new Set(Object.values(t))],r=[];return await Promise.all(n.map(async o=>{let i;try{i=await ho.readdir(yo.join(e,o))}catch{return}for(let s of i)for(let a of Jt)if(s.toLowerCase().endsWith(a)){r.push({relativePath:`${o}/${s}`,id:s.slice(0,-a.length)});break}})),r.sort((o,i)=>o.relativePath.localeCompare(i.relativePath))}function Mz(e,t){let{id:n,relativePath:r,liveItemIds:o,out:i}=e,s=Me(t);if(s){i.conflictMarkers.push({id:n,path:r,line:s.line,detail:`unresolved merge conflict marker ${s.marker}`});return}let a=$z(e,t);a!==null&&(a.op==="delete"&&o.has(n)&&i.resurrected.push({id:n,deleted_at:typeof a.ts=="string"?a.ts:"",deleted_by:typeof a.author=="string"?a.author:""}),a.op==="history_repair"&&Array.isArray(a.patch)&&a.patch.length>0&&(i.repairReconciliations+=1))}function $z(e,t){let{id:n,relativePath:r,out:o}=e,i=null,s=!1,a=t.split(/\r?\n/).map((c,l)=>({content:c.trim(),number:l+1})).filter(c=>c.content.length>0);for(let c of a){try{let l=JSON.parse(c.content);if(typeof l!="object"||l===null||Array.isArray(l))throw new TypeError("history entry must be an object");i=l}catch{return o.unparseable.push({id:n,path:r,line:c.number,detail:"history line is not a valid JSON object"}),null}if(i.op==="create"){if(s)return o.unparseable.push({id:n,path:r,line:c.number,detail:"duplicate item identity: more than one create event in one history stream"}),null;s=!0}}return i}function hm(e,t){let n=typeof t=="object"&&t!==null&&"code"in t&&typeof t.code=="string"?t.code:"UNKNOWN";return`${e} could not be read (error code: ${n})`}async function Fz(e,t){let n={conflictMarkers:[],unparseable:[],resurrected:[],repairReconciliations:0,scanned:0},r;try{r=await ho.readdir(yo.join(e,"history"))}catch{return n}for(let o of r.sort((i,s)=>i.localeCompare(s))){if(!o.endsWith(".jsonl"))continue;n.scanned+=1;let i;try{i=await ho.readFile(yo.join(e,"history",o),"utf8")}catch(s){n.unparseable.push({id:o.slice(0,-6),path:`history/${o}`,detail:hm("history stream",s)});continue}Mz({id:o.slice(0,-6),relativePath:`history/${o}`,liveItemIds:t,out:n},i)}return n}function dE(e){let t=Me(e);if(t)return`unresolved merge conflict marker ${t.marker} at line ${t.line}`;try{return JSON.parse(e),null}catch(n){return`invalid JSON (${String(n)})`}}async function jz(e){let t=[],n=0,r=null;try{r=await K(Se(e))}catch(i){n+=1,t.push({path:"settings.json",detail:hm("configuration file",i)})}if(r!==null){n+=1;let i=dE(r);i!==null&&t.push({path:"settings.json",detail:i})}let o;try{o=await ho.readdir(yo.join(e,"schema"))}catch{return{scanned:n,unparseable:t}}for(let i of o.sort((s,a)=>s.localeCompare(a))){if(!i.endsWith(".json"))continue;n+=1;let s;try{s=await ho.readFile(yo.join(e,"schema",i),"utf8")}catch(c){t.push({path:`schema/${i}`,detail:hm("configuration file",c)});continue}let a=dE(s);a!==null&&t.push({path:`schema/${i}`,detail:a})}return{scanned:n,unparseable:t}}async function uE(e,t,n,r={}){let o=await Lz(e,n),i=new Set(o.map(u=>u.id)),s=new Map;for(let u of o){let f=s.get(u.id);f===void 0?s.set(u.id,[u.relativePath]):f.push(u.relativePath)}let a=[...s.entries()].filter(([,u])=>u.length>1).map(([u,f])=>({id:u,paths:[...f].sort((m,p)=>m.localeCompare(p))})).sort((u,f)=>u.id.localeCompare(f.id)),c=(await Promise.all(o.map(async u=>{if(!t.has(u.id))return{path:u.relativePath,id:u.id};try{let f=yo.join(e,u.relativePath);return Ve(await ho.readFile(f,"utf8"),{format:f.toLowerCase().endsWith(".md")?"json_markdown":"toon",schema:r.schema,extensionFieldNames:r.extensionFieldNames}),null}catch{return{path:u.relativePath,id:u.id}}}))).filter(u=>u!==null),l=await Fz(e,i),d=await jz(e);return{item_files_on_disk:o.length,item_ids_on_disk:i.size,parsed_items:t.size,unreadable_item_files:c,duplicate_item_ids:a,history_streams_scanned:l.scanned,history_conflict_marker_streams:l.conflictMarkers,history_unparseable_streams:l.unparseable,resurrected_items:l.resurrected,history_repair_reconciliations:l.repairReconciliations,config_files_scanned:d.scanned,unparseable_config_files:d.unparseable}}import Uz from"node:fs/promises";import gt from"node:path";import zz from"fast-glob";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bb855f72-341c-5dc3-ade5-dd3102275cd8")}catch{}})();var Hz=["path","scope","note"],qz=["pattern","glob","path","scope","note"],Gz=["path"],Bz=["from","to"],Wz=new Set(["note","scope"]);function mE(e){let t=e??"project";if(!Mc.includes(t))throw new g(`Invalid scope "${e}". Valid scopes: ${Mc.join(", ")} (default: project).`,_.USAGE);return t}function ym(e){if(e.startsWith("```")||e.includes(`
138
- `)||/^(?:[-*+]\s+)?(?:path|scope|note)\s*[:=]/i.test(e))return!0;let t=e.indexOf(","),n=e.slice(0,t>=0?t:e.length),r=n.indexOf("=");return r>=0&&!/\s/u.test(e)&&(/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(e)||/^(?:[A-Za-z]:[\\/]|[\\/]{1,2}|\.\.?(?:[\\/]))/u.test(e)||[e.indexOf("/"),e.indexOf("\\")].some(o=>o>=0&&o<r))?!1:n.includes("=")||$d(e)}function Vz(e){let t=0;for(let n of e)if(n==="("&&(t+=1),n===")"&&(t-=1),t<0)return!1;return t===0}function Kz(e){if(/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(e)&&!ym(e))return{path:e,scope:"project",note:void 0};let t=e.indexOf("](");if(e.startsWith("[")&&t>0&&e.endsWith(")")){let i=e.slice(t+2,-1).trim();if(i.length>0&&Vz(i))return{path:i,scope:"project",note:e.slice(1,t).trim()||void 0}}let n=e.indexOf(",");if(n<0)return;let r=e.slice(0,n).trim(),o=e.slice(n+1).trim();if(!(r.length===0||!/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(o)))return{path:o,scope:"project",note:r}}function Jz(e,t){return e?e.flatMap(n=>{let r=n.trim();if(t==="doc"){let i=Kz(r);if(i!==void 0)return[i]}vh(r,"--add",`${t} path`,ym(r));let o=ym(r)?Kr(n,"--add"):{path:r};if(Jr(o,"--add",Hz),!o.path)throw new g(`--add requires path=<value> or a bare ${t} path`,_.USAGE);return[{path:o.path,scope:mE(o.scope),note:o.note?.trim()||void 0}]}):[]}function Yz(e){return e?e.map(t=>{let n=t.trim();if(!n)throw new g("--add-glob requires a glob pattern value",_.USAGE);if(n.includes("=")||/^(?:[-*+]\s+)?(?:pattern|glob|path)\s*[:=]/i.test(n)||n.startsWith("```")){let r=Kr(n,"--add-glob");Jr(r,"--add-glob",qz);let o=r.pattern?.trim()||r.glob?.trim()||r.path?.trim();if(!o)throw new g("--add-glob key/value form requires pattern=<glob>",_.USAGE);return{pattern:o,scope:mE(r.scope),note:r.note?.trim()||void 0}}return{pattern:n,scope:"project"}}):[]}function Xz(e){return e?e.map(t=>{let n=t.trim();if(!n)throw new g("--remove requires a path value",_.USAGE);if(n.includes("=")||/^(?:[-*+]\s+)?path\s*[:=]/i.test(n)||n.startsWith("```")){let r=Kr(n,"--remove"),o=Object.keys(r).filter(i=>Wz.has(i.toLowerCase()));if(o.length>0)throw new g(`--remove identifies a linked artifact by path only and does not accept ${o.map(i=>`"${i}"`).join(", ")}. Pass just the path (path=<value>, path:<value>, or a bare path); record removal context with --message "<why removed>".`,_.USAGE);if(Jr(r,"--remove",Gz),!r.path)throw new g("--remove key/value form requires path=<value>",_.USAGE);return r.path}return n}):[]}function Zz(e){return e?e.map(t=>{let n=Kr(t,"--migrate");Jr(n,"--migrate",Bz);let r=n.from?.trim(),o=n.to?.trim();if(!r||!o)throw new g("--migrate requires from=<value> and to=<value>",_.USAGE);return{from:r,to:o}}):[]}function Zi(e,t){let n=e;for(let r of t)n.startsWith(r.from)&&(n=`${r.to}${n.slice(r.from.length)}`);return n}function Qz(e,t,n=[]){if(e.length===0||t.length===0)return;let r=new Set(e.map(i=>Zi(i.path,n))),o=[...new Set(t.map(i=>Zi(i,n)).filter(i=>r.has(i)))].sort((i,s)=>i.localeCompare(s));if(o.length!==0)throw new g(`Linked artifact mutation cannot add and remove the same normalized path in one transaction: ${o.join(", ")}. Split the replacement into separate commands so each history event has one unambiguous intent.`,_.USAGE,{code:"linked_artifact_mutation_conflict",reason:"same_path_added_and_removed",required:"Use distinct normalized paths for --add and --remove in one invocation.",why:"Conflicting batch intent cannot be applied deterministically without silently discarding metadata or a removal.",nextSteps:["Run the removal and addition as separate commands with a --message describing each intent."]})}function gc(e){return e.split(gt.sep).join("/")}function wm(e,t,n=process.cwd()){let r=e.trim();if(Xi(r))return r;if(gt.isAbsolute(r)||/^[A-Za-z]:[\\/]/.test(r))return gc(r.replaceAll("\\",gt.sep));let o=gt.relative(t,n);return o.startsWith(`..${gt.sep}`)||o===".."||gt.isAbsolute(o)?gc(gt.normalize(r)):gc(gt.relative(t,gt.resolve(n,r)))}async function e2(e,t=process.cwd(),n=process.cwd()){let r=[];for(let o of e){let i=gt.isAbsolute(o.pattern),s=await zz(o.pattern,{cwd:n,absolute:i,onlyFiles:!0,dot:!0,unique:!0,followSymbolicLinks:!0}),a=[...new Set(s.map(c=>wm(c,t,n)))].sort((c,l)=>c.localeCompare(l));for(let c of a)r.push({path:c,scope:o.scope,note:o.note})}return r}function t2(e,t,n){if(t===void 0)return e;if(!n)throw new g("--note requires --add or --add-glob in the same invocation (the note annotates the links being added)",_.USAGE);let r=t.trim();return r.length===0?e:e.map(o=>o.note===void 0?{...o,note:r}:o)}function n2(e){return`${e.path}::${e.scope}`}function pE(e){return[...e].sort((t,n)=>{let r=t.path.localeCompare(n.path);return r!==0?r:t.scope.localeCompare(n.scope)})}function _E(e){return[...new Map(e.map(t=>[n2(t),t])).values()].map(t=>({...t,note:t.note?.trim()||void 0}))}async function r2(e,t=process.cwd()){let n=[...new Set(e)].sort((a,c)=>a.localeCompare(c)),r=[],o=[],i=[],s=[];for(let a of n){if(Xi(a)){s.push(a.trim());continue}let c=gt.isAbsolute(a)?a:gt.resolve(t,a);try{(await Uz.stat(c)).isFile()?r.push(a):i.push(a)}catch(l){if(typeof l=="object"&&l!==null&&"code"in l&&yt(l)){o.push(a);continue}i.push(a)}}return{checked:n.length,existing_files:r,missing_paths:o,non_file_paths:i,remote_references:s}}function o2(e,t,n,r){let o=0;for(let s=0;s<e.length;s+=1){let a=Zi(e[s].path,r);a!==e[s].path&&(e[s]={...e[s],path:a},o+=1)}return{adds:t.map(s=>{let a=Zi(s.path,r);return a!==s.path&&(o+=1),{...s,path:a}}),removes:n.map(s=>Zi(s,r)),count:o}}function i2(e,t,n,r){let o=_E(e);for(let i of t){let s=o.findIndex(a=>a.path===i.path&&a.scope===i.scope);s<0?o.push(i):i.note!==void 0&&(o[s]={...o[s],note:i.note})}if(n.length>0)for(let i=o.length-1;i>=0;i-=1)n.includes(o[i].path)&&o.splice(i,1);return r?o:pE(o)}async function fE(e){let t=e.artifacts.map(n=>n.path);return{id:e.id,artifacts:e.artifacts,changed:e.changed,count:e.artifacts.length,migrations_applied:e.migrationsApplied&&e.migrationsApplied>0?e.migrationsApplied:void 0,validation:e.options.validatePaths||e.changed?await r2(t,e.workspaceRoot):void 0}}async function hc(e,t,n,r){let{metadataKey:o}=r,i=ti(),s=X(process.cwd(),n.path),a=vn(s),c=process.cwd();await je(s);let l=await ne(s),d=ge(l,Y()),u=await i.resolveList(t.add,"--add"),f=await i.resolveList(t.addGlob,"--add-glob"),m=await i.resolveList(t.remove,"--remove"),p=await i.resolveList(t.migrate,"--migrate"),w=Jz(u,r.bareNoun).map(z=>({...z,path:wm(z.path,a,c)})),h=Yz(f),b=await e2(h,a,c),v=t2([...w,...b],t.note,w.length>0||h.length>0),I=Xz(m).map(z=>wm(z,a,c)),A=Zz(p);if(Qz(v,I,A),!(v.length>0||I.length>0||A.length>0)){let z=await ze(s,e,l.id_prefix,l.item_format,d.type_to_folder);if(!z)throw new g(`Item ${e} not found`,_.NOT_FOUND);let pe=(await Ye(z,{schema:l.schema})).document.metadata[o]??[];return fE({id:z.id,artifacts:pe,changed:!1,options:t,workspaceRoot:a})}let L=Ie(t.author,l.author_default),E=await hr({pmRoot:s,settings:l,id:e,op:r.op,author:L,message:t.message,force:t.force,skipNoop:!0,mutate(z){let D=z.metadata,pe=D[o]??[],re=[...pe],Ee=o2(re,v,I,A),Wt=i2(re,Ee.adds,Ee.removes,r.supportsAppendStable&&t.appendStable===!0);Wt.length>0?D[o]=Wt:delete D[o];let Vt=!De(pe,Wt);return{changedFields:Vt?[o]:[],warnings:Vt&&Ee.count>0?[`path_migrations_applied:${Ee.count}`]:[]}}}),N=E.item[o]??[],G=E.warnings.find(z=>z.startsWith("path_migrations_applied:")),T=G?Number(G.slice(24)):0;return fE({id:E.item.id,artifacts:N,changed:E.changedFields.includes(o),migrationsApplied:T,options:t,workspaceRoot:a})}function yc(e,t){let n={};for(let[r,o]of Object.entries(e))n[r==="artifacts"?t:r]=o;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]="aef928ec-4a5b-5614-bb5c-cbf63f891845")}catch{}})();async function gE(e,t,n){let r=await hc(e,t,n,{metadataKey:"docs",op:"docs_add",bareNoun:"doc",supportsAppendStable:!1});return yc(r,"docs")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1d4534aa-5a56-5a76-8971-aa3ba6c52e59")}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]="573da024-c791-5ff2-b3ee-3529804bab43")}catch{}})();async function hE(e,t,n){let r=await hc(e,t,n,{metadataKey:"files",op:"files_add",bareNoun:"file",supportsAppendStable:!0});return yc(r,"files")}import{readFileSync as s2}from"node:fs";import wc 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]="e69d7d9b-9ae8-5337-9ea3-a8e40a62d3af")}catch{}})();var a2=new Set(["get","history","restore","update","close","delete","append","claim","release","comments","notes","learnings","files","docs","deps","test"]),bE=new Set(["--pm-path","--path","--author"]),c2={get:new Set(["--depth","--fields","--tree-depth","--tree_depth","--at","--format"]),history:new Set(["--limit","--field","--format"]),restore:new Set(["--message"]),update:new Set(["--title","-t","--description","-d","--body","-b","--status","-s","--close-reason","--close_reason","--priority","-p","--type","--tags","--add-tags","--add_tags","--remove-tags","--remove_tags","--deadline","--estimated-minutes","--estimate","--estimated_minutes","--acceptance-criteria","--ac","--acceptance_criteria","--definition-of-ready","--definition_of_ready","--order","--rank","--goal","--objective","--value","--impact","--outcome","--why-now","--why_now","--message","--assignee","--parent","--reviewer","--risk","--confidence","--sprint","--release","--blocked-by","--blocked_by","--blocked-reason","--blocked_reason","--unblock-note","--unblock_note","--reporter","--severity","--environment","--repro-steps","--repro_steps","--resolution","--expected-result","--expected_result","--expected","--actual-result","--actual_result","--actual","--affected-version","--affected_version","--fixed-version","--fixed_version","--component","--regression","--customer-impact","--customer_impact","--dep","--dep-remove","--dep_remove","--comment","--note","--learning","--file","--test","--doc","--reminder","--event","--type-option","--type_option","--field","--unset","--body-file"]),close:new Set(["--reason","-r","--close-reason","--duplicate-of","-d","--message","-m","--validate-close","--resolution","--expected-result","--expected_result","--expected","--actual-result","--actual_result","--actual"]),delete:new Set(["--message"]),append:new Set(["--body","--text","--message"]),claim:new Set(["--assignee","--message","--type","--tag","--priority","--assignee-filter","--parent","--sprint","--release","--max-attempts"]),release:new Set(["--assignee","--message"]),comments:new Set(["--add","--body","--comment","--file","--edit","--delete","--limit","--message"]),notes:new Set(["--add","--file","--edit","--delete","--limit","--message"]),learnings:new Set(["--add","--file","--edit","--delete","--limit","--message"]),files:new Set(["--add","--add-glob","--remove","--migrate","--note","--message"]),docs:new Set(["--add","--add-glob","--remove","--migrate","--note","--message"]),deps:new Set(["--format","--max-depth","--collapse","--node-limit","--edge-limit","--token-budget","--cursor","--direction","--kind"]),test:new Set(["--add","--add-json","--remove","--match","--only-index","--timeout","--env-set","--env-clear","--pm-context","--message"])},l2=new Set(["-p","--package"]),d2=new Set(["-c","--call"]),u2=new Set(["-c","-C","--config","--dir","--filter","--workspace-dir"]),f2=new Set(["-C","--prefix","--userconfig","--cache"]);var m2=new Set(["exec","x"]);function p2(e){return e.split(/&&|\|\||\||;/).map(t=>t.trim()).filter(t=>t.length>0)}function _2(e,t=process.cwd()){let n=g2(e.split(" ").filter(s=>s.length>0));if(n.length===0)return null;let[r,...o]=n;if(yE(r)||wE(r,t))return o;if(r==="node"&&o[0]&&wE(o[0],t))return o.slice(1);let i=r==="npx"||r==="bunx"?bm(o):r==="pnpm"?w2(o):r==="npm"?b2(o):null;return i&&(yE(i.command)||y2(i.command))?i.args:null}var vE=(e,t="pm")=>{let n=t.trim().toLowerCase(),r=n.length;for(;r>0&&n[r-1]==="-";)r-=1;let o=n.slice(0,r);if(o.length===0)return[];let i=e.trim().replaceAll("\\","/").replaceAll('"',"").replaceAll("'","").replaceAll(/\s+/g," ").toLowerCase(),s=new Set;for(let a of p2(i)){let c=_2(a),l=c?v2(c):null,d=l&&a2.has(l.subcommand)?k2(l.remaining,c2[l.subcommand]):void 0,u=d?.trim().toLowerCase();u?.startsWith(`${o}-`)===!0&&u.length>o.length+1&&s.add(d)}return[...s].sort((a,c)=>a.localeCompare(c))};function g2(e){let t=0;for(e[t]==="env"&&(t+=1);t<e.length;){let n=e[t];if(/^(?:[a-z_][a-z0-9_]*|\$env:[a-z_][a-z0-9_]*)=.*/.test(n)){t+=1;continue}break}return e.slice(t)}function yE(e){return e==="pm"||e==="pm.cmd"||e==="pm.exe"||e.endsWith("/pm")||e.endsWith("/pm.cmd")||e.endsWith("/pm.exe")}function h2(e){let t=e.trim();if(!t.startsWith("@")){let o=t.indexOf("@");return o===-1?t:t.slice(0,o)}let n=t.indexOf("/");if(n===-1)return t;let r=t.indexOf("@",n+1);return r===-1?t:t.slice(0,r)}function y2(e){let t=h2(e);return t==="pm-cli"||t.endsWith("/pm-cli")||e==="pm-cli"||e.endsWith("/pm-cli")}function wE(e,t=process.cwd()){let n=e.replaceAll("\\","/");if(n!=="dist/cli.js"&&n!=="./dist/cli.js"&&!n.endsWith("/dist/cli.js"))return!1;let r=wc.resolve(t,e);try{return JSON.parse(s2(wc.join(wc.dirname(wc.dirname(r)),"package.json"),"utf8")).name==="@unbrained/pm-cli"}catch{return!1}}function bm(e){let t=0;for(;t<e.length;){let r=e[t];if(r==="--"){t+=1;break}if(!r.startsWith("-"))break;let o=/^(?:-c|--call)=(.*)$/.exec(r);if(o){let i=o[1];return i?{command:i,args:e.slice(t+1)}:null}if(d2.has(r)){t+=1;break}t+=l2.has(r)&&!r.includes("=")?2:1}let n=e[t];return n?{command:n,args:e.slice(t+1)}:null}function kE(e,t){let n=0;for(;n<e.length;){let r=e[n];if(r==="--"){n+=1;continue}if(r.startsWith("-")){if(r.includes("=")){n+=1;continue}if(t.has(r)){n+=2;continue}n+=1;continue}return{subcommand:r,args:e.slice(n+1)}}return null}function w2(e){let t=kE(e,u2);return t?.subcommand!=="dlx"?null:bm(t.args)}function b2(e){let t=kE(e,f2);return!t||!m2.has(t.subcommand)?null:bm(t.args)}function v2(e){let t=0;for(;t<e.length;){let n=e[t];if(n==="--"){t+=1;continue}if(n.startsWith("-")){if(bE.has(n)){t+=2;continue}t+=1;continue}return{subcommand:n,remaining:e.slice(t+1)}}return null}function k2(e,t=new Set){for(let n=0;n<e.length;n+=1){let r=e[n];if(r==="--")return e[n+1];if(!r.startsWith("-"))return r;!r.includes("=")&&(bE.has(r)||t.has(r))&&(n+=1)}}import{execFile as E2}from"node:child_process";import{readFile as S2}from"node:fs/promises";import T2 from"node:path";import{promisify as A2}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eeb9bc22-b9e1-5449-9ad0-fbb1a14fb09d")}catch{}})();var I2=A2(E2),vm=1,C2="linked-test-trust.json";function O2(e){return T2.join(Ls(e),C2)}function EE(){return{version:vm,acknowledged:{}}}async function x2(e){try{let t=JSON.parse(await S2(O2(e),"utf8"));return t.version!==vm||typeof t.acknowledged!="object"||t.acknowledged===null||Array.isArray(t.acknowledged)?EE():{version:vm,acknowledged:t.acknowledged}}catch{return EE()}}async function SE(e=process.cwd()){let t=process.env.GITHUB_HEAD_REF?.trim()||process.env.GITHUB_REF_NAME?.trim();if(t&&t!=="merge")return t;try{let{stdout:n}=await I2("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:e,encoding:"utf8",windowsHide:!0,timeout:1e4}),r=n.trim();return r.length===0?void 0:r}catch{return}}function TE(e=process.cwd()){return process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||e}function R2(e){return e===null||typeof e!="object"?!1:typeof e.author=="string"&&e.author.trim().length>0&&typeof e.created_at=="string"&&ht(e.created_at)&&(e.source_kind==="local_mutation"||e.source_kind==="merge_union")}function Qi(e,t){return{...e?{source_ref:e}:{},...t?{current_source_ref:t}:{}}}function N2(e){return Pe(O({command:e.command??null,path:e.path??null,scope:e.scope,pm_context_mode:e.pm_context_mode??null,workspace_context_mode:e.workspace_context_mode??null,env_set:e.env_set??null,env_clear:e.env_clear??null,shared_host_safe:e.shared_host_safe??null,provenance:e.provenance??null,provenance_invalid:e.provenance_invalid??null}))}function D2(e,t,n){let r=N2(e),o=e.provenance?.source_ref;if(e.provenance===void 0&&e.provenance_invalid!==!0)return{fingerprint:r,trusted:!0,reason:"legacy"};let i=Object.hasOwn(n.acknowledged,r);return e.provenance_invalid===!0||!R2(e.provenance)?i?{fingerprint:r,trusted:!0,reason:"acknowledged",...Qi(void 0,t)}:{fingerprint:r,trusted:!1,reason:"invalid_provenance",...Qi(void 0,t)}:e.provenance.source_kind==="local_mutation"&&o===void 0?{fingerprint:r,trusted:!0,reason:"local_mutation",...Qi(void 0,t)}:e.provenance.source_kind==="local_mutation"&&o!==void 0&&o===t?{fingerprint:r,trusted:!0,reason:"local_source_ref",source_ref:o,current_source_ref:t}:i?{fingerprint:r,trusted:!0,reason:"acknowledged",...Qi(o,t)}:{fingerprint:r,trusted:!1,reason:"foreign_source_ref",...Qi(o,t)}}async function AE(e,t,n){let r=await x2(e);return t.map(o=>D2(o,n,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]="3ae38c0a-7f43-5457-b9a5-d23491a371ea")}catch{}})();async function IE(e){return e.includeBody?gr(e.pmRoot,e.settings.item_format,e.typeToFolder,e.warnings,e.settings.schema,{forceSourceScan:!0}):Ei(e.pmRoot,e.settings.item_format,e.typeToFolder,e.warnings,e.settings.schema)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42402d5d-8074-591f-98b4-75f479509cb4")}catch{}})();var P2=5;async function CE(e,t,n){let r=await yr(e,t),i=[["validate_history_drift_missing_streams",r.missingStreams.length],["validate_history_drift_unreadable_streams",r.unreadableStreams.length],["validate_history_drift_hash_mismatches",r.hashMismatches.length],["validate_history_drift_chain_mismatches",r.chainMismatches.length],["validate_history_drift_version_skews",r.versionSkews.length],["validate_history_drift_workspace_state_mismatches",r.workspaceStateMismatches.length],["validate_history_drift_workspace_state_missing",r.workspaceStateMissing.length],["validate_history_drift_workspace_state_unreadable",r.workspaceStateUnreadable.length]].filter(([,l])=>l>0).map(([l,d])=>`${l}:${d}`),s=n?Number.POSITIVE_INFINITY:P2,a=r.driftedItems.slice(0,s),c=r.identityDiscontinuities??[];return{check:{name:"history_drift",status:c.length>0?"error":i.length===0?"ok":"warn",ok:c.length===0&&i.length===0,details:{identity_discontinuities:c.slice(0,s),identity_discontinuities_count:c.length,identity_discontinuities_truncated:c.length>s,checked_items:t.length,drifted_items_count:r.driftedItems.length,drifted_items:a,drifted_items_truncated:a.length<r.driftedItems.length,counts:{missing_streams:r.missingStreams.length,unreadable_streams:r.unreadableStreams.length,hash_mismatches:r.hashMismatches.length,chain_mismatches:r.chainMismatches.length,version_skews:r.versionSkews.length,workspace_state_mismatches:r.workspaceStateMismatches.length,workspace_state_missing:r.workspaceStateMissing.length,workspace_state_unreadable:r.workspaceStateUnreadable.length},workspace_state_mismatches:r.workspaceStateMismatches,workspace_state_missing:r.workspaceStateMissing,workspace_state_unreadable:r.workspaceStateUnreadable,version_skews:r.versionSkews.slice(0,s)}},warnings: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]="c357729b-f316-51e7-9768-fc7bb4600e06")}catch{}})();function km(e,t){let n=e[0];if(e.length===1)return[n,n];let r=new Set(e),o=[n],i=new Set([n]),s=a=>{for(let c of(t.get(a)??[]).filter(l=>r.has(l))){if(c===n&&o.length>1)return o.push(n),!0;if(!i.has(c)){if(i.add(c),o.push(c),s(c))return!0;o.pop(),i.delete(c)}}return!1};return s(n)?[...o]:[...e,n]}function L2(e,t){if(typeof e!="string")return;let n=e.trim().toLowerCase();return n.length>0?t.get(n):void 0}function M2(e,t,n,r){for(let o of e.dependencies??[]){if(typeof o!="object"||o===null||typeof o.id!="string")continue;let i=r.resolve(o.kind);if(!i?.hierarchy)continue;let s=n.get(o.id.toLowerCase());s&&(i.hierarchyDirection==="source_parent"?t.get(s).push(e.id):t.get(e.id).push(s))}}function OE(e,t=dn()){let n=new Map(e.map(o=>[o.id.toLowerCase(),o.id])),r=new Map(e.map(o=>[o.id,[]]));for(let o of[...e].sort((i,s)=>i.id.localeCompare(s.id))){let i=r.get(o.id),s=L2(o.parent,n);s&&i.push(s),M2(o,r,n,t)}for(let[o,i]of r)r.set(o,[...new Set(i)].sort());return r}function xE(e,t,n=dn()){let r=Ki(e,s=>t?Hc(s,t):s==="closed"||s==="canceled",n),o=OE(e,n),i=r.cycles.map(s=>s.item_ids);return{cycle_count:i.length,active_cycle_count:r.cycles.filter(s=>!s.legacy_terminal).length,legacy_cycle_count:r.cycles.filter(s=>s.legacy_terminal).length,cycle_item_ids:[...new Set(i.flat())].sort(),cycle_sample_paths:i.map(s=>km(s,o).join("->")),cardinality_violation_count:r.cardinality_violations.length,active_cardinality_violation_count:r.cardinality_violations.filter(s=>!s.legacy_terminal).length,legacy_cardinality_violation_count:r.cardinality_violations.filter(s=>s.legacy_terminal).length,cardinality_violation_rows:r.cardinality_violations.map(s=>`${s.child_id}:${s.parent_ids.join(",")}:${s.legacy_terminal?"legacy":"active"}`),parent_divergence_count:r.divergences.length,active_parent_divergence_count:r.divergences.filter(s=>!s.legacy_terminal).length,legacy_parent_divergence_count:r.divergences.filter(s=>s.legacy_terminal).length,parent_divergence_rows:r.divergences.map(s=>`${s.child_id}:scalar=${s.scalar_parent_id}:dependencies=${s.dependency_parent_ids.join(",")}:${s.legacy_terminal?"legacy":"active"}`)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b32d3476-3270-555f-a684-80318df96527")}catch{}})();function Fn(e){return e.replaceAll("\\","/").replace(/^\.\/+/,"").replace(/^\/+/,"")}function Em(e){return Fn(e).replace(/\/+$/,"")}function Gt(e){let t=de(e);if(!t)return;let n=t.toLowerCase();if(!(n==="none"||n==="null"||n==="n/a"||n==="na"))return t}function Sm(e){let t=e.trim().replaceAll(/\s+/g," ");return t.length>120?`${t.slice(0,117)}...`: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]="1ffaaceb-cc25-5d2f-a840-763ba8c7e81f")}catch{}})();var U2=["src","tests","docs"],z2=["README.md","PRD.md","CHANGELOG.md","AGENTS.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","LICENSE"],H2=new Set(["node_modules",".git",".cursor",".agents","dist","coverage"]),q2=["resolution","expected_result","actual_result"],G2=["default","tracked-all","tracked-all-strict"],RE=["core","strict","custom"],kc=["off","warn","error"],Im=["author","acceptance_criteria","estimated_minutes","close_reason"],LE=[...Im,"reviewer","risk","confidence","sprint","release"],Cm=Array.from(new Set(LE)),B2={author:"author",acceptance_criteria:"acceptance_criteria","acceptance-criteria":"acceptance_criteria",estimated_minutes:"estimated_minutes","estimated-minutes":"estimated_minutes",estimate:"estimated_minutes",close_reason:"close_reason","close-reason":"close_reason",reviewer:"reviewer",risk:"risk",confidence:"confidence",sprint:"sprint",release:"release"},W2={author:"validate_metadata_missing_author",acceptance_criteria:"validate_metadata_missing_acceptance_criteria",estimated_minutes:"validate_metadata_missing_estimate",close_reason:"validate_metadata_missing_close_reason",reviewer:"validate_metadata_missing_reviewer",risk:"validate_metadata_missing_risk",confidence:"validate_metadata_missing_confidence",sprint:"validate_metadata_missing_sprint",release:"validate_metadata_missing_release"},V2={author:"missing_author",acceptance_criteria:"missing_acceptance_criteria",estimated_minutes:"missing_estimated_minutes",close_reason:"closed_missing_close_reason",reviewer:"missing_reviewer",risk:"missing_risk",confidence:"missing_confidence",sprint:"missing_sprint",release:"missing_release"},K2={author:"missing_author_item_ids",acceptance_criteria:"missing_acceptance_criteria_item_ids",estimated_minutes:"missing_estimated_minutes_item_ids",close_reason:"closed_missing_close_reason_item_ids",reviewer:"missing_reviewer_item_ids",risk:"missing_risk_item_ids",confidence:"missing_confidence_item_ids",sprint:"missing_sprint_item_ids",release:"missing_release_item_ids"},J2={author:"missing_author_truncated",acceptance_criteria:"missing_acceptance_criteria_truncated",estimated_minutes:"missing_estimated_minutes_truncated",close_reason:"closed_missing_close_reason_truncated",reviewer:"missing_reviewer_truncated",risk:"missing_risk_truncated",confidence:"missing_confidence_truncated",sprint:"missing_sprint_truncated",release:"missing_release_truncated"},Y2=32*1024*1024,X2=1e4,Om=40,Ot=5,Z2=4096,Q2=255,eH=j2(F2);function ME(e){let t={};for(let[n,r]of Object.entries(e))Array.isArray(r)||r===!1&&n.endsWith("_truncated")||(t[n]=typeof r=="object"&&r!==null?ME(r):r);return t}function tH(e){return{...e,checks:e.checks.map(t=>({...t,details:ME(t.details)})),...e.fixes?{fixes:{mode:e.fixes.mode,auto_fix:e.fixes.auto_fix,prune_missing:e.fixes.prune_missing,planned_count:e.fixes.planned_count,applied_count:e.fixes.applied_count,gated_count:e.fixes.gated_count,failed_count:e.fixes.failed_count}}:{}}}function Sc(e,t){return Rt(e,t)??e}function es(e,t){return t.terminal_statuses.has(Sc(e,t))}function jn(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function bc(e,t){return e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function nH(e){let t=jn(Pc),n={blocked_reason:jn(Un.blocked_reason),resolution:jn(Un.resolution),actual_result:jn(Un.actual_result)},r=jn(e.validation.lifecycle_stale_blocker_reason_patterns),o={blocked_reason:jn(e.validation.lifecycle_closure_like_blocked_reason_patterns),resolution:jn(e.validation.lifecycle_closure_like_resolution_patterns),actual_result:jn(e.validation.lifecycle_closure_like_actual_result_patterns)};return{stale_blocker_reason_patterns:r,stale_blocker_reason_pattern_source:bc(r,t)?"default":"settings",closure_like_metadata_field_patterns:o,closure_like_metadata_field_pattern_sources:{blocked_reason:bc(o.blocked_reason,n.blocked_reason)?"default":"settings",resolution:bc(o.resolution,n.resolution)?"default":"settings",actual_result:bc(o.actual_result,n.actual_result)?"default":"settings"}}}function rH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"core";if(RE.includes(t))return t;throw new g(`Unknown --metadata-profile value "${e}". Supported values: ${RE.join(", ")}.`,_.USAGE)}function oH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(kc.includes(t))return t;throw new g(`Unknown --dependency-cycle-severity value "${e}". Supported values: ${kc.join(", ")}.`,_.USAGE)}function iH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(kc.includes(t))return t;throw new g(`Unknown --parent-cycle-severity value "${e}". Supported values: ${kc.join(", ")}.`,_.USAGE)}function sH(e){return[...new Set((e??[]).map(n=>n.trim().toLowerCase().replaceAll("-","_")))].map(n=>B2[n]).filter(n=>n!==void 0).sort((n,r)=>n.localeCompare(r))}function aH(e,t,n){let r=sH(n);return e==="core"?{profile:e,profile_source:t,required_fields:[...Im],configured_custom_fields:r,fallback_to_core:!1,warnings:[]}:e==="strict"?{profile:e,profile_source:t,required_fields:[...LE],configured_custom_fields:r,fallback_to_core:!1,warnings:[]}:r.length>0?{profile:e,profile_source:t,required_fields:r,configured_custom_fields:r,fallback_to_core:!1,warnings:[]}:{profile:e,profile_source:t,required_fields:[...Im],configured_custom_fields:r,fallback_to_core:!0,warnings:["validate_metadata_custom_profile_missing_required_fields:0"]}}var cH=new Set(["acceptance_criteria","estimated_minutes"]);function lH(e,t,n,r){return!r&&cH.has(t)&&es(e.status,n)?!1:t==="author"?!de(e.author):t==="acceptance_criteria"?!de(e.acceptance_criteria):t==="estimated_minutes"?!Number.isFinite(e.estimated_minutes):t==="close_reason"?Sc(e.status,n)===n.close_status&&!de(e.close_reason):t==="reviewer"?!de(e.reviewer):t==="risk"?!de(e.risk):t==="confidence"?typeof e.confidence=="number"?!Number.isFinite(e.confidence):!de(e.confidence):t==="sprint"?!de(e.sprint):!de(e.release)}function dH(e){if(e===void 0)return"default";let t=e.trim().toLowerCase();if(t.length===0||t==="default")return"default";if(t==="tracked-all"||t==="tracked_all")return"tracked-all";if(t==="tracked-all-strict"||t==="tracked_all_strict")return"tracked-all-strict";throw new g(`Unknown --scan-mode value "${e}". Supported values: ${G2.join(", ")}.`,_.USAGE)}function uH(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim();if(t)return Qe.resolve(t);let n=Qe.resolve(e);if(n.replaceAll("\\","/").endsWith("/.agents/pm"))return Qe.dirname(Qe.dirname(n));let o=Qe.resolve(process.cwd()),i=NE(n),s=NE(o),a=Qe.relative(i,s);return a.length===0||!a.startsWith("..")&&!Qe.isAbsolute(a)?n:o}function NE(e){try{return $2.native(e)}catch{return Qe.resolve(e)}}function fH(e,t){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"&&t.includes(e.code)}async function $E(e,t,n){let r=t.length>0?Qe.join(e,t):e,o;try{o=await Rm.readdir(r,{withFileTypes:!0})}catch(i){if(F(i))return;throw i}for(let i of o){if(i.name.startsWith("."))continue;let s=t.length>0?Qe.join(t,i.name):i.name;if(i.isDirectory()){if(H2.has(i.name))continue;await $E(e,s,n);continue}i.isFile()&&n.push(Fn(s))}}async function DE(e){let t=[];for(let n of U2)await $E(e,n,t);for(let n of z2){let r=Qe.join(e,n);try{(await Rm.stat(r)).isFile()&&t.push(Fn(n))}catch{}}return[...new Set(t)].sort((n,r)=>n.localeCompare(r))}async function mH(e){try{let{stdout:t}=await eH("git",["ls-files","-z"],{cwd:e,encoding:"utf8",maxBuffer:Y2,windowsHide:!0,timeout:X2}),n=t.split("\0").map(r=>Fn(r)).filter(r=>r.length>0);return[...new Set(n)].sort((r,o)=>r.localeCompare(o))}catch{return null}}function pH(e,t){let n=new Set,r=Em(Er);r.length>0&&n.add(r);let o=Em(Qe.relative(t,e));return o.length>0&&!o.startsWith("..")&&n.add(o),[...n].sort((i,s)=>i.localeCompare(s))}function PE(e,t){for(let n of t)if(e===n||e.startsWith(`${n}/`))return!0;return!1}async function _H(e,t){if(t==="tracked-all"||t==="tracked-all-strict"){let r=await mH(e);if(r)return{requestedMode:t,appliedMode:t,source:"tracked-git",candidateFiles:r,candidateTotal:r.length,candidateScanned:r.length};let o=await DE(e);return{requestedMode:t,appliedMode:"default",source:"tracked-all-fallback-default",candidateFiles:o,candidateTotal:o.length,candidateScanned:o.length}}let n=await DE(e);return{requestedMode:t,appliedMode:"default",source:"default-curated",candidateFiles:n,candidateTotal:n.length,candidateScanned:n.length}}function me(e,t=Ot){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function vr(e,t){if(t)return{values:e,truncated:!1,total:e.length};let n=me(e,Om);return{values:n.values,truncated:n.truncated,total:e.length}}var gH={resolution:"--resolution",expected_result:"--expected-result",actual_result:"--actual-result"},hH={resolution:"Describe how this item was resolved",expected_result:"Describe the expected result",actual_result:"Describe the actual result"};function yH(e){let t=e.missing_fields.map(n=>`${gH[n]} "${hH[n]}"`).join(" ");return`pm update ${e.id} ${t} --message "Backfill resolution metadata"`}function wH(e,t){let n=e.details?.missing_resolution_remediation_hints,r=Array.isArray(n)&&n.length>0,o=r?n.filter(s=>typeof s=="string"):cb(t);if(o.length===0)return;let i=r&&e.details?.missing_resolution_remediation_hints_truncated===!0;e.details={...e.details,fix_hints:o,...i?{fix_hints_truncated:!0}:{}}}function bH(e){let t=new Set;return e.checkCompleteness&&t.add("completeness"),e.checkMetadata&&t.add("metadata"),e.checkResolution&&t.add("resolution"),(e.checkLifecycle||e.checkStaleBlockers)&&t.add("lifecycle"),e.checkFiles&&t.add("files"),e.checkHistoryDrift&&t.add("history_drift"),e.checkCommandReferences&&t.add("command_references"),e.checkStorageIntegrity&&t.add("storage_integrity"),t.size===0?(e.autoFix&&(t.add("metadata"),t.add("resolution"),t.add("lifecycle")),e.pruneMissing&&t.add("files"),t.size===0&&(t.add("metadata"),t.add("resolution"),t.add("lifecycle"),t.add("files"),t.add("command_references"),t.add("history_drift"),t.add("format_version"),t.add("completeness"),t.add("storage_integrity")),t):(e.pruneMissing&&t.add("files"),t)}var vH="validate_metadata_duplicate_issue_codes";function kH(e,t){if(e.length===0)return{rows:[],truncated:!1,warnings:[]};let n=t?e.length:Ot,r=e.slice(0,n);return{rows:r.map(i=>({code:i.code,count:i.count,ids:i.ids,titles:i.titles,remediation_hint:`Items ${i.ids.join(", ")} share issue code "${i.code}"; rename or merge so each logical code maps to one item.`})),truncated:r.length<e.length,warnings:[`${vH}:${e.length}`]}}function EH(e,t,n){let r=Object.fromEntries(Cm.map(o=>[o,[]]));for(let o of e)for(let i of Cm)lH(o,i,t,n)&&r[i].push(o.id);return r}function SH(e,t,n){let r=[...e.warnings];for(let o of e.required_fields){let i=t[o];i.length>0&&r.push(`${W2[o]}:${i.length}`)}return r.push(...n),r}function TH(e,t){let n={};for(let r of e.required_fields){let o=t[r],i=o?o.length:0,s=V2[r];n[s]=i}return n}function AH(e,t,n){let r=[];for(let o of e.required_fields){let i=t[o];if(i)for(let s of i){let a=n.get(s)?.type,c=typeof a=="string"&&a.length>0?a:"Unknown";r.push({item_type:c,field:o})}}return r}function IH(e,t,n,r){for(let o of t.required_fields){let i=n[o];if(!i||i.length===0)continue;let s=K2[o],a=J2[o];if(!s||!a)continue;let c=me(i,r?i.length:Ot);e[s]=c.values,e[a]=c.truncated}}function CH(e,t,n){if(!e.required_fields.includes("close_reason"))return[];let r=t.close_reason;return r?r.map(o=>({id:o,resolution:de(n.get(o)?.resolution)})):[]}function OH(e,t,n){if(!e.required_fields.includes("estimated_minutes"))return[];let r=t.estimated_minutes;return r?r.map(o=>({id:o,type:de(n.get(o)?.type)})):[]}function xH(e,t,n,r,o){let i=new Map(e.map(b=>[b.id,b])),s=t.profile==="strict",a=EH(e,n,s),c=tE(e,{configuredPrefixes:o}),l=kH(c,r),d=SH(t,a,l.warnings),u=TH(t,a),f=AH(t,a,i),m=nE(f),p={checked_items:e.length,metadata_profile:t.profile,metadata_profile_source:t.profile_source,metadata_profile_fallback_to_core:t.fallback_to_core,required_fields:[...t.required_fields],supported_required_fields:[...Cm],counts:u,missing_by_type:m,duplicate_issue_codes_count:c.length,duplicate_issue_codes:l.rows,duplicate_issue_codes_truncated:l.truncated};t.configured_custom_fields.length>0&&(p.configured_custom_required_fields=[...t.configured_custom_fields]),IH(p,t,a,r);let w=CH(t,a,i),h=OH(t,a,i);return{check:{name:"metadata",status:d.length===0?"ok":"warn",ok:d.length===0,details:p},warnings:d,closeReasonBackfillRows:w,estimateBackfillRows:h}}function RH(e,t,n){let r=new Set(t.terminal_done_statuses);r.add(t.close_status);let o=e.filter(f=>r.has(Sc(f.status,t))),i=[],s=[];for(let f of o){let m=q2.filter(p=>!de(f[p]));m.length!==0&&(i.push({id:f.id,missing_fields:m}),s.push({id:f.id,missing_fields:m,close_reason:de(f.close_reason)}))}let a=i.length>0?[`validate_resolution_missing_fields:${i.length}`]:[],c=n?Number.POSITIVE_INFINITY:Ot,l=me(i.map(f=>`${f.id}:${f.missing_fields.join(",")}`),c),d=i.map(f=>yH(f)),u=me(d,c);return{check:{name:"resolution",status:a.length===0?"ok":"warn",ok:a.length===0,details:{checked_closed_items:o.length,missing_resolution_items:i.length,missing_resolution_rows:l.values,missing_resolution_rows_truncated:l.truncated,missing_resolution_remediation_hints:u.values,missing_resolution_remediation_hints_truncated:u.truncated}},warnings:a,resolutionBackfillRows:s}}function NH(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function DH(e,t="pm",n=qn()){let r=new Set(e.map(i=>i.id)),o=[...e].sort((i,s)=>i.id.localeCompare(s.id));return new Map(o.map(i=>{let s=new Set,a=Gt(i.blocked_by);a&&r.has(a)&&s.add(a),(i.dependencies??[]).filter(l=>{let d=Gt(l.kind);return d!==void 0&&n.resolve(d)?.ordering===!0}).map(l=>Gt(l.id)).filter(l=>l!==void 0&&r.has(l)).forEach(l=>s.add(l));let c=Gt(i.definition_of_ready);return LH(c??"",t).filter(l=>r.has(l)).forEach(l=>s.add(l)),[i.id,[...s].sort((l,d)=>l.localeCompare(d))]}))}function PH(e,t,n){let r=xk(e,n?d=>es(d,n):void 0),o=r.active.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}`),i=r.legacy_terminal.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}:${d.holder_status}`),s=t?Number.POSITIVE_INFINITY:Ot,a=me(o,s),c=me(i,s),l=me(r.active.map(d=>d.source==="parent"?`pm update ${d.holder_id} --unset parent`:d.source==="blocked_by"?`pm update ${d.holder_id} --unset blocked_by`:`pm update ${d.holder_id} --replace-deps '<correct dependency edges>'`),s);return{check:{name:"dependency_references",status:o.length===0?"ok":"warn",ok:o.length===0,details:{checked_items:e.length,dangling_reference_count:o.length+i.length,active_dangling_reference_count:o.length,dangling_reference_rows:a.values,dangling_reference_rows_truncated:a.truncated,legacy_terminal_dangling_reference_count:i.length,legacy_closed_dangling_reference_count:r.legacy_terminal.filter(d=>d.holder_status==="closed").length,legacy_terminal_dangling_reference_rows:c.values,legacy_terminal_dangling_reference_rows_truncated:c.truncated,no_active_blocker_sentinel_count:r.no_active_blocker_sentinels.length,remediation_hints:l.values,remediation_hints_truncated:l.truncated}},warnings:o.length>0?[`validate_dangling_dependency_references:${o.length}`]:[]}}function LH(e,t="pm"){let n=(t.trim().toLowerCase()||"pm").replace(/-+$/g,""),r=new RegExp(`(?:^|[^a-z0-9-])(${NH(n)}-[a-z0-9][a-z0-9-]*)`,"gi");return[...new Set([...e.matchAll(r)].map(o=>o[1].toLowerCase()))].sort((o,i)=>o.localeCompare(i))}function MH(e){let t=0,n=new Map,r=new Map,o=[],i=new Set,s=[],a=d=>{n.set(d,t),r.set(d,t),t+=1,o.push(d),i.add(d);for(let f of e.get(d)??[])n.has(f)?i.has(f)&&r.set(d,Math.min(r.get(d),n.get(f))):(a(f),r.set(d,Math.min(r.get(d),r.get(f))));if(r.get(d)!==n.get(d))return;let u=[];for(;o.length>0;){let f=o.pop();if(i.delete(f),u.push(f),f===d)break}u.sort((f,m)=>f.localeCompare(m)),s.push(u)},c=[...e.keys()].sort((d,u)=>d.localeCompare(u));for(let d of c)n.has(d)||a(d);return s.filter(d=>{if(d.length>1)return!0;let u=d[0];return(e.get(u)??[]).includes(u)}).sort((d,u)=>d[0].localeCompare(u[0])||d.length-u.length||d.join(",").localeCompare(u.join(",")))}function $H(e,t="pm"){let n=DH(e,t),r=MH(n),o=[...new Set(r.flat())].sort((s,a)=>s.localeCompare(a)),i=r.map(s=>km(s,n).join("->"));return{cycle_count:r.length,cycle_item_ids:o,cycle_sample_paths:i}}function FH(e){return e.startsWith("docs/")?"docs_unowned":e.startsWith("tests/")?"tests_unowned":e.startsWith("src/")?"source_unowned":e.endsWith(".md")?"docs_unowned":"unlinked_existing"}function Ec(e){let t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function jH(e,t){let n=Ec(e).split("/").filter(Boolean),r=Ec(t).split("/").filter(Boolean),o=0;for(;o<n.length&&o<r.length&&n[o]===r[o];)o+=1;return o}function UH(e,t){let n=Ec(t),r=Ec(e),o=t.endsWith("/")?t:`${t}/`,i=e.startsWith(o),s=n.length>0&&n===r,a=jH(e,t);return!i&&!s&&a===0?null:i?{score:t.length+1e3,confidence:"path_prefix"}:s?{score:a+500,confidence:"same_directory"}:{score:a,confidence:"shared_directory"}}function zH(e,t,n){return e===void 0||n>e.score||n===e.score&&t.id.localeCompare(e.item.id)<0}function HH(e,t,n){let r=t==="docs_unowned"?"docs":"files",o;return n.flatMap(i=>(r==="docs"?i.docs??[]:i.files??[]).map(s=>({item:i,link:s}))).forEach(({item:i,link:s})=>{if(s.scope!=="project")return;let a=Fn(s.path);if(a.length===0||a===e)return;let c=UH(e,a);c!==null&&zH(o,i,c.score)&&(o={item:i,score:c.score,confidence:c.confidence})}),o?{id:o.item.id,type:o.item.type,title:o.item.title,status:o.item.status,confidence:o.confidence}:null}function qH(e,t){return e.map(n=>{let r=FH(n),o=r==="docs_unowned"?"docs":"files",i=HH(n,r,t),s=i?.id??"<id>";return{path:n,classification:r,owner_candidate:i,remediation_hint:`pm ${o} ${s} --add path=${n},scope=project,note="<why this artifact belongs to the item>"`}})}function GH(e){return e.map(t=>`${t.path}:${t.classification} owner_candidate=${t.owner_candidate?.id??"unowned"} hint=${JSON.stringify(t.remediation_hint)}`)}function BH(e,t){return Object.entries(t.closure_like_metadata_field_patterns).filter(([n,r])=>{let o=Gt(e[n]);return o?r.some(i=>o.toLowerCase().includes(i)):!1}).map(([n])=>n).sort((n,r)=>n.localeCompare(r))}function WH(e,t,n,r,o){let i=Gt(t.parent),s=i?n.get(r.get(i.toLowerCase())??i):void 0;return{id:e.id,parent_id:t.id,grandparent_id:s?.id,grandparent_active:s!==void 0&&!es(s.status,o)}}function VH(e,t,n,r){let o=Gt(e.blocked_by),i=Gt(e.blocked_reason),s=i?.toLowerCase(),a=Sc(e.status,n),c=[];return t.has(a)?(!o&&!i&&c.push("blocked_status_missing_blocker_context"),s?.includes("no active blocker")&&c.push("blocked_status_reason_reports_no_active_blocker"),s&&r.stale_blocker_reason_patterns.some(l=>s.includes(l))&&c.push("blocked_status_reason_matches_stale_pattern"),c):(o&&c.push("non_blocked_status_has_blocked_by"),i&&c.push("non_blocked_status_has_blocked_reason"),c)}function KH(e,t,n,r){let o=new Map(e.map(c=>[c.id,c])),i=new Map(e.map(c=>[c.id.toLowerCase(),c.id])),s=n.blocked_statuses.size>0?n.blocked_statuses:new Set(["blocked"]),a={activeItems:e.filter(c=>!es(c.status,n)),closureLikeRows:[],terminalParentRows:[],terminalParentFixRows:[],staleBlockerRows:[]};for(let c of a.activeItems){let l=BH(c,r);l.length>0&&a.closureLikeRows.push({id:c.id,fields:l});let d=Gt(c.parent),u=d?o.get(i.get(d.toLowerCase())??d):void 0;if(u&&es(u.status,n)&&(a.terminalParentRows.push({id:c.id,parent_id:u.id,parent_status:u.status}),a.terminalParentFixRows.push(WH(c,u,o,i,n))),t){let f=VH(c,s,n,r);f.length>0&&a.staleBlockerRows.push({id:c.id,status:c.status,reasons:[...new Set(f)].sort((m,p)=>m.localeCompare(p))})}}return a}function JH(e){e.closureLikeRows.sort((t,n)=>t.id.localeCompare(n.id)),e.terminalParentRows.sort((t,n)=>t.id.localeCompare(n.id)||t.parent_id.localeCompare(n.parent_id)),e.terminalParentFixRows.sort((t,n)=>t.id.localeCompare(n.id)||t.parent_id.localeCompare(n.parent_id)),e.staleBlockerRows.sort((t,n)=>t.id.localeCompare(n.id))}function vc(e,t,n){return n<=0||t==="off"?null:`${t==="error"?`${e}_error`:e}:${n}`}function Tm(e,t,n){return n>0&&t!=="off"?`${e}:${n}`:null}function YH(e,t,n,r,o){let i=[];e.closureLikeRows.length>0&&i.push(`validate_lifecycle_active_closure_like_metadata:${e.closureLikeRows.length}`),e.terminalParentRows.length>0&&i.push(`validate_lifecycle_active_terminal_parent:${e.terminalParentRows.length}`),t&&e.staleBlockerRows.length>0&&i.push(`validate_lifecycle_stale_blockers:${e.staleBlockerRows.length}`);let s=vc("validate_lifecycle_dependency_cycles",n,o.dependencyCycles),a=vc("validate_hierarchy_parent_cycle",r,o.activeHierarchyCycles),c=vc("validate_hierarchy_cardinality_violation",r,o.activeHierarchyCardinality),l=vc("validate_hierarchy_parent_divergence",r,o.activeHierarchyDivergence),d=Tm("validate_legacy_hierarchy_parent_cycle",r,o.legacyHierarchyCycles),u=Tm("validate_legacy_hierarchy_cardinality_violation",r,o.legacyHierarchyCardinality),f=Tm("validate_legacy_hierarchy_parent_divergence",r,o.legacyHierarchyDivergence);return[...i,...s?[s]:[],...a?[a]:[],...c?[c]:[],...l?[l]:[],...d?[d]:[],...u?[u]:[],...f?[f]:[]]}function XH(e){let t=Fn(e);return t.length>Z2||t.split(/[\\/]/).some(n=>n.length>Q2)}async function ZH(e,t){let n=Qe.isAbsolute(t)?t:Qe.resolve(e,t);if(XH(n))return!1;try{let r=await Rm.stat(n);return!r.isFile()&&!r.isDirectory()}catch(r){return fH(r,["ENOENT","ENOTDIR"])}}async function QH(e,t){let n={linkedProjectPaths:new Set,remoteLinkedPaths:new Set,missingLinkedPaths:[],staleLinkRows:[]},r=e.flatMap(o=>[...(o.files??[]).map(i=>({item:o,artifact:i,link_kind:"files"})),...(o.docs??[]).map(i=>({item:o,artifact:i,link_kind:"docs"}))]);for(let{item:o,artifact:i,link_kind:s}of r){if(i.scope!=="project")continue;if(Xi(i.path)){n.remoteLinkedPaths.add(i.path.trim());continue}let a=Fn(i.path);a.length!==0&&(n.linkedProjectPaths.add(a),await ZH(t,i.path)&&(n.missingLinkedPaths.push(a),n.staleLinkRows.push({item_id:o.id,path:a,link_kind:s})))}return n}function eq(e,t,n,r,o,i){let s=r==="tracked-all-strict",a=s&&!o,c=o||s,l=c?[]:pH(t,n),d=l.length===0?[]:e.candidateFiles.filter(m=>PE(m,l)),u=l.length===0?e.candidateFiles:e.candidateFiles.filter(m=>!PE(m,l)),f={};if(d.length>0){let m=vr(d,i);f.pm_internals={count:d.length,paths:m.values,paths_truncated:m.truncated,paths_total:m.total}}return{strictTrackedAllMode:s,strictModeForcesPmInternals:a,includePmInternalsEffective:c,pmInternalCandidatePrefixes:l,excludedPmInternalPaths:d,candidateFiles:u,excludedByReason:f}}function tq(e,t,n,r,o,i,s,a="pm"){let c=KH(e,t,o,i);JH(c);let l=$H(c.activeItems,a),d=xE(e,o),u=pc(o,e,s?Number.POSITIVE_INFINITY:Ot),f=[...YH(c,t,n,r,{dependencyCycles:l.cycle_count,activeHierarchyCycles:d.active_cycle_count,activeHierarchyCardinality:d.active_cardinality_violation_count,activeHierarchyDivergence:d.active_parent_divergence_count,legacyHierarchyCycles:d.legacy_cycle_count,legacyHierarchyCardinality:d.legacy_cardinality_violation_count,legacyHierarchyDivergence:d.legacy_parent_divergence_count}),..._c(u)],m=s?Number.POSITIVE_INFINITY:Ot,p=me(c.closureLikeRows.map(N=>`${N.id}:${N.fields.join(",")}`),m),w=me(c.terminalParentRows.map(N=>`${N.id}:${N.parent_id}:${N.parent_status}`),m),h=me(c.staleBlockerRows.map(N=>`${N.id}:${N.status}:${N.reasons.join(",")}`),m),b=me(l.cycle_item_ids,m),v=me(l.cycle_sample_paths,m),I=me(d.cycle_item_ids,m),A=me(d.cycle_sample_paths,m),C=me(d.cardinality_violation_rows,m),L=me(d.parent_divergence_rows,m),E=l.cycle_count>0&&n==="error"||(d.active_cycle_count>0||d.active_cardinality_violation_count>0||d.active_parent_divergence_count>0)&&r==="error";return{check:{name:"lifecycle",status:E?"error":f.length===0?"ok":"warn",ok:!E&&f.length===0,details:{checked_active_items:c.activeItems.length,lifecycle_status_roles:u,active_closure_like_metadata_items:c.closureLikeRows.length,active_closure_like_metadata_rows:p.values,active_closure_like_metadata_rows_truncated:p.truncated,active_terminal_parent_items:c.terminalParentRows.length,active_terminal_parent_rows:w.values,active_terminal_parent_rows_truncated:w.truncated,stale_blocker_checks_enabled:t,stale_blocker_items:c.staleBlockerRows.length,stale_blocker_rows:h.values,stale_blocker_rows_truncated:h.truncated,dependency_cycle_severity_policy:n,dependency_cycle_count:l.cycle_count,dependency_cycle_item_count:l.cycle_item_ids.length,dependency_cycle_item_ids:b.values,dependency_cycle_item_ids_truncated:b.truncated,dependency_cycle_sample_paths:v.values,dependency_cycle_sample_paths_truncated:v.truncated,parent_cycle_severity_policy:r,parent_cycle_count:d.cycle_count,active_parent_cycle_count:d.active_cycle_count,legacy_parent_cycle_count:d.legacy_cycle_count,parent_cycle_item_count:d.cycle_item_ids.length,parent_cycle_item_ids:I.values,parent_cycle_item_ids_truncated:I.truncated,parent_cycle_sample_paths:A.values,parent_cycle_sample_paths_truncated:A.truncated,hierarchy_cardinality_violation_count:d.cardinality_violation_count,active_hierarchy_cardinality_violation_count:d.active_cardinality_violation_count,legacy_hierarchy_cardinality_violation_count:d.legacy_cardinality_violation_count,hierarchy_cardinality_violation_rows:C.values,hierarchy_cardinality_violation_rows_truncated:C.truncated,hierarchy_parent_divergence_count:d.parent_divergence_count,active_hierarchy_parent_divergence_count:d.active_parent_divergence_count,legacy_hierarchy_parent_divergence_count:d.legacy_parent_divergence_count,hierarchy_parent_divergence_rows:L.values,hierarchy_parent_divergence_rows_truncated:L.truncated,stale_blocker_reason_patterns:[...i.stale_blocker_reason_patterns],stale_blocker_reason_pattern_source:i.stale_blocker_reason_pattern_source,closure_like_blocked_reason_patterns:[...i.closure_like_metadata_field_patterns.blocked_reason],closure_like_blocked_reason_pattern_source:i.closure_like_metadata_field_pattern_sources.blocked_reason,closure_like_resolution_patterns:[...i.closure_like_metadata_field_patterns.resolution],closure_like_resolution_pattern_source:i.closure_like_metadata_field_pattern_sources.resolution,closure_like_actual_result_patterns:[...i.closure_like_metadata_field_patterns.actual_result],closure_like_actual_result_pattern_source:i.closure_like_metadata_field_pattern_sources.actual_result}},warnings:f,terminalParentFixRows:c.terminalParentFixRows}}async function nq(e,t,n,r,o,i,s=ct(_e.schema)){let a=await QH(e,t),c=new Map(e.map(D=>[D.id,D])),l=[...new Set(a.missingLinkedPaths)].sort((D,pe)=>D.localeCompare(pe)),d=await _H(t,r),u=eq(d,n,t,r,o,i),f=u.candidateFiles.filter(D=>!a.linkedProjectPaths.has(D)),m=qH(f,e),p=iE(l,u.candidateFiles),w=new Map(p.map(D=>[D.path,D.classification])),h=p.filter(D=>D.classification==="moved").length,b=a.staleLinkRows.map(D=>({...D,classification:w.get(D.path)??"deleted"})).sort((D,pe)=>D.item_id.localeCompare(pe.item_id)||D.path.localeCompare(pe.path)||D.link_kind.localeCompare(pe.link_kind)),v=[];u.strictModeForcesPmInternals&&v.push("validate_files_tracked_all_strict_forces_pm_internals"),f.length>0&&v.push(`validate_files_orphaned_paths:${f.length}`);let I=[...a.remoteLinkedPaths].sort((D,pe)=>D.localeCompare(pe)),A=vr(I,i),C=vr(l,i),L=vr(f,i),E=vr(m.map(D=>`${D.path}:${D.classification}:owner_candidate=${D.owner_candidate?.id??"unowned"}`),i),N=i?m:vr(GH(m),!1).values,G=vr(sE(p),i),z=lE(b,p,D=>c.get(D),s,i?1/0:Om);return z.active_missing_linked_paths_count>0&&v.push(`validate_files_missing_linked_paths:${z.active_missing_linked_paths_count}`),{check:{name:"files",status:v.length===0?"ok":"warn",ok:v.length===0,details:{workspace_root:t,scan_mode_requested:d.requestedMode,scan_mode_applied:d.appliedMode,strict_tracked_all_mode:u.strictTrackedAllMode,strict_mode_forces_pm_internals:u.strictModeForcesPmInternals,strict_mode_forces_pm_internals_notice:u.strictModeForcesPmInternals?"tracked-all-strict force-enables PM internals; pass --include-pm-internals to make inclusion explicit.":null,file_list_detail_mode:i?"full":"summary",file_list_summary_limit:Om,candidate_scan_source:d.source,include_pm_internals:u.includePmInternalsEffective,include_pm_internals_requested:o,pm_internal_candidate_prefixes:u.pmInternalCandidatePrefixes,pm_internal_excluded_count:u.excludedPmInternalPaths.length,excluded_total:u.excludedPmInternalPaths.length,excluded_by_reason:u.excludedByReason,linked_project_paths:a.linkedProjectPaths.size,remote_linked_paths_count:I.length,remote_linked_paths_total:A.total,remote_linked_paths:A.values,remote_linked_paths_truncated:A.truncated,candidate_total_raw:d.candidateTotal,candidate_scanned_raw:d.candidateScanned,candidate_total:u.candidateFiles.length,candidate_scanned:u.candidateFiles.length,scanned_candidate_files:u.candidateFiles.length,missing_linked_paths_count:l.length,missing_linked_paths_total:C.total,missing_linked_paths:C.values,missing_linked_paths_truncated:C.truncated,missing_linked_paths_moved_count:h,missing_linked_paths_deleted_count:p.filter(D=>D.classification==="deleted").length,missing_linked_paths_malformed_count:p.filter(D=>D.classification==="malformed").length,missing_linked_path_classifications:G.values,missing_linked_path_classifications_truncated:G.truncated,...z,orphaned_paths_count:f.length,orphaned_paths_total:L.total,orphaned_paths:L.values,orphaned_paths_truncated:L.truncated,orphaned_path_classifications:E.values,orphaned_path_classifications_truncated:E.truncated,orphaned_path_rows_count:m.length,orphaned_path_rows:N}},warnings:v,staleLinkPruneRows:b}}function rq(e,t){let n=[];return e.forEach(({item:r,linkedTest:o},i)=>{let s=t[i];if(s.trusted)return;let a=Sm(o.command??"");n.push(`${r.id}:${s.source_ref??"unknown"}->${s.current_source_ref??"unknown"}:${a}`)}),n}async function oq(e,t,n,r){let o=new Set(e.map(C=>C.id.toLowerCase())),i=0,s=0,a=new Set,c=[],l=e.flatMap(C=>(C.tests??[]).map(L=>({item:C,linkedTest:L}))),d=await SE(TE()),u=await AE(r,l.map(({linkedTest:C})=>C),d),f=rq(l,u);for(let{item:C,linkedTest:L}of l){if(typeof L.command!="string"||L.command.trim().length===0)continue;i+=1;let E=vE(L.command,t);if(E.length!==0){s+=E.length;for(let N of E)a.add(N),o.has(N.toLowerCase())||c.push(`${C.id}:${N}:${Sm(L.command)}`)}}let m=[...new Set(c)].sort((C,L)=>C.localeCompare(L)),p=[...new Set(m.map(C=>C.split(":")[1]??""))].filter(C=>C.length>0).sort((C,L)=>C.localeCompare(L)),w=[];m.length>0&&w.push(`validate_command_references_stale_pm_ids:${m.length}`),f.length>0&&w.push(`validate_linked_test_trust_unacknowledged:${f.length}`);let h=n?Number.POSITIVE_INFINITY:Ot,b=me(m,h),v=me(p,h),I=me([...a].sort((C,L)=>C.localeCompare(L)),h),A=me(f,h);return{check:{name:"command_references",status:w.length===0?"ok":"warn",ok:w.length===0,details:{checked_items:e.length,linked_commands_scanned:i,referenced_pm_ids_count:s,unique_referenced_pm_ids_count:a.size,unique_referenced_pm_ids:I.values,unique_referenced_pm_ids_truncated:I.truncated,linked_test_trust_current_source_ref:d??null,untrusted_linked_tests_count:f.length,untrusted_linked_tests:A.values,untrusted_linked_tests_truncated:A.truncated,stale_pm_id_references_count:m.length,stale_pm_ids_count:p.length,stale_pm_ids:v.values,stale_pm_ids_truncated:v.truncated,stale_pm_id_reference_rows:b.values,stale_pm_id_reference_rows_truncated:b.truncated}},warnings:w}}function iq(e,t){let n=Is(e.map(c=>({ref:c.id,version:As(c)}))),r=[];n.outdated.length>0&&r.push(`validate_format_version_outdated_items:${n.outdated.length}`),n.ahead.length>0&&r.push(`validate_format_version_ahead_items:${n.ahead.length}`);let o=t?Number.POSITIVE_INFINITY:Ot,i=me(n.outdated,o),s=me(n.ahead,o),a=n.ahead.length>0?"error":n.outdated.length>0?"warn":"ok";return{check:{name:"format_version",status:a,ok:a==="ok",details:{checked_items:e.length,current_format_version:Ts,outdated_items_count:n.outdated.length,outdated_items:i.values,outdated_items_truncated:i.truncated,ahead_items_count:n.ahead.length,ahead_items:s.values,ahead_items_truncated:s.truncated}},warnings:r}}var xm="pm validate auto-fix";async function sq(e,t,n){switch(e.kind){case"set_closed_at":await Bk(e,t);return;case"set_resolution":case"set_close_reason":case"set_estimate":case"reparent":case"unset_parent":{let r={message:xm};if(e.kind==="set_resolution"?r.resolution=e.value:e.kind==="set_close_reason"?r.closeReason=e.value:e.kind==="set_estimate"?r.estimatedMinutes=e.value:e.kind==="reparent"?r.parent=e.parent_id:r.unset=["parent"],!n.runUpdate)throw new g("Applying validate metadata/lifecycle fixes requires a runUpdate mutation service.",_.USAGE);await n.runUpdate(e.item_id,r,t);return}case"prune_file_link":throw new Error(`Unsupported non-batched fix kind: ${e.kind}`);case"prune_doc_link":throw new Error(`Unsupported non-batched fix kind: ${e.kind}`)}}function Am(e){return e.kind!=="prune_file_link"&&e.kind!=="prune_doc_link"?null:`${e.kind}:${e.item_id}`}async function aq(e,t,n){let r=[],o=[],i=new Map;for(let s of e.filter(a=>Am(a)===null))try{await sq(s,t,n),r.push(s)}catch(a){o.push({fix:s,error:a})}for(let s of e.filter(a=>Am(a)!==null)){let a=Am(s),c=i.get(a);c?c.push(s):i.set(a,[s])}for(let s of i.values()){let a=s[0];if(!a)continue;let c=s.map(l=>l.path).filter(l=>typeof l=="string"&&l.length>0);try{a.kind==="prune_file_link"?await hE(a.item_id,{remove:c,message:xm},t):await gE(a.item_id,{remove:c,message:xm},t),r.push(...s)}catch(l){o.push(...s.map(d=>({fix:d,error:l})))}}return{applied:r,failed:o}}function cq(e,t){t>0&&e.push(`merge_receipt_evidence_invalid:${t}`)}async function lq(e,t,n,r){let o=await uE(e,new Set(t.map(h=>h.id)),n,{schema:r.schema,extensionFieldNames:Tt(Y())}),i=[];o.unreadable_item_files.length>0&&i.push(`validate_storage_unreadable_items:${o.unreadable_item_files.length}`),o.duplicate_item_ids.length>0&&i.push(`validate_storage_duplicate_item_ids:${o.duplicate_item_ids.length}`),o.history_conflict_marker_streams.length>0&&i.push(`validate_storage_history_conflict_markers:${o.history_conflict_marker_streams.length}`),o.history_unparseable_streams.length>0&&i.push(`validate_storage_unparseable_history:${o.history_unparseable_streams.length}`),o.resurrected_items.length>0&&i.push(`validate_storage_resurrected_items:${o.resurrected_items.length}`),o.unparseable_config_files.length>0&&i.push(`validate_storage_unparseable_config:${o.unparseable_config_files.length}`);let s=i.length,a=await lc(e);a.tracked_path_count>0&&i.push(`validate_storage_tracked_runtime_cache_files:${a.tracked_path_count}`);let c=await fi(e,to(r));c.status==="drift"&&i.push(`validate_merge_fence_drift:${c.missing_patterns.length+c.stale_patterns.length}`);let l=await Ct(e),d=l===null?null:await mi(l);d!==null&&d.status!=="ok"&&i.push(`validate_merge_driver_configuration:${d.missing_keys.length+d.drifted_keys.length}`);let u=await St(l??e,{includeLossless:!0,pmRoot:e}),f=u.receipts,{pendingDecisions:m,lossless:p}=Ea(f);m.length>0&&i.push(`validate_merge_decisions_unreviewed:${m.length}`),cq(i,u.invalid_evidence_count);let w=s>0?"error":i.length>0?"warn":"ok";return{check:{name:"storage_integrity",status:w,ok:w==="ok",details:{...o,merge_fence:c,merge_driver_configuration:d,pending_merge_decision_count:m.length,pending_merge_decision_items:[...new Set(m.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),lossless_merge_receipt_count:p.length,invalid_merge_receipt_evidence_count:u.invalid_evidence_count,invalid_merge_receipt_evidence_details:u.invalid_evidence,invalid_merge_receipt_evidence_details_truncated:u.invalid_evidence_truncated,lossless_merge_receipt_items:[...new Set(p.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),tracked_runtime_cache:{tracker_relative_root:a.tracker_relative_root,tracked_paths:a.tracked_paths,tracked_path_count:a.tracked_path_count,remediation_command:a.remediation_command}}},warnings:i}}function Bt(e,t,n){n&&wH(t.check,t.warnings),e.checks.push(t.check),e.warnings.push(...t.warnings)}async function dq(e){let t={closureTimestampFixes:[],checks:[],warnings:[...e.initialWarnings],closeReasonBackfillRows:[],estimateBackfillRows:[],resolutionBackfillRows:[],terminalParentFixRows:[],staleLinkPruneRows:[]},n=e.options.fixHints===!0,r=e.options.verboseDiagnostics===!0||e.options.allAffectedIds===!0||e.global.json===!0;if(e.requestedChecks.has("completeness")){let o=await uk(e.pmRoot,e.items,r?1/0:Ot,e.sourceIncomplete);Bt(t,o,n)}if(e.requestedChecks.has("metadata")){let o=xH(e.items,e.metadataPolicy,e.statusRegistry,r,[e.settings.id_prefix]);t.closeReasonBackfillRows=o.closeReasonBackfillRows,t.estimateBackfillRows=o.estimateBackfillRows;let i=await Gk(e.pmRoot,e.items,e.statusRegistry,e.options.autoFix===!0||n,r?1/0:Ot);t.closureTimestampFixes=i.fixes,Object.assign(o.check.details,i.details),o.warnings.push(...i.warnings),o.check.ok=o.warnings.length===0,o.check.status=o.check.ok?"ok":"warn",Bt(t,o,n)}if(e.requestedChecks.has("resolution")){let o=RH(e.items,e.statusRegistry,r);t.resolutionBackfillRows=o.resolutionBackfillRows,Bt(t,o,n)}if(e.requestedChecks.has("lifecycle")){let o=tq(e.items,!!e.options.checkStaleBlockers,e.dependencyCycleSeverity,e.parentCycleSeverity,e.statusRegistry,e.lifecyclePatternPolicy,r,e.settings.id_prefix);t.terminalParentFixRows=o.terminalParentFixRows,Bt(t,o,n),Bt(t,PH(e.items,r,e.statusRegistry),n)}if(e.requestedChecks.has("files")){let o=await nq(e.items,e.workspaceRoot,e.pmRoot,e.fileScanMode,!!e.options.includePmInternals,!!e.options.verboseFileLists,e.statusRegistry);t.staleLinkPruneRows=o.staleLinkPruneRows,Bt(t,o,n)}return e.requestedChecks.has("command_references")&&Bt(t,await oq(e.items,e.settings.id_prefix,r,e.pmRoot),n),e.requestedChecks.has("history_drift")&&Bt(t,await CE(e.pmRoot,e.items,r),n),e.requestedChecks.has("format_version")&&Bt(t,iq(e.items,r),n),e.requestedChecks.has("storage_integrity")&&Bt(t,await lq(e.pmRoot,e.items,ge(e.settings,Y()).type_to_folder,e.settings),n),t}function uq(e,t,n){let r=[];return e.autoFix===!0&&(r.push(...t.closureTimestampFixes),r.push(...Kk(t.closeReasonBackfillRows)),r.push(...Vk(t.resolutionBackfillRows)),r.push(...Jk(t.estimateBackfillRows,n.validation.estimate_defaults_by_type)),r.push(...Yk(t.terminalParentFixRows))),e.pruneMissing===!0&&r.push(...Xk(t.staleLinkPruneRows)),r}async function fq(e,t,n,r,o,i){if(e.autoFix!==!0&&e.pruneMissing!==!0)return;let s=uq(e,t,n),{applicable:a,gated:c}=Qk(s,r),l=e.dryRun===!0,d=[],u=[];if(!l){let f=await aq(a,o,i);d.push(...f.applied.map(Yi)),u.push(...f.failed.map(({fix:m,error:p})=>({...Yi(m),error:p instanceof Error?p.message:String(p)})))}return{mode:l?"dry_run":"apply",auto_fix:e.autoFix===!0,prune_missing:e.pruneMissing===!0,granted_fix_scopes:[...r].sort((f,m)=>f.localeCompare(m)),planned_count:s.length,applied_count:d.length,gated_count:c.length,failed_count:u.length,planned_fixes:s.map(Yi),applied_fixes:d,gated_fixes:c.map(f=>({...Yi(f),gate_hint:`Withheld: re-run with --fix-scope ${f.gate} to apply.`})),failed_fixes:u}}async function FE(e,t,n={}){bg(e.counts===!0,e.full===!0,"--counts");let r=e.autoFix===!0||e.pruneMissing===!0;if(e.dryRun===!0&&!r)throw new g("--dry-run requires --auto-fix or --prune-missing (there is nothing to preview otherwise).",_.USAGE);if(e.fixScope!==void 0&&e.fixScope.length>0&&e.autoFix!==!0)throw new g("--fix-scope requires --auto-fix.",_.USAGE);let o=Zk(e.fixScope),i=X(process.cwd(),t.path);await je(i);let s=await ne(i),a=ct(s.schema),c=ge(s,Y()),l=bH(e),d=[],u=await IE({includeBody:["history_drift","metadata","completeness"].some(T=>l.has(T)),pmRoot:i,settings:s,typeToFolder:c.type_to_folder,warnings:d}),f=d.length>0;if(l.has("history_drift")){let T=await ac(i);T.actionable_unknown_event_count>0&&d.push(`validate_history_unknown_author_events:${T.actionable_unknown_event_count}`)}let m=typeof e.metadataProfile=="string"?"option":"settings",p=rH(typeof e.metadataProfile=="string"?e.metadataProfile:s.validation.metadata_profile),w=aH(p,m,s.validation.metadata_required_fields),h=nH(s),b=oH(e.dependencyCycleSeverity),v=iH(e.parentCycleSeverity),I=dH(e.scanMode),A=uH(i),C=await dq({requestedChecks:l,options:e,global:t,pmRoot:i,workspaceRoot:A,settings:s,items:u,statusRegistry:a,metadataPolicy:w,lifecyclePatternPolicy:h,dependencyCycleSeverity:b,parentCycleSeverity:v,fileScanMode:I,initialWarnings:[...new Set(d)],sourceIncomplete:f}),L=r?await fq(e,C,s,o,t,n):void 0,E=[...new Set(C.warnings)].sort((T,z)=>T.localeCompare(z)),G={ok:!C.checks.some(T=>T.status==="error"),has_warnings:E.length>0,checks:C.checks,warnings:E,...L!==void 0?{fixes:L}:{},generated_at:j(),projection:{mode:"full",declared_field_groups:[{name:"diagnostic_rows",restore_with:"--full"}],included_field_groups:["diagnostic_rows"]}};return e.counts!==!0?G:{...tH(G),projection:{mode:"counts",declared_field_groups:[{name:"diagnostic_rows",restore_with:"--full"}],included_field_groups:[]}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="017ec565-4b8d-5da3-badc-e9f4ca3ec433")}catch{}})();var _q=4;function jE(e){let t=e.checks.find(a=>a.name==="integrity"),n=t?.details.counts,r=typeof n=="object"&&n!==null&&!Array.isArray(n)&&typeof n.missing_merge_receipt_history_references=="number"?n.missing_merge_receipt_history_references:0,o=t?.details.missing_merge_receipt_history_reference_details,i=t?.details.missing_merge_receipt_history_reference_details_truncated===!0,s=Array.isArray(o)?o.flatMap(a=>{if(typeof a!="object"||a===null||Array.isArray(a))return[];let c=a;return typeof c.item_id=="string"&&typeof c.history_line=="number"&&Number.isSafeInteger(c.history_line)&&typeof c.receipt_id=="string"?[{item_id:c.item_id,history_line:c.history_line,receipt_id:c.receipt_id}]:[]}):[];return{count:r,truncated:i,coordinates:s}}async function gq(e,t){let n=[];for(let r of t){let o;try{o=await mq(pq.join(e,"history",`${r.item_id}.jsonl`),"utf8")}catch{continue}let i=o.split(/\r?\n/)[r.history_line-1];if(i===void 0||i.trim().length===0)continue;let s;try{s=JSON.parse(i)}catch{continue}let a=uc(s,r.item_id).find(c=>c.receiptId===r.receipt_id);a===void 0||!am(a)||a.eventTimestamp===void 0||ye(a.eventTimestamp,sm)>=0||n.push({...r,original_event_ts:a.eventTimestamp})}return n}async function hq(e){if(e.options.dryRun===!0||e.options.force!==!0||e.candidates.length===0)return 0;let t=new Map;for(let n of e.candidates){let r=t.get(n.item_id)??[];r.push(n),t.set(n.item_id,r)}for(let[n,r]of t)await sn(n,{author:e.options.author??e.global.author,message:e.options.message??"accept unrecoverable pre-durable merge receipt references",force:!0,auditOperation:"merge_reconcile",forceAuditEntry:!0,auditContext:{merge:{missing_receipt_dispositions:r.map(o=>({receipt_id:o.receipt_id,original_history_line:o.history_line,original_event_ts:o.original_event_ts,reason:"legacy_clone_local_only"}))}}},e.global);return e.candidates.length}async function yq(e){try{return{status:"fulfilled",value:await sn(e.id,{dryRun:e.dryRun,author:e.options.author??e.global.author,message:e.options.message??"record field-aware branch merge provenance",force:e.options.force,auditOperation:"merge_reconcile",auditContext:e.auditContext,forceAuditEntry:!0,mergeReceiptProof:e.mergeReceiptProof},e.global)}}catch(t){return{status:"rejected",reason:t}}}function wq(e){e.results.forEach((t,n)=>{let r=e.receiptOnlyIds[n];if(t.status==="fulfilled"){let o=t.value.changed?"repaired":"skipped_clean";e.repair.streams.push({id:r,outcome:o,entries_rehashed:t.value.history.entries_rehashed,entries_patch_repaired:t.value.history.entries_patch_repaired,reconciled_with_item:t.value.history.reconciled_with_item,...t.value.merge_receipt_proof?{merge_receipt_proof:t.value.merge_receipt_proof}:{},warnings:t.value.warnings}),e.repair.totals[o]+=1;return}e.repair.streams.push({id:r,outcome:"failed",error:t.reason instanceof Error?t.reason.message:String(t.reason)}),e.repair.totals.failed+=1})}async function bq(e){if(e.dryRun||e.repair.totals.failed>0)return 0;let t=new Set(e.repair.streams.flatMap(r=>r.merge_receipt_proof?.trusted?r.merge_receipt_proof.receipt_ids:[])),n=e.pendingReceipts.filter(r=>t.has(r.id));return await Promise.all(n.map(r=>si(e.receiptWorkspaceRoot,r,{requireExisting:!0}))),n.length}async function vq(e,t){let n=e.dryRun===!0,r=X(process.cwd(),t.path),o=await pm(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),i=jE(o),s=await gq(r,i.coordinates),a=await Ct(r),c=a??r,l=await St(c,{includeLossless:!0,pmRoot:r});if(l.invalid_evidence_count>0)throw new g(`Merge reconciliation refused ${l.invalid_evidence_count} invalid receipt evidence file(s).`,_.CONFLICT,{code:"merge_receipt_evidence_invalid",required:"Every clone-local and durable receipt candidate must pass bounded-file, schema, and identity validation.",recovery:{suggested_retry:"pm health --check-only --full"}});let d=await hq({candidates:s,options:e,global:t}),u=l.receipts,f=await vw({cwd:a,receipts:u,dryRun:n,author:e.author,message:e.message,global:t}),m=new Set(f),p=new Map;for(let re of u.filter(Ee=>!m.has(Ee.id))){let Ee=p.get(re.item_id)??[];Ee.push(re),p.set(re.item_id,Ee)}let w=Object.fromEntries([...p].map(([re,Ee])=>[re,{merge:{receipts:Ee.map(Et)}}])),h=Object.fromEntries([...p].map(([re,Ee])=>[re,{gitWorkspaceRoot:a,receipts:Ee}])),b=await bw({dryRun:n,author:e.author??t.author,message:e.message??"post-merge reconciliation of field-aware tracker history",force:e.force,auditOperation:"merge_reconcile",auditContextById:w,...u.length>0?{mergeReceiptProofById:h}:{}},t),v=new Set(b.streams.map(re=>re.id)),I=[...p.keys()].filter(re=>!v.has(re)),A=await Bu(I,_q,re=>yq({id:re,dryRun:n,options:e,global:t,auditContext:w[re],mergeReceiptProof:h[re]}));wq({receiptOnlyIds:I,results:A,repair:b});let C=await bq({dryRun:n,pendingReceipts:u,repair:b,receiptWorkspaceRoot:c}),L=await FE({checkHistoryDrift:!0,checkStorageIntegrity:!0},t),E=d===0?o:await pm(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),N=jE(E),G=L.checks.every(re=>re.status==="ok"),T=n?u.length===0:C+f.length===u.length,z=[b.totals.failed===0,G,T,N.count===0,!N.truncated].every(Boolean),D=i.truncated||N.truncated?"Missing receipt coordinates exceed the bounded detail response; each reviewed --force pass can disposition only the reported eligible batch. Repeat dry-run and --force passes until receipts.missing_history_references_after=0 and pm merge reconcile returns ok=true.":void 0,pe=(n?["Review repair.streams, then rerun pm merge reconcile without --dry-run to apply audited repairs.",D,"No Git hook is installed automatically; invoke this command from an explicit post-merge hook only when your repository policy opts in."]:z?["Reconciliation is complete; commit changed history streams with the merge result.","Rerun pm merge reconcile --dry-run after future tracker-data merges as a non-mutating integrity check."]:["Reconciliation remains incomplete; inspect repair failures and non-green validation checks before retrying.",D,...s.length>0&&d===0?["Pre-durable clone-local-only receipt references are eligible for an audited disposition; rerun with --force after reviewing receipts.legacy_disposition_eligible."]:[],"Do not commit repaired history streams as reconciled until pm merge reconcile returns ok=true."]).filter(re=>re!==void 0);return{ok:z,dry_run:n,repair:b,receipts:{pending_before:u.length,reconciled:C,abandoned:f.length,summaries:u.map(Et),missing_history_references_before:i.count,legacy_disposition_eligible:s.length,legacy_disposition_recorded:d,missing_history_references_after:N.count},validation:L,guidance:pe,generated_at:L.generated_at}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4175f7f5-a689-5d05-982a-f92e21bc83e7")}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]="682aba7b-ccef-5c63-969d-ef0c41fda653")}catch{}})();export{Th as ITEM_LATEST_TIMESTAMP_FIELDS,Eh as ITEM_SCALAR_MISSING_VALUE,Sh as ITEM_UNION_COLLECTION_FIELDS,du as MERGE_DRIVER_ARTIFACT_VALUES,_y as PM_GITATTRIBUTES_END,ui as PM_GITATTRIBUTES_START,vu as PM_GITATTRIBUTES_V2_END,Qr as PM_GITATTRIBUTES_V2_START,fi as auditMergeAttributeFence,mi as auditMergeDriverConfiguration,La as buildMergeAttributePatterns,Q as encodeItemScalarDecisionValue,Ct as findGitWorkspaceRoot,kt as hashItemScalarDecisionValue,St as inspectMergeReceiptEvidence,VD as installMergeFence,ur as isItemScalarMissingValue,Hh as listMergeReceipts,si as markMergeReceiptReconciled,Gd as mergeHistoryStreams,Wd as mergeItemDocuments,Vd as mergeJsonDocuments,Bd as mergeRelationshipEventStreams,ky as refreshMergeAttributeFenceIfInstalled,hy as resolveMergeInstallContext,to as resolveProjectMergeTypeFolders,SD as runMergeDriver,WD as runMergeInstall,cN as runMergeReceiptEvidenceReport,aN as runMergeReceiptReport,vq as runMergeReconcile,Et as summarizeMergeReceipt};
134
+ `),lM(n,!0)}finally{t.close()}}function Aw(e){let t=e.agent_guidance;return{prompt_completed:t?.prompt_completed===!0,declined:t?.declined===!0,declined_at:typeof t?.declined_at=="string"?t.declined_at:"",template_version:typeof t?.template_version=="number"&&Number.isInteger(t.template_version)&&t.template_version>0?t.template_version:Ku,last_checked_files:Array.isArray(t?.last_checked_files)?[...new Set(t.last_checked_files.map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r)):[]}}async function Iw(e){let t=[],n=await Tw(e);for(let r of XL){let o=ke.join(e,r),i=await M(o);if(!i){t.push({file_path:o,exists:i,has_guidance:!1,has_marker:!1});continue}let s=await Vu.readFile(o,"utf8"),a=s.toLowerCase(),c=ZL.filter(d=>a.includes(d)),l=oM(s);t.push({file_path:o,exists:i,has_guidance:l||c.length>=QL,has_marker:l,outdated:l&&Sw(s,n).changed})}return t}function io(e,t){e.includes(t)||e.push(t)}function uM(e,t){let n=Aw(e),r=JSON.stringify(n)!==JSON.stringify(t);return r&&(e.agent_guidance=t),{changed:r,state:t}}async function Cw(e,t=ke.dirname(e)){let r=await M(e)?await Vu.readFile(e,"utf8"):"",o=Sw(r,await Tw(t));return o.changed?(await q(e,o.next_content),{changed:!0,warnings:await Ae({path:e,scope:"project",op:"init:agent_guidance_file"})}):{changed:!1,warnings:[]}}function fM(e){return{mode:e.mode,present:e.scans.some(t=>t.has_guidance),prompted:e.prompted,applied:e.applied,skipped:e.skipped,declined:e.state.declined,prompt_completed:e.state.prompt_completed,template_version:e.state.template_version,target_file:e.targetRelativePath,checked_files:e.scans.map(t=>oo(e.projectRoot,t.file_path)),files_with_guidance:e.scans.filter(t=>t.has_guidance).map(t=>oo(e.projectRoot,t.file_path)),missing_files:e.scans.filter(t=>!t.exists).map(t=>oo(e.projectRoot,t.file_path))}}async function mM(e,t,n){return e?await Iw(n):t}function Ii(e,t,n){e.state={...e.state,...n,template_version:Ku,last_checked_files:t}}async function Ow(e,t){if(t.presentBefore)return;let n=await Cw(t.targetPath,t.projectRoot);e.warnings.push(...n.warnings),n.changed&&(e.applied=!0,e.warnings.push(`agent_guidance:added:${t.targetRelativePath}`))}function pM(e,t){t||(e.warnings.push("agent_guidance:missing"),io(e.nextSteps,Ci))}function _M(e,t){e.skipped=!0,Ii(e,t,{prompt_completed:!0,declined:!0,declined_at:e.state.declined_at||new Date().toISOString()}),e.warnings.push("agent_guidance:explicit_skip"),io(e.nextSteps,Ci)}async function gM(e,t){await Ow(e,t),Ii(e,t.checkedFiles,{prompt_completed:!0,declined:!1,declined_at:""})}function hM(e,t){e.state.declined&&Ii(e,t,{prompt_completed:!0,declined:!1,declined_at:""})}function yM(e){e.skipped=!0,e.warnings.push("agent_guidance:skipped_declined"),io(e.nextSteps,Ci)}async function wM(e,t){if(e.prompted=!0,await dM(t.targetRelativePath)){await Ow(e,t),Ii(e,t.checkedFiles,{prompt_completed:!0,declined:!1,declined_at:""});return}e.skipped=!0,Ii(e,t.checkedFiles,{prompt_completed:!0,declined:!0,declined_at:new Date().toISOString()}),e.warnings.push("agent_guidance:declined"),io(e.nextSteps,Ci)}function bM(e){e.warnings.push("agent_guidance:missing_non_interactive"),io(e.nextSteps,Ci)}async function vM(e,t){let n={warnings:[],nextSteps:[],prompted:!1,applied:!1,skipped:!1,state:e};return t.mode==="status"?(pM(n,t.presentBefore),n):t.mode==="skip"?(_M(n,t.checkedFiles),n):t.mode==="add"?(await gM(n,t),n):t.presentBefore?(hM(n,t.checkedFiles),n):n.state.prompt_completed&&n.state.declined?(yM(n),n):t.interactive?(await wM(n,t),n):(bM(n),n)}async function xw(e){let t=aM(e.pm_root,e.cwd),n=await Iw(t),r=cM(n,t),o=oo(t,r),i=n.map(u=>oo(t,u.file_path)),s=n.some(u=>u.has_guidance),a=await vM(Aw(e.settings),{mode:e.mode,interactive:e.interactive,targetPath:r,targetRelativePath:o,checkedFiles:i,presentBefore:s,projectRoot:t});if(e.mode==="add")for(let u of n.filter(f=>f.outdated)){let f=await Cw(u.file_path,t);a.applied||=f.changed,a.warnings.push(...f.warnings)}let c=uM(e.settings,a.state);n=await mM(a.applied,n,t);let l=n.filter(u=>u.outdated).map(u=>oo(t,u.file_path));return l.length>0&&(a.warnings.push(`agent_guidance_outdated:${l.join(",")}`),io(a.nextSteps,"pm init --agent-guidance add")),{summary:fM({mode:e.mode,scans:n,projectRoot:t,targetRelativePath:o,prompted:a.prompted,applied:a.applied,skipped:a.skipped,state:a.state}),warnings:a.warnings,next_steps:a.nextSteps,settings_changed:c.changed}}import fn from"node:fs/promises";import Ze 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]="c4fba032-7cda-53a2-b518-fa13a60a76d5")}catch{}})();var kM=new Set(["1","true","yes","on"]),so=["user","automation","test","dogfood"],EM=new Set(so);function Ya(e,t){return kM.has((t[e]??"").trim().toLowerCase())}function ao(e=process.env){let t=Ya("DO_NOT_TRACK",e),n=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),o=(typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test")&&!EM.has(n)&&!Ya("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||o||Ya("PM_TELEMETRY_DISABLED",e)||Ya("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed:o}}import Rw from"node:fs/promises";import Nw 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]="84aca8e9-b9a8-59dd-8e11-aa9f67184ec4")}catch{}})();function SM(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,{id:r,owner:o,created_at:i,ttl_seconds:s}=n;return typeof r!="string"||typeof o!="string"||typeof i!="string"||typeof s!="number"||!Number.isFinite(s)?null:{id:r,owner:o,created_at:i,ttl_seconds:s}}function TM(e,t,n){let r=SM(t);if(r===null)return{detail:"unparseable_json",entry:{file:e,id:null,owner:null,created_at:null,ttl_seconds:null,age_seconds:null,stale:!1,reason:"unparseable"}};let o=Date.parse(r.created_at);if(!Number.isFinite(o))return{detail:"invalid_timestamp",entry:{file:e,id:r.id,owner:r.owner,created_at:r.created_at,ttl_seconds:r.ttl_seconds,age_seconds:null,stale:!1,reason:"unparseable"}};let i=n-o,s=Math.floor(i/1e3),a=i>r.ttl_seconds*1e3;return{detail:a?"expired":"active",entry:{file:e,id:r.id,owner:r.owner,created_at:r.created_at,ttl_seconds:r.ttl_seconds,age_seconds:s,stale:a,reason:a?"expired":"active"}}}async function Dw(e,t){let n=t??Date.now(),r=Nw.join(e,"locks"),o={scanned:0,active_lock_count:0,stale_lock_count:0,unreadable_lock_count:0,unparseable_lock_count:0},i;try{i=(await Rw.readdir(r)).filter(a=>a.endsWith(".lock")).sort()}catch(s){if(F(s))return o;throw s}for(let s of i){let a;try{a=await Rw.readFile(Nw.join(r,s),"utf8")}catch(l){if(F(l))continue;o.scanned+=1,o.unreadable_lock_count+=1;continue}o.scanned+=1;let{detail:c}=TM(s,a,n);c==="active"?o.active_lock_count+=1:c==="expired"?o.stale_lock_count+=1:o.unparseable_lock_count+=1}return o}import Zw 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]="01b280e5-31b5-532d-b569-67aab828358a")}catch{}})();var AM=3e4,Oi=class extends Error{status;constructor(t,n){super(t),this.name="SearchHttpError",this.status=n}};function xi(e,t,n=AM){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 Ri(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 IM(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${ie(t)})`}}async function Xa(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: ${ie(o)}`)}if(!r.ok){let o=await IM(r),i=o.length>0?`: ${o}`:"";throw new Oi(`${e.requestLabel} failed with status ${r.status} ${r.statusText}${i}`,r.status)}try{return await r.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${ie(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]="2c36f008-53c4-5ee7-bc87-6bfb7aeb8f42")}catch{}})();function Ju(e,t){let n=W(e);if(!n)return"unconfigured";let r=W(t);return r&&r.toLowerCase()===n.toLowerCase()?"configured":"auto-detected"}function CM(e){let t=So(e),n=t.toLowerCase();return n.endsWith("/embeddings")?t:n.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function Lw(e){let t=e.search?.embedding_model;return W(t)||null}function OM(e){let t=W(e.providers?.openai?.base_url),n=W(e.providers?.openai?.model);if(!t||!n)return null;let r=Lw(e),o=W(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:r??n,...o?{api_key:o}:{}}}function xM(e){let t=W(e.providers?.ollama?.base_url),n=W(e.providers?.ollama?.model);if(!t||!n)return null;let r=Lw(e);return{name:"ollama",base_url:t,model:r??n}}function Mw(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 RM(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 NM(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 Ni(e){let t=OM(e),n=xM(e),r=[t,n].filter(a=>a!==null),o=W(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 Pw(e){let t=So(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:CM(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function DM(e,t){let n=Mw(t);return e.name==="openai"?{target:Pw(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:Pw(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:n}}}function PM(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 NM(o).map((s,a)=>{let c=s.embedding;if(!xr(c))throw new Error(`OpenAI embedding response entry at index ${a} is missing a numeric embedding vector`);return[...c]})}let n=t.embedding;if(xr(n))return[[...n]];let r=t.embeddings;if(Array.isArray(r)&&r.length>0)return r.map((o,i)=>{if(!xr(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 $w(e,t,n={}){let r=xi(n.timeout_ms,"Embedding request"),o=Ri(n.fetcher,"Embedding request"),i=Mw(t),s=RM(i),a=DM(e,s.uniqueInputs),c=await Xa({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:r,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),l=PM(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]="16c567d7-0065-5401-a768-0913cec6d5f4")}catch{}})();var Za=["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 Yu(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...Za];let n=new Set(Za),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:[...Za]}var LM=8e3,MM=3200,wr="...[semantic corpus truncated]",$M="search_embedding_corpus_max_characters_invalid:using_provider_default";function Ht(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function FM(e){return(e.reminders??[]).map(t=>Ht([t.at,t.text]))}function jM(e){return(e.events??[]).map(t=>Ht([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 UM(e){let t=(e.plan_steps??[]).map(s=>Ht([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=>Ht([a.kind,a.id,a.note])).join(" "),(s.files??[]).map(a=>Ht([a.path,a.note])).join(" "),(s.tests??[]).map(a=>Ht([a.command,a.path,a.note])).join(" "),(s.docs??[]).map(a=>Ht([a.path,a.note])).join(" ")])),n=(e.plan_decisions??[]).map(s=>Ht([s.decision,s.rationale,s.evidence,s.step_id])),r=(e.plan_discoveries??[]).map(s=>Ht([s.text,s.step_id])),o=(e.plan_validation??[]).map(s=>Ht([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 zt(e){return typeof e=="string"&&e.trim().length>0}var zM={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=>zt(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>zt(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>zt(e.metadata.goal)?e.metadata.goal:void 0,value:e=>zt(e.metadata.value)?e.metadata.value:void 0,why_now:e=>zt(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>zt(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=>zt(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>zt(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>zt(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>zt(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=>FM(e.metadata),events:e=>jM(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>UM(e.metadata)};function Fw(e,t={}){let n=t.fields??Za,r={};for(let o of n){let i=zM[o];if(!i)continue;let s=i(e);s!==void 0&&(r[o]=s)}return r}function HM(e){return e?.trim().toLowerCase()==="ollama"?MM:LM}function co(e,t){let n=HM(e),r=lp(t);return r!==null?{maxCharacters:r,warning:null}:{maxCharacters:n,warning:t==null?null:$M}}function Xu(e,t={}){let n=JSON.stringify(Fw(e,{fields:t.fields})),r=co(t.providerName,t.maxCharacters).maxCharacters;if(n.length<=r)return n;if(r<=wr.length)return wr.slice(0,r);let o=Math.max(0,r-wr.length);return`${n.slice(0,o)}${wr}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dff1d04a-bad4-51d7-ab46-41e49387a44d")}catch{}})();function qM(e,t,n){let r=e.search.embedding_batch_size,o=e.search.embedding_timeout_ms,i=e.search.scanner_max_batch_retries,s=Number.isFinite(r)&&r>0?Math.max(1,Math.floor(r)):1,a=Number.isFinite(o)&&o>0?Math.max(1,Math.floor(o)):3e4,c=Number.isFinite(i)&&i>=0?Math.floor(i):0;return{batchSize:s,timeoutMs:a,maxRetries:c,maxRequestBytes:n,maxInputCharacters:t}}function GM(e,t,n,r){let o=[],i=[],s=Buffer.byteLength(JSON.stringify({model:e.model,input:[]})),a=s;for(let c of t){let l=Buffer.byteLength(JSON.stringify(c.trim()));if(s+l>r)throw new RangeError(`Embedding input exceeds request byte ceiling ${r}; lower search.embedding_corpus_max_characters or raise maxRequestBytes`);let d=i.length>0?1:0;(i.length>=n||a+d+l>r)&&(o.push(i),i=[],a=s),a+=l+(i.length>0?1:0),i.push(c)}return o.push(i),o}function BM(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let n=Math.max(0,t-wr.length);return`${e.slice(0,n)}${wr}`.slice(0,t)}function jw(e){let t=ie(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function WM(e,t,n,r,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${ie(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${n} timeout_ms=${r}`;return jw(i)?`${s} (${a}; guidance=check provider availability or lower search.embedding_batch_size, raise search.embedding_timeout_ms, or run keyword search while semantic indexing catches up)`:`${s} (${a})`}function VM(e){return e instanceof Oi?e.status===413?"payload_too_large":null:jw(e)?"timeout":null}async function Zu(e,t,n,r,o,i,s){let a=null;for(let c=0;c<=o;c+=1)try{s.requests+=1;let l=await $w(e,t,{timeout_ms:r});return c>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${n}:attempt=${c+1}:size=${t.length}`),s.successful_batches+=1,s.batch_size_histogram[t.length]=(s.batch_size_histogram[t.length]??0)+1,l}catch(l){a=l;let d=VM(l);if(d!==null&&t.length>1){s.split_batches+=1;let u=Math.ceil(t.length/2),f=t.slice(0,u),m=t.slice(u);return i.push(`search_embedding_batch_split_after_${d}:batch=${n}:size=${t.length}:parts=${f.length}|${m.length}`),[...await Zu(e,f,`${n}.1`,r,o,i,s),...await Zu(e,m,`${n}.2`,r,o,i,s)]}if(c<o){s.retries+=1;let u=Math.min(1e3*2**c,8e3);await new Promise(f=>setTimeout(f,u))}}throw new Error(WM(e,n,t.length,r,o+1,a))}async function Qu(e,t,n,r={}){if(n.length===0)return{vectors:[],warnings:[]};let o=performance.now(),i=r.maxRequestBytes??262144;if(!Number.isSafeInteger(i)||i<=0)throw new RangeError("maxRequestBytes must be a positive safe integer");let s={provider:e.name,model:e.model,max_request_bytes:i,limit_source:r.maxRequestBytes===void 0?"default":"caller",planned_batches:0,requests:0,successful_batches:0,split_batches:0,retries:0,batch_size_histogram:{},elapsed_ms:0,inputs_per_second:0},a=[],c=co(e.name,t.search.embedding_corpus_max_characters);c.warning&&a.push(c.warning);let l=qM(t,c.maxCharacters,i),d=0,u=n.map(w=>{if(w.trim().length===0)throw new TypeError("Embedding inputs must be non-empty strings");let h=BM(w,l.maxInputCharacters);return h.length<w.length&&(d+=1),h});d>0&&a.push(`search_embedding_input_truncated:count=${d}:max_characters=${l.maxInputCharacters}`);let f=GM(e,u,l.batchSize,l.maxRequestBytes);s.planned_batches=f.length;let m=[],p=0;for(let w=0;w<f.length;w+=1){let h=f[w];r.onProgress?.({batch_index:w+1,batch_total:f.length,batch_size:h.length,completed_inputs:p,total_inputs:u.length,phase:"start"}),m.push(...await Zu(e,h,String(w+1),l.timeoutMs,l.maxRetries,a,s)),p+=h.length,r.onProgress?.({batch_index:w+1,batch_total:f.length,batch_size:h.length,completed_inputs:p,total_inputs:u.length,phase:"complete"})}return s.elapsed_ms=Math.max(1,performance.now()-o),s.inputs_per_second=n.length*1e3/s.elapsed_ms,{vectors:m,warnings:a,receipt:s}}import{spawnSync as zw}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]="02a573c3-251d-5f42-abcc-63b5aa263aa1")}catch{}})();var KM="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",JM="PM_OLLAMA_MODEL",YM="http://localhost:11434",XM="qwen3-embedding:0.6b",ZM=".agents/pm/search/lancedb/",QM=1500,e$=2500,t$=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,n$=/embed|embedding/i,qt=W;function r$(){let e=qt(process.env[KM]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function Uw(e){return e.some(t=>qt(t)!==null)}function o$(e){let t=qt(e);return!!(t&&t.toLowerCase()!=="ollama")}function i$(e){let t=qt(e);return!!(t&&t.toLowerCase()!=="lancedb")}function s$(e){return o$(e.search?.provider)||i$(e.vector_store?.adapter)||Uw([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Uw([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function a$(){let e=zw("ollama",["--version"],{encoding:"utf8",timeout:QM});return e.error?!1:e.status===0}function c$(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=>t$.test(i));return r||(n.find(i=>n$.test(i))??null)}function l$(e){let t=qt(e.providers?.ollama?.model);if(t)return t;let n=qt(process.env[JM]);if(n)return n;let r=zw("ollama",["list"],{encoding:"utf8",timeout:e$});if(!r.error&&r.status===0){let o=c$(typeof r.stdout=="string"?r.stdout:"");if(o)return o}return null}function d$(e){return{baseUrl:qt(e.providers?.ollama?.base_url)===null,model:qt(e.providers?.ollama?.model)===null,lancedbPath:qt(e.vector_store?.lancedb?.path)===null,embeddingModel:qt(e.search?.embedding_model)===null}}function u$(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function f$(e,t,n){if(!t.baseUrl&&!t.model)return;let r=e.providers??={},o=r.ollama??={};t.baseUrl&&(o.base_url=YM),t.model&&(o.model=n)}function m$(e,t){if(!t.lancedbPath)return;let n=e.vector_store??={},r=n.lancedb??={};r.path=ZM}function p$(e,t,n){if(!t.embeddingModel)return;let r=e.search??={};r.embedding_model=n}function lo(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(r$()||s$(e))return t;let n=d$(e);if(!u$(n)||n.model&&!a$())return t;let r=structuredClone(e),o=l$(r);return o?(f$(r,n,o),m$(r,n),p$(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 ${XM} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="22112449-f1ab-5b6b-a9bb-37e5d3c5b83a")}catch{}})();import{mkdir as _$,readFile as g$,stat as nf,unlink as h$}from"node:fs/promises";import{basename as Hw,dirname as ef,isAbsolute as y$,join as w$,resolve as rf}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]="887ac66e-679f-5a07-a6a2-8a19a4007198")}catch{}})();var of="pm_items",b$=/[^a-zA-Z0-9_-]/g,v$=128,k$=".pm-cli-local-vectors",tf=1,uo=new Map;function sf(e){return(W(e.collection_name)??of).replaceAll(b$,"_").slice(0,v$)}function qw(e){if(!xr(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Gw(e){let t=W(e.result?.status);if(t)return{status:t};let n=W(e.status);if(n)return{status:n};throw new Error("Qdrant upsert response must include status metadata")}async function Bw(e,t,n,r,o){return await Xa({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:n,fetcher:r,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function E$(e){let t=W(e.vector_store?.qdrant?.url);if(!t)return null;let n=W(e.vector_store?.collection_name),r=W(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...n&&n!==of?{collection_name:n}:{},...r?{api_key:r}:{}}}function S$(e){let t=rf(e),n=ef(t);return Hw(t)==="pm"&&Hw(n)===".agents"?ef(n):t}function T$(e,t){return!t||y$(e)?e:rf(S$(t),e)}function A$(e,t){let n=W(e.vector_store?.lancedb?.path);if(!n)return null;let r=W(e.vector_store?.collection_name);return{name:"lancedb",path:T$(n,t),...r&&r!==of?{collection_name:r}:{}}}function I$(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=W(t.id);if(!r)throw new Error(`Vector upsert record at index ${n} is missing a non-empty id`);let o=qw(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 C$(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=W(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 O$(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function Ww(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function af(e,t){return Di(e,t)}function Di(e,t){return w$(rf(e),k$,`${t}.json`)}function x$(e,t,n){let r=W(e.id);if(!r)throw new Error(`LanceDB local snapshot '${n}' record at index ${t} is missing a non-empty id`);let o=qw(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 R$(e,t,n){let r;try{r=JSON.parse(n)}catch(c){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${ie(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!==tf)throw new Error(`LanceDB local snapshot at '${e}' must include version=${tf}`);let i=W(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=x$(s[c],c,e);a.set(l.id,l)}return a}async function N$(e){try{let t=await nf(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!F(t))throw t;return null}}function D$(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 uo.set(e,{records:n,mtimeMs:null,size:null}),n}function P$(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Vw(e,t){let n=af(e,t),r=Di(e,t),o=await N$(r),i=uo.get(n);if(!o){let a=D$(n,i);if(a)return a}if(P$(i,o))return i.records;let s=new Map;try{let a=await g$(r,"utf8");s=R$(r,t,a)}catch(a){if(!F(a))throw a}return uo.set(n,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function L$(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 M$(e){try{await h$(e)}catch(t){if(!F(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${ie(t)}`)}}async function Kw(e,t,n){let r=Di(e,t);if(n.size===0){await M$(r);return}let o=ef(r);try{await _$(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${ie(s)}`)}let i=`${JSON.stringify({version:tf,table:t,records:L$(n)})}
135
+ `;try{await q(r,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${r}': ${ie(s)}`)}}function Pi(e,t){let n=E$(e),r=A$(e,t),o=[n,r].filter(c=>c!==null),i=W(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 Jw(e){let t=sf(e);if(e.name==="qdrant"){let o=So(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 $$(e,t){let n=Jw(e),r=I$(t);return e.name==="qdrant"?{target:n,method:"POST",headers:Ww(e),body:{points:r}}:{target:n,method:"LOCAL",headers:{},body:{table:sf(e),records:r}}}function F$(e,t){let n=Jw(e),r=C$(t);return e.name==="qdrant"?{target:n,method:"POST",headers:Ww(e),body:{points:r}}:{target:n,method:"LOCAL",headers:{},body:{table:sf(e),ids:r}}}async function cf(e,t,n={}){let r=$$(e,t);if(r.method==="LOCAL"){let a=e,c=r.body,l=af(a.path,c.table),d=await Vw(a.path,c.table);for(let m of c.records)d.set(m.id,m);await Kw(a.path,c.table,d);let u=Di(a.path,c.table),f=await nf(u);return uo.set(l,{records:d,mtimeMs:f.mtimeMs,size:f.size}),{status:"ok"}}let o=xi(n.timeout_ms,"Vector request"),i=Ri(n.fetcher,"Vector request"),s=await Bw(r.target.upsert_target,{method:"POST",headers:r.headers,body:r.body},o,i,"upsert");return Gw(s)}async function lf(e,t,n={}){let r=F$(e,t);if(r.method==="LOCAL"){let a=e,c=r.body,l=af(a.path,c.table),d=await Vw(a.path,c.table);if(d.size===0)return{status:"ok"};for(let u of c.ids)d.delete(u);if(await Kw(a.path,c.table,d),d.size===0)uo.delete(l);else{let u=Di(a.path,c.table),f=await nf(u);uo.set(l,{records:d,mtimeMs:f.mtimeMs,size:f.size})}return{status:"ok"}}let o=xi(n.timeout_ms,"Vector request"),i=Ri(n.fetcher,"Vector request"),s=await Bw(O$(r.target.upsert_target),{method:"POST",headers:r.headers,body:r.body},o,i,"delete");return Gw(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]="f4a214b6-02f4-5fc4-bfcd-90c0ca940842")}catch{}})();function fo(e,t){let n=W(e),r=W(t);return!n||!r?null:{provider:n,model:r}}function Yw(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=fo(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 df(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 Li(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function uf(e,t){return!!(e&&e.vector_dimension!==t)}function ff(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}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b382ab50-682e-5e53-a32d-277c5ccf8bef")}catch{}})();var Qw="search/vectorization-status.json";function $i(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function eb(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function tb(e){let t=new Map;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!eb(r)||t.set(o,r)}return Object.fromEntries([...t.entries()].sort((n,r)=>n[0].localeCompare(r[0])))}async function Fi(e){let t=Zw.join(e,Qw),n=await K(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||!eb(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=Yw(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 nb(e,t,n){let r=tb(t),o=Zw.join(e,Qw),i=`${JSON.stringify({version:1,generated_at:j(),...n?{embedding:n}:{},items:Object.entries(r).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
136
+ `;await q(o,i)}function U$(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function z$(e){let t=fo(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function Mi(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function H$(e,t,n){if(!n.settings&&!await M(Se(e)))return Mi(t,"search_semantic_refresh_skipped:settings_not_initialized");let r;try{if(n.settings)r=n.settings;else{let a=await Dn(e),c=a.warnings.find(l=>l.startsWith("settings_read_"));if(c)return Mi(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);r=a.settings}}catch(a){return Mi(t,`search_semantic_refresh_skipped:settings_read_failed:${ie(a)}`)}let o=n.apply_runtime_defaults?lo(r).settings:r,i=Ni(o).active;if(!i)return Mi(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Pi(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:Mi(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function q$(e,t,n,r,o,i){let s=[],a=new Set,c=new Set,l=[];for(let d of r){let u=await ze(e,d,t,n,o);if(!u){c.add(d);continue}try{let f=await Ye(u,{schema:i});l.push({id:f.document.metadata.id,document:f.document})}catch(f){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${ie(f)}`)}}return l.sort((d,u)=>d.id.localeCompare(u.id)),{documents:l,missingIds:$i(c),skippedIds:$i(a),warnings:s}}async function G$(e,t,n){let r=co(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Yu(e),i=n.map(a=>Xu(a.document,{providerName:t.name,maxCharacters:r,fields:o})),s=await Qu(t,e,i);return{vectors:s.vectors,vector_dimension:ff(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function B$(e,t,n){return await cf(e,t.map((r,o)=>({id:r.id,vector:n[o],payload:U$(r.document.metadata)}))),{refreshed:t.map(r=>r.id),skipped:[],warnings:[]}}async function W$(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await lf(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(n){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${ie(n)}`]}}}async function rb(e,t,n={}){let r=$i(t);if(r.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await H$(e,r,n);if(!("settings"in o))return o;let i=ge(o.settings,Y()),s=await q$(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 Fi(e):{entries:{},embedding:null,warnings:[]},c=z$(o.provider),l=a.entries,d={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Li(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 G$(o.settings,o.provider,s.documents);if(uf(a.embedding,h.vector_dimension))d={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=df(c,h.vector_dimension);let b=await B$(o.vectorStore,s.documents,h.vectors);d={refreshed:b.refreshed,skipped:b.skipped,warnings:[...h.warnings,...b.warnings]}}}catch(h){d={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[`search_semantic_refresh_failed:${ie(h)}`]}}let f=await W$(o.vectorStore,s.missingIds),m=new Set(d.refreshed),p=Object.fromEntries(s.documents.filter(h=>m.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),w=[];if(Object.keys(p).length>0||s.missingIds.length>0){let h={...l,...tb(p)};for(let b of s.missingIds)delete h[b];try{await nb(e,h,u)}catch(b){w.push(`search_vectorization_status_ledger_write_failed:${ie(b)}`)}w.push(...a.warnings)}return{refreshed:$i([...d.refreshed,...f.refreshed]),skipped:$i([...s.skippedIds,...d.skipped,...f.skipped]),warnings:[...s.warnings,...d.warnings,...f.warnings,...w]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e15abc24-c46a-512b-b859-015186c960df")}catch{}})();function mf(e,t){let n=t??{};return e.filter(r=>n[r.id]!==r.updated_at).map(r=>r.id).sort((r,o)=>r.localeCompare(o))}import Y$ from"node:crypto";import _f 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]="9d949852-abfe-5fbd-88c5-5da0cfbaf7de")}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]="4e329152-7e9e-5cf2-a4cf-35260a599360")}catch{}})();var IX=new Map([[_.USAGE,"invalid_command_usage"],[_.NOT_FOUND,"item_not_found"],[_.CONFLICT,"lock_conflict"],[_.DEPENDENCY_FAILED,"dependency_failed"]]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f0ef8253-1b96-56d2-bf94-6ff5debcab08")}catch{}})();var KX=_f.join("runtime","telemetry","events.jsonl"),JX=_f.join("runtime","telemetry","state.json"),YX=_f.join("runtime","telemetry","otel-spans.jsonl");var ib=1;var sb=15;var XX=3600*1e3;var ZX=globalThis.fetch;var eZ=Promise.resolve(),tZ=Promise.resolve();var nZ=new Set(so);var rZ=Y$.randomUUID();var ab="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",oZ=new RegExp(`\\b(${ab})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),iZ=new RegExp(`(--${ab})(=|\\s+)([^\\s,;]+)`,"giu");(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fac6b840-f5f1-51f6-b643-99b48ac864ba")}catch{}})();var X$=Object.freeze([{code:"missing_directory",command:"pm init",summary:"Recreate missing tracker directories (pm init is idempotent and restores the scaffold)."},{code:"settings_read_fs_error",command:"pm config list --json",summary:"settings.json could not be read as a regular file and pm fell back to defaults; repair the reported path or permissions, then re-run."},{code:"settings_read_invalid_json",command:"pm config list --json",summary:"settings.json is not valid JSON and pm fell back to defaults; fix the syntax error in the reported path, then re-run."},{code:"settings_read_invalid_schema",command:"pm config list --json",summary:"settings.json failed schema validation and pm fell back to defaults; correct the reported key in the file, then re-run."},{code:"settings_read_merge_failed",command:"pm config list --json",summary:"Global/project settings could not be merged; reconcile the conflicting keys in the reported settings files."},{code:"settings:id_prefix_empty",command:"pm config list --json",summary:'id_prefix is empty; set a non-empty "id_prefix" in settings.json so generated item ids are well-formed.'},{code:"settings:locks_ttl_non_positive",command:"pm config list --json",summary:'locks.ttl_seconds must be positive; set a positive "locks.ttl_seconds" in settings.json.'},{code:"telemetry_state_invalid_json",command:"pm health --check-telemetry",summary:"Local telemetry state file is corrupt; pm recreates it on the next flush. Advisory only."},{code:"telemetry_queue_invalid_rows",command:"pm health --check-telemetry",summary:"The telemetry queue has unparseable rows; they are skipped on the next flush. Advisory only."},{code:"telemetry_queue_pending",command:"pm health --check-telemetry",summary:"Telemetry events are queued; they flush automatically on the next reachable command. Advisory only."},{code:"telemetry_queue_high_retries",command:"pm telemetry flush",summary:"Some queued telemetry events are near retry exhaustion; flush now and verify endpoint reachability before entries are dropped."},{code:"telemetry_endpoint_probe_failed",command:"pm health --check-telemetry",summary:"The telemetry endpoint is unreachable; events stay queued until it recovers. Advisory only."},{code:"telemetry_endpoint_probe_http_status",command:"pm health --check-telemetry",summary:"The telemetry endpoint returned a non-success status; events stay queued until it recovers. Advisory only."},{code:"telemetry_schema_version_behind",command:"pm health --check-telemetry",summary:"Client schema is behind server; upgrade pm-cli to emit the latest event shape."},{code:"telemetry_otel_export_failing",command:"pm health --check-telemetry",summary:"OTLP trace spans are queued but the traces endpoint export is failing; spans retry automatically on the next reachable command, or set PM_TELEMETRY_OTEL_DISABLED=1 to skip OTLP export. Advisory only."},{code:"merge_driver_configuration_missing",command:"pm merge install",summary:"Install the clone-local Git drivers required by the tracker merge fence."},{code:"merge_driver_configuration_drift",command:"pm merge install",summary:"Reinstall clone-local Git drivers after runtime or package paths change."},{code:"merge_fence_missing",command:"pm merge install",summary:"Install the active tracker's committed Git merge attributes."},{code:"merge_fence_drift",command:"pm merge install",summary:"Restore the active tracker's merge mappings while retaining sibling tracker fences."},{code:"validate_merge_driver_configuration",command:"pm merge install",summary:"Restore missing or drifted clone-local Git merge driver commands."},{code:"integrity_item_unreadable",command:"pm validate --check-files --verbose-diagnostics",summary:"An item file could not be read; restore or repair the file at the reported path."},{code:"integrity_item_parse_failed",command:"pm validate --check-files --verbose-diagnostics",summary:"An item file failed to parse; fix the malformed item metadata at the reported path."},{code:"integrity_item_conflict_marker",command:"pm validate --check-files --verbose-diagnostics",summary:"An item file contains Git conflict markers; resolve the <<<<<<< / >>>>>>> markers at the reported line."},{code:"integrity_history_unreadable",command:"pm history-repair <id>",summary:"A history stream could not be read; re-anchor the affected item's history chain."},{code:"integrity_history_invalid_json",command:"pm history-repair <id>",summary:"A history stream contains invalid JSON; re-anchor the affected item's history chain."},{code:"integrity_history_conflict_marker",command:"pm history-repair <id>",summary:"A history stream contains Git conflict markers; resolve the markers, then re-anchor the chain."},{code:"validate_storage_unreadable_items",command:"pm validate --check-storage-integrity --verbose-diagnostics",summary:"An on-disk item file cannot be parsed (for example a botched merge resolution with stale TOON count headers); repair or restore the file at the reported path \u2014 list commands silently skip it while pm get hard-errors."},{code:"validate_storage_duplicate_item_ids",command:"pm validate --check-storage-integrity --verbose-diagnostics",summary:"One item id is claimed by multiple item documents \u2014 usually two branches minting the same id for different items before merging (GH-600). Keep one document, recreate the other item under a fresh id (pm copy, then delete the colliding file), and consider raising ids.token_length for concurrent multi-agent work."},{code:"validate_storage_history_conflict_markers",command:"pm merge driver history <base> <ours> <theirs>",summary:"A history stream contains unresolved Git conflict markers; re-merge it with the pm history merge driver (or resolve the markers by hand), then run pm history-repair for the item."},{code:"validate_storage_unparseable_history",command:"pm history-repair <id>",summary:"A history stream's newest line is not valid JSONL; repair or restore the stream before further mutations."},{code:"validate_storage_resurrected_items",command:"pm delete <id>",summary:"A live item's newest history operation is a delete: a delete/modify merge silently resurrected it. Decide the winner \u2014 re-delete the item, or keep it and append a mutation documenting the revival."},{code:"validate_storage_unparseable_config",command:"pm merge driver json <base> <ours> <theirs>",summary:"settings.json or a schema file cannot be parsed, so pm silently falls back to defaults; re-merge it with the pm JSON merge driver or fix the file by hand, then rerun pm validate."},{code:"validate_merge_fence_drift",command:"pm merge install",summary:"The committed .gitattributes merge fence no longer matches the active schema's type folders or tracker JSONL stores; rerun pm merge install (and commit .gitattributes) so every tracker artifact keeps its field-aware merge driver."},{code:"validate_storage_tracked_runtime_cache_files",command:"git rm --cached -r -- <tracked-runtime-directories>",summary:"Clone-local tracker runtime artifacts are committed. Run the exact tracked_runtime_cache.remediation_command, commit the index-only removals and managed .gitignore fence, then rerun validation."},{code:"integrity_item_outdated_format_version",command:"pm validate --verbose-diagnostics",summary:"An item predates the current storage format version; a pm storage migration rewrites it. Use --verbose-diagnostics to list the affected items."},{code:"integrity_item_ahead_format_version",command:"npm install -g @unbrained/pm-cli@latest",summary:"An item was written by a newer pm format version than this runtime supports; upgrade pm to read and validate it safely."},{code:"tracked_runtime_cache_files",command:"git rm --cached -r -- <tracked-runtime-directories>",summary:"Clone-local tracker runtime artifacts are committed. Run the exact tracked_runtime_cache.remediation_command from the integrity check, commit the index-only removals, and keep the managed .gitignore fence."},{code:"merge_decisions_unreviewed",command:"pm merge reconcile --dry-run",summary:"Review the pending merge receipts, re-apply any intended discarded values, then run pm merge reconcile; lossy receipts require explicit --force acceptance."},{code:"merge_receipts_pending",command:"pm merge reconcile",summary:"A lossless merge receipt is still pending; run pm merge reconcile to settle it (optionally preview first with --dry-run) so a green health gate certifies receipt settlement, not only intact data."},{code:"merge_receipt_evidence_invalid",command:"pm merge report --include-reconciled --json",summary:"One or more receipt candidates failed bounded-file, schema, identity, or copy-consistency validation; inspect the report's privacy-safe source, receipt id, and reason before repairing only the named evidence."},{code:"merge_receipt_history_reference_missing",command:"pm merge reconcile --dry-run",summary:"Review the bounded coordinates and recover available evidence first; for exact pre-durable clone-local-only references, rerun with --force so pm appends an audited disposition and proves the health finding is cleared without rewriting history."},{code:"validate_merge_decisions_unreviewed",command:"pm merge reconcile --dry-run",summary:"Review the pending merge receipts before reconciliation; history-repair alone does not settle them, and lossy receipts require explicit --force acceptance."},{code:"history_drift_missing_stream",command:"pm history-repair <id>",summary:"The item has no history stream; re-anchor the chain to rebuild it (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_unreadable_stream",command:"pm history-repair <id>",summary:"The item's history stream is unreadable; re-anchor the chain (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_hash_mismatch",command:"pm history-repair <id>",summary:"The item's content hash no longer matches its history; re-anchor the chain (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_chain_mismatch",command:"pm history-repair <id>",summary:"The item's history chain is broken; re-anchor the chain (pm history-repair --all repairs every drifted stream in one pass)."},{code:"history_drift_version_skew",command:"npm install -g @unbrained/pm-cli@latest",summary:"A history stream declares an item hash version this runtime does not support; upgrade pm to verify the chain instead of re-anchoring it."},{code:"history_drift_merge_receipt",command:"pm merge reconcile",summary:"Canonical path, changed-field, and merged-value hash evidence attributes this drift to a pending receipt; run reconciliation (optionally preview first with --dry-run) instead of repairing history directly."},{code:"history_stream_over_compact_threshold",command:"pm history-compact <id>",summary:"The history stream exceeds the configured compaction threshold; compact it (pm history-compact --all-streams sweeps every over-threshold stream in one pass)."},{code:"history_unknown_author_events",command:'pm history-author-acknowledge --all-actionable --attributed-author "<principal>" --reviewer "<reviewer>" --reason "<evidence>"',summary:"Review the actionable coordinates, then record an append-only attribution disposition for the complete current set."},{code:"provenance_value_domain_invalid",command:"pm history-repair --all --normalize-provenance",summary:"Remove invalid bounded provenance observations from affected streams and append privacy-safe aggregate repair receipts."},{code:"validate_history_unknown_author_events",command:'pm history-author-acknowledge --all-actionable --attributed-author "<principal>" --reviewer "<reviewer>" --reason "<evidence>"',summary:"Review the actionable coordinates, then record an append-only attribution disposition for the complete current set."},{code:"locks_stale_count",command:"pm gc --scope locks",summary:"Stale item-claim locks (embedded ttl elapsed) can block mutations; sweep them \u2014 gc retains active and unparseable locks."},{code:"locks_unreadable",command:"pm gc --scope locks --dry-run",summary:"Some lock files could not be read; preview the sweep and inspect the unreadable files manually \u2014 gc never deletes what it cannot read."},{code:"extension_update_health_partial_coverage",command:"pm extension --adopt-all --project",summary:"Update-health coverage is partial because unmanaged extensions were skipped; adopt the existing installs into managed metadata so the update scan covers them (use --global for global-scope extensions, or pm package --adopt-all when working with packages)."},{code:"vectorization_stale_items_remaining",command:"pm health --refresh-vectors",summary:"Some items have stale embeddings; refresh vectors so semantic search results stay current."},{code:"vectorization_embedding_identity_changed",command:"pm reindex --mode semantic",summary:"Embedding provider/model changed since the last index; run a semantic reindex to rebuild vectors."},{code:"validate_metadata_missing_closed_at",command:"pm validate --check-metadata --auto-fix --fix-scope timestamps --dry-run",summary:"Preview closure dates proven by verified lifecycle history; inspect residuals and omit --dry-run to apply only proven dates."},{code:"validate_metadata_missing_acceptance_criteria",command:'pm update <id> --acceptance-criteria "<criteria>"',summary:"Backfill the missing acceptance criteria on the reported item(s)."},{code:"validate_metadata_missing_estimate",command:'pm update <id> --estimate "<estimate>"',summary:"Backfill the missing estimate on the reported item(s)."},{code:"validate_metadata_missing_close_reason",command:'pm update <id> --close-reason "<reason>"',summary:"Backfill the missing close reason on the reported closed item(s)."},{code:"validate_metadata_missing_reviewer",command:'pm update <id> --reviewer "<name>"',summary:"Backfill the missing reviewer on the reported item(s)."},{code:"validate_metadata_missing_risk",command:'pm update <id> --risk "<level>"',summary:"Backfill the missing risk on the reported item(s)."},{code:"validate_metadata_missing_confidence",command:'pm update <id> --confidence "<level>"',summary:"Backfill the missing confidence on the reported item(s)."},{code:"validate_metadata_missing_sprint",command:'pm update <id> --sprint "<sprint>"',summary:"Backfill the missing sprint on the reported item(s)."},{code:"validate_metadata_missing_release",command:'pm update <id> --release "<release>"',summary:"Backfill the missing release on the reported item(s)."},{code:"validate_metadata_custom_profile_missing_required_fields",command:'pm config set metadata-required-fields --criterion "<field>"',summary:"Config-driven finding: the custom metadata profile has no required fields configured and falls back to core, so configure the fields rather than mutating items."},{code:"validate_metadata_duplicate_issue_codes",command:'pm update <id> --title "<distinct title>"',summary:"Two or more items share one logical issue code (GH-235); give each a distinct title so the derived code is unique, or close the redundant item with pm close <id> --duplicate-of <canonical-id> (closed-as-duplicate items are excluded from the check)."},{code:"validate_resolution_missing_fields",command:'pm update <id> --resolution "<how resolved>"',summary:"Backfill resolution / expected_result / actual_result on the reported closed item(s)."},{code:"validate_lifecycle_active_closure_like_metadata",command:"pm update <id> --unset <closure-like-field>",summary:"Clear the closure-like field the validator flags on this active item \u2014 the detail row names it (resolution / actual-result / blocked-reason) \u2014 or close the item if it is actually done."},{code:"validate_lifecycle_active_terminal_parent",command:"pm update <id> --parent <active-parent-id>",summary:"Reopen the terminal parent or move the active child under a non-terminal parent."},{code:"validate_lifecycle_stale_blockers",command:"pm update <id> --unset blocked-by --unset blocked-reason",summary:"Resolve the stale blocker the validator flags: clear blocked-by/blocked-reason when they linger on a non-blocked item or report a resolved blocker; if instead a blocked item is missing blocker context, add the context or move it out of a blocked status."},{code:"validate_lifecycle_dependency_cycles_error",command:"pm update <id> --dep-remove <dep-id>",summary:"Break the dependency cycle by removing one edge from the reported cycle."},{code:"validate_lifecycle_dependency_cycles",command:"pm update <id> --dep-remove <dep-id>",summary:"Break the dependency cycle by removing one edge from the reported cycle."},{code:"validate_hierarchy_parent_cycle_error",command:"pm update <id> --parent <other-id>",summary:"Break the parent-hierarchy cycle by reparenting one item in the reported cycle to a non-cyclic parent (or clear it with pm update <id> --unset parent)."},{code:"validate_hierarchy_parent_cycle",command:"pm update <id> --parent <other-id>",summary:"Break the parent-hierarchy cycle by reparenting one item in the reported cycle to a non-cyclic parent (or clear it with pm update <id> --unset parent)."},{code:"validate_files_missing_linked_paths",command:"pm <files|docs> <id> --remove <path>",summary:"The check spans both item.files and item.docs under one code: restore the missing linked artifact, or unlink it with pm files (linked file) or pm docs (linked doc)."},{code:"validate_files_orphaned_paths",command:"pm <files|docs> <id> --add <path>",summary:"Link the orphaned artifact with pm files (file) or pm docs (doc), or remove it from the workspace."},{code:"validate_files_tracked_all_strict_forces_pm_internals",command:"pm validate --check-files --include-pm-internals",summary:"tracked-all-strict scan flagged pm internals; re-run with --include-pm-internals or a softer --scan-mode."},{code:"validate_history_drift_missing_streams",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items missing a history stream."},{code:"validate_history_drift_unreadable_streams",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items with an unreadable history stream."},{code:"validate_history_drift_hash_mismatches",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items whose content hash drifted."},{code:"validate_history_drift_chain_mismatches",command:"pm history-repair <id>",summary:"Re-anchor the history chains of the items with a broken history chain."},{code:"validate_history_drift_version_skews",command:"npm install -g @unbrained/pm-cli@latest",summary:"One or more history streams declare an item hash version this runtime does not support; upgrade pm to verify the chains instead of re-anchoring them."},{code:"validate_command_references_stale_pm_ids",command:'pm update <id> --replace-tests --test "command=<corrected-command>" [--test ...]',summary:"Correct the stale pm-ID inside the item's linked test command (the check scans tests[].command, not the body). --replace-tests overwrites the entire tests list, so re-include the item's other linked tests in the same call."},{code:"validate_format_version_outdated_items",command:"pm validate --verbose-diagnostics",summary:"One or more items predate the current storage format version; a pm storage migration rewrites them. Use --verbose-diagnostics to list the affected items."},{code:"validate_format_version_ahead_items",command:"npm install -g @unbrained/pm-cli@latest",summary:"One or more items were written by a newer pm format version than this runtime supports; upgrade pm to read and validate them safely."}]);function gf(e){if(typeof e!="string")return;let t=e.trim();for(let n of X$)if(t===n.code||t.startsWith(`${n.code}:`))return n}function hf(e){let t={};for(let n of e){let r=gf(n);r!==void 0&&!Object.prototype.hasOwnProperty.call(t,r.code)&&(t[r.code]=r.command)}return t}function cb(e){return Object.values(hf(e))}import ub from"node:fs/promises";import{createRequire as Z$}from"node:module";import it 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]="a0014621-9e3d-5620-8f36-081811054843")}catch{}})();function lb(e,t){let n=it.relative(t,e);if(n.length>0&&n!==".."&&!n.startsWith(`..${it.sep}`)&&!it.isAbsolute(n))return n.split(it.sep).join("/");let r=it.resolve(e),o=0xcbf29ce484222325n;for(let s=0;s<r.length;s+=1)o^=BigInt(r.charCodeAt(s)),o=BigInt.asUintN(64,o*0x100000001b3n);return`<external>/${o.toString(16).padStart(16,"0")}/${it.basename(it.dirname(e))}/package.json`}function Q$(e){return e.includes(`${it.sep}.pnpm${it.sep}`)?"pnpm":e.includes(`${it.sep}node_modules${it.sep}`)?"npm":"other"}async function db(e){try{let t=JSON.parse(await ub.readFile(e,"utf8"));return t.name==="@unbrained/pm-cli"&&typeof t.version=="string"&&t.version.trim().length>0?t.version.trim():void 0}catch{return}}async function yf(e){try{return await ub.realpath(e)}catch{return it.resolve(e)}}async function fb(e,t,n=nt(import.meta.url,["../../.."])){let r=await yf(t),o=await yf(it.join(n,"package.json")),i=await db(o),s=new Map;i!==void 0&&s.set(o,{version:i,path:lb(o,r),layout:"host",consumers:["pm-cli-host"]});for(let l of e)try{let d=Z$(l.entry_path).resolve("@unbrained/pm-cli/package.json"),u=await yf(d),f=await db(u);if(f===void 0)continue;let m=u,p=s.get(m);if(p){p.consumers.includes(l.name)||(p.consumers.push(l.name),p.consumers.sort((w,h)=>w.localeCompare(h)));continue}s.set(m,{version:f,path:lb(u,r),layout:Q$(u),consumers:[l.name]})}catch{}let a=[...s.values()].sort((l,d)=>l.path.localeCompare(d.path)),c=i===void 0?[]:a.filter(l=>l.version!==i);return{host_version:i??null,copies:a,mismatches:c,warnings:c.map(l=>`extension_host_pm_cli_version_skew:${i}:${l.version}:${l.consumers.join("+")}`)}}import Xf from"node:fs/promises";import Zf from"node:path";import{Option as fie}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]="09f9d531-8ebf-51bf-9ee6-5a3351d96c7a")}catch{}})();var gZ=new Set(["rename-type","rename-field","remap-status",...zr]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="93b04081-a71a-5987-8fb6-09a8d045c1da")}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]="8ed4af4c-40cf-5902-930b-78a4758871b2")}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]="fdacd8ac-787a-5639-84d5-a32b6ce79d41")}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]="854a0596-b0ec-5d2e-85b1-5444d8d7b622")}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]="e6571e4b-c436-5af7-be01-c3fce3a9c5d3")}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]="91874535-458b-5a33-a68a-96f44bd2e1f8")}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]="b0306587-b3bb-5f82-bb56-7939d1976870")}catch{}})();var eF={critical:0,high:1,medium:2,low:3,minimal:4},tF=Object.keys(eF),GZ=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${tF.join(", ")}), case-insensitive`;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bfb46357-04de-55a0-b132-779c153314de")}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]="0eff4d63-2691-5130-bc12-4957218393b5")}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]="eb151177-d326-5ce4-9624-87f6393046e0")}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]="41196e9d-00c2-5473-848d-7563463c42a7")}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]="df9abedd-6e84-5712-8e5e-4e510ec3ed60")}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]="24688724-53cd-5375-ae7e-cfe098cd0dc8")}catch{}})();var aQ=new Map(Lc.map(e=>[e.toLowerCase(),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]="7778b388-1b28-53e7-a06e-ef6441b0ed68")}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]="ef20c613-623c-5a11-8384-ccf4ee3addde")}catch{}})();import{createRequire as rF}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]="12bf6794-9410-5683-bb83-a0da8d2614a7")}catch{}})();var oF=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,wQ=new RegExp(`\\b(${oF.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var bQ=rF(import.meta.url);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="199c4791-6ca7-50c4-b2cd-aa96c0ab2408")}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]="d7a68072-168d-509a-95ec-145635d71d46")}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]="eed441f0-e2b5-51e9-b9bf-0f4882a9eeea")}catch{}})();var iF=[{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"}],PQ=new Map(iF.map(e=>[e.action,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]="c18e4dfc-d3e3-5185-9470-9d46b4dca893")}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]="bff806e7-b1c7-5064-bdd4-6d6dd1a24100")}catch{}})();import sF 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]="cdae67c6-8316-5e97-84ca-0be4460ffd57")}catch{}})();function Qa(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function aF(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 pb(e,t){let n=Math.max(1,Math.trunc(t.threshold_hours)),r=(t.now??new Date).getTime(),o=Qa(t.in_progress_status),i=[];for(let s of e){if(Qa(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=aF(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 wf(e,t,n){let r=new Map;return await Promise.all(t.filter(o=>Qa(String(o.status))===Qa(n.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await rt(sF.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)})),pb(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]="eb1afbe5-eb0a-56d2-bb94-80fd427325f7")}catch{}})();var qQ=Object.freeze({"&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&amp;":"&"});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4873876d-67b4-5f79-a984-756b7e539e9b")}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]="3940f646-f84d-5eb0-8db1-de64ca0a5985")}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]="f3edff87-6ea5-5108-a749-eeb380870601")}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]="1ad4a739-f29d-5b50-b1cf-f8590804e32b")}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]="d2940263-a7b4-5d29-b1e5-631fe1072a5b")}catch{}})();import nee from"node:readline/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91cfc9cf-9ab1-5c9f-803d-f378e9963c4a")}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]="7b64ac69-240e-504c-adc4-d5f3170d3de7")}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]="497e2b9b-39e8-57c6-a040-3bf8cbac0324")}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]="b569d3f7-12f3-5ece-b529-804be641a778")}catch{}})();var bf=[{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:"allowUnresolvedDeps",keys:["allowUnresolvedDeps","allow_unresolved_deps"],option:"--allow-unresolved-deps",description:"Allow unresolved local dependency targets and emit explicit warning receipts"},{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","linkedFile"],option:"--file <value>",description:"Seed linked file entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-file <value>",description:"Alias for --file (cross-surface name)"}]},{target:"test",keys:["test","linkedTest"],option:"--test <value>",description:"Seed linked test entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-test <value>",description:"Alias for --test (cross-surface name)"}]},{target:"doc",keys:["doc"],option:"--doc <value>",description:"Seed linked doc entry (CSV/markdown pairs or - for stdin; repeatable)",repeatable:!0}],gb=bf.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),hb=bf.filter(e=>e.repeatable===!0).map(e=>({target:e.target,keys:e.keys})),vf=[{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:"Replace the complete acceptance-criteria list (repeatable values join with '; '); use --remove-ac plus --add-ac for one-entry repair",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; fails if any selector is unmatched (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:"allowUnresolvedDeps",keys:["allowUnresolvedDeps","allow_unresolved_deps"],option:"--allow-unresolved-deps",description:"Allow unresolved local dependency targets and emit explicit warning receipts"},{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 by dependency id or exact row signature (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","linkedFile"],option:"--file <value>",description:"Append linked file path=<value>,scope=<project|global>,note=<text> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-file <value>",description:"Alias for --file (cross-surface name)"}]},{target:"test",keys:["test","linkedTest"],option:"--test <value>",description:"Append test command=<value>,path=<value>,scope=<project|global>,timeout_seconds=<n>,pm_context_mode=<schema|tracker|auto|none> (also accepts markdown pairs and - for stdin; repeatable)",repeatable:!0,aliasOptions:[{option:"--linked-test <value>",description:"Alias for --test (cross-surface name)"}]},{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}],kf=vf.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),yb=vf.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]="35c88fec-b8c2-5478-b9a6-ecaebb736b2e")}catch{}})();function xe(e){return e.map(t=>({...t}))}var Ef=[{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"}],wb=[{param:"updatedAfter",flag:"--updated-after"},{param:"updatedBefore",flag:"--updated-before"},{param:"createdAfter",flag:"--created-after"},{param:"createdBefore",flag:"--created-before"}],vF=[{param:"today",flag:"--today",booleanish:!0},{param:"recent",flag:"--recent",booleanish:!0},...wb],bb=[{param:"assignee",flag:"--assignee"},{param:"assigneeFilter",flag:"--assignee-filter"},{param:"parent",flag:"--parent"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"}],kF=[{param:"assignee",flag:"--assignee"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"parent",flag:"--parent"}],EF=[...Ef,...bb],vb=[{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"}],SF=[{param:"filterAcMissing",flag:"--filter-ac-missing"},{param:"filterEstimatesMissing",flag:"--filter-estimates-missing"},{param:"filterResolutionMissing",flag:"--filter-resolution-missing"},{param:"filterMetadataMissing",flag:"--filter-metadata-missing"}],kb=[{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"}],Sf=[{param:"for",flag:"--for"},{param:"tokenBudget",flag:"--token-budget"},...xe(Ef),...xe(vF),{param:"ids",flag:"--ids"},...xe(bb),...xe(SF),...xe(vb),...xe(kb),{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"}],Tf=[{param:"groupBy",flag:"--group-by"},{param:"setMode",flag:"--set-mode"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"},{param:"sum",flag:"--sum"},{param:"avg",flag:"--avg"},...xe(EF)],Af=[{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"},...xe(Ef),...xe(wb),...xe(kF),...xe(vb),...xe(kb),{param:"fields",flag:"--fields"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"}],Eb=[{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"}],ec=xe(Eb),Sb=[{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:"allowUnresolvedDeps",flag:"--allow-unresolved-deps"},{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"}],If=xe(Sb),Tb=[{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:"allowUnresolvedDeps",flag:"--allow-unresolved-deps"},{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"}],Cf=xe(Tb),Of=[{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"}],xf=xe(Of),Rf=xe(Of);var Nf=[{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:"raw",flag:"--raw"},{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}],Df=[{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"}];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d78f489d-2ce1-5806-a17e-0c6c049ad0f0")}catch{}})();var AF=["item","list","context","search","graph","history","workspace","package","ops","plan","contracts","help"];function S(e,t,n,r={}){return{name:e,required:n,variadic:r.variadic===!0,value_kind:t,polymorphic:r.polymorphic===!0}}function Ab(e){let t=e.replaceAll("-"," ");return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}var ne=S("id","item_id",!0),ji=S("id","item_id",!1),Ui=S("text","string",!1),zi=S("plan-id","item_id",!0),Ib=S("step","string",!0),IF=["--acceptance-criteria","--actual-result","--affected-version","--assignee","--blocked-by","--blocked-reason","--blocks","--body","--claim","--comment","--component","--confidence","--create-mode","--customer-impact","--deadline","--definition-of-ready","--description","--doc","--environment","--estimate","--event","--expected-result","--fixed-version","--file","--from-search","--goal","--harness","--impact","--learning","--message","--mode","--note","--objective","--order","--outcome","--parent","--priority","--rank","--related","--release","--reminder","--reporter","--repro-steps","--resolution","--resume-context","--reviewer","--risk","--scope","--severity","--sprint","--status","--step","--step-blocked-reason","--step-body","--step-evidence","--step-owner","--step-replacement","--step-status","--step-title","--tags","--template","--test","--title","--type-option","--unblock-note","--value","--why-now"],Pf=["--allow-multiple-active","--depends-on","--file","--force","--message","--step-blocked-reason","--step-body","--step-evidence","--step-owner","--step-status","--step-title","--test"],CF={"update-step":"Update one declared Plan step.","complete-step":"Complete one declared Plan step.","block-step":"Block one declared Plan step.","remove-step":"Remove one declared Plan step.",link:"Link one dependency to a declared Plan step.",unlink:"Unlink one dependency from a declared Plan step."},mo=[{command:"plan create",parent:"plan",action:"create",slots:[S("title","string",!1,{polymorphic:!0})],accepted_flags:IF,description:"Create a Plan item and optionally seed its ordered steps.",example:'pm plan create --title "Refactor lock retry"'},{command:"plan show",parent:"plan",action:"show",slots:[zi],accepted_flags:["--depth","--fields"],description:"Read one Plan item with a bounded plan projection.",example:"pm plan show pm-a1b2 --depth standard"},{command:"plan add-step",parent:"plan",action:"add-step",slots:[zi],accepted_flags:Pf,description:"Append one ordered step to a Plan item.",example:'pm plan add-step pm-a1b2 --step-title "Run tests"'},...Object.entries(CF).map(([e,t])=>({command:`plan ${e}`,parent:"plan",action:e,slots:[zi,Ib],accepted_flags:Pf,description:t,example:`pm plan ${e} pm-a1b2 plan-step-001`})),{command:"plan reorder-step",parent:"plan",action:"reorder-step",slots:[zi,Ib,S("new-order","integer",!0)],accepted_flags:["--force","--message"],description:"Move one Plan step to a declared integer order.",example:"pm plan reorder-step pm-a1b2 plan-step-001 2"},...["decision","discovery","validation","resume","approve","materialize"].map(e=>({command:`plan ${e}`,parent:"plan",action:e,slots:[zi],accepted_flags:Pf,description:`${Ab(e)} for one Plan item.`,example:`pm plan ${e} pm-a1b2`})),...["list","show","put","remove"].map(e=>({command:`assurance ${e}`,parent:"assurance",action:e,slots:[S("kind","string",!0),...e==="list"?[]:[S("id","string",!0)]],accepted_flags:e==="put"?["--author","--definition","--message"]:e==="remove"?["--author","--message"]:[],description:`${Ab(e)} assurance declarations by kind.`,example:e==="list"?"pm assurance list measurement":`pm assurance ${e} measurement example-id`})),{command:"assurance run",parent:"assurance",action:"run",slots:[S("gate-id","string",!0)],accepted_flags:["--dry-run","--trigger","--tree"],description:"Evaluate one assurance gate for a lifecycle trigger.",example:"pm assurance run tracker-context-quality --trigger ci --dry-run"},{command:"assurance verdicts",parent:"assurance",action:"verdicts",slots:[S("gate-id","string",!1)],accepted_flags:["--gate","--limit"],description:"List bounded assurance verdict history.",example:"pm assurance verdicts --limit 20"},...["presets","apply"].map(e=>({command:`assurance ${e}`,parent:"assurance",action:e,slots:[S("preset","string",e==="apply")],accepted_flags:["--author","--message","--owner"],description:e==="apply"?"Apply one assurance adoption preset.":"List available assurance adoption presets.",example:e==="apply"?"pm assurance apply software-delivery --owner <pm-item-id>":"pm assurance presets"})),{command:"assurance derive",parent:"assurance",action:"derive",slots:[],accepted_flags:["--apply","--author","--message","--owner"],description:"Derive assurance proposals from current project context.",example:"pm assurance derive --owner pm-a1b2"},{command:"assurance promote",parent:"assurance",action:"promote",slots:[S("assertion-id","string",!0)],accepted_flags:["--author","--enforcement","--message"],description:"Promote one assertion into a warning or blocking gate.",example:"pm assurance promote assertion-id --enforcement warn"},{command:"assurance risk",parent:"assurance",action:"risk",slots:[],accepted_flags:["--definition"],description:"Analyze bounded defect-recurrence risk for a proposed change.",example:`pm assurance risk --definition '{"change":{"files":[]}}'`},{command:"assurance lineages",parent:"assurance",action:"lineages",slots:[],accepted_flags:["--definition"],description:"Measure all recorded recurrence lineages with bounded evidence rows.",example:`pm assurance lineages --definition '{"policy":{"version":1,"evidence_epoch":"2026-01-01T00:00:00.000Z","families":[]}}'`},{command:"workspace position",parent:"workspace",action:"position",slots:[],accepted_flags:[],description:"Read bounded merge-fence, receipt, history-drift, and next-action readiness.",example:"pm workspace position"},{command:"workspace snapshot create",parent:"workspace snapshot",action:"create",slots:[S("name","string",!1)],accepted_flags:[],description:"Capture authoritative tracker state as an immutable snapshot.",example:"pm workspace snapshot create before-migration"},{command:"workspace snapshot list",parent:"workspace snapshot",action:"list",slots:[],accepted_flags:[],description:"List immutable workspace snapshots and named references.",example:"pm workspace snapshot list"},{command:"workspace snapshot inspect",parent:"workspace snapshot",action:"inspect",slots:[S("target","string",!0)],accepted_flags:[],description:"Inspect one workspace snapshot target.",example:"pm workspace snapshot inspect before-migration"},{command:"workspace snapshot restore",parent:"workspace snapshot",action:"restore",slots:[S("target","string",!0)],accepted_flags:["--author","--dry-run","--force","--message"],description:"Restore an immutable workspace snapshot with explicit recovery controls.",example:"pm workspace snapshot restore before-migration --dry-run"},{command:"workspace snapshot delete",parent:"workspace snapshot",action:"delete",slots:[S("target","string",!0)],accepted_flags:[],description:"Delete one workspace snapshot target.",example:"pm workspace snapshot delete before-migration"}],OF=[...mo].sort((e,t)=>t.command.length-e.command.length),xF=new Map([["append",[ne,Ui]],["assurance",[S("action","action",!0),S("kind","string",!1),S("id","string",!1)]],["beads import",[S("file","string",!1)]],["changelog export",[S("file","string",!1)]],["claim",[ji]],["close",[ne,Ui]],["close-task",[ne,S("reason","string",!1)]],["comments",[ne,Ui]],["completion",[S("shell","string",!1)]],["config",[S("scope","string",!1,{polymorphic:!0}),S("action","action",!1),S("key","string",!1),S("value","string",!1,{polymorphic:!0})]],["copy",[ne]],["create",[S("type-or-title","string",!1,{polymorphic:!0}),S("title","string",!1)]],["delete",[ne]],["deps",[ne]],["docs",[ne]],["event",[S("title","string",!0)]],["files",[ne]],["files discover",[ne]],["files lookup",[S("paths","string",!0,{variadic:!0})]],["focus",[ji]],["get",[ne]],["graph",[S("subcommand","action",!0),ji,S("target","item_id",!1)]],["guide",[S("topic","string",!1)]],["history",[ne]],["history-compact",[ji]],["history-redact",[ne]],["history-repair",[ji]],["init",[S("prefix-or-path","string",!1,{polymorphic:!0})]],["item complete",[ne,S("reason","string",!1)]],["item reopen",[ne,S("reason","string",!0)]],["learnings",[ne,Ui]],["meet",[S("title","string",!0)]],["merge",[S("subcommand","action",!0),S("artifact","string",!1),S("base","string",!1),S("ours","string",!1),S("theirs","string",!1)]],["notes",[ne,Ui]],["package",[S("target","string",!1,{polymorphic:!0})]],["package list",[]],["package inventory",[S("name","string",!1)]],["package scaffold",[S("target","string",!0)]],["package upgrade",[S("target","string",!1)]],["packages",[S("target","string",!1,{polymorphic:!0})]],["packages list",[]],["packages inventory",[S("name","string",!1)]],["packages scaffold",[S("target","string",!0)]],["packages upgrade",[S("target","string",!1)]],["pause-task",[ne]],["plan",[S("subcommand","action",!0),S("id","item_id",!1,{polymorphic:!0}),S("step","string",!1),S("new-order","integer",!1)]],["profile",[S("subcommand","action",!0),S("name","string",!1)]],["release",[ne]],["remind",[S("title","string",!0)]],["restore",[ne,S("target","string",!0)]],["schema",[S("subcommand","action",!0),S("name","string",!1)]],["search-advanced",[S("keywords","string",!0,{variadic:!0})]],["search",[S("keywords","string",!0,{variadic:!0})]],["start-task",[ne]],["templates save",[S("name","string",!0)]],["templates show",[S("name","string",!0)]],["telemetry",[S("namespace-or-subcommand","action",!1,{polymorphic:!0}),S("subcommand","action",!1)]],["test",[ne]],["test-runs-worker",[S("runId","string",!0)]],["update",[ne]],["workspace snapshot",[S("action","action",!0),S("target","string",!1)]],...["activate","adopt","deactivate","init","uninstall"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[S("target","string",!0)]])),...["describe"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[S("target","string",!1)]])),...["install"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[S("targets","string",!1,{variadic:!0})]])),["vcs abandon",[ne]],["vcs create",[S("title","string",!0)]],["vcs merge",[ne]],["vcs propose",[ne]],["vcs ref-create",[S("name","string",!0)]],["vcs show",[ne]]]);function RF(e){return e.trim().toLowerCase().replace(/\s+/gu," ")}function NF(e){let t=RF(e);return OF.find(n=>n.command===t||t.startsWith(`${n.command} `))}function U(e,t,n,r,o){return o.map(i=>({command:i,noun:e,target:t,disposition:n,owner:r}))}var DF=[...U("item","item","target_noun","pm-pbyu",["item","item complete","item mutate","item reopen"]),...U("item","item","consolidation","pm-yql1",["append","close-many","close-task","comments","copy","delete","deps","docs","files","learnings","notes","pause-task","start-task","test","update-many"]),...["claim","close","create","get","release","update"].map(e=>({command:e,noun:"item",target:e,disposition:"keep_as_is",owner:"pm-pbyu",reason:"Permanent high-frequency item operations retain concise root spellings under the accepted hot-path grammar policy."})),...U("item","item files","target_noun","pm-yql1",["files discover","files lookup","item files discover","item files lookup"]),...U("item","item test worker","consolidation","pm-lp4j",["test-runs-worker"]),...U("list","list","target_noun","pm-pfqi",["list"]),...U("list","list --group-by","consolidation","pm-xkgq",["aggregate"]),...U("context","context","target_noun","pm-pbyu",["context"]),...U("context","context","consolidation","pm-kcs4",["ctx","focus","next"]),...U("context","context next","consolidation","pm-kcs4",["ctx next"]),...U("context","context focus","consolidation","pm-kcs4",["ctx focus"]),...U("search","search","target_noun","pm-pbyu",["search"]),...U("search","search","package_owned","package:search-advanced",["reindex","search-advanced"]),...U("item","item duplicates","consolidation","pm-fmy9ih",["duplicates"]),...U("item","item duplicates","package_owned","pm-fmy9ih",["dedupe-audit","dedupe-merge","comments-audit"]),...U("graph","graph","target_noun","pm-pbyu",["graph"]),...U("history","history","target_noun","pm-pbyu",["history"]),...U("history","history attest","target_noun","pm-3z0k",["history attest"]),...U("history","history attest","consolidation","pm-3z0k",["history-attest"]),...ia.flatMap(({alias:e,canonical:t})=>[...U("history",t,"target_noun","pm-tqel",[t]),...U("history",t,"consolidation","pm-tqel",[e])]),...U("history","history","consolidation","pm-tqel",["events","merge"]),...U("history","history acknowledge","consolidation","pm-djyvbk",["history-author-acknowledge"]),...U("history","history","package_owned","package:builtin-vcs-exemplar",["vcs abandon","vcs create","vcs log","vcs merge","vcs propose","vcs ref-create","vcs show"]),...U("workspace","workspace","target_noun","pm-pbyu",["workspace","workspace position","workspace snapshot","workspace snapshot create","workspace snapshot delete","workspace snapshot inspect","workspace snapshot list","workspace snapshot restore"]),...U("workspace","workspace init","consolidation","pm-npr3",["init"]),...U("package","package","target_noun","pm-pbyu",["package","package activate","package adopt","package adopt-all","package catalog","package deactivate","package describe","package doctor","package explore","package init","package install","package inventory","package list","package manage","package migrate","package reload","package scaffold","package uninstall","package upgrade"]),...U("package","package","consolidation","pm-tnud",["extension activate","extension adopt","extension adopt-all","extension catalog","extension deactivate","extension describe","extension doctor","extension explore","extension init","extension install","extension manage","extension migrate","extension reload","extension uninstall","packages","packages activate","packages adopt","packages adopt-all","packages catalog","packages deactivate","packages describe","packages doctor","packages explore","packages init","packages install","packages inventory","packages list","packages manage","packages migrate","packages reload","packages scaffold","packages uninstall","packages upgrade"]),...U("package","package","package_owned","package:beads",["beads import"]),...U("package","package","package_owned","package:pm-changelog",["changelog export","changelog generate"]),...U("package","package calendar","package_owned","pm-o3fh",["event","meet","remind"]),...U("ops","ops","target_noun","pm-6apl",["ops"]),...U("ops","ops normalize","package_owned","package:pm-governance-audit",["normalize"]),...U("ops","ops","consolidation","pm-6apl",["eval","gc","health","stats","telemetry","test-all","validate"]),...U("workspace","workspace","consolidation","pm-npr3",["config","profile","schema"]),...["assurance",...mo.filter(({parent:e})=>e==="assurance").map(({command:e})=>e)].map(e=>({command:e,noun:"ops",target:e,disposition:"keep_as_is",owner:"pm-djyvbk",reason:"Assurance manages durable measurement, assertion, gate, and verdict data; retain its established domain surface independently of operational diagnostics."})),...U("plan","plan","target_noun","pm-pbyu",["plan"]),...U("plan","plan","target_noun","pm-2tan",mo.filter(({parent:e})=>e==="plan").map(({command:e})=>e)),...U("contracts","contracts","target_noun","pm-pbyu",["contracts"]),...U("help","help","target_noun","pm-pbyu",["help"]),...U("workspace","templates","package_owned","package:builtin-templates",["templates","templates list","templates save","templates show"]),...U("help","help","package_owned","package:builtin-guide-shell",["completion","completion-statuses","completion-tags","completion-types","guide"])].flatMap(e=>{let t=sa.find(r=>r.alias===e.command);if(!t)return[e];let n=AF.find(r=>r===t.canonical_argv[0])??e.noun;return[{...e,noun:n,target:t.canonical,owner:t.owner},{...e,command:t.canonical,noun:n,target:t.canonical,owner:t.owner,disposition:e.disposition==="package_owned"?"package_owned":"target_noun"}]}),PF=[...new Set(DF.map(({command:e})=>e))].map(e=>({command:e,slots:NF(e)?.slots??xF.get(en(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]="4e1e3ef4-cdf3-5d4c-88fe-d23f6fc171d1")}catch{}})();function Lf(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]="bfaa3455-3237-5c98-8ef4-b353ce9530fe")}catch{}})();var Hi=Object.freeze({rows:10,paths:5,samples:10,path_depth:8,visited_paths:1e4});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4c3fb594-00bc-5625-aeaa-692e7ac01437")}catch{}})();var Cb=Al.map(e=>({flag:e.flag,reservation_scope:"inherited",...e.aliases?{aliases:[...e.aliases]}:{},...e.value_name?{value_name:e.value_name}:{}})),LF=[...Cb,{flag:"--version",value_type:"boolean",reservation_scope:"root_only"},{flag:"--all",value_type:"boolean",reservation_scope:"root_only",description:"Expand root help to every command."},{flag:"--explain",value_type:"boolean",reservation_scope:"root_only",description:"Expand root help with command guidance."}],Ob=[{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"}],xb=[{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"}],tc=Uf([{flag:"--for",value_name:"intent"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--status",list:!0},{flag:"--all",value_type:"boolean"},{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"},...Ob,{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"])),Rb=[{flag:"--group-by",list:!0},{flag:"--set-mode"},{flag:"--limit"},{flag:"--after"},{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}],Nb=[{flag:"--id",value_name:"item-id"},{flag:"--add",aliases:["--comment","--body","--text"]},{flag:"--stdin"},{flag:"--file"},{flag:"--edit"},{flag:"--delete"},{flag:"--limit"},{flag:"--full-history"},{flag:"--if-absent",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}];function Uf(e,t){return e.map(n=>t.has(n.flag)?{...n,cursor_semantics:"presentation"}:n)}var Db=[{flag:"--id",value_name:"item-id"},{flag:"--add",aliases:["--note","--text"]},{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:"--if-absent",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Pb=[{flag:"--id",value_name:"item-id"},{flag:"--add",aliases:["--learning","--text"]},{flag:"--stdin"},{flag:"--file"},{flag:"--edit"},{flag:"--delete"},{flag:"--limit"},{flag:"--full-history"},{flag:"--if-absent",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Lb=[{flag:"--id",value_name:"item-id"},{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:"--explain"},{flag:"--lines",value_name:"start:end"},{flag:"--decision-depth",value_name:"n",value_type:"number"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Mb=[{flag:"--id",value_name:"item-id"},{flag:"--add"},{flag:"--add-glob"},{flag:"--remove"},{flag:"--migrate"},{flag:"--note"},{flag:"--list"},{flag:"--validate-paths"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],$b=[{flag:"--id",value_name:"item-id"},{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"}],Fb=[{flag:"--dry-run"},{flag:"--message"},{flag:"--force"},{flag:"--include-reconciled"},{flag:"--output"},{flag:"--item-path"},{flag:"--prefer"}],jb=[{flag:"--id",value_name:"item-id"},{flag:"--literal"},{flag:"--regex"},{flag:"--replacement"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Ub=[{flag:"--id",value_name:"item-id"},{flag:"--all"},{flag:"--dry-run"},{flag:"--normalize-provenance"},{flag:"--salvage-tail",value_type:"boolean"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],zb=[{flag:"--event",repeatable:!0},{flag:"--all-actionable"},{flag:"--dry-run"},{flag:"--plan-fingerprint"},{flag:"--limit",value_type:"number"},{flag:"--attributed-author",aliases:["--attributed_author"]},{flag:"--reviewer"},{flag:"--reason"}],Hb=[{flag:"--id",value_name:"item-id"},{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"}],MF=[{flag:"--verify",value_name:"file",value_type:"string"},{flag:"--output",value_name:"file",value_type:"string"},{flag:"--hash-algorithm",value_name:"name",value_type:"string"}],qb=[{flag:"--definition",value_name:"json"},{flag:"--policy",value_name:"id"},{flag:"--message",value_name:"value"},{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",value_type:"boolean"},{flag:"--to"},{flag:"--migration-id",aliases:["--migration_id"]},{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],Gb=[{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],zf=[{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"}],Bb=[{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"}],Wb=[{flag:"--value",value_name:"value"},{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"}],Hf=[{flag:"--dry-run"},{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"}],cn=[{flag:"--project"},{flag:"--local"},{flag:"--global"}],Vb=[...cn,{flag:"--capability"}],Mf=[...Hf,{flag:"--declarative"}],$F=[...Vb,{flag:"--declarative"}];var FF=[...cn,{flag:"--markdown"},{flag:"--output"}];var jF=[...cn,{flag:"--dry-run"}],UF=[...cn,{flag:"--runtime-probe"},{flag:"--fix-managed-state"}],zF=[...cn,{flag:"--watch"}],HF=[...cn,{flag:"--detail"},{flag:"--trace"},{flag:"--fix-managed-state"},{flag:"--isolated"},{flag:"--ignore-global"},{flag:"--strict-exit"},{flag:"--fail-on-warn"}],qF=[...cn,{flag:"--fields",list:!0}],GF=[...cn,{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],Kb=[{flag:"--dry-run"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],Jb=[{flag:"--dry-run"},{flag:"--cli-only"},{flag:"--packages-only"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--repair"},{flag:"--tag"},{flag:"--package-name"}];var Yb=[{flag:"--release-assignment",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{flag:"--reason",value_name:"value"},{flag:"--close-reason",value_name:"value"},{flag:"--completed-at",value_name:"value"},{flag:"--duplicate-of",value_name:"value"},{flag:"--author",value_name:"value"},{flag:"--message",value_name:"value"},{flag:"--validate-close",value_name:"off|warn|strict"},{flag:"--resolution",value_name:"value"},{flag:"--expected-result",aliases:["--expected_result","--expected"],value_name:"value"},{flag:"--actual-result",aliases:["--actual_result","--actual"],value_name:"value"},{flag:"--force",value_type:"boolean"}],Xb=[{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"},...xb,{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"}],Zb=[{flag:"--id",value_name:"item-id"},{flag:"--body",short:"-b"},{flag:"--text"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Qb=[{flag:"--start",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{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:"--include-gates"},{flag:"--include-containers"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--explain-ranking",aliases:["--explain_ranking"]}],ev=[{flag:"--id",value_name:"item-id"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],tv=[{flag:"--id",value_name:"item-id"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],nv=[{flag:"--pause",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],rv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],ov=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],iv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--validate-close",value_name:"off|warn|strict"},{flag:"--force"}],sv=[{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--tags"},{flag:"--priority"},{flag:"--body"},{flag:"--description"},{flag:"--author"},{flag:"--message"}],qf=[{flag:"--start"},{flag:"--duration"},{flag:"--end"},{flag:"--location"},{flag:"--timezone"},{flag:"--all-day"},...sv],av=qf,cv=[{flag:"--at"},{flag:"--text"},...sv],lv=[{flag:"--list"},{flag:"--id",value_name:"item-id"},{flag:"--add"},{flag:"--add-json"},{flag:"--remove"},{flag:"--remove-index",repeatable:!0},{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:"--workspace-context"},{flag:"--override-linked-workspace-context"},{flag:"--allow-untrusted-linked-tests"},{flag:"--acknowledge-linked-tests"},{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"}],dv=[{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:"--workspace-context"},{flag:"--override-linked-workspace-context"},{flag:"--allow-untrusted-linked-tests"},{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"}],uv=[{flag:"--limit"}];var fv=[{flag:"--dry-run"},{flag:"--scope"}],mv=[{flag:"--include-empty"},{flag:"--storage"},{flag:"--metadata-coverage"},{flag:"--field-utilization"},{flag:"--by-assignee"},{flag:"--by-tag"},{flag:"--by-priority"},{flag:"--tag-prefix"},{flag:"--analytics"}],pv=[{flag:"--exhaustive",value_type:"boolean"},{flag:"--status",repeatable:!0,list:!0},{flag:"--since"},{flag:"--threshold"},{flag:"--limit"}],_v=[{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"}],gv=[{flag:"--check-completeness",value_type:"boolean"},{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"}],Gf=[{flag:"--definition",value_name:"json"},{flag:"--trigger",value_name:"value"},{flag:"--tree",value_name:"value"},{flag:"--gate",value_name:"id"},{flag:"--limit",value_name:"number"},{flag:"--dry-run"},{flag:"--author",value_name:"value"},{flag:"--message",value_name:"value"},{flag:"--owner",value_name:"item-id"},{flag:"--apply",value_type:"boolean"},{flag:"--enforcement",value_name:"level"}],hv=[{flag:"--assignee"},{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--allow-unresolved-deps"},{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"}],yv=[{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"}],wv=[{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"]}],$f=[{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"},...hv,...yv,{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",aliases:["--linked-file"]},{flag:"--test",aliases:["--linked-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"}],bv=[{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"}],vv=[{flag:"--id",value_name:"item-id"},{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:"off|warn|strict"},{flag:"--lock-ttl-seconds",value_name:"n"},{flag:"--lock-wait-ms",value_name:"n"},{flag:"--dry-run"},{flag:"--force"},{flag:"--author",value_name:"value"}],kv=[{flag:"--id",value_name:"item-id"},{flag:"--status",value_name:"open|in_progress"},{flag:"--message",value_name:"value"},{flag:"--force"},{flag:"--author",value_name:"value"}],Ev=[{flag:"--id",value_name:"item-id"},{flag:"--title",value_name:"value"},{flag:"--author",value_name:"value"},{flag:"--message",value_name:"value"},{flag:"--allow-duplicate",value_type:"boolean"}],Sv=[{flag:"--id",value_name:"item-id"},{flag:"--clear"}],Tv=[{flag:"--id",value_name:"item-id"},{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"},...wv,...hv,{flag:"--fixed_version"},...yv,{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",aliases:["--linked-file"]},{flag:"--test",aliases:["--linked-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"}],Av=[{flag:"--status",short:"-s"},{flag:"--assignee"},{flag:"--parent"},{flag:"--blocked-by",aliases:["--blocked_by"]},{flag:"--blocked-reason",aliases:["--blocked_reason"]},{flag:"--unblock-note",aliases:["--unblock_note"]},{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"},...xb,{flag:"--dry-run"},{flag:"--rollback"},{flag:"--no-checkpoint"},{short:"-t",flag:"--title"},{short:"-d",flag:"--description"},{short:"-b",flag:"--body"},...wv,{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:"--allow-unresolved-deps"},{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"}],Ff=[{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"}],Iv=[{flag:"--id"},{flag:"--op"},{flag:"--author"},{flag:"--from"},{flag:"--to"},{flag:"--limit"},{flag:"--unbounded"},{flag:"--compact"},{flag:"--raw"},{flag:"--full"},{flag:"--provenance"},{flag:"--provenance-summary"},{flag:"--harness",repeatable:!0},{flag:"--agent-instance",repeatable:!0},{flag:"--provenance-filter",repeatable:!0},{flag:"--stream"}],Cv=[{flag:"--since"},{flag:"--type",repeatable:!0},{flag:"--author",repeatable:!0},{flag:"--item",repeatable:!0},{flag:"--limit",value_type:"number"},{flag:"--cursor-mode",value_name:"batch|row"},{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"}],jf=Uf([{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"])),Ov=[{flag:"--id",value_name:"item-id"},{flag:"--for",value_name:"intent"},{flag:"--token-budget",aliases:["--token_budget"]},{flag:"--depth"},{flag:"--full",value_type:"boolean"},{flag:"--fields",list:!0},{flag:"--at"},{flag:"--tree"},{flag:"--tree-depth"},{flag:"--tree_depth"},{flag:"--format"}],xv=[{flag:"--list"},{flag:"--format"},{flag:"--depth"}],Rv=[{flag:"--id",value_name:"item-id"},{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}],Nv=[{flag:"--kind",list:!0},{flag:"--max-depth",description:`Maximum traversal depth; paths default to ${Hi.path_depth}.`},{flag:"--limit",description:`Maximum rows per collection; default ${Hi.rows}. Use --full to remove the row cap.`},{flag:"--after"},{flag:"--direction"},{flag:"--max-paths",description:`Maximum enumerated paths; default ${Hi.paths}.`},{flag:"--sample",description:`Maximum evidence examples per audit finding; default ${Hi.samples}.`},{flag:"--exempt-isolate",list:!0},{flag:"--exempt-isolate-type",list:!0},{flag:"--save-baseline"},{flag:"--rebuild"},{flag:"--clear"},{flag:"--summary"},{flag:"--full"}],Dv=[{flag:"--mode"},{flag:"--k"},{flag:"--fail-under"},{flag:"--queries"},{flag:"--format"}],an=[{flag:"--dry-run"},{flag:"--force"},{flag:"--author"},{flag:"--message"}],Pv=[],Lv=[{flag:"--include-decisions"},{flag:"--include-gates"},{flag:"--include-containers"},{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"]}],Mv=Uf([{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"},...Ob],new Set(["--highlight","--compact","--full","--fields","--format","--limit","--token-budget","--after"])),$v=[{flag:"--action"},{flag:"--command"},{flag:"--summary"},{flag:"--schema-only"},{flag:"--flags-only"},{flag:"--availability-only"},{flag:"--runtime-only"},{flag:"--active-only"},{flag:"--full"}],Fv=[{flag:"--eager-tags"}];var BF=["list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled"],WF=tc.filter(e=>e.flag!=="--status"&&e.flag!=="--all");function nc(e){let t=new Map;for(let n of e)for(let r of[n.flag,...n.aliases??[]]){let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}var VF=nc(zf),KF=nc(Gf),JF=new Map([["assurance",KF],["plan",VF],["workspace",nc(Pv)],["workspace snapshot",nc(an)]]);function jv(e=mo){return e.map(({command:t,parent:n,accepted_flags:r})=>{let o=JF.get(n);if(!o)throw new Error(`Positional action ${t} has no flag-contract index for ${n}.`);let i=r.map(s=>{let a=o.get(s)??[];if(a.length!==1)throw new Error(`Positional action ${t} accepted flag ${s} does not resolve to exactly one ${n} flag contract.`);return a[0]});return[t,i]})}var YF=jv(),Hre=new Map([["list",tc],["list-all",tc],...BF.map(e=>[e,WF]),["templates",$f],["cal",Ff],["ctx",jf],["test-runs-worker",[]],["init",Bb],["config",Wb],["extension",Hf],["package",Mf],["packages",Mf],["install",Kb],["upgrade",Jb],["create",$f],["item",[]],["item mutate",bv],["item complete",vv],["item reopen",kv],["copy",Ev],["focus",Sv],["aggregate",Rb],["calendar",Ff],["context",jf],["get",Ov],["guide",xv],["search",Mv],["next",Lv],["eval",Dv],["workspace",an],["workspace position",Pv],["workspace snapshot",an],["workspace snapshot create",an],["workspace snapshot list",an],["workspace snapshot inspect",an],["workspace snapshot restore",an],["workspace snapshot delete",an],["history",$b],["history-redact",jb],["history-repair",Ub],["history-author-acknowledge",zb],["history-compact",Hb],["history-attest",MF],["merge",Fb],["schema",qb],["profile",Gb],["plan",zf],["activity",Iv],["events",Cv],["restore",ev],["update",Tv],["update-many",Av],["close",Yb],["close-many",Xb],["delete",tv],["append",Zb],["comments",Nb],["notes",Db],["learnings",Pb],["files",Lb],["docs",Mb],["deps",Rv],["graph",Nv],["test",lv],["test-all",dv],["telemetry",uv],["health",_v],["assurance",Gf],...YF,["validate",gv],["gc",fv],["stats",mv],["duplicates",pv],["contracts",$v],["completion",Fv],["claim",Qb],["release",nv],["start-task",rv],["pause-task",ov],["close-task",iv],["meet",qf],["event",av],["remind",cv]]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a14011f9-67eb-5cd6-b520-8e938ada4f1b")}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]="e216fd39-09ee-5a04-b0b5-44f518db4f93")}catch{}})();function qi(e){let t=e?.trim()??"";return/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(t)||/^(?:github|gitlab|jira|linear):/iu.test(t)}function po(e){let t=e?.trim().toLowerCase();return t==="global"||t==="external"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8d87a4e8-5853-52ca-8fdf-1433e2a9e75d")}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]="12a0ee7f-508d-5e6e-b59d-24bc0aba22aa")}catch{}})();var Uv=["production_defect","nightly_regression","scanner_finding","review_caught_late"];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06f5d0fa-6f34-5e3e-990b-2e3bc00364ca")}catch{}})();var rc={type:"string",pattern:"\\S"},Bf={type:"array",minItems:1,items:rc},Hv={type:"object",properties:Object.fromEntries(["files","package_names","item_ids","tags","error_codes"].map(e=>[e,{type:"array",items:{type:"string"}}]))},XF={type:"object",required:["id","version","title","owner_item_id","escape_class","triggers","checks","negative_control","historical_item_ids","budget"],properties:{id:rc,version:{type:"integer",minimum:1},title:rc,owner_item_id:rc,escape_class:{enum:Uv},triggers:{type:"object",properties:{...Object.fromEntries(["package_names","item_ids","tags","error_codes"].map(e=>[e,{type:"array",items:{type:"string"}}])),file_patterns:{type:"array",items:{type:"string",maxLength:256}}}},checks:{type:"object",required:["local","hosted"],properties:{local:Bf,hosted:Bf}},negative_control:{...Hv,minProperties:1},historical_item_ids:Bf,budget:{type:"object",required:["max_escape_rate","max_false_positive_rate"],properties:Object.fromEntries(["max_escape_rate","max_false_positive_rate"].map(e=>[e,{type:"number",minimum:0,maximum:1}]))}}},zv={oneOf:[{type:"number"},{type:"array",items:{type:"string"}}]},qv={if:{required:["field"]}};Reflect.set(qv,"then",{oneOf:[{required:["equals"]},{required:["state"]}]});var Gv={oneOf:[...[!0,!1].map(e=>({type:"object",additionalProperties:!1,required:e?["policy","change"]:["policy"],properties:{policy:{type:"object",required:["version","evidence_epoch","families"],properties:{version:{const:1},evidence_epoch:{type:"string",format:"date-time"},families:{type:"array",items:XF}},additionalProperties:!1},...e?{change:{...Hv,additionalProperties:!1}}:{uncoveredOnly:{type:"boolean"}},limit:{type:"integer",minimum:1,maximum:100},cursor:{type:"string",minLength:1}}})),{type:"object",additionalProperties:!1,required:["id","source"],properties:{id:{type:"string",minLength:1},description:{type:"string"},max_cost:{type:"number",minimum:0},source:{oneOf:[{type:"object",additionalProperties:!1,required:["kind"],allOf:[qv],properties:{kind:{const:"items"},statuses:{type:"array",items:{type:"string"}},types:{type:"array",items:{type:"string"}},tags:{type:"array",items:{type:"string"}},field:{type:"string"},equals:{type:["string","number","boolean","null"]},state:{enum:["present","missing"]}}},{type:"object",additionalProperties:!1,required:["kind","dependency_kind"],properties:{kind:{const:"dependency_kind"},dependency_kind:{type:"string",minLength:1}}},{type:"object",required:["kind","operation","field"],properties:{kind:{const:"graph"},operation:{type:"string",minLength:1},field:{type:"string",minLength:1},parameters:{type:"object"}},additionalProperties:!1},...["validate","health"].map(e=>({type:"object",required:["kind","check","field"],properties:{kind:{const:e},check:{type:"string",minLength:1},field:{type:"string",minLength:1}},additionalProperties:!1})),{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{const:"history"},op:{type:"string"},author:{type:"string"},harness:{type:"string"},model:{type:"string"}}},{type:"object",additionalProperties:!1,required:["kind","link","state"],properties:{kind:{const:"links"},link:{enum:["files","tests","docs"]},state:{enum:["present","missing"]}}},{type:"object",additionalProperties:!1,required:["kind","provider","key"],properties:{kind:{const:"provider"},provider:{type:"string",minLength:1},key:{type:"string",minLength:1},parameters:{type:"object"}}},{type:"object",additionalProperties:!1,required:["kind","expression"],properties:{kind:{const:"derived"},expression:{type:"object",minProperties:1}}}]}}},{type:"object",additionalProperties:!1,required:["id","measurement_id","owner_item_id","scope","enforcement","negative_control"],oneOf:[{required:["ceiling"]},{required:["floor"]},{required:["equals"]},{required:["zero"]},{required:["monotone_nondecreasing"]},{required:["monotone_nonincreasing"]},{required:["subset_of"]}],allOf:[{oneOf:[{not:{required:["lifetime"],properties:{lifetime:{const:"retire"}}}},{required:["lifetime","retire_reason"],properties:{lifetime:{const:"retire"},retire_reason:{type:"string",minLength:1}}}]}],properties:{id:{type:"string",minLength:1},measurement_id:{type:"string",minLength:1},owner_item_id:{type:"string",minLength:1},scope:{oneOf:[{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{enum:["all","active"]}}},{type:"object",additionalProperties:!1,required:["kind","measurement_id"],properties:{kind:{const:"filter"},measurement_id:{type:"string",minLength:1}}}]},ceiling:{type:"number"},floor:{type:"number"},equals:zv,zero:{const:!0},monotone_nondecreasing:{type:"number"},monotone_nonincreasing:{type:"number"},subset_of:{type:"array",items:{type:"string"}},lifetime:{enum:["hold","retire"]},retire_reason:{type:"string",minLength:1},enforcement:{enum:["block","warn","observe"]},authorization_decision:{type:"string",minLength:1},negative_control:{type:"object",additionalProperties:!1,required:["cases"],properties:{cases:{type:"array",minItems:2,items:{type:"object",additionalProperties:!1,required:["observed","expected"],properties:{observed:zv,expected:{enum:["pass","fail"]}}}}}}}},{type:"object",additionalProperties:!1,required:["id","assertion_ids","triggers"],properties:{id:{type:"string",minLength:1},description:{type:"string"},assertion_ids:{type:"array",minItems:1,items:{type:"string",minLength:1}},triggers:{type:"array",minItems:1,items:{enum:["pre-commit","pre-push","pre-merge","ci","pre-release","post-release","scheduled","on-claim","on-close"]}},provider_policy:{type:"object",additionalProperties:!1,required:["allowed_providers","triggers"],properties:{allowed_providers:{type:"array",items:{type:"string",minLength:1}},triggers:{type:"object",additionalProperties:{type:"object",additionalProperties:!1,required:["max_cost_class","allow_network"],properties:{max_cost_class:{enum:["low","medium","high"]},allow_network:{type:"boolean"}}}}}}}}]};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a1a65d4a-ac34-501a-bf27-74fa4fc2cfad")}catch{}})();var Wf={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:{anyOf:[{type:"integer",minimum:1},{const:"unbounded"}]},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:da,items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"}}}}]},outputCursor:{type:"string",minLength:1},outputRowContract:{type:"boolean"},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"},allowUnresolvedDeps:{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"},cursorMode:{type:"string",enum:["batch","row"]},exhaustive:{type:"boolean"},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"},owner:{type:"string"},enforcement:{type:"string"},assignee:{type:"string"},assigneeFilter:{type:"string",enum:["assigned","unassigned"]},parent:{type:"string"},reviewer:{type:"string"},attributedAuthor:{type:"string"},planFingerprint:{type:"string",pattern:"^[a-f0-9]{64}$"},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"},raw:{type:"boolean"},brief:{type:"boolean"},full:{type:"boolean"},includeEmpty:{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"}]},removeIndex:{type:"array",items:{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","none"]},overrideLinkedPmContext:{type:"boolean"},workspaceContext:{type:"string",enum:["source","isolated","snapshot"]},overrideLinkedWorkspaceContext:{type:"boolean"},allowUntrustedLinkedTests:{type:"boolean"},acknowledgeLinkedTests:{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"},checkCompleteness:{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"},normalizeProvenance:{type:"boolean"},salvageTail:{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"},ifAbsent:{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"},includeGates:{type:"boolean"},includeContainers:{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"},treeId:{type:"string",minLength:1},definition:{type:"object"},trigger:{type:"string",enum:["pre-commit","pre-push","pre-merge","ci","pre-release","post-release","scheduled","on-claim","on-close"]},gate:{type:"string",minLength:1},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"}},explain:{type:"boolean"},lines:{type:"string",pattern:"^[1-9]\\d*:[1-9]\\d*$"},decisionDepth:{type:"integer",minimum:1,maximum:32},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"},setMode:{type:"string",enum:["element","tuple"]},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"}},Bv={schema:{definition:{type:["object","string"]}},assurance:{definition:Gv,kind:{type:"string",enum:["measurement","assertion","gate"]},subcommand:{type:"string",enum:["list","show","put","remove","run","verdicts","presets","apply","derive","promote","risk","lineages"]},preset:{type:"string",enum:["software-delivery","research","agent-evaluation","operations"]},enforcement:{type:"string",enum:["warn","block"]},limit:{type:"integer",minimum:1,maximum:1e3}},activity:{harness:{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},"update-many":{ids:{anyOf:[{type:"string"},{type:"number"},{type:"array",items:{anyOf:[{type:"string"},{type:"number"}]}}]}},"close-many":{ids:{anyOf:[{type:"string"},{type:"number"},{type:"array",items:{anyOf:[{type:"string"},{type:"number"}]}}]}},"history-compact":{ids:{anyOf:[{type:"string"},{type:"number"},{type:"array",items:{anyOf:[{type:"string"},{type:"number"}]}}]}},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}}},ZF=["create","show","add-step","update-step","complete-step","block-step","reorder-step","remove-step","link","unlink","decision","discovery","validation","resume","approve","materialize"],Vf={subcommand:{type:"string",enum:[...ZF]},stepRef:{type:"string"},reorderTo:{anyOf:[{type:"string"},{type:"number"}]},scope:{type:"string"},harness:{type:"string",enum:[...Hm]},mode:{type:"string",enum:[...zm]},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:[..._s]},stepEvidence:{type:"string"},stepBlockedReason:{type:"string"},stepReplacement:{type:"string"},dependsOn:{type:"string"},link:{type:"string"},linkKind:{type:"string",enum:[...qm]},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"}}]}},Kf={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"]}},Wv={includeGates:{description:"Opt next or claim-next into outcome gates. Blocker and ownership restrictions still apply."},includeContainers:{description:"Opt next or claim-next into containers with unfinished descendants. Blocker and ownership restrictions still apply."},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, or unbounded to disable the shared ceiling.",examples:[600,1200,"unbounded"]},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:[]}]},outputCursor:{description:"Opaque continuation cursor returned when a declared row collection is compacted by the output budget."},outputRowContract:{description:"Include the row selector and TOON row-encoding contract on a read result."},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"]},treeId:{description:"Commit, tree, snapshot, or immutable workspace identity judged by an assurance gate.",examples:["0123456789abcdef","release-candidate-3"]},definition:{description:"Structured measurement, assertion, or gate declaration used by assurance put."},trigger:{description:"Lifecycle trigger used to evaluate an assurance gate.",examples:["ci","pre-release"]},gate:{description:"Stable assurance gate id used to filter durable verdict history.",examples:["release-readiness"]},owner:{description:"pm item that owns preset or observation-derived assurance assertions.",examples:["pm-a1b2"]},enforcement:{description:"Explicit next assurance enforcement level.",examples:["warn","block"]},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."},allowUnresolvedDeps:{description:"Permit unresolved local dependency targets while returning dependency_target_unresolved warning receipts. Cross-workspace references should use source_kind=external instead.",examples:[!0]},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"]},exhaustive:{description:"Compare every duplicate pair within the disclosed safety bound; default prefix filtering preserves exact recall."},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; the mutation fails atomically if any selector is unmatched (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"]]},planFingerprint:{description:"Exact SHA-256 returned by a history-author-acknowledge dry-run preview; apply refuses stale or changed source coordinates.",examples:["0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"]},estimate:{description:"Estimated effort in minutes.",examples:[60,"120"]},acceptanceCriteria:{description:"Complete acceptance-criteria text supplied while creating or replacing an item field."},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."},ifAbsent:{description:"For annotations, append only when no existing entry has the same resolved author and exact stored text; retries return changed false without a history event."},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"]]},explain:{description:"Include ranked linked-file, rationale, and governing-decision evidence for a files lookup."},lines:{description:"Inclusive start:end source-line range for Git contribution attribution; requires one lookup path.",examples:["10:24"]},decisionDepth:{description:"Maximum typed relationship depth searched for a governing Decision during files lookup.",examples:[8]},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"]},removeIndex:{description:"Remove linked tests by their 1-based positions from pm test <id> --list order; repeatable and lossless for commands containing commas or equals signs.",examples:[[1],["2","4"]]},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 commands; none omits PM_PATH for self-isolating SDK tests in isolated or snapshot workspaces).",examples:["schema","tracker","auto","none"]},overrideLinkedPmContext:{description:"Force run-level --pm-context to override per-linked-test pm_context_mode metadata for all linked-test entries."},workspaceContext:{description:"Source-workspace mode: source preserves read-only source context, isolated omits it for self-sandboxing commands, and snapshot runs from a temporary workspace paired with the selected tracker sandbox.",examples:["source","isolated","snapshot"]},overrideLinkedWorkspaceContext:{description:"Force run-level --workspace-context over per-linked-test workspace_context_mode metadata."},allowUntrustedLinkedTests:{description:"Explicitly execute commands not yet trusted by this clone when testing.allow_untrusted_linked_tests is also enabled."},acknowledgeLinkedTests:{description:"Record clone-local trust for the item's current linked commands without executing them."},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."},normalizeProvenance:{description:"For history-repair: remove invalid legacy provenance observations and emit only aggregate privacy-safe repair evidence."},salvageTail:{description:"For history-repair with one explicit id: remove an invalid trailing suffix after a verified prefix; refuses interior corruption."},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."},checkCompleteness:{description:"Evaluate declarative lifecycle field requirements, with per-type counts and bounded missing-field diagnostics."},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:"Apply the selected capability's strict exit policy; health also requires merge drivers."},failOnWarn:{description:"Alias for strictExit in health, validation, history, and managed doctor actions."},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."},raw:{description:"For activity, restore the compact per-event stream instead of the default item digest."},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."},includeEmpty:{description:"For stats, restore zero-count registered type and lifecycle-status buckets."},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"]},setMode:{description:"Aggregate array dimensions by distinct element (default), or by the complete normalized tuple. Empty sets retain a null group.",examples:["element","tuple"]},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:"Opaque action-specific continuation cursor returned by the preceding bounded query.",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"]}},Vv={health:{strictExit:{description:"Return non-zero for a failing health verdict; also require merge drivers."}},validate:{strictExit:{description:"Return non-zero when validation reports warnings."}},"extension-doctor":{strictExit:{description:"Return non-zero when extension diagnostics report warnings or a non-ok summary."}},"package-doctor":{strictExit:{description:"Return non-zero when package diagnostics report warnings or a non-ok summary."}},history:{strictExit:{description:"Return non-zero for history verification failures when verify is enabled."}},extension:{strictExit:{description:"For doctor operations, return non-zero on warnings or a non-ok diagnostic summary."}},package:{strictExit:{description:"For doctor operations, return non-zero on warnings or a non-ok diagnostic summary."}},assurance:{subcommand:{description:"Assurance operation: list, show, put, remove, run, verdicts, presets, apply, derive, promote, risk, or lineages.",examples:["list","run","risk","lineages"]},kind:{description:"Assurance declaration kind for registry operations: measurement, assertion, or gate.",examples:["measurement","assertion","gate"]},id:{description:"Stable assurance declaration id or gate id, depending on subcommand.",examples:["active-issues","release-readiness"]},limit:{description:"Maximum number of newest assurance verdicts returned.",examples:[10,25]},preset:{description:"Built-in assurance project shape to preview or apply.",examples:["software-delivery","agent-evaluation"]}},update:{acceptanceCriteria:{description:"Complete acceptance-criteria replacement text. Use removeAc plus addAc together for an atomic one-entry repair that preserves unrelated criteria."}},"update-many":{acceptanceCriteria:{description:"Complete acceptance-criteria replacement text. Use removeAc plus addAc together for an atomic one-entry repair that preserves unrelated criteria."}},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]},cursorMode:{description:"Cursor framing: batch returns one terminal next_cursor (default); row also adds a cursor to every event.",examples:["batch","row"]}},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."},ifAbsent:{description:"Append a comment only when the resolved author and exact stored text are absent; a duplicate retry returns changed false without writing history."}},notes:{full:{description:"Return the complete post-mutation note history instead of the bounded mutation receipt projection."},ifAbsent:{description:"Append a note only when the resolved author and exact stored text are absent; a duplicate retry returns changed false without writing history."},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."},ifAbsent:{description:"Append a learning only when the resolved author and exact stored text are absent; a duplicate retry returns changed false without writing history."}},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:{definition:{description:"Workflow policy declaration for policy-put, or proposed item fields for policy-check."},policy:{description:"Declared approval rule id for policy-approve."},name:{description:"Custom item type name, status id, field key, policy id, or item id for the selected schema verb; policy-mode requires advise|refuse.",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]="415b46ad-d836-5593-8b6d-af08bbaba0c2")}catch{}})();var ej={...Bv,"history-attest":{verify:{type:"object",additionalProperties:!0},output:{not:{}}}},oc={...Wf,pause:{type:"boolean"},releaseAssignment:{type:"boolean"},hashAlgorithm:{type:"string",enum:["sha256","sha512"]}},sc={...Wv,pause:{description:"Return work to its configured open status before releasing ownership."},releaseAssignment:{description:"Release assignment after recording closure evidence."},hashAlgorithm:{description:"Digest for detached history bundles; defaults to sha256."}},tj=["json","quiet","profile","noExtensions","noPager","tokenAccounting","path","pmExecutable","timeoutMs"],nj=["outputInclude","outputLimit","outputBudget","outputFormat","outputSession","outputCursor","outputRowContract"],rj=new Set(["action","cwd","options",...Object.keys(oc).filter(e=>e!=="severity")]);var oj={create:["fullChangedFields","idOnly"],copy:["fullChangedFields","idOnly"],update:["fullChangedFields","idOnly"],"item-reopen":["fullChangedFields","idOnly"],close:["fullChangedFields","idOnly"],claim:["fullChangedFields","idOnly"],release:["fullChangedFields","idOnly"],"start-task":["fullChangedFields","idOnly"],"pause-task":["fullChangedFields","idOnly"],"close-task":["fullChangedFields","idOnly"],restore:["fullChangedFields","idOnly"],append:["fullChangedFields"],"update-many":["fullChangedFields"],"close-many":["fullChangedFields"],assurance:["fullChangedFields","idOnly"]},ek=["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"],poe=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(Tn.filter(e=>e==="upgrade"||e==="install"||e==="extension"||e==="package"||e.startsWith("extension-")||e.startsWith("package-")).map(e=>[e,["project","local","global"]]))});function st(e){return Lf(e)}var ij=st([...If.map(e=>e.param),...ec.map(e=>e.param),"assignee","closeReason","completedAt"]),tk=st([...Cf.map(e=>e.param),...ec.map(e=>e.param),"force"]),sj=st([...xf.map(e=>e.param),...tk.filter(e=>e!=="allowMissingParent"&&e!=="completedAt"),"dryRun","rollback","noCheckpoint"]),aj=st([...Rf.map(e=>e.param),"reason","completedAt","resolution","expectedResult","actualResult","validateClose","dryRun","rollback","noCheckpoint","author","message","force"]),Kv=st([...Df.map(e=>e.param),"past","section"]),cj=st([...Nf.map(e=>e.param),"stream"]),Jf=st([...Sf.map(e=>e.param),"all","includeBody","noTruncate","strictRead","compact","brief","full"]),_o=Jf.filter(e=>e!=="all"&&e!=="status"),$n=[[{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"}}]],lj=[[{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}}]],dj=st([...Tf.map(e=>e.param),"count","completion","includeUnparented"]),uj=st(["query","keywords","mode","semantic","hybrid","includeLinked","titleExact","phraseExact","highlight","compact","full",...Af.map(e=>e.param)]),Jv=st(["type","tag","priority","assignee","assigneeFilter","sprint","release","parent","limit","blockedLimit","readyOnly","format","includeDecisions","includeGates","includeContainers","tokenBudget","explainRanking"]),Xe=["author","message","force"],nk=["releaseAssignment","text","reason","closeReason","completedAt","duplicateOf","validateClose","resolution","expectedResult","actualResult"],Gi=["author","assignee","message","force"],fj=["dryRun","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 Yv(e){return{[`${e}-init`]:{required:["target"],optional:["scope","capability",...e==="package"?["declarative"]:[]]},[`${e}-install`]:{optional:["target","github","scope","ref","dryRun"],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:fj,dependentAnyOfRequired:[{property:"dryRun",value:!0,anyOfRequired:[["install","target"],["install","github"]]}],mutuallyExclusiveWhen:[[{property:"dryRun",schema:{const:!0}},{property:"install",schema:{const:!1}}]]}}}var Xv={required:["title"],optional:["start","duration","end","location","timezone","allDay","parent","allowMissingParent","tags","priority","body","description","author","message"]},Zv={optional:["target","scope","dryRun","cliOnly","packagesOnly","repair","tag","packageName"]},ic={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"]},...Yv("extension"),...Yv("package"),"package-upgrade":Zv,install:{optional:["target","github","scope","ref","dryRun"],anyOfRequired:[["target"],["github"]]},upgrade:Zv,create:{required:["title","description","type","status","priority","message"],optional:ij},copy:{required:["id"],optional:["title","author","message","allowDuplicate"]},focus:{optional:["id","clear"],mutuallyExclusive:[["id","clear"]]},list:{optional:Jf,mutuallyExclusiveWhen:$n},"list-all":{optional:Jf,mutuallyExclusiveWhen:$n},"list-draft":{optional:_o,mutuallyExclusiveWhen:$n},"list-open":{optional:_o,mutuallyExclusiveWhen:$n},"list-in-progress":{optional:_o,mutuallyExclusiveWhen:$n},"list-blocked":{optional:_o,mutuallyExclusiveWhen:$n},"list-closed":{optional:_o,mutuallyExclusiveWhen:$n},"list-canceled":{optional:_o,mutuallyExclusiveWhen:$n},aggregate:{optional:dj},guide:{optional:["list","format","depth"]},context:{optional:Kv},ctx:{optional:Kv},get:{required:["id"],optional:["for","tokenBudget","at","depth","full","fields","tree","treeDepth","format"]},search:{optional:uj,anyOfRequired:[["query"],["keywords"]]},eval:{optional:["mode","k","failUnder","queries","format"]},events:{optional:["since","type","author","item","limit","full","provenance","provenanceSummary","harness","agentInstance","provenanceFilter","cursorMode"]},merge:{required:["subcommand"],optional:["dryRun","author","message","force","includeReconciled","artifact","basePath","oursPath","theirsPath","output","outputPath","itemPath","prefer"]},workspace:{required:["subcommand"],optional:["snapshotAction","name","target","dryRun","force","author","message","lockTtlSeconds","lockWaitMs"],conditionalRequired:[{property:"subcommand",value:"snapshot",required:["snapshotAction"]}]},meet:Xv,event:Xv,remind:{required:["title"],optional:["at","text","parent","allowMissingParent","tags","priority","body","description","author","message"]},next:{optional:[...Jv,"for"]},reindex:{optional:["mode","progress"]},history:{required:["id"],optional:["limit","compact","full","provenance","provenanceSummary","harness","agentInstance","provenanceFilter","diff","verify","field","strictExit","failOnWarn","format"]},"history-attest":{optional:["verify","output","hashAlgorithm"],mutuallyExclusive:[["verify","hashAlgorithm"]]},"history-redact":{required:["id"],optional:["literal","regex","replacement","dryRun",...Xe],anyOfRequired:[["literal"],["regex"]]},"history-repair":{optional:["id","all","dryRun","normalizeProvenance","salvageTail",...Xe],oneOfRequired:[["id"],["all"]],mutuallyExclusiveWhen:[[{property:"salvageTail",schema:{const:!0}},{property:"all",schema:{const:!0}}],[{property:"salvageTail",schema:{const:!0}},{property:"normalizeProvenance",schema:{const:!0}}]]},"history-author-acknowledge":{optional:["historyEvent","allActionable","dryRun","planFingerprint","limit","attributedAuthor","reviewer","reason"],oneOfRequired:[["historyEvent"],["allActionable"]]},"history-compact":{optional:["id","before","ids","allOver","closed","allStreams","minEntries","dryRun",...Xe]},schema:{mutuallyExclusiveWhen:[[{property:"subcommand",schema:{const:"policy-mode"}},{property:"name",schema:{not:{enum:["advise","refuse"]}}}]],required:["subcommand"],optional:["definition","policy","message","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:"policy-put",required:["definition"]},{property:"subcommand",value:"policy-remove",required:["name"]},{property:"subcommand",value:"policy-mode",required:["name"]},{property:"subcommand",value:"policy-check",required:["name"]},{property:"subcommand",value:"policy-approve",required:["name","policy"]},{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",...ek,"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",...Xe]},activity:{optional:cj},restore:{required:["id","target"],optional:Xe},update:{required:["id"],optional:tk,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},"update-many":{optional:sj,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},close:{required:["id"],optional:[...nk,...Xe]},"close-many":{optional:aj},delete:{required:["id"],optional:["dryRun",...Xe]},append:{required:["id","body"],optional:Xe},comments:{required:["id"],optional:["text","add","stdin","edit","delete","limit","full","ifAbsent",...Xe],mutuallyExclusive:[["edit","ifAbsent"],["delete","ifAbsent"]]},notes:{required:["id"],optional:["text","add","addJson","stdin","edit","delete","limit","since","eventType","includeMeta","full","ifAbsent",...Xe],mutuallyExclusive:[["addJson","add"],["addJson","stdin"],["addJson","file"],["addJson","edit"],["addJson","delete"],["edit","ifAbsent"],["delete","ifAbsent"]]},learnings:{required:["id"],optional:["text","add","stdin","edit","delete","limit","full","ifAbsent",...Xe],mutuallyExclusive:[["edit","ifAbsent"],["delete","ifAbsent"]]},files:{required:[],optional:["id","add","addGlob","remove","migrate","list","addNote","discover","apply","discoveryNote","appendStable","validatePaths","lookupPath","scope","limit","offset","noTruncate","strictRead","explain","lines","decisionDepth",...Xe],anyOfRequired:[["id"],["lookupPath"]],dependentAnyOfRequired:[{property:"addNote",anyOfRequired:[["add"],["addGlob"]]}]},docs:{required:["id"],optional:["add","addGlob","remove","migrate","addNote","list","validatePaths",...Xe],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:["list","add","addJson","remove","removeIndex","run","match","onlyIndex","onlyLast","background","timeout","progress","envSet","envClear","sharedHostSafe","pmContext","overrideLinkedPmContext","workspaceContext","overrideLinkedWorkspaceContext","allowUntrustedLinkedTests","acknowledgeLinkedTests","failOnContextMismatch","failOnSkipped","failOnEmptyTestRun","requireAssertionsForPm","checkContext","autoPmContext","measure","metricBelow","metricDiff",...Xe],mutuallyExclusive:[["acknowledgeLinkedTests","run"],["acknowledgeLinkedTests","background"]]},"test-all":{optional:["status","limit","offset","background","timeout","progress","envSet","envClear","sharedHostSafe","pmContext","overrideLinkedPmContext","workspaceContext","overrideLinkedWorkspaceContext","allowUntrustedLinkedTests","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:["includeEmpty","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","exhaustive"]},health:{optional:["strictDirectories","requireMergeDrivers","strictExit","failOnWarn","checkOnly","checkTelemetry","noRefresh","refreshVectors","verboseStaleItems","verboseAuthorEvents","brief","summary","skipVectors","skipIntegrity","skipDrift","full"]},validate:{optional:["checkCompleteness","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"]},assurance:{required:["subcommand"],optional:["kind","id","definition","trigger","treeId","gate","limit","dryRun","author","message","preset","owner","apply","enforcement"],conditionalRequired:[{property:"subcommand",value:"list",required:["kind"]},{property:"subcommand",value:"show",required:["kind","id"]},{property:"subcommand",value:"put",required:["kind","id","definition"]},{property:"subcommand",value:"remove",required:["kind","id"]},{property:"subcommand",value:"run",required:["id","trigger"]},{property:"subcommand",value:"apply",required:["preset","owner"]},{property:"subcommand",value:"derive",required:["owner"]},{property:"subcommand",value:"risk",required:["definition"]},{property:"subcommand",value:"lineages",required:["definition"]},{property:"subcommand",value:"promote",required:["id","enforcement"]}],mutuallyExclusiveWhen:[[{property:"subcommand",schema:{const:"risk"}},{property:"definition",schema:{not:{required:["policy","change"]}}}],[{property:"subcommand",schema:{const:"lineages"}},{property:"definition",schema:{anyOf:[{required:["change"]},{not:{required:["policy"]}}]}}]]},gc:{optional:["dryRun","gcScope"]},contracts:{optional:["contractAction","command","summary","schemaOnly","flagsOnly","availabilityOnly","runtimeOnly","activeOnly","full"],mutuallyExclusiveWhen:lj},completion:{required:["shell"],optional:["eagerTags"]},claim:{optional:["start","id","next","ifAvailable","maxAttempts","includeDecisions",...Jv,...Gi],oneOfRequired:[["id"],["next"]],mutuallyExclusiveWhen:[[{property:"start",schema:{const:!0}},{property:"next",schema:{const:!0}}],[{property:"start",schema:{const:!0}},{property:"ifAvailable",schema:{const:!0}}]]},release:{required:["id"],optional:["pause",...Gi]},"start-task":{required:["id"],optional:Gi},"pause-task":{required:["id"],optional:Gi},"close-task":{required:["id"],optional:["text","validateClose",...Gi]},"item-reopen":{required:["id","reason"],optional:["status","author","message","force"]}},mj=Object.freeze(Object.fromEntries(Tn.map(e=>[e,ic[e]])));function rk(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").trim().replace(/^./,t=>t.toUpperCase()).concat(".")}function pj(e,t){let n=typeof t=="object"&&t!==null?{...t}:{},r=sc[e];return{...n,description:r?.description??rk(e),...r?.examples?{examples:r.examples}:{}}}function _j(e,t){if(e==="history-attest"&&t==="verify")return{description:"Compare all retained history streams with a detached JSON proof object. Server-local proof paths are not accepted over MCP."};if(e==="history-attest"&&t==="output")return{description:"Local CLI/SDK only. MCP rejects this field; save the returned JSON bundle on the client."};if(e==="claim"&&t==="start")return{description:"Claim an explicit item and move it to its configured in-progress status."};if((e==="list"||e.startsWith("list-"))&&t==="all")return{description:"Return items from every lifecycle status instead of the default active-status set."};if(e==="plan"&&Object.prototype.hasOwnProperty.call(Kf,t))return Kf[t];let n=Vv[e];return n&&Object.prototype.hasOwnProperty.call(n,t)?n[t]:sc[t]}function gj(e,t,n){let r=typeof n=="object"&&n!==null?{...n}:{},o=_j(e,t);return{...r,description:o?.description??rk(t),...o?.examples?{examples:o.examples}:{}}}function hj(e,t){if(e==="claim"&&t==="start")return{type:"boolean"};let n=ej[e];return n&&Object.prototype.hasOwnProperty.call(n,t)?n[t]:e==="plan"&&Object.prototype.hasOwnProperty.call(Vf,t)?Vf[t]:(e==="get"||e==="history"||e==="search")&&t==="format"?{type:"string",enum:["json","toon"]}:t==="pause"||t==="releaseAssignment"||t==="hashAlgorithm"?oc[t]:Wf[t]}function yj(e,t){let n={action:{const:e,description:sc.action?.description??"Tool action to execute."}};for(let r of t){if(r==="action")continue;let o=hj(e,r);o&&(n[r]=gj(e,r,o))}return n}function wj(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 Qv(e,t){return{...t===void 0?{}:{properties:{[e]:{const:t}}},required:[e]}}function bj(e){let t=[];if(e.conditionalRequired&&e.conditionalRequired.length>0)for(let n of e.conditionalRequired)t.push({if:Qv(n.property,n.value),then:{required:n.required}});if(e.dependentAnyOfRequired&&e.dependentAnyOfRequired.length>0)for(let n of e.dependentAnyOfRequired)t.push({if:Qv(n.property,n.value),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:st(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 ok(e){if(!Object.prototype.hasOwnProperty.call(ic,e))return;let t=ic[e],n=oj[e]??[];return st(["action",...tj,...Jo(e)!==void 0?nj:[],...n,...t.required??[],...t.optional??[]])}function vj(e){let t=ic[e],n=st(t.required??[]),r=ok(e),o={type:"object",additionalProperties:!1,required:["action",...n],title:`pm action "${e}" parameters`,properties:yj(e,r)};t.anyOfRequired&&t.anyOfRequired.length>0&&(o.anyOf=t.anyOfRequired.map(s=>({required:[...s]}))),t.oneOfRequired&&t.oneOfRequired.length>0&&(o.oneOf=wj(e,t.oneOfRequired));let i=bj(t);return i.length>0&&(o.allOf=i),o}function ik(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 Yf="4.20.0",sk=Yf.split(".")[0],ak="1.9.0",kj=ik(()=>({$schema:"https://json-schema.org/draft/2020-12/schema",$id:`https://schema.unbrained.dev/pm-cli/tool-parameters-v${sk}.schema.json`,title:"pm-cli tool parameters (action-scoped strict schema)","x-schema-version":Yf,type:"object",oneOf:Tn.map(e=>vj(e))}));function Ej(e,t){let n=pj(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 Sj(){let e={action:{type:"string",description:sc.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(oc).sort())e[t]=Ej(t,oc[t]);return{title:"pm-cli tool parameters (provider-compatible flat schema)","x-schema-version":ak,type:"object",additionalProperties:!1,required:["action"],properties:e}}var Tj=ik(Sj);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="48efaa37-f28e-5f2a-a033-456bee15e294")}catch{}})();var boe=new Set([...Wg,...Vg]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="92c17dbe-3868-5fa5-a873-0744d3e7ca8e")}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]="7ffd5046-9154-52e7-94ce-192b07b8ceae")}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]="e3e1f9c6-6824-524d-9800-c4e031a71f3e")}catch{}})();var Lj=new Set(["comment","note","learning","reminder","event","dep","depRemove","dep_remove","file","doc","test","unset","addGlob","add_glob","migrate","envSet","env_set","envClear","env_clear"]),Iie=new Set([...Lj].filter(e=>e!=="file"));(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fd8c4c35-98bb-5f3b-927d-8696125af703")}catch{}})();var Mj="2026-07-15T06:22:12.276Z",$j=Date.parse(Mj),Fj=[["attributed","attributed"],["legacy_unknown","actionable_unknown"]],lk=e=>typeof e=="string"?e:"",jj=e=>{let t=e??{},n=lk(t.author).trim().toLowerCase(),r=Number(["","unknown"].includes(n)),o=+(Date.parse(lk(t.ts))>=$j);return Fj[r][o]};function Uj(e,t,n=20,r=new Set,o=!1){let i=[],s=[],a={legacy_unknown:0,actionable_unknown:0},c=Math.max(0,n),l=0,d=0,u=0;for(let[f,m]of t.split(/\r?\n/).entries()){let p;try{p=JSON.parse(m)}catch{continue}l+=1;let w=jj(p);if(w!=="attributed"){if(d+=1,w==="actionable_unknown"&&r.has(`${e}:${f+1}`)){u+=1;continue}a[w]+=1,o&&w==="actionable_unknown"&&s.push({item_id:e,line:f+1}),i.length<c&&i.push({item_id:e,line:f+1})}}return{checked_events:l,unknown_event_count:d,legacy_unknown_event_count:a.legacy_unknown,actionable_unknown_event_count:a.actionable_unknown,acknowledged_actionable_event_count:u,samples:i,samples_truncated:a.legacy_unknown+a.actionable_unknown>i.length,actionable_events:s}}function zj(e){let t=new Set;for(let n of e.split(/\r?\n/)){let r;try{r=JSON.parse(n)}catch{continue}let i=(typeof r=="object"&&r!==null&&typeof r.context=="object"&&r.context!==null?r.context:{}).author_acknowledgment;if(!(typeof i!="object"||i===null||!Array.isArray(i.events)))for(let s of i.events)typeof s=="object"&&s!==null&&typeof s.item_id=="string"&&Number.isSafeInteger(s.line)&&t.add(`${s.item_id}:${String(s.line)}`)}return t}var ac=async(e,t=20,n=!1)=>{let r=Zf.join(e,"history"),o;try{o=(await Xf.readdir(r)).filter(b=>b.endsWith(".jsonl")).sort((b,v)=>b.localeCompare(v))}catch{o=[]}let i=new Set,s=[],a=[],c=0,l=0,d=0,u=0,f=0,m=0,p="_workspace.jsonl",w=new Set;if(o.includes(p))try{w=zj(await Xf.readFile(Zf.join(r,p),"utf8"))}catch{w=new Set}for(let b of o){let v;try{v=await Xf.readFile(Zf.join(r,b),"utf8")}catch{continue}let I=b.slice(0,-6),A=Uj(I,v,t-s.length,w,n);c+=1,l+=A.checked_events,d+=A.unknown_event_count,u+=A.legacy_unknown_event_count,f+=A.actionable_unknown_event_count,m+=A.acknowledged_actionable_event_count,A.unknown_event_count>0&&i.add(I),s.push(...A.samples),n&&a.push(...A.actionable_events)}let h=u+f;return{checked_streams:c,checked_events:l,unknown_event_count:d,legacy_unknown_event_count:u,actionable_unknown_event_count:f,acknowledged_actionable_event_count:m,affected_item_ids:[...i].sort((b,v)=>b.localeCompare(v)),samples:s,samples_truncated:h>s.length,...n?{actionable_events: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]="f7999053-cf48-5588-b8c8-570789086dac")}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]="e3a1e65b-55d7-5206-b3e7-cac3ac29745c")}catch{}})();var Wie=new Set(Tr),Hj=new Set(Eo.map(e=>be(e.id)).filter(e=>e.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]="f9535c02-9214-5d5e-bac0-2dabbe5d395e")}catch{}})();var Zie=new Set(pn),Qie=new Set(Ar),ese=new Set([...We.filter(e=>e!=="severity"),"id","title","type","status","priority","tags","assignee","parent","description","body","created_at","updated_at","closed_at","completed_at","author","deadline","estimate","sprint","release","risk","confidence","reviewer","resolution","expected","actual"]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ebcb45a2-996a-5194-8086-efe882dbcacc")}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]="96cec314-edb6-5c51-abc4-d028bdc4f10c")}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]="0daf7c89-abc5-5c35-ba3f-9772a50408c0")}catch{}})();var Bi={type:"string",minLength:1,maxLength:128,pattern:"\\S"},cc={type:"array",minItems:1,maxItems:Ur,items:Bi},dk={...cc,items:{...Bi,pattern:"^(?!(?:.*\\.)?(?:__proto__|constructor|prototype)(?:\\.|$))[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$"}},cse={type:"object",additionalProperties:!1,required:["id","rule"],properties:{id:{type:"string",minLength:1,maxLength:128,pattern:"^[a-zA-Z0-9][a-zA-Z0-9._-]*$"},description:{type:"string",minLength:1,maxLength:500,pattern:"\\S"},effect:{enum:["advise","warn","refuse"]},subject:{type:"object",additionalProperties:!1,properties:{...Object.fromEntries(["types","tags","statuses","operations","parents"].map(e=>[e,cc])),dependency:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:Bi,id:Bi}}}},rule:{oneOf:[{type:"object",additionalProperties:!1,required:["kind","fields"],properties:{kind:{const:"require_fields"},fields:dk}},{type:"object",additionalProperties:!1,required:["kind","authors"],properties:{kind:{const:"authors"},authors:cc}},...["field_writers","approval"].map(e=>({type:"object",additionalProperties:!1,required:["kind","fields","authors"],properties:{kind:{const:e},fields:dk,authors:cc}})),{type:"object",additionalProperties:!1,required:["kind","allowed"],properties:{kind:{const:"transition"},allowed:{type:"array",maxItems:Ur,items:{type:"array",minItems:2,maxItems:2,items:Bi}}}}]}}};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42dee0a5-d003-5e44-8b2d-d74a23d3f2ce")}catch{}})();async function uk(e,t,n,r){let o=await gi(e).catch(()=>null);return o===null?{check:{name:"completeness",status:"error",ok:!1,details:{policy_registry_readable:!1,policy_registry_path:"schema/policies.json",remediation_hint:"Repair schema/policies.json, then rerun pm validate."}},warnings:["validate_completeness_policy_registry_unreadable"]}:fk(o,t,n,r)}function Gj(e,t,n){return e===0?"undeclared":t===0?"empty":n===0?"inapplicable":n===t?"covered":"partial"}function fk(e,t,n=5,r=!1){let o=[],i=new Map,s=e.policies.filter(h=>h.rule.kind==="require_fields"),a=s.filter(h=>h.subject?.operations===void 0),c=new Set,l=0,d=0,u=0,f=0,m=0,p=Og(e);for(let h of t){let b=p({operation:"",author:"",before:h,after:h,completeness_only:!0});l+=+(b.decisions.length>0),d+=b.decisions.length,b.decisions.forEach(A=>c.add(A.policy_id));let v=b.decisions.filter(A=>!A.satisfied);if(v.length===0)continue;f+=1;let I=i.get(h.type)??{items:0,violations:0,missing_fields:0};I.items+=1;for(let A of v)u+=1,I.violations+=1,I.missing_fields+=A.missing_fields.length,A.effect==="refuse"&&(m+=1),o.length<n&&o.push({id:h.id,type:h.type,status:h.status,decision:A});i.set(h.type,I)}let w=r||m>0?"error":u>0?"warn":"ok";return{check:{name:"completeness",status:w,ok:w==="ok",details:{scope:"operation_independent_require_fields",declared_requirement_count:s.length,state_requirement_count:a.length,applicable_requirement_count:c.size,requirement_application_count:d,governed_items:l,ungoverned_items:t.length-l,contract_status:Gj(s.length,t.length,l),applied_policy_ids:[...c].sort().slice(0,Math.max(0,n)),applied_policy_ids_truncated:c.size>Math.max(0,n),checked_items:t.length,incomplete_items:f,violation_count:u,refused_violations:m,missing_by_type:Object.fromEntries(i),violations:o,violations_truncated:o.length<u,enforcement:e.enforcement}},warnings:[...u>0?[`validate_completeness_missing_fields:${u}`]:[],...r?["validate_completeness_source_incomplete"]:[]]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f54fe358-8f4c-5bf4-ae2a-9c92cd08c953")}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]="e524f0ad-faad-5d89-b8f5-1283979919ad")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d7f490a-03a3-512c-ba3c-b19fcc9a1270")}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]="9052af10-ff8c-55db-8a35-b45e1e23a901")}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]="1805dfab-5dc5-5be4-ad32-cbd8b3e37f8c")}catch{}})();var Vae=[...zr,"add-type","remove-type","add-status","remove-status","add-field","remove-field","list-fields","show-field","apply-preset","list","show","show-status","rename-type","rename-field","remap-status"];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="decec6f3-3795-5353-bf48-75aa61dd79d4")}catch{}})();function Qf(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}import Qj from"node:fs/promises";import e1 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]="33b7f318-cc64-55d6-8b57-19a618efe6c0")}catch{}})();var t1=".managed-extensions.json",em=1;function tm(e){return e1.join(e,t1)}function n1(){return{version:em,updated_at:j(),entries:[]}}function pk(e){return[...e].sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.name.localeCompare(n.name);return o!==0?o:t.directory.localeCompare(n.directory)})}function at(e){return typeof e=="string"?e:void 0}function r1(e){return typeof e.name=="string"&&e.name.trim().length>0&&typeof e.directory=="string"&&e.directory.trim().length>0&&(e.scope==="project"||e.scope==="global")&&typeof e.manifest_version=="string"&&typeof e.manifest_entry=="string"&&Array.isArray(e.capabilities)&&e.capabilities.every(t=>typeof t=="string")&&typeof e.installed_at=="string"&&typeof e.updated_at=="string"}function o1(e){if(typeof e!="object"||e===null)return null;let t=e;return t.kind!=="local"&&t.kind!=="github"&&t.kind!=="npm"&&t.kind!=="builtin"||typeof t.input!="string"||typeof t.location!="string"?null:{kind:t.kind,input:t.input,location:t.location,name:at(t.name),package:at(t.package),version:at(t.version),repository:at(t.repository),owner:at(t.owner),repo:at(t.repo),ref:at(t.ref),subpath:at(t.subpath),commit:at(t.commit)}}function i1(e){if(typeof e!="object"||e===null)return null;let t=e;if(!r1(t))return null;let n=o1(t.source);if(!n)return null;let r=Mr(t.contributions);return r===null?null:{name:t.name.trim(),directory:t.directory.trim(),scope:t.scope,manifest_version:t.manifest_version,manifest_entry:t.manifest_entry,capabilities:Qf(t.capabilities),contributions:r,installed_at:t.installed_at,updated_at:t.updated_at,source:n,last_update_check_at:at(t.last_update_check_at),last_update_remote_commit:at(t.last_update_remote_commit),update_available:typeof t.update_available=="boolean"||t.update_available===null?t.update_available:void 0,update_error:at(t.update_error)}}function s1(e){if(typeof e!="object"||e===null)return null;let t=e;if(t.version!==em||!Array.isArray(t.entries))return null;let n=[];for(let r of t.entries){let o=i1(r);o&&n.push(o)}return{version:em,updated_at:at(t.updated_at)??j(),entries:pk(n)}}async function Vi(e){let t=tm(e),n=n1();try{let r=await Qj.readFile(t,"utf8"),o=JSON.parse(r),i=s1(o);if(!i)throw new g(`Managed extension state file "${t}" has an invalid schema. Repair or remove it before mutating extension state.`,_.GENERIC_FAILURE);return{path:t,state:i,warnings:[]}}catch(r){if(r instanceof g)throw r;if(typeof r=="object"&&r!==null&&"code"in r&&F(r))return{path:t,state:n,warnings:[]};throw new g(`Managed extension state file "${t}" could not be read. Repair or remove it before mutating extension state.`,_.GENERIC_FAILURE)}}import{execFile as d1}from"node:child_process";import{promisify as u1}from"node:util";import Lce from"npm-package-arg";import{extract as $ce,list as Fce}from"tar";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8269d712-f438-5f18-8137-ed9a0358e23b")}catch{}})();var hce=Object.freeze({extensions:Object.freeze([".agents/pm/extensions","extensions",".custom/pm-extensions",".custom/pm-extension"]),docs:Object.freeze(["docs","documentation"]),examples:Object.freeze(["examples","docs/examples"]),assets:Object.freeze(["assets",".agents/pm/assets"]),prompts:Object.freeze(["prompts",".agents/pm/prompts"])});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="96c5708d-1f4d-5f94-9945-7f8baa337106")}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]="68a37ea1-3571-59ab-b72c-0195efa84e3c")}catch{}})();var Wce=u1(d1);var Vce={maxArchiveBytes:64*1024*1024,maxEntries:4096,maxExpandedBytes:256*1024*1024,maxEntryBytes:64*1024*1024};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60ab864f-43c5-512c-b33f-456de96f8090")}catch{}})();var ele=new Set([...Hr.map(e=>e.split("-")[0].toLowerCase()),...Object.keys(gd).map(e=>e.toLowerCase()),"scaffold"]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2bc00b8e-0d9f-5af8-9667-d46136ff52b0")}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]="6c9e36f8-0f95-5768-8893-bf33bbb4d848")}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]="df60255d-fdd6-594a-9e17-547d53f7b3bb")}catch{}})();var gk=new Set(["extension_command_handler_collision","extension_command_override_collision","extension_command_override_handler_overlap","extension_parser_override_collision","extension_preflight_override_collision","extension_renderer_collision","extension_service_override_collision"]);function p1(e){return gk.has(h1(e))}function _k(e){return e==="project"||e==="global"}function _1(e){let t=e.split(":"),n=t[0];if(!n||!gk.has(n))return null;let r=t.at(-4),o=t.at(-3)?.trim(),i=t.at(-2),s=t.at(-1)?.trim();return!_k(r)||!_k(i)||!o||!s?null:{code:n,surface:t.slice(1,-4).join(":")||"global",winner:{layer:r,name:o},displaced:{layer:i,name:s}}}function g1(e){let t=new Set;for(let n of e){let r=_1(n);r&&(t.add(r.winner.name),t.add(r.displaced.name))}return[...t].sort((n,r)=>n.localeCompare(r))}function hk(e,t){let n=e.filter(p1);if(n.length===0)return null;let r=g1(n);return`Extension registration collisions or handler/override overlaps detected.${r.length>0?` Conflicting extensions: ${r.join(", ")}.`:""} Single-winner surfaces can hide earlier package behavior. Deactivate one conflicting package with ${t.deactivate}, or scope registration surfaces in extensions.policy.extension_overrides, then rerun ${t.doctor}.`}function h1(e){let t=e.trim(),n=t.indexOf(":");return n===-1?t:t.slice(0,n)}function nm(e){let t=new Set,n=[];for(let r of e){let o=(()=>{let i=_l(r);return i?[i]:gl(r)})();for(let i of o){let s=`${i.layer}:${i.name}:${i.capability}`;t.has(s)||(t.add(s),n.push(i))}}return n}function rm(){return{version:rs.version,capabilities:[...rs.capabilities],legacy_aliases:{...rs.legacy_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]="3df6b126-ff8b-55be-8f33-53ec9a2336a8")}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]="67bd3c08-81bf-5286-81ee-60126f7f979b")}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]="37f2dced-3b93-5c64-85ae-56e62c95e8eb")}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]="fcc97434-1ef5-5c47-b491-f00e9d19b2c6")}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]="a1803149-25ca-5bb0-a178-afa2d85d2ec9")}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]="8507f364-e079-5743-a54b-bb3a68ab66d0")}catch{}})();import w1 from"node:fs/promises";import b1 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]="c4dc16d1-672a-5b1c-b681-97a7b3febd69")}catch{}})();function v1(e){return b1.join(e,"extension-migrations.json")}function k1(e,t){let n=e.definition.id;return typeof n=="string"&&n.trim().length>0?n.trim():`migration-${String(t+1).padStart(3,"0")}`}function E1(e,t){return`${e.layer}:${e.name}:${t}`}async function S1(e){let t=v1(e);if(!await M(t))return{version:1,updated_at:"",entries:[]};let n=JSON.parse(await w1.readFile(t,"utf8"));return{version:1,updated_at:typeof n.updated_at=="string"?n.updated_at:"",entries:Array.isArray(n.entries)?n.entries.filter(r=>typeof r?.key=="string"&&(r.status==="applied"||r.status==="failed")):[]}}async function yk(e,t){let n=await S1(e),r=new Map(n.entries.map(o=>[o.key,o]));return t.forEach((o,i)=>{let s=k1(o,i),a=r.get(E1(o,s));a&&(o.definition.status=a.status,a.status==="failed"?o.definition.reason=a.error:(delete o.definition.reason,delete o.definition.error,delete o.definition.message))}),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]="ee1bfa77-6687-578c-9cd6-639fc702c48c")}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]="7819cf2a-73dd-5002-9b79-4e099848d0d3")}catch{}})();import I1 from"node:fs/promises";import C1 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]="b1bf79a0-1f04-590f-b613-45ca1b534d5d")}catch{}})();function O1(e){return typeof e.name=="string"&&e.name.trim().length>0?e.name.trim():"workspace-manifest"}function x1(e,t){return t.code==="manifest_unknown_key"?`extension_manifest_unknown_key:author:${e}:key=${t.path}${t.suggested_key?`:suggested=${t.suggested_key}`:""}`:`extension_manifest_no_version_bounds:author:${e}:suggested=pm_min_version`}async function wk(e){let t=C1.join(e,"manifest.json"),n;try{n=await I1.readFile(t,"utf8")}catch(a){if(yt(a))return{path:t,present:!1,parse_status:"absent",package_metadata_location:"package.json#pm",schema_findings:[],warnings:[],remediation:[]};throw a}let r;try{r=JSON.parse(n)}catch{return{path:t,present:!0,parse_status:"invalid_json",package_metadata_location:"package.json#pm",schema_findings:[],warnings:["extension_author_manifest_invalid_json:manifest.json"],remediation:["Repair manifest.json so it contains one valid JSON object, then rerun pm package doctor --project."]}}if(typeof r!="object"||r===null||Array.isArray(r))return{path:t,present:!0,parse_status:"invalid_shape",package_metadata_location:"package.json#pm",schema_findings:[],warnings:["extension_author_manifest_invalid_shape:manifest.json"],remediation:["Replace manifest.json with one JSON object, then rerun pm package doctor --project."]};let o=r,i=Tl(o),s=O1(o);return{path:t,present:!0,parse_status:"valid",package_metadata_location:"package.json#pm",schema_findings:i.findings,warnings:i.findings.map(a=>x1(s,a)),remediation:i.findings.map(a=>a.message)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dcdfdabd-8862-502f-8cd1-298c08825985")}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]="d7afb9a1-be35-5dfd-a52e-2525598b68d8")}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]="4f8fc1a7-748d-559d-9de8-835d0428c6a7")}catch{}})();var P1=[["install","install","--install"],["uninstall","uninstall","--uninstall"],["explore","explore","--explore"],["list","explore","--explore"],["manage","manage","--manage"],["describe","describe","--describe"],["reload","reload","--reload"],["doctor","doctor","--doctor"],["catalog","catalog","--catalog"],["init","init","--init"],["scaffold","init","--scaffold"],["adopt","adopt","--adopt"],["adopt-all","adopt-all","--adopt-all"],["activate","activate","--activate"],["deactivate","deactivate","--deactivate"],["migrate","migrate","--migrate"]],Nue=P1.map(([,,e])=>e).filter((e,t,n)=>n.indexOf(e)===t).join(", ");var Due=Ws();import{execFile as L1}from"node:child_process";import{realpath as M1}from"node:fs/promises";import bk from"node:path";import{promisify as $1}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="be96ba6f-f848-58bf-8a3b-b6e3d6ab4b7a")}catch{}})();var F1=$1(L1),j1=32*1024*1024,U1=1e4,z1=["search/eval-queries.json"];function om(e){return e.replaceAll("\\","/").replace(/\/+$/,"")}function H1(e){return`'${e.replaceAll("'","'\\''")}'`}async function q1(e,t=M1){return t(e).catch(()=>bk.resolve(e))}async function lc(e){let t=await Ct(e);if(t===null)return{git_workspace_root:null,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let n=await q1(e),r=om(bk.relative(t,n));if(r.length===0)return{git_workspace_root:t,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let o=sy.map(i=>`${r}/${om(i)}`);try{let{stdout:i}=await F1("git",["ls-files","-z","--",...o.map(l=>`:(literal)${l}`)],{cwd:t,encoding:"utf8",maxBuffer:j1,windowsHide:!0,timeout:U1}),s=new Set(z1.map(l=>`${r}/${l}`)),a=[...new Set(i.split("\0").filter(l=>l.length>0&&!s.has(om(l))))].sort((l,d)=>l.localeCompare(d)),c=o.filter(l=>a.some(d=>d===l||d.startsWith(`${l}/`)));return{git_workspace_root:t,tracker_relative_root:r,tracked_paths:a,tracked_path_count:a.length,remediation_command:a.length===0?null:`git rm --cached -r -- ${c.map(l=>H1(`:(literal)${l}`)).join(" ")}`}}catch{return{git_workspace_root:t,tracker_relative_root:r,tracked_paths:[],tracked_path_count:0,remediation_command: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]="fb0133ea-dd0c-5412-bd4d-440d1c40f055")}catch{}})();async function vk(e,t,n,r){if(t===null)return{audit:null,count:0,warnings:[]};let o=await fi(e,to(n));if(o.status==="ok")return{audit:o,count:0,warnings:[]};let i=Math.max(1,o.missing_patterns.length+o.stale_patterns.length);return{audit:o,count:i,warnings:r?[`merge_fence_${o.status==="not_installed"?"missing":"drift"}:${i}`]:[]}}function kk(e){let t=[];return e.invalidEvidenceCount>0&&t.push(`merge_receipt_evidence_invalid:${e.invalidEvidenceCount}`),e.missingHistoryReferenceCount>0&&t.push(`merge_receipt_history_reference_missing:${e.missingHistoryReferenceCount}`),t}import{createHash as G1}from"node:crypto";import dc 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]="e5ba549f-1965-5c5e-98b3-bd0903210032")}catch{}})();var sm="2026-08-09T16:15:18.000Z",Sk=Symbol("pre-durable-disposition-eligible");function ln(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function im(e){if(!Array.isArray(e)||e.length>256)return!1;let t=new Set;for(let n=0;n<e.length;n+=1){let r=e[n];if(!(n in e)||typeof r!="string"||r.length===0||r.length>256||r.includes("\0")||t.has(r))return!1;t.add(r)}return!0}function Ek(e){return ln(e)?typeof e.field=="string"&&e.field.length>0&&e.field.length<=256&&!e.field.includes("\0")&&typeof e.retained_hash=="string"&&/^[a-f0-9]{64}$/u.test(e.retained_hash)&&typeof e.discarded_hash=="string"&&/^[a-f0-9]{64}$/u.test(e.discarded_hash):!1}function Tk(e,t){if(typeof e!="string")return!1;let n=dc.posix.normalize(e);return e.length<=4096&&!e.includes("\\")&&!e.includes("\0")&&!dc.posix.isAbsolute(e)&&n===e&&!n.startsWith("../")&&(dc.posix.basename(n)===`${t}.toon`||dc.posix.basename(n)===`${t}.md`)}function B1(e,t){return typeof e.receipt_id=="string"&&rn(e.receipt_id)&&(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0&&e.conflict_resolution===void 0&&e.item_id===t&&Tk(e.item_path,t)}function Ak(e){let t=e.conflict_fields,n=e.fields_from_theirs,r=e.union_fields,o=e.decisions,i=Array.isArray(o)?new Set(o.flatMap(s=>Ek(s)?[s.field]:[])):new Set;return im(t)&&im(n)&&im(r)&&Array.isArray(o)&&o.length>0&&o.length<=256&&Object.keys(o).length===o.length&&o.every(Ek)&&i.size===o.length&&t.length===i.size&&t.every(s=>i.has(s))}function W1(e,t){return B1(e,t)&&Ak(e)}function V1(e,t){return typeof e.receipt_id=="string"&&rn(e.receipt_id)&&(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0&&(e.conflict_resolution==="preferred_side"||e.conflict_resolution==="stable_value_order")&&e.item_id===t&&Tk(e.item_path,t)&&Ak(e)}function am(e){return e[Sk]===!0}function uc(e,t){if(!ln(e)||!ln(e.context))return[];let n=e.context.merge;return!ln(n)||!Array.isArray(n.receipts)?[]:n.receipts.flatMap(r=>!ln(r)||typeof r.receipt_id!="string"||r.receipt_id.trim().length===0?[]:[{receiptId:r.receipt_id,legacySummaryAccepted:W1(r,t),[Sk]:V1(r,t),...typeof e.ts=="string"&&Kt(e.ts)?{eventTimestamp:e.ts}:{}}])}function Ik(e,t,n){if(!ln(e)||e.op!=="merge_reconcile")return[];if(!ln(e.context)||!ln(e.context.merge))return[];let r=e.context.merge.missing_receipt_dispositions;return!Array.isArray(r)||r.length>256?[]:r.flatMap(o=>!ln(o)||typeof o.receipt_id!="string"||!rn(o.receipt_id)||typeof o.original_history_line!="number"||!Number.isSafeInteger(o.original_history_line)||o.original_history_line<1||typeof o.original_event_ts!="string"||!Kt(o.original_event_ts)||o.reason!=="legacy_clone_local_only"?[]:[{itemId:t,receiptId:o.receipt_id,originalHistoryLine:o.original_history_line,originalEventTimestamp:o.original_event_ts,auditHistoryLine:n,reason:o.reason}])}function Ck(e,t,n=[]){let r=new Map;for(let s of n){let a=`${s.itemId}\0${s.originalHistoryLine}\0${s.receiptId}\0${s.originalEventTimestamp}`;r.set(a,Math.max(r.get(a)??0,s.auditHistoryLine))}let o=s=>am(s)&&s.eventTimestamp!==void 0&&ye(s.eventTimestamp,sm)<0&&(r.get(`${s.itemId}\0${s.line}\0${s.receiptId}\0${s.eventTimestamp}`)??0)>s.line;return{missing:e.filter(s=>!s.legacySummaryAccepted&&!t.has(s.receiptId)&&!o(s)).map(s=>({item_id:s.itemId,history_line:s.line,...rn(s.receiptId)?{receipt_id:s.receiptId}:{receipt_reference_hash:G1("sha256").update(s.receiptId).digest("hex")}})),acceptedLegacyCount:e.filter(s=>s.legacySummaryAccepted).length,acceptedDispositionCount:e.filter(o).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]="fdd874ad-e51d-5df2-9486-a0465ad65979")}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]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function dn(){let e=qn();for(let t of Y()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return 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]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function mc(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function fc(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function K1(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function J1(e,t){let n=[...e].sort(),r=K1(n,t),o=new Set,i=Y1(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=X1(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function Y1(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function X1(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function Z1(e){let t=new Map;for(let n of e){let r=mc(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Q1(e,t,n){let r=mc(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function eU(e,t,n,r){let o=mc(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function tU(e,t){let n=new Map;for(let[r,o]of e){let i=Q1(r,o,e);i&&n.set(fc(i),i);for(let s of o.dependencies??[]){let a=eU(r,s,e,t);a&&n.set(fc(a),a)}}return[...n.values()].sort((r,o)=>fc(r).localeCompare(fc(o)))}function nU(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function rU(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=mc(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(l=>l!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(l=>n.has(l))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function Ki(e,t=r=>r==="closed"||r==="canceled",n=dn()){let r=Z1(e),o=tU(r,n),i=oU(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=J1([...r.keys()],new Map([...i.children_by_parent].map(([c,l])=>[c,new Set(l)]))).map(c=>({item_ids:c,legacy_terminal:c.every(l=>s.has(l))}));return{relations:o,cycles:a,cardinality_violations:nU(o,i.parents_by_child,s),divergences:rU(r,o,s)}}function oU(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function Ok(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function iU(e,t,n=!0){let r=Ok(e);return n&&(po(t)||r!==void 0&&qi(r))}function xk(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,l,d,u,f)=>{let m=Ok(l);if(!m||r.has(m.toLowerCase())||iU(m,void 0,f))return;let p={holder_id:c.id.trim(),target_id:m,kind:d,source:u,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:m.toLowerCase()==="no-active-blocker"};o.set(`${p.holder_id}::${p.target_id}::${p.kind}::${p.source}`,p)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let l of c.dependencies??[]){if(typeof l!="object"||l===null)continue;let d=l;po(d.source_kind)||i(c,d.id,typeof d.kind=="string"?d.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,l)=>c.holder_id.localeCompare(l.holder_id)||c.target_id.localeCompare(l.target_id)||c.kind.localeCompare(l.kind)||c.source.localeCompare(l.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77ccea6e-a118-53df-94b7-a740bb3d7681")}catch{}})();function pc(e,t,n=25){let r=e.definitions.filter(s=>s.roles.length===0).map(s=>s.id).sort((s,a)=>s.localeCompare(a)),o=new Set(r),i=t.filter(s=>{let a=Cr(s.status,e);return a!==void 0&&o.has(a)}).map(s=>s.id).sort((s,a)=>s.localeCompare(a));return{roleless_status_count:r.length,roleless_statuses:r.slice(0,n),roleless_statuses_truncated:r.length>n,affected_item_count:i.length,affected_item_ids:i.slice(0,n),affected_item_ids_truncated:i.length>n}}function _c(e){return e.roleless_status_count===0?[]:[`schema_status_missing_lifecycle_role:${e.roleless_status_count}`]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6bed68c-7e40-5b4f-a520-75b36fefc33b")}catch{}})();var sU=new Set(so),Pk=25,go=8,br=100,aU=Ze.join("runtime","telemetry","events.jsonl"),cU=Ze.join("runtime","telemetry","state.json"),lU=2500,dU=500,Lk=sb-3,uU=["x-pm-telemetry-max-schema-version","x-pm-telemetry-max-version"];function Mk(e,t=!1){return e.startsWith("agent_guidance_")||e.startsWith("telemetry_")||e.startsWith("history_stream_over_compact_threshold:")||e.startsWith("integrity_legacy_hierarchy_")||e.startsWith("stale_in_progress_items:")||e.startsWith("provenance_resolver_zero_success:")||e.startsWith("provenance_value_domain_invalid:")||!t&&e.startsWith("merge_driver_configuration_missing:")}function $k(e){let t=e.trim(),n=t.indexOf(":");return n===-1?t:t.slice(0,n)}function Ji(e){return e.trim().toLowerCase()}function Rk(e,t){let n=Ji(e),r=Ji(t);return n.startsWith("builtin-")?!0:r==="beads"||r==="todos"}async function Fk(e){try{return(await fn.stat(e)).isDirectory()}catch{return!1}}async function fU(e){let t=(await fn.readdir(e,{withFileTypes:!0})).filter(r=>r.isDirectory()),n=await Promise.all(t.map(r=>fn.readdir(Ze.join(e,r.name),{withFileTypes:!0})));return new Set(n.flatMap(r=>r.filter(o=>o.isFile()).filter(o=>Jt.some(i=>o.name.endsWith(i))).map(o=>Ze.parse(o.name).name)))}async function mU(e,t,n,r){let o=await Fe({path:e,scope:"project"}),i=t!=="_workspace"&&!r.has(t);if(!n.enabled&&!i)return{warnings:o,overThreshold:!1,classification:"live"};let s;try{s=await fn.readFile(e,"utf8")}catch{return{warnings:o,overThreshold:!1,classification:"unreadable"}}let a="live";if(i){let l=s.split(/\r?\n/).map(d=>d.trim()).filter(Boolean).at(-1);try{a=JSON.parse(l??"{}").op==="delete"?"tombstone":"orphaned"}catch{a="orphaned"}}let c=n.enabled?s.split(/\r?\n/).filter(l=>l.trim().length>0).length:0;return{warnings:o,overThreshold:n.enabled&&c>n.max_entries,classification:a}}async function pU(e,t,n){let r=Ze.join(e,"history");if(!await Fk(r))return{count:0,warnings:[],over_threshold:[],max_entries:null,tombstones:[],orphaned:[]};let o=(await fn.readdir(r)).filter(u=>u.endsWith(".jsonl")).sort((u,f)=>u.localeCompare(f)),s=t.enabled?t.max_entries:null,a=[],c=[],l=[],d=[];for(let u of o){let f=Ze.join(r,u),m=u.slice(0,-6),p=await mU(f,m,t,n);a.push(...p.warnings),p.classification==="tombstone"&&l.push(m),p.classification==="orphaned"&&d.push(m),p.overThreshold&&c.push(m)}return{count:o.length,warnings:[...a,...c.map(u=>`history_stream_over_compact_threshold:${u}`),...d.map(u=>`history_orphaned_stream:${u}`)],over_threshold:c,max_entries:s,tombstones:l,orphaned:d}}function fm(e,t){return Ze.relative(e,t).replaceAll("\\","/")}async function _U(e,t){let n=[...new Set(Object.values(t))].sort((o,i)=>o.localeCompare(i)),r=[];for(let o of n){let i=Ze.join(e,o),s=[];try{s=await fn.readdir(i)}catch(a){if(typeof a=="object"&&a!==null&&"code"in a&&F(a))continue;continue}for(let a of s)Jt.some(c=>a.toLowerCase().endsWith(c))&&r.push(Ze.join(i,a))}return r.sort((o,i)=>fm(e,o).localeCompare(fm(e,i))),r}function gU(e){return!(typeof e=="object"&&e!==null&&"code"in e&&F(e))}async function hU(e,t,n){let r=await _U(e,t),o=[],i=[],s=[],a=[],c=Tt(Y());for(let l of r){let d=fm(e,l),u;try{u=await fn.readFile(l,"utf8")}catch{o.push(d);continue}let f=Me(u);if(f){i.push({path:d,...f});continue}try{let m=Ve(u,{format:Lr(l),schema:n,extensionFieldNames:c});a.push({ref:d,version:As(m.metadata)})}catch{s.push(d)}}return{paths:r,unreadable:o,conflictMarkers:i,parseFailures:s,formatVersions:a}}async function yU(e){let t=Ze.join(e,"history"),n=[],r=[],o=[],i=[],s=[],a=[];try{a=(await fn.readdir(t)).filter(c=>c.endsWith(".jsonl")).sort((c,l)=>c.localeCompare(l))}catch(c){gU(c)&&n.push("history")}for(let c of a){let l=c.slice(0,-6),d;try{d=await fn.readFile(Ze.join(t,c),"utf8")}catch{n.push(l);continue}let u=Me(d);if(u){r.push({id:l,...u});continue}d.split(/\r?\n/).forEach((f,m)=>{if(f.trim())try{let p=JSON.parse(f);i.push(...uc(p,l).map(w=>({itemId:l,line:m+1,...w}))),s.push(...Ik(p,l,m+1))}catch{o.push({id:l,line:m+1})}})}return{files:a,unreadable:n,conflictMarkers:r,invalidJson:o,mergeReceiptReferences:i,mergeReceiptDispositions:s}}function wU(e){return[...e.cycles.map(t=>t.legacy_terminal?`integrity_legacy_hierarchy_cycle:${t.item_ids.join(",")}`:`integrity_hierarchy_cycle:${t.item_ids.join(",")}`),...e.cardinality_violations.map(t=>t.legacy_terminal?`integrity_legacy_hierarchy_cardinality:${t.child_id}`:`integrity_hierarchy_cardinality:${t.child_id}`),...e.divergences.map(t=>t.legacy_terminal?`integrity_legacy_hierarchy_divergence:${t.child_id}`:`integrity_hierarchy_divergence:${t.child_id}`)]}async function bU(e,t,n,r,o,i){let s=await hU(e,t,n),a=await yU(e),c=Is(s.formatVersions),l=ct(n),d=Ki(i,T=>qc(T,l),dn()),u=await lc(e),f=await Ct(e),m=await vk(e,f,r,o),p=f===null?null:await mi(f),w=await St(f??e,{includeReconciled:!0,includeLossless:!0,pmRoot:e}),h=new Set(w.receipts.map(T=>T.id)),b=Ck(a.mergeReceiptReferences,h,a.mergeReceiptDispositions),v=b.missing,I=w.receipts.filter(T=>T.state==="pending"),{pendingDecisions:A,lossless:C}=Ea(I),L=p?.status==="missing"&&p.missing_keys.length===5&&p.drifted_keys.length===0,E=[...s.unreadable.map(T=>`integrity_item_unreadable:${T}`),...s.conflictMarkers.map(T=>`integrity_item_conflict_marker:${T.path}:L${T.line}`),...s.parseFailures.map(T=>`integrity_item_parse_failed:${T}`),...a.unreadable.map(T=>`integrity_history_unreadable:${T}`),...a.conflictMarkers.map(T=>`integrity_history_conflict_marker:${T.id}:L${T.line}`),...a.invalidJson.map(T=>`integrity_history_invalid_json:${T.id}:L${T.line}`),...c.outdated.map(T=>`integrity_item_outdated_format_version:${T}`),...c.ahead.map(T=>`integrity_item_ahead_format_version:${T}`),...wU(d),...u.tracked_path_count>0?[`tracked_runtime_cache_files:${u.tracked_path_count}`]:[],...p!==null&&p.status!=="ok"?[`merge_driver_configuration_${L?"missing":"drift"}:${p.missing_keys.length+p.drifted_keys.length}`]:[],...m.warnings,...A.length>0?[`merge_decisions_unreviewed:${A.length}`]:[],...C.length>0?[`merge_receipts_pending:${C.length}`]:[],...kk({invalidEvidenceCount:w.invalid_evidence_count,missingHistoryReferenceCount:v.length})],N=[...new Set(E)].sort((T,z)=>T.localeCompare(z)),G=N.filter(T=>!T.startsWith("integrity_legacy_hierarchy_"));return{check:{name:"integrity",status:G.length===0?"ok":"warn",ok:G.length===0,details:{checked_item_files:s.paths.length,checked_history_streams:a.files.length,counts:{item_unreadable:s.unreadable.length,item_conflict_markers:s.conflictMarkers.length,item_parse_failures:s.parseFailures.length,history_unreadable:a.unreadable.length,history_conflict_markers:a.conflictMarkers.length,history_invalid_json:a.invalidJson.length,item_outdated_format_version:c.outdated.length,item_ahead_format_version:c.ahead.length,hierarchy_cycles:d.cycles.length,hierarchy_cardinality_violations:d.cardinality_violations.length,hierarchy_parent_divergences:d.divergences.length,tracked_runtime_cache_files:u.tracked_path_count,merge_driver_configuration:p===null||p.status==="ok"?0:p.missing_keys.length+p.drifted_keys.length,merge_fence:m.count,pending_merge_decisions:A.length,lossless_merge_receipts:C.length,invalid_merge_receipt_evidence:w.invalid_evidence_count,missing_merge_receipt_history_references:v.length,accepted_legacy_merge_receipt_references:b.acceptedLegacyCount,accepted_missing_merge_receipt_dispositions:b.acceptedDispositionCount},item_unreadable:s.unreadable,item_conflict_markers:s.conflictMarkers,item_parse_failures:s.parseFailures,item_outdated_format_version:c.outdated,item_ahead_format_version:c.ahead,hierarchy_integrity:{...d,relations:un(d.relations,go)},history_unreadable:a.unreadable,history_conflict_markers:a.conflictMarkers,history_invalid_json:a.invalidJson,tracked_runtime_cache:{tracker_relative_root:u.tracker_relative_root,tracked_paths:u.tracked_paths,tracked_path_count:u.tracked_path_count,remediation_command:u.remediation_command},merge_driver_configuration:p===null?null:{...p,required:o},merge_fence:m.audit,pending_merge_decision_items:[...new Set(A.map(T=>T.item_id))].sort((T,z)=>T.localeCompare(z)),lossless_merge_receipt_items:[...new Set(C.map(T=>T.item_id))].sort((T,z)=>T.localeCompare(z)),invalid_merge_receipt_evidence_details:w.invalid_evidence,invalid_merge_receipt_evidence_details_truncated:w.invalid_evidence_truncated,missing_merge_receipt_history_reference_details:v.slice(0,br),missing_merge_receipt_history_reference_details_truncated:v.length>br}},warnings:N,gitWorkspaceRoot:f,pendingMergeReceipts:I}}function vU(e){if(typeof e.activate=="function")return!0;let t=e.default;return typeof t!="object"||t===null?!1:typeof t.activate=="function"}function kU(e){let t={layer:e.layer,directory:e.directory,manifest_path:e.manifest_path,name:e.name,version:e.version,entry:e.entry,priority:e.priority,entry_path:e.entry_path,has_activate:vU(e.module)};return Array.isArray(e.capabilities)&&(t.capabilities=[...e.capabilities]),t}function EU(e,t){let n=de(e.id);return n||`migration-${String(t+1).padStart(3,"0")}`}function SU(e){let n=de(e.status)?.toLowerCase();return n==="failed"?"failed":n==="applied"?"applied":"pending"}function TU(e){return de(e.reason)??de(e.error)??de(e.message)}function cm(e,t){let n=(e.layer??"").localeCompare(t.layer??"");if(n!==0)return n;let r=(e.name??"").localeCompare(t.name??"");return r!==0?r:(e.id??"").localeCompare(t.id??"")}function AU(e){let t=[],n=[],r=[];e.forEach((i,s)=>{let a=EU(i.definition,s),c=SU(i.definition);if(c==="applied"){t.push({layer:i.layer,name:i.name,id:a,status:c});return}if(c==="failed"){r.push({layer:i.layer,name:i.name,id:a,status:c,reason:TU(i.definition)});return}n.push({layer:i.layer,name:i.name,id:a,status:c})}),t.sort(cm),n.sort(cm),r.sort(cm);let o=[...r.map(i=>`extension_migration_failed:${i.layer}:${i.name}:${i.id}`),...n.map(i=>`extension_migration_pending:${i.layer}:${i.name}:${i.id}`)];return{summary:{applied:t,pending:n,failed:r,applied_count:t.length,pending_count:n.length,failed_count:r.length},warnings:o}}function IU(e,t,n,r,o,i,s,a,c){let l=[...new Set(e)].sort((h,b)=>h.localeCompare(b)),d=[...new Set(l.map(h=>$k(h)))].sort((h,b)=>h.localeCompare(b)),u=l.filter(h=>h.startsWith("extension_capability_unknown:")).length,f=c.length>0,m=f?"partial":"full",p=[],w=hk(l,{deactivate:"pm extension --deactivate <name> --project/--global",doctor:"pm extension --doctor --project/--global --detail deep --trace"});return w&&p.push(w),t>0&&p.push("Run pm extension --explore --project and pm extension --explore --global to inspect load failures."),n>0&&p.push("Review checks[name=extensions].details.activation.failed in pm health --json for activation error details."),(r.failed_count>0||r.pending_count>0)&&p.push("Resolve pending/failed extension migrations before write commands; use --force only when policy allows."),o>0&&p.push("Run pm extension --manage --project and pm extension --manage --global to refresh managed-state diagnostics."),u>0&&p.push(`Unknown extension capabilities detected. Allowed capabilities: ${et.join(", ")}. Review extension_capability_unknown warning details for suggested replacements.`),l.some(h=>h.startsWith("extension_capability_legacy_alias:"))&&p.push("Legacy extension capability aliases were auto-remapped to canonical capabilities. Update manifests to canonical names (migration/validation -> schema)."),l.some(h=>h.startsWith("extension_command_definition_legacy_handler_alias:"))&&p.push("Extension command definitions using legacy handler were auto-remapped. Update command definitions to use run: (context) => ... for forward compatibility."),f?p.push("Update-check coverage is partial because unmanaged extensions need adoption. Adopt existing installs via pm extension --manage --project/--global --fix-managed-state, pm extension --adopt-all --project/--global, or pm extension --adopt <name>."):s.length>0&&p.push("Loaded unmanaged extensions are currently treated as informational. Use pm extension --manage --project/--global --fix-managed-state to adopt them for update checks."),p.length===0&&p.push("No immediate action required. Re-run pm health after extension configuration changes."),{status:l.length===0?"ok":"warn",warning_count:l.length,warning_codes:d,load_failure_count:t,activation_failure_count:n,migration_failed_count:r.failed_count,migration_pending_count:r.pending_count,managed_state_warning_count:o,managed_extension_entries_count:i,unmanaged_loaded_extension_count:s.length,unmanaged_loaded_extensions:s,unmanaged_expected_extension_count:a.length,unmanaged_expected_extensions:a,unmanaged_action_required_extension_count:c.length,unmanaged_action_required_extensions:c,update_health_coverage:m,update_health_partial:f,unknown_capability_count:u,top_warnings:l.slice(0,8),remediation:p}}async function CU(e,t,n){let r=await wk(vn(e)),o=await Go({pmRoot:e,settings:t,cwd:process.cwd(),noExtensions:n}),i=o.loaded.map(E=>kU(E)),s=await fb(o.loaded,vn(e)),a=await Bo({...o,loaded:o.loaded}),[c,l]=await Promise.all([Vi(o.roots.project),Vi(o.roots.global)]);await yk(e,a.registrations.migrations);let d=AU(a.registrations.migrations),u={failed:a.failed,warnings:a.warnings,hook_counts:a.hook_counts,command_override_count:a.command_override_count,command_handler_count:a.command_handler_count,parser_override_count:a.parser_override_count,preflight_override_count:a.preflight_override_count,service_override_count:a.service_override_count,renderer_override_count:a.renderer_override_count,registration_counts:a.registration_counts,registrations:a.registrations,migration_status:d.summary,managed_extensions:{project:{path:c.path,count:c.state.entries.length,entries:c.state.entries},global:{path:l.path,count:l.state.entries.length,entries:l.state.entries}}},f=new Set(c.state.entries.map(E=>Ji(E.name))),m=new Set(l.state.entries.map(E=>Ji(E.name))),p=[...new Map(o.loaded.filter(E=>!(E.layer==="project"?f:m).has(Ji(E.name))).map(E=>[`${E.layer}:${E.name}`,{layer:E.layer,name:E.name,directory:E.directory}])).values()].sort((E,N)=>{let G=`${E.layer}:${E.name}`,T=`${N.layer}:${N.name}`;return G.localeCompare(T)}),w=p.map(E=>`${E.layer}:${E.name}`).sort((E,N)=>E.localeCompare(N)),h=p.filter(E=>Rk(E.name,E.directory)).map(E=>`${E.layer}:${E.name}`).sort((E,N)=>E.localeCompare(N)),b=p.filter(E=>!Rk(E.name,E.directory)).map(E=>`${E.layer}:${E.name}`).sort((E,N)=>E.localeCompare(N)),v=b.length>0?[`extension_update_health_partial_coverage:skipped_unmanaged:${b.length}`]:[],I=[...r.warnings,...o.warnings,...u.warnings,...d.warnings,...c.warnings,...l.warnings,...v,...s.warnings],A=nm(I),C=rm(),L=IU(I,o.failed.length,a.failed.length,d.summary,c.warnings.length+l.warnings.length,c.state.entries.length+l.state.entries.length,w,h,b);return{check:{name:"extensions",status:I.length===0?"ok":"warn",ok:I.length===0,details:{...o,loaded:i,warnings:I,activation:u,author_manifest:r,triage:L,...d.summary.pending_count>0?{remediation_map:{extension_migration_pending:"pm extension migrate --project"}}:{},capability_contract:C,capability_guidance:A,host_version_census:s}},warnings:I}}function OU(e,t){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function un(e,t){return Array.isArray(e)?{count:e.length,sample:e.slice(0,t),truncated:e.length>t}:{count:0,sample:[],truncated:!1}}function xU(e){if(typeof e!="object"||e===null||Array.isArray(e))return{};let t=e;return{layer:t.layer,directory:t.directory,name:t.name,version:t.version,enabled:t.enabled,status:t.status,has_activate:t.has_activate,capabilities:t.capabilities}}function lm(e,t){let n=un(e,t);return{...n,sample:n.sample.map(r=>xU(r))}}function J(e,t){if(!Array.isArray(e))return{count:0,sample:[],truncated:!1};let n=e.filter(r=>typeof r=="string");return{count:n.length,sample:n.slice(0,t),truncated:n.length>t}}function RU(e){if(typeof e!="object"||e===null)return null;let t=e;return{applied_count:t.applied_count,pending_count:t.pending_count,failed_count:t.failed_count}}var NU={settings:(e,t)=>({version:e.version,id_prefix:e.id_prefix,locks_ttl_seconds:e.locks_ttl_seconds,warnings:J(e.warnings,t)}),directories:(e,t)=>({required_count:Array.isArray(e.required)?e.required.length:0,optional_count:Array.isArray(e.optional)?e.optional.length:0,missing_required:J(e.missing_required,t),missing_optional:J(e.missing_optional,t),missing:J(e.missing,t),strict_directories:e.strict_directories}),settings_values:(e,t)=>({warnings:J(e.warnings,t)}),telemetry:e=>({enabled:e.enabled,capture_level:e.capture_level,endpoint:e.endpoint,queue_exists:e.queue_exists,queue_entries:e.queue_entries,queue_draining:e.queue_draining,queue_invalid_rows:e.queue_invalid_rows,queue_rows_total:e.queue_rows_total,last_successful_flush_at:e.last_successful_flush_at,last_failed_flush_at:e.last_failed_flush_at,endpoint_probe:e.endpoint_probe,env_overrides:e.env_overrides}),extensions:(e,t)=>{let n=typeof e.activation=="object"&&e.activation!==null?e.activation:{};return{disabled_by_flag:e.disabled_by_flag,discovered:lm(e.discovered,t),effective:lm(e.effective,t),loaded:lm(e.loaded,t),failed:un(e.failed,t),warnings:J(e.warnings,t),activation:{failed:un(n.failed,t),warnings:J(n.warnings,t),hook_counts:n.hook_counts,command_handler_count:n.command_handler_count,service_override_count:n.service_override_count,renderer_override_count:n.renderer_override_count,registration_counts:n.registration_counts,migration_status:RU(n.migration_status)},author_manifest:e.author_manifest,triage:e.triage,capability_contract:e.capability_contract,capability_guidance:un(e.capability_guidance,t),host_version_census:e.host_version_census}},storage:(e,t)=>{let n=typeof e.author_attribution=="object"&&e.author_attribution!==null?e.author_attribution:void 0;return{...e,...n?{author_attribution:{...n,affected_item_ids:J(n.affected_item_ids,t),samples:un(n.samples,t)}}:{}}},locks:e=>({active_lock_count:e.active_lock_count,stale_lock_count:e.stale_lock_count,unreadable_lock_count:e.unreadable_lock_count,unparseable_lock_count:e.unparseable_lock_count}),integrity:(e,t)=>{let n=typeof e.tracked_runtime_cache=="object"&&e.tracked_runtime_cache!==null?e.tracked_runtime_cache:void 0;return{checked_item_files:e.checked_item_files,checked_history_streams:e.checked_history_streams,counts:e.counts,item_unreadable:J(e.item_unreadable,t),item_conflict_markers:un(e.item_conflict_markers,t),item_parse_failures:J(e.item_parse_failures,t),tracked_runtime_cache:n===void 0?e.tracked_runtime_cache:{...n,tracked_paths:J(n.tracked_paths,t)},history_unreadable:J(e.history_unreadable,t),history_conflict_markers:un(e.history_conflict_markers,t),history_invalid_json:un(e.history_invalid_json,t),skipped:e.skipped}},history_drift:(e,t)=>{let n=typeof e.cache_confirmation=="object"&&e.cache_confirmation!==null?e.cache_confirmation:void 0;return{checked_items:e.checked_items,cache_hit_verification:e.cache_hit_verification,cache_confirmation:n===void 0?e.cache_confirmation:{...n,candidate_items:J(n.candidate_items,t),confirmed_items:J(n.confirmed_items,t),resolved_false_positive_items:J(n.resolved_false_positive_items,t)},counts:e.counts,drifted_items:J(e.drifted_items,t),merge_receipt_attributed_items:J(e.merge_receipt_attributed_items,t),missing_streams:J(e.missing_streams,t),unreadable_streams:J(e.unreadable_streams,t),hash_mismatches:J(e.hash_mismatches,t),chain_mismatches:J(e.chain_mismatches,t),version_skews:J(e.version_skews,t),workspace_state_mismatches:J(e.workspace_state_mismatches,t),workspace_state_missing:J(e.workspace_state_missing,t),workspace_state_unreadable:J(e.workspace_state_unreadable,t),skipped:e.skipped}},vectorization:(e,t)=>({semantic_runtime_available:e.semantic_runtime_available,compatibility_mode_auto_defaults:e.compatibility_mode_auto_defaults,auto_ollama_defaults_applied:e.auto_ollama_defaults_applied,auto_ollama_defaults_skipped_reason:e.auto_ollama_defaults_skipped_reason,auto_ollama_defaults_remediation:e.auto_ollama_defaults_remediation,refresh_policy:e.refresh_policy,provider_active:e.provider_active,vector_store_active:e.vector_store_active,items:e.items,ledger_entries_before:e.ledger_entries_before,stale_items_before_total:e.stale_items_before_total,stale_items_before:J(e.stale_items_before,t),refresh_attempted:e.refresh_attempted,refresh_skipped_reason:e.refresh_skipped_reason,refresh_result:e.refresh_result,ledger_entries_after:e.ledger_entries_after,stale_items_after_total:e.stale_items_after_total,stale_items_after:J(e.stale_items_after,t),skipped:e.skipped})};function DU(e,t){let n=NU[e.name];return n?n(e.details,t):e.details}function PU(e){let t=J(e.warnings,go);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.map(n=>({name:n.name,status:n.status,ok:n.ok,details:DU(n,go)})),warnings:t.sample,findings:e.findings.filter(n=>t.sample.includes(n.warning)||e.failed_because.includes(n.warning)),failed_because:e.failed_because,projection:{mode:"brief",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:go},generated_at:e.generated_at}}function Nk(e){return e.details.skipped===!0}function LU(e){let t=J(e.warnings,go),n=e.checks.filter(Nk).map(r=>r.name);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.filter(r=>!Nk(r)).map(r=>({name:r.name,status:r.status,ok:r.ok,details:{}})),warning_count:t.count,warnings:t.sample,findings:e.findings.filter(r=>t.sample.includes(r.warning)||e.failed_because.includes(r.warning)),failed_because:e.failed_because,projection:{mode:"summary",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:go,omitted_checks:n},generated_at:e.generated_at}}function Dk(e,t){if(t)return{values:e,truncated:!1,total:e.length};let n=OU(e,Pk);return{values:n.values,truncated:n.truncated,total:e.length}}function dm(e){let t=(process.env[e]??"").trim().toLowerCase();return t==="1"||t==="true"||t==="yes"||t==="on"}function MU(){let e=(process.env.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase();return sU.has(e)?e:null}function mm(e){let t=e.trim();if(t.length===0)return"";try{let n=new URL(t);return n.username="",n.password="",n.search="",n.hash="",n.toString()}catch{return t}}function $U(e){let t=0,n=0,r=0,o=0,i=0;for(let s of e.split(`
137
+ `)){let a=s.trim();if(a.length!==0){r+=1;try{let c=JSON.parse(a);if(typeof c=="object"&&c!==null&&typeof c.attempts=="number"&&Number.isFinite(c.attempts)){let l=Math.max(0,Math.trunc(c.attempts));t+=1,i=Math.max(i,l),l>=Lk&&(o+=1)}else n+=1}catch{n+=1}}}return{validEntries:t,invalidRows:n,totalRows:r,highRetryEntries:o,maxAttempts:i}}function FU(){return{validEntries:0,invalidRows:0,totalRows:0,highRetryEntries:0,maxAttempts:0}}function jU(e){if(!e||e.trim().length===0)return{runtimeState:{},stateParseFailed:!1};try{let t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?{runtimeState:t,stateParseFailed:!1}:{runtimeState:{},stateParseFailed:!0}}catch{return{runtimeState:{},stateParseFailed:!0}}}async function UU(e,t){let n=e.telemetry.endpoint.trim();return!t||!e.telemetry.enabled||n.length===0||ao().telemetry_disabled?void 0:{attempted:!0,...await KU(n)}}function zU(e,t,n){let r=[];if(t.invalidRows>0&&r.push(`telemetry_queue_invalid_rows:${t.invalidRows}`),!e.telemetry.enabled||t.validEntries===0)return r;let o=n.last_successful_flush_at,i=n.last_failed_flush_at,s=i&&(!o||i>o),a=!o,c=t.validEntries>=dU;return(s||a||c)&&r.push(`telemetry_queue_pending:${t.validEntries}`),t.highRetryEntries>0&&r.push(`telemetry_queue_high_retries:${t.highRetryEntries}`),r}function HU(e){return!e||e.ok!==!1?[]:typeof e.status=="number"?[`telemetry_endpoint_probe_http_status:${e.status}`]:["telemetry_endpoint_probe_failed"]}function qU(e){let t=Number.parseInt(e?.max_schema_version??"",10);return e?.ok===!0&&Number.isInteger(t)&&t>ib?[`telemetry_schema_version_behind:${t}`]:[]}function GU(e,t){let n=typeof t.pending_otel_spans=="number"?t.pending_otel_spans:0,r=t.last_otel_success_at,o=t.last_otel_failure_at;return e.telemetry.enabled&&n>0&&!!o&&(!r||o>=r)?[`telemetry_otel_export_failing:${n}`]:[]}function BU(){return{...ao(),pm_no_telemetry:dm("PM_NO_TELEMETRY"),telemetry_otel_disabled:dm("PM_TELEMETRY_OTEL_DISABLED"),telemetry_inline_flush:dm("PM_TELEMETRY_INLINE_FLUSH"),telemetry_source_context:MU()}}function WU(e,t){return e.telemetry.enabled&&t.validEntries>0}function VU(e,t){return e&&t.every(n=>!n.startsWith("telemetry_queue_pending:")&&!n.startsWith("telemetry_queue_high_retries:"))}async function KU(e){let t=e;try{let n=new URL(e);n.pathname="/healthz",n.search="",n.hash="",t=n.toString()}catch{}try{let n=await fetch(t,{method:"GET",signal:AbortSignal.timeout(lU)});return{probe_url:mm(t),ok:n.ok,status:n.status,max_schema_version:(()=>{for(let r of uU){let o=n.headers.get(r)?.trim();if(o&&o.length>0)return o}})()}}catch(n){return{probe_url:mm(t),ok:!1,error:n instanceof Error?n.message:"probe_failed"}}}async function JU(e,t){let n=Bn(process.cwd()),r=Ze.join(n,aU),o=Ze.join(n,cU),i=await K(r),s=i!==null,a=i?Buffer.byteLength(i,"utf8"):0,c=i?$U(i):FU(),l=await K(o),{runtimeState:d,stateParseFailed:u}=jU(l),f=e.telemetry.endpoint.trim(),m=mm(f),p=await UU(e,t.checkTelemetry),w=[];u&&w.push("telemetry_state_invalid_json"),w.push(...zU(e,c,d),...HU(p),...qU(p),...GU(e,d));let h=WU(e,c),b=typeof d.pending_otel_spans=="number"?d.pending_otel_spans:0;return{check:{name:"telemetry",status:w.length===0?"ok":"warn",ok:w.length===0,details:{enabled:e.telemetry.enabled,capture_level:e.telemetry.capture_level,endpoint:m,global_pm_root:n,queue_path:r,queue_exists:s,queue_entries:c.validEntries,queue_draining:VU(h,w),queue_invalid_rows:c.invalidRows,queue_rows_total:c.totalRows,queue_size_bytes:a,queue_high_retry_entries:c.highRetryEntries,queue_high_retry_threshold:Lk,queue_max_attempts:c.maxAttempts,runtime_state_path:o,last_attempted_flush_at:d.last_attempted_flush_at??null,last_successful_flush_at:d.last_successful_flush_at??null,last_failed_flush_at:d.last_failed_flush_at??null,last_failed_flush_error:d.last_failed_flush_error??null,pending_otel_spans:b,last_otel_attempt_at:d.last_otel_attempt_at??null,last_otel_success_at:d.last_otel_success_at??null,last_otel_failure_at:d.last_otel_failure_at??null,last_otel_failure_error:d.last_otel_failure_error??null,endpoint_probe:p??{attempted:!1},env_overrides:BU()}},warnings:w}}async function YU(e){let t;try{t=await Dw(e)}catch(r){let o=r instanceof Error?r.message:String(r);return{check:{name:"locks",status:"warn",ok:!1,details:{active_lock_count:0,stale_lock_count:0,unreadable_lock_count:0,unparseable_lock_count:0,scan_failed:!0,error:o,pm_root:e}},warnings:[`locks_scan_failed:${o}`]}}let n=[];return t.stale_lock_count>0&&n.push(`locks_stale_count:${t.stale_lock_count}`),t.unreadable_lock_count>0&&n.push(`locks_unreadable:${t.unreadable_lock_count}`),{check:{name:"locks",status:n.length===0?"ok":"warn",ok:n.length===0,details:{active_lock_count:t.active_lock_count,stale_lock_count:t.stale_lock_count,unreadable_lock_count:t.unreadable_lock_count,unparseable_lock_count:t.unparseable_lock_count}},warnings:n}}async function XU(e){let t="metadata",n=e.items,r=await yr(e.pmRoot,n,{cacheHitVerification:t}),o=[...new Set([...r.hashMismatches,...r.chainMismatches,...r.versionSkews])].sort((b,v)=>b.localeCompare(v)),i=[],s=[];if(o.length>0){n=await gr(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema,{forceSourceScan:!0}),r=await yr(e.pmRoot,n),i=[...new Set([...r.hashMismatches,...r.chainMismatches,...r.versionSkews])].sort((v,I)=>v.localeCompare(I));let b=new Set(i);s=o.filter(v=>!b.has(v))}let{missingStreams:a,unreadableStreams:c,hashMismatches:l,chainMismatches:d,versionSkews:u,driftedItems:f,workspaceStateMismatches:m,workspaceStateMissing:p,workspaceStateUnreadable:w}=r,h=[...a.map(b=>`history_drift_missing_stream:${b}`),...c.map(b=>`history_drift_unreadable_stream:${b}`),...l.map(b=>`history_drift_hash_mismatch:${b}`),...d.map(b=>`history_drift_chain_mismatch:${b}`),...u.map(b=>`history_drift_version_skew:${b}`),...m.map(b=>`history_drift_workspace_state_mismatch:${b}`),...p.map(b=>`history_drift_workspace_state_missing:${b}`),...w.map(b=>`history_drift_workspace_state_unreadable:${b}`)];return{check:{name:"history_drift",status:h.length===0?"ok":"warn",ok:h.length===0,details:{checked_items:n.length,cache_hit_verification:o.length>0?"metadata_then_content_hash":t,cache_confirmation:{triggered:o.length>0,reason:o.length>0?"cached_corruption_candidate":null,candidate_items:o,confirmed_items:i,resolved_false_positive_items:s,authoritative_item_source:o.length>0},drifted_items:f,counts:{drifted:f.length,missing_streams:a.length,unreadable_streams:c.length,hash_mismatches:l.length,chain_mismatches:d.length,version_skews:u.length,workspace_state_mismatches:m.length,workspace_state_missing:p.length,workspace_state_unreadable:w.length},missing_streams:a,unreadable_streams:c,hash_mismatches:l,chain_mismatches:d,version_skews:u,workspace_state_mismatches:m,workspace_state_missing:p,workspace_state_unreadable:w}},warnings:h}}function ZU(e,t){let n=lo(e),r=Ni(n.settings),o=Pi(n.settings,t),i=r.active?fo(r.active.name,r.active.model):null;return{runtimeDefaults:n,providerResolution:r,vectorStoreResolution:o,runtimeEmbeddingIdentity:i,semanticRuntimeAvailable:!!(r.active&&o.active)}}function QU(){return{refreshed:[],skipped:[],warnings:[]}}async function ez(e){return!e.refreshPolicy.enabled||!e.snapshot.semanticRuntimeAvailable||e.staleBefore.length===0?QU():rb(e.pmRoot,e.staleBefore,{settings:e.snapshot.runtimeDefaults.settings,apply_runtime_defaults:!1})}function tz(e){return e.strictVectorizationWarnings&&e.semanticRuntimeAvailable&&!!(e.ledgerBefore.embedding&&e.runtimeEmbeddingIdentity&&Li(e.ledgerBefore.embedding,e.runtimeEmbeddingIdentity))}function nz(e){let t=new Set([...e.ledgerBefore.warnings,...e.ledgerAfter.warnings]);if(e.strictVectorizationWarnings)for(let n of e.refreshResult.warnings)t.add(n);return e.embeddingIdentityChanged&&t.add("vectorization_embedding_identity_changed"),e.strictVectorizationWarnings&&e.semanticRuntimeAvailable&&e.staleAfter.length>0&&t.add(`vectorization_stale_items_remaining:${e.staleAfter.length}`),[...t].sort((n,r)=>n.localeCompare(r))}function rz(e,t,n){return e.enabled&&t&&n.length>0?null:e.enabled?t?"no_stale_items":"semantic_runtime_unavailable":"refresh_disabled"}function oz(e,t){let n=t.providerResolution.active?.name??null,r=t.vectorStoreResolution.active?.name??null;return{provider_active:n,provider_configured:typeof e.search?.provider=="string"?e.search.provider:null,provider_source:Ju(n,e.search?.provider??null),vector_store_active:r,vector_store_configured:typeof e.vector_store?.adapter=="string"?e.vector_store.adapter:null,vector_store_source:Ju(r,e.vector_store?.adapter??null)}}function iz(e){return{enabled:e.enabled,check_only:e.checkOnly,no_refresh:e.noRefresh,refresh_vectors:e.refreshVectors}}function sz(e,t,n){return e.enabled&&n.length>0&&t}async function az(e,t,n,r,o){let i=ZU(t,e),s=await Fi(e),a=i.semanticRuntimeAvailable?mf(n,s.entries):[],c=await ez({pmRoot:e,snapshot:i,refreshPolicy:r,staleBefore:a}),l=await Fi(e),d=i.semanticRuntimeAvailable?mf(n,l.entries):[],u=!i.runtimeDefaults.auto_ollama_defaults_applied,f=tz({strictVectorizationWarnings:u,semanticRuntimeAvailable:i.semanticRuntimeAvailable,ledgerBefore:s,runtimeEmbeddingIdentity:i.runtimeEmbeddingIdentity}),m=nz({ledgerBefore:s,ledgerAfter:l,refreshResult:c,strictVectorizationWarnings:u,semanticRuntimeAvailable:i.semanticRuntimeAvailable,embeddingIdentityChanged:f,staleAfter:d}),p=Dk(a,o),w=Dk(d,o),h=sz(r,i.semanticRuntimeAvailable,a);return{check:{name:"vectorization",status:m.length===0?"ok":"warn",ok:m.length===0,details:{semantic_runtime_available:i.semanticRuntimeAvailable,compatibility_mode_auto_defaults:i.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_applied:i.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_skipped_reason:i.runtimeDefaults.auto_ollama_defaults_skipped_reason??null,auto_ollama_defaults_remediation:i.runtimeDefaults.auto_ollama_defaults_remediation??null,refresh_policy:iz(r),...oz(t,i),embedding_identity_changed:f,embedding_identity_before:s.embedding??null,embedding_identity_runtime:i.runtimeEmbeddingIdentity??null,items:n.length,ledger_entries_before:Object.keys(s.entries).length,stale_items_detail_mode:o?"full":"summary",stale_items_summary_limit:Pk,stale_items_before_total:p.total,stale_items_before:p.values,stale_items_before_truncated:p.truncated,refresh_attempted:h,refresh_skipped_reason:rz(r,i.semanticRuntimeAvailable,a),refresh_result:c,ledger_entries_after:Object.keys(l.entries).length,stale_items_after_total:w.total,stale_items_after:w.values,stale_items_after_truncated:w.truncated}},warnings:m}}function cz(e){let t=[];return e.id_prefix.trim().length===0&&t.push("settings:id_prefix_empty"),e.locks.ttl_seconds<=0&&t.push("settings:locks_ttl_non_positive"),t}function lz(e){let t=e.checkOnly===!0,n=e.refreshVectors===!0;if(n&&t)throw new g("--check-only cannot be combined with --refresh-vectors",_.USAGE);if(n&&e.noRefresh===!0)throw new g("--no-refresh cannot be combined with --refresh-vectors",_.USAGE);return{enabled:n,checkOnly:t,noRefresh:!n,refreshVectors:n}}var dz=new Set(["extensions","locks","search"]);function uz(e){let t=new Set(Nc.filter(o=>o.length>0)),n=new Set,r=new Set(Object.values(He));for(let o of e.folders)t.has(o)&&!r.has(o)||(t.delete(o),n.add(o));for(let o of dz)t.delete(o),n.add(o);return{requiredDirs:[...t].sort((o,i)=>o.localeCompare(i)),optionalDirs:[...n].sort((o,i)=>o.localeCompare(i)),optionalDirSet:n}}async function fz(e,t,n){let{requiredDirs:r,optionalDirs:o,optionalDirSet:i}=uz(t),s=[],a=[],c=[];for(let l of[...r,...o]){let d=Ze.join(e,l);c.push(...await Fe({path:d,scope:"project"})),!await Fk(d)&&(i.has(l)?a.push(l):s.push(l))}return{requiredDirs:r,optionalDirs:o,missingRequiredDirs:s,missingOptionalDirs:a,missingDirs:n?[...s,...a]:[...s],hookWarnings:c}}function mz(e){let t=e.checkOnly===!0&&e.brief!==!0&&e.summary!==!0&&e.full!==!0,n=(e.summary===!0||t)&&e.full!==!0,r=e.checkOnly===!0&&(e.brief===!0||e.summary===!0)&&e.full!==!0;return{summaryMode:n,skipIntegrity:(e.skipIntegrity===!0||r)&&e.full!==!0,skipDrift:(e.skipDrift===!0||r)&&e.full!==!0,skipVectors:(e.skipVectors===!0||r)&&e.full!==!0}}async function pz(e){return e.skipPolicy.skipDrift&&e.skipPolicy.skipVectors?Si(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema):gr(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema)}function um(e){return{check:{name:e,status:"ok",ok:!0,details:{skipped:!0}},warnings:[]}}function _z(e,t,n){return{name:"settings",status:n.length===0?"ok":"warn",ok:n.length===0,details:{path:e,version:t.version,id_prefix:t.id_prefix,locks_ttl_seconds:t.locks.ttl_seconds,warnings:n}}}function gz(e,t){return{name:"directories",status:e.missingDirs.length===0?"ok":"warn",ok:e.missingDirs.length===0,details:{required:e.requiredDirs,optional:e.optionalDirs,missing_required:e.missingRequiredDirs,missing_optional:e.missingOptionalDirs,missing:e.missingDirs,strict_directories:t}}}function hz(e,t){return{name:"settings_values",status:e.length===0?"ok":"warn",ok:e.length===0,details:{warnings:e,...t.roleless_status_count>0?{lifecycle_status_roles:t}:{}}}}var jk=e=>e.unknown_event_count??0,Uk=e=>e.actionable_unknown_event_count??jk(e);function yz(e,t,n,r,o,i){let s=jk(r),a=Uk(r),c=s>0,l=a>0,d=o.count>0;return{name:"storage",status:n.over_threshold.length===0&&n.orphaned.length===0&&!l&&!d?"ok":"warn",ok:n.over_threshold.length===0&&n.orphaned.length===0&&!l&&!d,details:{items:e.length,history_streams:n.count,tombstones:{retention_policy:"retain_append_only",gc_enabled:!1,count:n.tombstones.length,ids:n.tombstones.slice(0,25),truncated:n.tombstones.length>25},orphaned_history_streams:{count:n.orphaned.length,ids:n.orphaned.slice(0,25),truncated:n.orphaned.length>25},...c?{author_attribution:r}:{},...d?{stale_in_progress:o}:{},...i.outcomes.length>0?{provenance_resolver_outcomes:i.outcomes}:{},...i.invalid_values.length>0?{provenance_invalid_values:i.invalid_values}:{},provenance_sample:i.sample,...n.max_entries!==null?{compact_policy:{enabled:t.history.compact_policy.enabled,max_entries:n.max_entries,trigger:t.history.compact_policy.trigger,over_threshold_count:n.over_threshold.length,over_threshold:n.over_threshold}}:{}}}}function wz(e){let t=e.count===0?[]:[`stale_in_progress_items:${e.count}`];return{scan:e,warnings:t}}function bz(e){let t=[...e.directoryState.missingDirs.map(n=>`missing_directory:${n}`),...e.normalizedSettingsReadWarnings,...e.settingWarnings,...e.normalizedItemReadWarnings,...e.telemetryCheck.warnings,...e.extensionCheck.warnings,...e.historyPolicyWarnings,...e.historySummary.warnings,...e.authorAttributionWarnings,...e.staleInProgressWarnings,...e.provenanceWarnings,...e.locksCheck.warnings,...e.integrityCheck.warnings,...e.historyDriftCheck.warnings,...e.vectorizationCheck.warnings,...e.directoryState.hookWarnings];return[...new Set(t)]}function vz(e){let t=e.check.details.counts;return typeof t?.drifted=="number"?t.drifted:0}function kz(e){return{settings:e.normalizedSettingsReadWarnings,directories:e.directoryState.missingDirs.map(t=>`missing_directory:${t}`).concat(e.directoryState.hookWarnings),settings_values:e.settingWarnings,telemetry:e.telemetryCheck.warnings,extensions:e.extensionCheck.warnings,storage:[...e.historyPolicyWarnings,...e.historySummary.warnings,...e.authorAttributionWarnings,...e.staleInProgressWarnings,...e.provenanceWarnings],locks:e.locksCheck.warnings,integrity:[...e.normalizedItemReadWarnings,...e.integrityCheck.warnings],history_drift:e.historyDriftCheck.warnings,vectorization:e.vectorizationCheck.warnings}}function Ez(e){let t=new Map;for(let[o,i]of Object.entries(e.remediationSources))for(let s of i)t.has(s)||t.set(s,o);let n=new Map(e.checks.map(o=>[o.name,o]));return e.warnings.map(o=>{let i=t.get(o)??"integrity",s=gf(o)?.code??$k(o),a=n.get(i)?.details,c=typeof a?.remediation_map=="object"&&a.remediation_map!==null?a.remediation_map:{},l=s==="agent_guidance_outdated"?"pm init --agent-guidance add":s==="agent_guidance_unreadable"?"Check AGENTS.md and CLAUDE.md read permissions and file types, then retry pm health.":c[s],d=Mk(o,e.requireMergeDrivers)?"advisory":"gate_failing";return{warning:o,code:s,check:i,severity:d,...typeof l=="string"?{remediation:l}:d==="gate_failing"?{disposition:"no_safe_automatic_remediation"}:{}}})}function Sz(e){if(e.check.name==="history_drift"&&e.historyDriftedCount>1)for(let t of Object.keys(e.remediationMap))t!=="history_drift_merge_receipt"&&t!=="history_drift_version_skew"&&(e.remediationMap[t]="pm history-repair --all");if(e.check.name==="storage"&&e.overThresholdCount>1)for(let t of Object.keys(e.remediationMap))e.remediationMap[t]="pm history-compact --all-streams"}function Tz(e){for(let t of e.checks){let n=hf(e.remediationSources[t.name]);Sz({check:t,remediationMap:n,historyDriftedCount:e.historyDriftedCount,overThresholdCount:e.overThresholdCount}),Object.keys(n).length>0&&(t.details={...t.details,remediation_map:n})}}async function Az(e){if(e.gitWorkspaceRoot===null||e.pendingMergeReceipts.length===0)return[];let t=e.historyDriftCheck.check.details,n=Array.isArray(t.hash_mismatches)?t.hash_mismatches.filter(s=>typeof s=="string"):[],r=new Set([t.missing_streams,t.unreadable_streams,t.chain_mismatches].flatMap(s=>Array.isArray(s)?s:[])),o=new Map;for(let s of e.pendingMergeReceipts){if(s.evidence_source!=="clone_local")continue;let a=o.get(s.item_id)??[];a.push(s),o.set(s.item_id,a)}let i=[];for(let s of n){if(r.has(s))continue;let a=o.get(s);if(!(!a||a.length===0))try{await sn(s,{dryRun:!0,mergeReceiptProof:{gitWorkspaceRoot:e.gitWorkspaceRoot,receipts:a}},e.global),i.push(s)}catch{}}return[...new Set(i)].sort((s,a)=>s.localeCompare(a))}function Iz(e,t){let n=new Set(t);e.warnings=[...e.warnings.filter(r=>r.startsWith("history_drift_hash_mismatch:")?!n.has(r.slice(r.indexOf(":")+1)):!0),...t.map(r=>`history_drift_merge_receipt:${r}`)].sort((r,o)=>r.localeCompare(o)),e.check.details={...e.check.details,merge_receipt_attributed_items:t}}function Cz(e,t,n){let r=e.warning_count??e.warnings.length,o={...e,warning_count:r,warning_limit:br,warnings_truncated:r>br,warnings:e.warnings.slice(0,br),findings:(e.findings??[]).filter(s=>e.warnings.slice(0,br).includes(s.warning)||e.failed_because.includes(s.warning))},i=n?LU(o):t.brief===!0?PU(o):o;return{...i,warning_count:r,warning_limit:br,warnings_truncated:r>i.warnings.length,...i.projection?{projection:{...i.projection,warning_count:r,warnings_truncated:r>i.warnings.length}}:{}}}async function pm(e,t={}){let n=X(process.cwd(),e.path);await je(n);let r=Se(n),{settings:o,warnings:i}=await Dn(n),s=[...new Set(i)],a=ge(o,Y()),c=t.strictDirectories===!0,l=t.strictExit===!0||t.failOnWarn===!0,d=t.requireMergeDrivers===!0||l,u=lz(t),f=await fz(n,a,c),m=cz(o),p=await JU(o,{checkTelemetry:t.checkTelemetry===!0}),w=await CU(n,o,!!e.noExtensions),h=mz(t),b=[],v=await pz({pmRoot:n,settings:o,typeRegistry:a,skipPolicy:h,itemReadWarnings:b}),I=v,A=pc(ct(o.schema),v),L=[...(await xw({pm_root:n,cwd:process.cwd(),mode:"status",interactive:!1,settings:o}).catch(()=>({warnings:["agent_guidance_unreadable:AGENTS.md,CLAUDE.md"]}))).warnings.filter(Re=>Re.startsWith("agent_guidance_")),...m,..._c(A)],E=h.skipDrift?{warnings:[]}:await $a({pmRoot:n,settings:o,itemIds:v.map(Re=>Re.id),commandLabel:"health"}),N=await pU(n,o.history.compact_policy,await fU(n)),G=await ac(n,20,t.verboseAuthorEvents===!0),T=Uk(G),z=T>0?[`history_unknown_author_events:${T}`]:[],D=wz(await wf(n,v,{in_progress_status:o.schema.workflow.in_progress_status,threshold_hours:o.mutation_guard.stale_in_progress_hours})),pe=await pw(n),oe=pe.warnings,Ee=await YU(n),Wt=h.skipIntegrity&&!d?{...um("integrity"),gitWorkspaceRoot:null,pendingMergeReceipts:[]}:await bU(n,a.type_to_folder,o.schema,o,d,v),Vt=h.skipDrift?um("history_drift"):await XU({pmRoot:n,items:I,settings:o,typeRegistry:a,itemReadWarnings:b}),Nm=[...new Set(b)],UE=await Az({gitWorkspaceRoot:Wt.gitWorkspaceRoot,pendingMergeReceipts:Wt.pendingMergeReceipts,historyDriftCheck:Vt,global:e});Iz(Vt,UE);let Tc=h.skipVectors?um("vectorization"):await az(n,o,I,u,t.verboseStaleItems===!0),ts=[_z(r,o,s),gz(f,c),hz(L,A),p.check,w.check,yz(v,o,N,G,D.scan,pe),Ee.check,Wt.check,Vt.check,Tc.check],Ac=bz({directoryState:f,normalizedSettingsReadWarnings:s,settingWarnings:L,normalizedItemReadWarnings:Nm,telemetryCheck:p,extensionCheck:w,historyPolicyWarnings:E.warnings,historySummary:N,authorAttributionWarnings:z,staleInProgressWarnings:D.warnings,provenanceWarnings:oe,locksCheck:Ee,integrityCheck:Wt,historyDriftCheck:Vt,vectorizationCheck:Tc}),Dm=kz({directoryState:f,normalizedSettingsReadWarnings:s,settingWarnings:L,normalizedItemReadWarnings:Nm,telemetryCheck:p,extensionCheck:w,historyPolicyWarnings:E.warnings,historySummary:N,authorAttributionWarnings:z,staleInProgressWarnings:D.warnings,provenanceWarnings:oe,locksCheck:Ee,integrityCheck:Wt,historyDriftCheck:Vt,vectorizationCheck:Tc});Tz({checks:ts,remediationSources:Dm,historyDriftedCount:vz(Vt),overThresholdCount:N.over_threshold.length});let Ic=Ac.filter(Re=>!Mk(Re,d)),Cc=Ez({warnings:Ac,checks:ts,remediationSources:Dm,requireMergeDrivers:d}),zE=new Set(Cc.filter(Re=>Re.severity==="gate_failing").map(Re=>Re.check)),HE=new Set(Cc.map(Re=>Re.check));for(let Re of ts)Re.ok=!zE.has(Re.name),HE.has(Re.name)&&(Re.status="warn");let qE={ok:Ic.length===0,verdict:{authority:"ok",...l?{strict_exit:!0}:{},...d?{require_merge_drivers:!0}:{},exit_code:l&&Ic.length>0?_.GENERIC_FAILURE:0},checks:ts,warnings:Ac,findings:Cc,failed_because:Ic,generated_at:j()};return Cz(qE,t,h.summaryMode)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6ef0b23-e861-50ec-b7b3-751863936631")}catch{}})();function zk(e,t){let n=bt(e),r=e.length>0?e[e.length-1].after_hash:Nd(),o=t===void 0||n.item_hash_version===void 0?void 0:Gr(t,n.item_hash_version,Ne(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?xd(t):o[Math.max(0,o.indexOf(r))],s=i===void 0?void 0:i===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1e1d8d86-3f4e-50eb-ae73-ca7c030f7c0a")}catch{}})();function Hk(e,t,n){if(!n.has(t.metadata.status))return{reason:"not_terminal"};if(e.length===0)return{reason:"missing_history"};if(!zk(e,t).ok)return{reason:"unverified_history"};let r=cr(),o={reason:"no_proven_transition"};for(let[i,s]of e.entries()){let a=n.has(String(r.metadata.status));r=ro(r,s.patch,i+1,s.op),n.has(String(r.metadata.status))?a||(o=["create","close","cancel","update","update_audit"].includes(s.op)&&gn(s.ts)?{timestamp:s.ts,source_index:i+1}:{reason:"no_proven_transition"}):o={reason:"no_proven_transition"}}return o}function qk(e){return new Set([...e.terminal_statuses,...[...e.alias_to_id].filter(([,t])=>e.terminal_statuses.has(t)).map(([t])=>t)])}async function Gk(e,t,n,r,o){let i=qk(n),s=t.filter(l=>i.has(l.status)&&!l.closed_at),a=[],c=[];for(let l of r?s:[]){let d;try{let u=await rt(ve(e,l.id),l.id),{body:f,...m}=l;d=Hk(u,{metadata:m,body:f},i)}catch{c.push({id:l.id,reason:"unreadable_history"});continue}if("reason"in d){c.push({id:l.id,reason:d.reason});continue}a.push({item_id:l.id,check:"metadata",field:"closed_at",kind:"set_closed_at",value:d.timestamp,gate:"timestamps",command:"pm validate --check-metadata --auto-fix --fix-scope timestamps"})}return{details:{missing_closed_at_count:s.length,missing_closed_at_item_ids:s.slice(0,o).map(l=>l.id),missing_closed_at_item_ids_truncated:s.length>o,closure_history_inspected:r,closure_timestamp_derivable_count:a.length,closure_timestamp_residual_count:c.length,closure_timestamp_residual:c.slice(0,o),closure_timestamp_residual_truncated:c.length>o,...s.length>0?{closure_timestamp_fix_hint:"pm validate --check-metadata --auto-fix --fix-scope timestamps --dry-run"}:{}},fixes:a,warnings:s.length>0?[`validate_metadata_missing_closed_at:${s.length}`]:[]}}async function Bk(e,t){let n=X(process.cwd(),t.path),r=await re(n),o=ct(r.schema);await hr({pmRoot:n,settings:r,id:e.item_id,op:"update",author:Ie(t.author,r.author_default),message:"Backfill closed_at from verified lifecycle history",skipNoop:!0,async mutate(i){if(i.metadata.closed_at)return{changedFields:[]};let s=await rt(ve(n,i.metadata.id),i.metadata.id),a=qk(o),c=Hk(s,i,a);if(!("timestamp"in c)||c.timestamp!==e.value)throw new g("Closure timestamp evidence changed or cannot be verified; rerun the timestamp repair preview.",_.GENERIC_FAILURE);return i.metadata.closed_at=c.timestamp,{changedFields:["closed_at"]}}})}import Rm from"node:fs/promises";import{realpathSync as F2}from"node:fs";import{execFile as j2}from"node:child_process";import Qe from"node:path";import{promisify as U2}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c1b189d7-2939-5891-b936-5f208dc8f5ff")}catch{}})();var Oz=["metadata","resolution"],_m=["metadata","resolution","estimates","timestamps","lifecycle"],xz="completed";function gm(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function Wk(e){let t=e?.trim();return t!==void 0&&t.length>0?t:void 0}function Vk(e){let t=[];for(let n of e){if(!n.missing_fields.includes("resolution"))continue;let r=Wk(n.close_reason)??xz;t.push({item_id:n.id,check:"resolution",field:"resolution",kind:"set_resolution",value:r,command:`pm update ${n.id} --resolution ${gm(r)}`,gate:"resolution"})}return t}function Kk(e){let t=[];for(let n of e){let r=Wk(n.resolution);r!==void 0&&t.push({item_id:n.id,check:"metadata",field:"close_reason",kind:"set_close_reason",value:r,command:`pm update ${n.id} --close-reason ${gm(r)}`,gate:"metadata"})}return t}function Jk(e,t){return e.map(n=>{let r=Jh(n.type,t);return{item_id:n.id,check:"metadata",field:"estimated_minutes",kind:"set_estimate",value:String(r),command:`pm update ${n.id} --estimate ${r}`,gate:"estimates"}})}function Yk(e){return e.map(t=>t.grandparent_id!==void 0&&t.grandparent_active===!0?{item_id:t.id,check:"lifecycle",field:"parent",kind:"reparent",parent_id:t.grandparent_id,command:`pm update ${t.id} --parent ${t.grandparent_id}`,gate:"lifecycle"}:{item_id:t.id,check:"lifecycle",field:"parent",kind:"unset_parent",command:`pm update ${t.id} --unset parent`,gate:"lifecycle"})}function Xk(e){let t=[];for(let n of e){if(n.classification!=="deleted")continue;let r=n.link_kind==="files"?"files":"docs";t.push({item_id:n.item_id,check:"files",field:n.link_kind,kind:n.link_kind==="files"?"prune_file_link":"prune_doc_link",path:n.path,command:`pm ${r} ${n.item_id} --remove ${gm(n.path)}`})}return t}function Zk(e){let t=(e??[]).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0){if(e!==void 0&&e.length>0)throw new g(`--fix-scope values must not be empty. Supported values: ${_m.join(", ")}.`,_.USAGE);return new Set(Oz)}let n=new Set;for(let r of t){let o=r.toLowerCase().replaceAll("-","_");if(_m.includes(o)){n.add(o);continue}throw new g(`Unknown --fix-scope value "${r}". Supported values: ${_m.join(", ")}.`,_.USAGE)}return n}function Qk(e,t){let n=[],r=[];for(let o of e)o.gate!==void 0&&!t.has(o.gate)?r.push(o):n.push(o);return{applicable:n,gated:r}}function Yi(e){return{item_id:e.item_id,check:e.check,field:e.field,command:e.command,...e.gate!==void 0?{gate:e.gate}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3b09b58f-2ec7-523e-87f3-8d828deb8480")}catch{}})();var Rz=/^([A-Z][A-Z0-9]*-\d+)\b/iu;function Nz(e,t={}){if(typeof e!="string")return null;let n=e.trim();if(n.length===0)return null;let r=Rz.exec(n);if(!r)return null;let o=r[1],i=o.toUpperCase(),s=o.slice(0,o.lastIndexOf("-")),a=new Set((t.configuredPrefixes??[]).map(f=>f.trim().replace(/-+$/u,"").toUpperCase())),c=n.slice(o.length),l=t.evidenceText?.toUpperCase()??"",d=l.includes(`ISSUE CODE: ${i}`)||l.includes(`ISSUE CODE \`${i}\``)||l.includes(`\`${i}\``)||l.includes(`[${i}]`);return s===s.toUpperCase()||/^\s*(?::|—|–|\])/u.test(c)||a.has(s.toUpperCase())||d?i:null}function eE(e){return typeof e=="string"&&e.trim().length>0}function Dz(e){let t=new Set(e.map(a=>a.id.toLowerCase())),n=new Map,r=new Map;for(let a of e){let c=a.id.toLowerCase(),l=new Set([...a.parent===null?[]:[a.parent.toLowerCase()],...a.derivations].filter(d=>d!==c&&t.has(d)));n.set(c,l);for(let d of l){let u=r.get(d)??[];u.push(c),r.set(d,u)}}let i=[...[...n].filter(([,a])=>a.size===0).map(([a])=>a)],s=new Set;for(let a=0;a<i.length;a+=1)for(let c of r.get(i[a])??[]){let l=n.get(c);l.delete(i[a]),l.size===0&&(s.add(c),i.push(c))}return e.filter(a=>!s.has(a.id.toLowerCase()))}function tE(e,t={}){let n=new Map;for(let o of e){if(typeof o.title!="string"||eE(o.duplicate_of))continue;let i=Nz(o.title,{...t,evidenceText:o.body});if(i===null)continue;let s=n.get(i);s||(s=[],n.set(i,s)),s.some(a=>a.id===o.id)||s.push({id:o.id,title:o.title,parent:eE(o.parent)?o.parent.trim():null,derivations:(o.dependencies??[]).filter(a=>["discovered_from","supersedes","incident_from"].includes(a.kind)).map(a=>a.id.trim().toLowerCase()).filter(a=>a!==o.id.toLowerCase())})}let r=[];for(let[o,i]of n){if(i.length<2)continue;let s=Dz(i);if(s.length<2)continue;let a=[...s].sort((c,l)=>c.id.localeCompare(l.id));r.push({code:o,count:a.length,ids:a.map(c=>c.id),titles:a.map(c=>c.title)})}return r.sort((o,i)=>o.code.localeCompare(i.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]="b51a9fba-7bbe-573b-a708-5ffea6fa040f")}catch{}})();function nE(e){let t=new Map;for(let r of e){let o=t.get(r.item_type);o||(o=new Map,t.set(r.item_type,o)),o.set(r.field,(o.get(r.field)??0)+1)}let n={};for(let r of[...t.keys()].sort((o,i)=>o.localeCompare(i))){let o=t.get(r),i={};for(let s of[...o.keys()].sort((a,c)=>a.localeCompare(c)))i[s]=o.get(s);n[r]=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]="ede22770-cb10-5054-85a7-89bb2758c25f")}catch{}})();var rE=3;function oE(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t===-1?e:e.slice(t+1)}function iE(e,t,n=rE){let r=Number.isFinite(n)&&n>=1?Math.floor(n):rE,o=new Map;for(let i of t){let s=oE(i);if(s.length===0)continue;let a=o.get(s);a?a.push(i):o.set(s,[i])}return e.map(i=>{if(i.includes(",")||i.replace(/^[a-z]:[\\/]/i,"").includes(":"))return{path:i,classification:"malformed",candidates:[],candidates_truncated:!1};let s=(o.get(oE(i))??[]).filter(a=>a!==i).sort((a,c)=>a.localeCompare(c));return s.length===0?{path:i,classification:"deleted",candidates:[],candidates_truncated:!1}:{path:i,classification:"moved",candidates:s.slice(0,r),candidates_truncated:s.length>r}})}function sE(e){return e.map(t=>t.classification==="moved"?`${t.path}:moved:${t.candidates[0]}`:`${t.path}:${t.classification}`)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6f94fb3c-3d6c-5543-a2f0-e12680459e71")}catch{}})();var Pz=/^[a-z][a-z0-9+.-]+:\/\//i;function Xi(e){return Pz.test(e.trim())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2cd8850-491a-505c-8709-3dcdb758de75")}catch{}})();function Lz(e,t){return e==="malformed"||t==="malformed"?"malformed":e==="moved"||t==="moved"?"moved":"deleted"}function aE(e){return`${e.item_id} ${e.link_kind}`}function cE(e,t){let n=new Map;for(let r of e){let o=n.get(r.path);o?(o.classification=Lz(o.classification,r.classification),o.owners.set(aE(r),r)):n.set(r.path,{classification:r.classification,owners:new Map([[aE(r),r]])})}return[...n.entries()].sort(([r],[o])=>r.localeCompare(o)).map(([r,o])=>({path:r,classification:o.classification,items:[...o.owners.values()].map(i=>{let s=t(i.item_id);return{id:i.item_id,type:s?.type??"Unknown",title:s?.title??"",status:s?.status??"",field:i.link_kind}}).sort((i,s)=>{let a=i.id.localeCompare(s.id);return a!==0?a:i.field.localeCompare(s.field)})}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ccb0d064-940b-5e14-ae63-2803aced4ee7")}catch{}})();function lE(e,t,n,r,o=40){let i=o===1/0?1/0:Number.isFinite(o)?Math.max(0,Math.floor(o)):40,s=new Map(t.map(l=>[l.path,l])),a={missing_linked_path_rows_count:0,missing_linked_path_rows:[],missing_linked_path_rows_truncated:!1,missing_linked_links_count:0,active_missing_linked_links_count:0,legacy_closed_missing_linked_links_count:0,legacy_terminal_missing_linked_links_count:0,active_missing_linked_paths_count:0},c=cE(e,n).map(l=>{let d=[],u=[];for(let m of l.items){let p=Rt(m.status,r)??m.status;r.terminal_statuses.has(p)?(u.push(m),p===r.close_status&&(a.legacy_closed_missing_linked_links_count+=1)):d.push(m)}a.missing_linked_links_count+=l.items.length,a.active_missing_linked_links_count+=d.length,a.legacy_terminal_missing_linked_links_count+=u.length,d.length>0&&(a.active_missing_linked_paths_count+=1);let f=s.get(l.path);return{...l,candidates:f?.candidates??[],candidates_truncated:f?.candidates_truncated??!1,link_count:l.items.length,active_link_count:d.length,items:[...d,...u].slice(0,i),items_truncated:l.items.length>i}});return c.sort((l,d)=>+(d.active_link_count>0)-+(l.active_link_count>0)||l.path.localeCompare(d.path)),a.missing_linked_path_rows_count=c.length,a.missing_linked_path_rows=c.slice(0,i),a.missing_linked_path_rows_truncated=c.length>i,a}import ho from"node:fs/promises";import yo 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]="9bcae2f2-3739-5ef8-b080-daaaf7df2681")}catch{}})();async function Mz(e,t){let n=[...new Set(Object.values(t))],r=[];return await Promise.all(n.map(async o=>{let i;try{i=await ho.readdir(yo.join(e,o))}catch{return}for(let s of i)for(let a of Jt)if(s.toLowerCase().endsWith(a)){r.push({relativePath:`${o}/${s}`,id:s.slice(0,-a.length)});break}})),r.sort((o,i)=>o.relativePath.localeCompare(i.relativePath))}function $z(e,t){let{id:n,relativePath:r,liveItemIds:o,out:i}=e,s=Me(t);if(s){i.conflictMarkers.push({id:n,path:r,line:s.line,detail:`unresolved merge conflict marker ${s.marker}`});return}let a=Fz(e,t);a!==null&&(a.op==="delete"&&o.has(n)&&i.resurrected.push({id:n,deleted_at:typeof a.ts=="string"?a.ts:"",deleted_by:typeof a.author=="string"?a.author:""}),a.op==="history_repair"&&Array.isArray(a.patch)&&a.patch.length>0&&(i.repairReconciliations+=1))}function Fz(e,t){let{id:n,relativePath:r,out:o}=e,i=null,s=!1,a=t.split(/\r?\n/).map((c,l)=>({content:c.trim(),number:l+1})).filter(c=>c.content.length>0);for(let c of a){try{let l=JSON.parse(c.content);if(typeof l!="object"||l===null||Array.isArray(l))throw new TypeError("history entry must be an object");i=l}catch{return o.unparseable.push({id:n,path:r,line:c.number,detail:"history line is not a valid JSON object"}),null}if(i.op==="create"){if(s)return o.unparseable.push({id:n,path:r,line:c.number,detail:"duplicate item identity: more than one create event in one history stream"}),null;s=!0}}return i}function hm(e,t){let n=typeof t=="object"&&t!==null&&"code"in t&&typeof t.code=="string"?t.code:"UNKNOWN";return`${e} could not be read (error code: ${n})`}async function jz(e,t){let n={conflictMarkers:[],unparseable:[],resurrected:[],repairReconciliations:0,scanned:0},r;try{r=await ho.readdir(yo.join(e,"history"))}catch{return n}for(let o of r.sort((i,s)=>i.localeCompare(s))){if(!o.endsWith(".jsonl"))continue;n.scanned+=1;let i;try{i=await ho.readFile(yo.join(e,"history",o),"utf8")}catch(s){n.unparseable.push({id:o.slice(0,-6),path:`history/${o}`,detail:hm("history stream",s)});continue}$z({id:o.slice(0,-6),relativePath:`history/${o}`,liveItemIds:t,out:n},i)}return n}function dE(e){let t=Me(e);if(t)return`unresolved merge conflict marker ${t.marker} at line ${t.line}`;try{return JSON.parse(e),null}catch(n){return`invalid JSON (${String(n)})`}}async function Uz(e){let t=[],n=0,r=null;try{r=await K(Se(e))}catch(i){n+=1,t.push({path:"settings.json",detail:hm("configuration file",i)})}if(r!==null){n+=1;let i=dE(r);i!==null&&t.push({path:"settings.json",detail:i})}let o;try{o=await ho.readdir(yo.join(e,"schema"))}catch{return{scanned:n,unparseable:t}}for(let i of o.sort((s,a)=>s.localeCompare(a))){if(!i.endsWith(".json"))continue;n+=1;let s;try{s=await ho.readFile(yo.join(e,"schema",i),"utf8")}catch(c){t.push({path:`schema/${i}`,detail:hm("configuration file",c)});continue}let a=dE(s);a!==null&&t.push({path:`schema/${i}`,detail:a})}return{scanned:n,unparseable:t}}async function uE(e,t,n,r={}){let o=await Mz(e,n),i=new Set(o.map(u=>u.id)),s=new Map;for(let u of o){let f=s.get(u.id);f===void 0?s.set(u.id,[u.relativePath]):f.push(u.relativePath)}let a=[...s.entries()].filter(([,u])=>u.length>1).map(([u,f])=>({id:u,paths:[...f].sort((m,p)=>m.localeCompare(p))})).sort((u,f)=>u.id.localeCompare(f.id)),c=(await Promise.all(o.map(async u=>{if(!t.has(u.id))return{path:u.relativePath,id:u.id};try{let f=yo.join(e,u.relativePath);return Ve(await ho.readFile(f,"utf8"),{format:f.toLowerCase().endsWith(".md")?"json_markdown":"toon",schema:r.schema,extensionFieldNames:r.extensionFieldNames}),null}catch{return{path:u.relativePath,id:u.id}}}))).filter(u=>u!==null),l=await jz(e,i),d=await Uz(e);return{item_files_on_disk:o.length,item_ids_on_disk:i.size,parsed_items:t.size,unreadable_item_files:c,duplicate_item_ids:a,history_streams_scanned:l.scanned,history_conflict_marker_streams:l.conflictMarkers,history_unparseable_streams:l.unparseable,resurrected_items:l.resurrected,history_repair_reconciliations:l.repairReconciliations,config_files_scanned:d.scanned,unparseable_config_files:d.unparseable}}import zz from"node:fs/promises";import gt from"node:path";import Hz from"fast-glob";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bb855f72-341c-5dc3-ade5-dd3102275cd8")}catch{}})();var qz=["path","scope","note"],Gz=["pattern","glob","path","scope","note"],Bz=["path"],Wz=["from","to"],Vz=new Set(["note","scope"]);function mE(e){let t=e??"project";if(!Mc.includes(t))throw new g(`Invalid scope "${e}". Valid scopes: ${Mc.join(", ")} (default: project).`,_.USAGE);return t}function ym(e){if(e.startsWith("```")||e.includes(`
138
+ `)||/^(?:[-*+]\s+)?(?:path|scope|note)\s*[:=]/i.test(e))return!0;let t=e.indexOf(","),n=e.slice(0,t>=0?t:e.length),r=n.indexOf("=");return r>=0&&!/\s/u.test(e)&&(/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(e)||/^(?:[A-Za-z]:[\\/]|[\\/]{1,2}|\.\.?(?:[\\/]))/u.test(e)||[e.indexOf("/"),e.indexOf("\\")].some(o=>o>=0&&o<r))?!1:n.includes("=")||$d(e)}function Kz(e){let t=0;for(let n of e)if(n==="("&&(t+=1),n===")"&&(t-=1),t<0)return!1;return t===0}function Jz(e){if(/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(e)&&!ym(e))return{path:e,scope:"project",note:void 0};let t=e.indexOf("](");if(e.startsWith("[")&&t>0&&e.endsWith(")")){let i=e.slice(t+2,-1).trim();if(i.length>0&&Kz(i))return{path:i,scope:"project",note:e.slice(1,t).trim()||void 0}}let n=e.indexOf(",");if(n<0)return;let r=e.slice(0,n).trim(),o=e.slice(n+1).trim();if(!(r.length===0||!/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(o)))return{path:o,scope:"project",note:r}}function Yz(e,t){return e?e.flatMap(n=>{let r=n.trim();if(t==="doc"){let i=Jz(r);if(i!==void 0)return[i]}vh(r,"--add",`${t} path`,ym(r));let o=ym(r)?Kr(n,"--add"):{path:r};if(Jr(o,"--add",qz),!o.path)throw new g(`--add requires path=<value> or a bare ${t} path`,_.USAGE);return[{path:o.path,scope:mE(o.scope),note:o.note?.trim()||void 0}]}):[]}function Xz(e){return e?e.map(t=>{let n=t.trim();if(!n)throw new g("--add-glob requires a glob pattern value",_.USAGE);if(n.includes("=")||/^(?:[-*+]\s+)?(?:pattern|glob|path)\s*[:=]/i.test(n)||n.startsWith("```")){let r=Kr(n,"--add-glob");Jr(r,"--add-glob",Gz);let o=r.pattern?.trim()||r.glob?.trim()||r.path?.trim();if(!o)throw new g("--add-glob key/value form requires pattern=<glob>",_.USAGE);return{pattern:o,scope:mE(r.scope),note:r.note?.trim()||void 0}}return{pattern:n,scope:"project"}}):[]}function Zz(e){return e?e.map(t=>{let n=t.trim();if(!n)throw new g("--remove requires a path value",_.USAGE);if(n.includes("=")||/^(?:[-*+]\s+)?path\s*[:=]/i.test(n)||n.startsWith("```")){let r=Kr(n,"--remove"),o=Object.keys(r).filter(i=>Vz.has(i.toLowerCase()));if(o.length>0)throw new g(`--remove identifies a linked artifact by path only and does not accept ${o.map(i=>`"${i}"`).join(", ")}. Pass just the path (path=<value>, path:<value>, or a bare path); record removal context with --message "<why removed>".`,_.USAGE);if(Jr(r,"--remove",Bz),!r.path)throw new g("--remove key/value form requires path=<value>",_.USAGE);return r.path}return n}):[]}function Qz(e){return e?e.map(t=>{let n=Kr(t,"--migrate");Jr(n,"--migrate",Wz);let r=n.from?.trim(),o=n.to?.trim();if(!r||!o)throw new g("--migrate requires from=<value> and to=<value>",_.USAGE);return{from:r,to:o}}):[]}function Zi(e,t){let n=e;for(let r of t)n.startsWith(r.from)&&(n=`${r.to}${n.slice(r.from.length)}`);return n}function e2(e,t,n=[]){if(e.length===0||t.length===0)return;let r=new Set(e.map(i=>Zi(i.path,n))),o=[...new Set(t.map(i=>Zi(i,n)).filter(i=>r.has(i)))].sort((i,s)=>i.localeCompare(s));if(o.length!==0)throw new g(`Linked artifact mutation cannot add and remove the same normalized path in one transaction: ${o.join(", ")}. Split the replacement into separate commands so each history event has one unambiguous intent.`,_.USAGE,{code:"linked_artifact_mutation_conflict",reason:"same_path_added_and_removed",required:"Use distinct normalized paths for --add and --remove in one invocation.",why:"Conflicting batch intent cannot be applied deterministically without silently discarding metadata or a removal.",nextSteps:["Run the removal and addition as separate commands with a --message describing each intent."]})}function gc(e){return e.split(gt.sep).join("/")}function wm(e,t,n=process.cwd()){let r=e.trim();if(Xi(r))return r;if(gt.isAbsolute(r)||/^[A-Za-z]:[\\/]/.test(r))return gc(r.replaceAll("\\",gt.sep));let o=gt.relative(t,n);return o.startsWith(`..${gt.sep}`)||o===".."||gt.isAbsolute(o)?gc(gt.normalize(r)):gc(gt.relative(t,gt.resolve(n,r)))}async function t2(e,t=process.cwd(),n=process.cwd()){let r=[];for(let o of e){let i=gt.isAbsolute(o.pattern),s=await Hz(o.pattern,{cwd:n,absolute:i,onlyFiles:!0,dot:!0,unique:!0,followSymbolicLinks:!0}),a=[...new Set(s.map(c=>wm(c,t,n)))].sort((c,l)=>c.localeCompare(l));for(let c of a)r.push({path:c,scope:o.scope,note:o.note})}return r}function n2(e,t,n){if(t===void 0)return e;if(!n)throw new g("--note requires --add or --add-glob in the same invocation (the note annotates the links being added)",_.USAGE);let r=t.trim();return r.length===0?e:e.map(o=>o.note===void 0?{...o,note:r}:o)}function r2(e){return`${e.path}::${e.scope}`}function pE(e){return[...e].sort((t,n)=>{let r=t.path.localeCompare(n.path);return r!==0?r:t.scope.localeCompare(n.scope)})}function _E(e){return[...new Map(e.map(t=>[r2(t),t])).values()].map(t=>({...t,note:t.note?.trim()||void 0}))}async function o2(e,t=process.cwd()){let n=[...new Set(e)].sort((a,c)=>a.localeCompare(c)),r=[],o=[],i=[],s=[];for(let a of n){if(Xi(a)){s.push(a.trim());continue}let c=gt.isAbsolute(a)?a:gt.resolve(t,a);try{(await zz.stat(c)).isFile()?r.push(a):i.push(a)}catch(l){if(typeof l=="object"&&l!==null&&"code"in l&&yt(l)){o.push(a);continue}i.push(a)}}return{checked:n.length,existing_files:r,missing_paths:o,non_file_paths:i,remote_references:s}}function i2(e,t,n,r){let o=0;for(let s=0;s<e.length;s+=1){let a=Zi(e[s].path,r);a!==e[s].path&&(e[s]={...e[s],path:a},o+=1)}return{adds:t.map(s=>{let a=Zi(s.path,r);return a!==s.path&&(o+=1),{...s,path:a}}),removes:n.map(s=>Zi(s,r)),count:o}}function s2(e,t,n,r){let o=_E(e);for(let i of t){let s=o.findIndex(a=>a.path===i.path&&a.scope===i.scope);s<0?o.push(i):i.note!==void 0&&(o[s]={...o[s],note:i.note})}if(n.length>0)for(let i=o.length-1;i>=0;i-=1)n.includes(o[i].path)&&o.splice(i,1);return r?o:pE(o)}async function fE(e){let t=e.artifacts.map(n=>n.path);return{id:e.id,artifacts:e.artifacts,changed:e.changed,count:e.artifacts.length,migrations_applied:e.migrationsApplied&&e.migrationsApplied>0?e.migrationsApplied:void 0,validation:e.options.validatePaths||e.changed?await o2(t,e.workspaceRoot):void 0}}async function hc(e,t,n,r){let{metadataKey:o}=r,i=ti(),s=X(process.cwd(),n.path),a=vn(s),c=process.cwd();await je(s);let l=await re(s),d=ge(l,Y()),u=await i.resolveList(t.add,"--add"),f=await i.resolveList(t.addGlob,"--add-glob"),m=await i.resolveList(t.remove,"--remove"),p=await i.resolveList(t.migrate,"--migrate"),w=Yz(u,r.bareNoun).map(z=>({...z,path:wm(z.path,a,c)})),h=Xz(f),b=await t2(h,a,c),v=n2([...w,...b],t.note,w.length>0||h.length>0),I=Zz(m).map(z=>wm(z,a,c)),A=Qz(p);if(e2(v,I,A),!(v.length>0||I.length>0||A.length>0)){let z=await ze(s,e,l.id_prefix,l.item_format,d.type_to_folder);if(!z)throw new g(`Item ${e} not found`,_.NOT_FOUND);let pe=(await Ye(z,{schema:l.schema})).document.metadata[o]??[];return fE({id:z.id,artifacts:pe,changed:!1,options:t,workspaceRoot:a})}let L=Ie(t.author,l.author_default),E=await hr({pmRoot:s,settings:l,id:e,op:r.op,author:L,message:t.message,force:t.force,skipNoop:!0,mutate(z){let D=z.metadata,pe=D[o]??[],oe=[...pe],Ee=i2(oe,v,I,A),Wt=s2(oe,Ee.adds,Ee.removes,r.supportsAppendStable&&t.appendStable===!0);Wt.length>0?D[o]=Wt:delete D[o];let Vt=!De(pe,Wt);return{changedFields:Vt?[o]:[],warnings:Vt&&Ee.count>0?[`path_migrations_applied:${Ee.count}`]:[]}}}),N=E.item[o]??[],G=E.warnings.find(z=>z.startsWith("path_migrations_applied:")),T=G?Number(G.slice(24)):0;return fE({id:E.item.id,artifacts:N,changed:E.changedFields.includes(o),migrationsApplied:T,options:t,workspaceRoot:a})}function yc(e,t){let n={};for(let[r,o]of Object.entries(e))n[r==="artifacts"?t:r]=o;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]="aef928ec-4a5b-5614-bb5c-cbf63f891845")}catch{}})();async function gE(e,t,n){let r=await hc(e,t,n,{metadataKey:"docs",op:"docs_add",bareNoun:"doc",supportsAppendStable:!1});return yc(r,"docs")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1d4534aa-5a56-5a76-8971-aa3ba6c52e59")}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]="573da024-c791-5ff2-b3ee-3529804bab43")}catch{}})();async function hE(e,t,n){let r=await hc(e,t,n,{metadataKey:"files",op:"files_add",bareNoun:"file",supportsAppendStable:!0});return yc(r,"files")}import{readFileSync as a2}from"node:fs";import wc 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]="e69d7d9b-9ae8-5337-9ea3-a8e40a62d3af")}catch{}})();var c2=new Set(["get","history","restore","update","close","delete","append","claim","release","comments","notes","learnings","files","docs","deps","test"]),bE=new Set(["--pm-path","--path","--author"]),l2={get:new Set(["--depth","--fields","--tree-depth","--tree_depth","--at","--format"]),history:new Set(["--limit","--field","--format"]),restore:new Set(["--message"]),update:new Set(["--title","-t","--description","-d","--body","-b","--status","-s","--close-reason","--close_reason","--priority","-p","--type","--tags","--add-tags","--add_tags","--remove-tags","--remove_tags","--deadline","--estimated-minutes","--estimate","--estimated_minutes","--acceptance-criteria","--ac","--acceptance_criteria","--definition-of-ready","--definition_of_ready","--order","--rank","--goal","--objective","--value","--impact","--outcome","--why-now","--why_now","--message","--assignee","--parent","--reviewer","--risk","--confidence","--sprint","--release","--blocked-by","--blocked_by","--blocked-reason","--blocked_reason","--unblock-note","--unblock_note","--reporter","--severity","--environment","--repro-steps","--repro_steps","--resolution","--expected-result","--expected_result","--expected","--actual-result","--actual_result","--actual","--affected-version","--affected_version","--fixed-version","--fixed_version","--component","--regression","--customer-impact","--customer_impact","--dep","--dep-remove","--dep_remove","--comment","--note","--learning","--file","--test","--doc","--reminder","--event","--type-option","--type_option","--field","--unset","--body-file"]),close:new Set(["--reason","-r","--close-reason","--duplicate-of","-d","--message","-m","--validate-close","--resolution","--expected-result","--expected_result","--expected","--actual-result","--actual_result","--actual"]),delete:new Set(["--message"]),append:new Set(["--body","--text","--message"]),claim:new Set(["--assignee","--message","--type","--tag","--priority","--assignee-filter","--parent","--sprint","--release","--max-attempts"]),release:new Set(["--assignee","--message"]),comments:new Set(["--add","--body","--comment","--file","--edit","--delete","--limit","--message"]),notes:new Set(["--add","--file","--edit","--delete","--limit","--message"]),learnings:new Set(["--add","--file","--edit","--delete","--limit","--message"]),files:new Set(["--add","--add-glob","--remove","--migrate","--note","--message"]),docs:new Set(["--add","--add-glob","--remove","--migrate","--note","--message"]),deps:new Set(["--format","--max-depth","--collapse","--node-limit","--edge-limit","--token-budget","--cursor","--direction","--kind"]),test:new Set(["--add","--add-json","--remove","--match","--only-index","--timeout","--env-set","--env-clear","--pm-context","--message"])},d2=new Set(["-p","--package"]),u2=new Set(["-c","--call"]),f2=new Set(["-c","-C","--config","--dir","--filter","--workspace-dir"]),m2=new Set(["-C","--prefix","--userconfig","--cache"]);var p2=new Set(["exec","x"]);function _2(e){return e.split(/&&|\|\||\||;/).map(t=>t.trim()).filter(t=>t.length>0)}function g2(e,t=process.cwd()){let n=h2(e.split(" ").filter(s=>s.length>0));if(n.length===0)return null;let[r,...o]=n;if(yE(r)||wE(r,t))return o;if(r==="node"&&o[0]&&wE(o[0],t))return o.slice(1);let i=r==="npx"||r==="bunx"?bm(o):r==="pnpm"?b2(o):r==="npm"?v2(o):null;return i&&(yE(i.command)||w2(i.command))?i.args:null}var vE=(e,t="pm")=>{let n=t.trim().toLowerCase(),r=n.length;for(;r>0&&n[r-1]==="-";)r-=1;let o=n.slice(0,r);if(o.length===0)return[];let i=e.trim().replaceAll("\\","/").replaceAll('"',"").replaceAll("'","").replaceAll(/\s+/g," ").toLowerCase(),s=new Set;for(let a of _2(i)){let c=g2(a),l=c?k2(c):null,d=l&&c2.has(l.subcommand)?E2(l.remaining,l2[l.subcommand]):void 0,u=d?.trim().toLowerCase();u?.startsWith(`${o}-`)===!0&&u.length>o.length+1&&s.add(d)}return[...s].sort((a,c)=>a.localeCompare(c))};function h2(e){let t=0;for(e[t]==="env"&&(t+=1);t<e.length;){let n=e[t];if(/^(?:[a-z_][a-z0-9_]*|\$env:[a-z_][a-z0-9_]*)=.*/.test(n)){t+=1;continue}break}return e.slice(t)}function yE(e){return e==="pm"||e==="pm.cmd"||e==="pm.exe"||e.endsWith("/pm")||e.endsWith("/pm.cmd")||e.endsWith("/pm.exe")}function y2(e){let t=e.trim();if(!t.startsWith("@")){let o=t.indexOf("@");return o===-1?t:t.slice(0,o)}let n=t.indexOf("/");if(n===-1)return t;let r=t.indexOf("@",n+1);return r===-1?t:t.slice(0,r)}function w2(e){let t=y2(e);return t==="pm-cli"||t.endsWith("/pm-cli")||e==="pm-cli"||e.endsWith("/pm-cli")}function wE(e,t=process.cwd()){let n=e.replaceAll("\\","/");if(n!=="dist/cli.js"&&n!=="./dist/cli.js"&&!n.endsWith("/dist/cli.js"))return!1;let r=wc.resolve(t,e);try{return JSON.parse(a2(wc.join(wc.dirname(wc.dirname(r)),"package.json"),"utf8")).name==="@unbrained/pm-cli"}catch{return!1}}function bm(e){let t=0;for(;t<e.length;){let r=e[t];if(r==="--"){t+=1;break}if(!r.startsWith("-"))break;let o=/^(?:-c|--call)=(.*)$/.exec(r);if(o){let i=o[1];return i?{command:i,args:e.slice(t+1)}:null}if(u2.has(r)){t+=1;break}t+=d2.has(r)&&!r.includes("=")?2:1}let n=e[t];return n?{command:n,args:e.slice(t+1)}:null}function kE(e,t){let n=0;for(;n<e.length;){let r=e[n];if(r==="--"){n+=1;continue}if(r.startsWith("-")){if(r.includes("=")){n+=1;continue}if(t.has(r)){n+=2;continue}n+=1;continue}return{subcommand:r,args:e.slice(n+1)}}return null}function b2(e){let t=kE(e,f2);return t?.subcommand!=="dlx"?null:bm(t.args)}function v2(e){let t=kE(e,m2);return!t||!p2.has(t.subcommand)?null:bm(t.args)}function k2(e){let t=0;for(;t<e.length;){let n=e[t];if(n==="--"){t+=1;continue}if(n.startsWith("-")){if(bE.has(n)){t+=2;continue}t+=1;continue}return{subcommand:n,remaining:e.slice(t+1)}}return null}function E2(e,t=new Set){for(let n=0;n<e.length;n+=1){let r=e[n];if(r==="--")return e[n+1];if(!r.startsWith("-"))return r;!r.includes("=")&&(bE.has(r)||t.has(r))&&(n+=1)}}import{execFile as S2}from"node:child_process";import{readFile as T2}from"node:fs/promises";import A2 from"node:path";import{promisify as I2}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eeb9bc22-b9e1-5449-9ad0-fbb1a14fb09d")}catch{}})();var C2=I2(S2),vm=1,O2="linked-test-trust.json";function x2(e){return A2.join(Ls(e),O2)}function EE(){return{version:vm,acknowledged:{}}}async function R2(e){try{let t=JSON.parse(await T2(x2(e),"utf8"));return t.version!==vm||typeof t.acknowledged!="object"||t.acknowledged===null||Array.isArray(t.acknowledged)?EE():{version:vm,acknowledged:t.acknowledged}}catch{return EE()}}async function SE(e=process.cwd()){let t=process.env.GITHUB_HEAD_REF?.trim()||process.env.GITHUB_REF_NAME?.trim();if(t&&t!=="merge")return t;try{let{stdout:n}=await C2("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:e,encoding:"utf8",windowsHide:!0,timeout:1e4}),r=n.trim();return r.length===0?void 0:r}catch{return}}function TE(e=process.cwd()){return process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||e}function N2(e){return e===null||typeof e!="object"?!1:typeof e.author=="string"&&e.author.trim().length>0&&typeof e.created_at=="string"&&ht(e.created_at)&&(e.source_kind==="local_mutation"||e.source_kind==="merge_union")}function Qi(e,t){return{...e?{source_ref:e}:{},...t?{current_source_ref:t}:{}}}function D2(e){return Pe(O({command:e.command??null,path:e.path??null,scope:e.scope,pm_context_mode:e.pm_context_mode??null,workspace_context_mode:e.workspace_context_mode??null,env_set:e.env_set??null,env_clear:e.env_clear??null,shared_host_safe:e.shared_host_safe??null,provenance:e.provenance??null,provenance_invalid:e.provenance_invalid??null}))}function P2(e,t,n){let r=D2(e),o=e.provenance?.source_ref;if(e.provenance===void 0&&e.provenance_invalid!==!0)return{fingerprint:r,trusted:!0,reason:"legacy"};let i=Object.hasOwn(n.acknowledged,r);return e.provenance_invalid===!0||!N2(e.provenance)?i?{fingerprint:r,trusted:!0,reason:"acknowledged",...Qi(void 0,t)}:{fingerprint:r,trusted:!1,reason:"invalid_provenance",...Qi(void 0,t)}:e.provenance.source_kind==="local_mutation"&&o===void 0?{fingerprint:r,trusted:!0,reason:"local_mutation",...Qi(void 0,t)}:e.provenance.source_kind==="local_mutation"&&o!==void 0&&o===t?{fingerprint:r,trusted:!0,reason:"local_source_ref",source_ref:o,current_source_ref:t}:i?{fingerprint:r,trusted:!0,reason:"acknowledged",...Qi(o,t)}:{fingerprint:r,trusted:!1,reason:"foreign_source_ref",...Qi(o,t)}}async function AE(e,t,n){let r=await R2(e);return t.map(o=>P2(o,n,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]="3ae38c0a-7f43-5457-b9a5-d23491a371ea")}catch{}})();async function IE(e){return e.includeBody?gr(e.pmRoot,e.settings.item_format,e.typeToFolder,e.warnings,e.settings.schema,{forceSourceScan:!0}):Ei(e.pmRoot,e.settings.item_format,e.typeToFolder,e.warnings,e.settings.schema)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42402d5d-8074-591f-98b4-75f479509cb4")}catch{}})();var L2=5;async function CE(e,t,n){let r=await yr(e,t),i=[["validate_history_drift_missing_streams",r.missingStreams.length],["validate_history_drift_unreadable_streams",r.unreadableStreams.length],["validate_history_drift_hash_mismatches",r.hashMismatches.length],["validate_history_drift_chain_mismatches",r.chainMismatches.length],["validate_history_drift_version_skews",r.versionSkews.length],["validate_history_drift_workspace_state_mismatches",r.workspaceStateMismatches.length],["validate_history_drift_workspace_state_missing",r.workspaceStateMissing.length],["validate_history_drift_workspace_state_unreadable",r.workspaceStateUnreadable.length]].filter(([,l])=>l>0).map(([l,d])=>`${l}:${d}`),s=n?Number.POSITIVE_INFINITY:L2,a=r.driftedItems.slice(0,s),c=r.identityDiscontinuities??[];return{check:{name:"history_drift",status:c.length>0?"error":i.length===0?"ok":"warn",ok:c.length===0&&i.length===0,details:{identity_discontinuities:c.slice(0,s),identity_discontinuities_count:c.length,identity_discontinuities_truncated:c.length>s,checked_items:t.length,drifted_items_count:r.driftedItems.length,drifted_items:a,drifted_items_truncated:a.length<r.driftedItems.length,counts:{missing_streams:r.missingStreams.length,unreadable_streams:r.unreadableStreams.length,hash_mismatches:r.hashMismatches.length,chain_mismatches:r.chainMismatches.length,version_skews:r.versionSkews.length,workspace_state_mismatches:r.workspaceStateMismatches.length,workspace_state_missing:r.workspaceStateMissing.length,workspace_state_unreadable:r.workspaceStateUnreadable.length},workspace_state_mismatches:r.workspaceStateMismatches,workspace_state_missing:r.workspaceStateMissing,workspace_state_unreadable:r.workspaceStateUnreadable,version_skews:r.versionSkews.slice(0,s)}},warnings: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]="c357729b-f316-51e7-9768-fc7bb4600e06")}catch{}})();function km(e,t){let n=e[0];if(e.length===1)return[n,n];let r=new Set(e),o=[n],i=new Set([n]),s=a=>{for(let c of(t.get(a)??[]).filter(l=>r.has(l))){if(c===n&&o.length>1)return o.push(n),!0;if(!i.has(c)){if(i.add(c),o.push(c),s(c))return!0;o.pop(),i.delete(c)}}return!1};return s(n)?[...o]:[...e,n]}function M2(e,t){if(typeof e!="string")return;let n=e.trim().toLowerCase();return n.length>0?t.get(n):void 0}function $2(e,t,n,r){for(let o of e.dependencies??[]){if(typeof o!="object"||o===null||typeof o.id!="string")continue;let i=r.resolve(o.kind);if(!i?.hierarchy)continue;let s=n.get(o.id.toLowerCase());s&&(i.hierarchyDirection==="source_parent"?t.get(s).push(e.id):t.get(e.id).push(s))}}function OE(e,t=dn()){let n=new Map(e.map(o=>[o.id.toLowerCase(),o.id])),r=new Map(e.map(o=>[o.id,[]]));for(let o of[...e].sort((i,s)=>i.id.localeCompare(s.id))){let i=r.get(o.id),s=M2(o.parent,n);s&&i.push(s),$2(o,r,n,t)}for(let[o,i]of r)r.set(o,[...new Set(i)].sort());return r}function xE(e,t,n=dn()){let r=Ki(e,s=>t?Hc(s,t):s==="closed"||s==="canceled",n),o=OE(e,n),i=r.cycles.map(s=>s.item_ids);return{cycle_count:i.length,active_cycle_count:r.cycles.filter(s=>!s.legacy_terminal).length,legacy_cycle_count:r.cycles.filter(s=>s.legacy_terminal).length,cycle_item_ids:[...new Set(i.flat())].sort(),cycle_sample_paths:i.map(s=>km(s,o).join("->")),cardinality_violation_count:r.cardinality_violations.length,active_cardinality_violation_count:r.cardinality_violations.filter(s=>!s.legacy_terminal).length,legacy_cardinality_violation_count:r.cardinality_violations.filter(s=>s.legacy_terminal).length,cardinality_violation_rows:r.cardinality_violations.map(s=>`${s.child_id}:${s.parent_ids.join(",")}:${s.legacy_terminal?"legacy":"active"}`),parent_divergence_count:r.divergences.length,active_parent_divergence_count:r.divergences.filter(s=>!s.legacy_terminal).length,legacy_parent_divergence_count:r.divergences.filter(s=>s.legacy_terminal).length,parent_divergence_rows:r.divergences.map(s=>`${s.child_id}:scalar=${s.scalar_parent_id}:dependencies=${s.dependency_parent_ids.join(",")}:${s.legacy_terminal?"legacy":"active"}`)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b32d3476-3270-555f-a684-80318df96527")}catch{}})();function Fn(e){return e.replaceAll("\\","/").replace(/^\.\/+/,"").replace(/^\/+/,"")}function Em(e){return Fn(e).replace(/\/+$/,"")}function Gt(e){let t=de(e);if(!t)return;let n=t.toLowerCase();if(!(n==="none"||n==="null"||n==="n/a"||n==="na"))return t}function Sm(e){let t=e.trim().replaceAll(/\s+/g," ");return t.length>120?`${t.slice(0,117)}...`: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]="1ffaaceb-cc25-5d2f-a840-763ba8c7e81f")}catch{}})();var z2=["src","tests","docs"],H2=["README.md","PRD.md","CHANGELOG.md","AGENTS.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","LICENSE"],q2=new Set(["node_modules",".git",".cursor",".agents","dist","coverage"]),G2=["resolution","expected_result","actual_result"],B2=["default","tracked-all","tracked-all-strict"],RE=["core","strict","custom"],kc=["off","warn","error"],Im=["author","acceptance_criteria","estimated_minutes","close_reason"],LE=[...Im,"reviewer","risk","confidence","sprint","release"],Cm=Array.from(new Set(LE)),W2={author:"author",acceptance_criteria:"acceptance_criteria","acceptance-criteria":"acceptance_criteria",estimated_minutes:"estimated_minutes","estimated-minutes":"estimated_minutes",estimate:"estimated_minutes",close_reason:"close_reason","close-reason":"close_reason",reviewer:"reviewer",risk:"risk",confidence:"confidence",sprint:"sprint",release:"release"},V2={author:"validate_metadata_missing_author",acceptance_criteria:"validate_metadata_missing_acceptance_criteria",estimated_minutes:"validate_metadata_missing_estimate",close_reason:"validate_metadata_missing_close_reason",reviewer:"validate_metadata_missing_reviewer",risk:"validate_metadata_missing_risk",confidence:"validate_metadata_missing_confidence",sprint:"validate_metadata_missing_sprint",release:"validate_metadata_missing_release"},K2={author:"missing_author",acceptance_criteria:"missing_acceptance_criteria",estimated_minutes:"missing_estimated_minutes",close_reason:"closed_missing_close_reason",reviewer:"missing_reviewer",risk:"missing_risk",confidence:"missing_confidence",sprint:"missing_sprint",release:"missing_release"},J2={author:"missing_author_item_ids",acceptance_criteria:"missing_acceptance_criteria_item_ids",estimated_minutes:"missing_estimated_minutes_item_ids",close_reason:"closed_missing_close_reason_item_ids",reviewer:"missing_reviewer_item_ids",risk:"missing_risk_item_ids",confidence:"missing_confidence_item_ids",sprint:"missing_sprint_item_ids",release:"missing_release_item_ids"},Y2={author:"missing_author_truncated",acceptance_criteria:"missing_acceptance_criteria_truncated",estimated_minutes:"missing_estimated_minutes_truncated",close_reason:"closed_missing_close_reason_truncated",reviewer:"missing_reviewer_truncated",risk:"missing_risk_truncated",confidence:"missing_confidence_truncated",sprint:"missing_sprint_truncated",release:"missing_release_truncated"},X2=32*1024*1024,Z2=1e4,Om=40,Ot=5,Q2=4096,eH=255,tH=U2(j2);function ME(e){let t={};for(let[n,r]of Object.entries(e))Array.isArray(r)||r===!1&&n.endsWith("_truncated")||(t[n]=typeof r=="object"&&r!==null?ME(r):r);return t}function nH(e){return{...e,checks:e.checks.map(t=>({...t,details:ME(t.details)})),...e.fixes?{fixes:{mode:e.fixes.mode,auto_fix:e.fixes.auto_fix,prune_missing:e.fixes.prune_missing,planned_count:e.fixes.planned_count,applied_count:e.fixes.applied_count,gated_count:e.fixes.gated_count,failed_count:e.fixes.failed_count}}:{}}}function Sc(e,t){return Rt(e,t)??e}function es(e,t){return t.terminal_statuses.has(Sc(e,t))}function jn(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function bc(e,t){return e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function rH(e){let t=jn(Pc),n={blocked_reason:jn(Un.blocked_reason),resolution:jn(Un.resolution),actual_result:jn(Un.actual_result)},r=jn(e.validation.lifecycle_stale_blocker_reason_patterns),o={blocked_reason:jn(e.validation.lifecycle_closure_like_blocked_reason_patterns),resolution:jn(e.validation.lifecycle_closure_like_resolution_patterns),actual_result:jn(e.validation.lifecycle_closure_like_actual_result_patterns)};return{stale_blocker_reason_patterns:r,stale_blocker_reason_pattern_source:bc(r,t)?"default":"settings",closure_like_metadata_field_patterns:o,closure_like_metadata_field_pattern_sources:{blocked_reason:bc(o.blocked_reason,n.blocked_reason)?"default":"settings",resolution:bc(o.resolution,n.resolution)?"default":"settings",actual_result:bc(o.actual_result,n.actual_result)?"default":"settings"}}}function oH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"core";if(RE.includes(t))return t;throw new g(`Unknown --metadata-profile value "${e}". Supported values: ${RE.join(", ")}.`,_.USAGE)}function iH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(kc.includes(t))return t;throw new g(`Unknown --dependency-cycle-severity value "${e}". Supported values: ${kc.join(", ")}.`,_.USAGE)}function sH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(kc.includes(t))return t;throw new g(`Unknown --parent-cycle-severity value "${e}". Supported values: ${kc.join(", ")}.`,_.USAGE)}function aH(e){return[...new Set((e??[]).map(n=>n.trim().toLowerCase().replaceAll("-","_")))].map(n=>W2[n]).filter(n=>n!==void 0).sort((n,r)=>n.localeCompare(r))}function cH(e,t,n){let r=aH(n);return e==="core"?{profile:e,profile_source:t,required_fields:[...Im],configured_custom_fields:r,fallback_to_core:!1,warnings:[]}:e==="strict"?{profile:e,profile_source:t,required_fields:[...LE],configured_custom_fields:r,fallback_to_core:!1,warnings:[]}:r.length>0?{profile:e,profile_source:t,required_fields:r,configured_custom_fields:r,fallback_to_core:!1,warnings:[]}:{profile:e,profile_source:t,required_fields:[...Im],configured_custom_fields:r,fallback_to_core:!0,warnings:["validate_metadata_custom_profile_missing_required_fields:0"]}}var lH=new Set(["acceptance_criteria","estimated_minutes"]);function dH(e,t,n,r){return!r&&lH.has(t)&&es(e.status,n)?!1:t==="author"?!de(e.author):t==="acceptance_criteria"?!de(e.acceptance_criteria):t==="estimated_minutes"?!Number.isFinite(e.estimated_minutes):t==="close_reason"?Sc(e.status,n)===n.close_status&&!de(e.close_reason):t==="reviewer"?!de(e.reviewer):t==="risk"?!de(e.risk):t==="confidence"?typeof e.confidence=="number"?!Number.isFinite(e.confidence):!de(e.confidence):t==="sprint"?!de(e.sprint):!de(e.release)}function uH(e){if(e===void 0)return"default";let t=e.trim().toLowerCase();if(t.length===0||t==="default")return"default";if(t==="tracked-all"||t==="tracked_all")return"tracked-all";if(t==="tracked-all-strict"||t==="tracked_all_strict")return"tracked-all-strict";throw new g(`Unknown --scan-mode value "${e}". Supported values: ${B2.join(", ")}.`,_.USAGE)}function fH(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim();if(t)return Qe.resolve(t);let n=Qe.resolve(e);if(n.replaceAll("\\","/").endsWith("/.agents/pm"))return Qe.dirname(Qe.dirname(n));let o=Qe.resolve(process.cwd()),i=NE(n),s=NE(o),a=Qe.relative(i,s);return a.length===0||!a.startsWith("..")&&!Qe.isAbsolute(a)?n:o}function NE(e){try{return F2.native(e)}catch{return Qe.resolve(e)}}function mH(e,t){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"&&t.includes(e.code)}async function $E(e,t,n){let r=t.length>0?Qe.join(e,t):e,o;try{o=await Rm.readdir(r,{withFileTypes:!0})}catch(i){if(F(i))return;throw i}for(let i of o){if(i.name.startsWith("."))continue;let s=t.length>0?Qe.join(t,i.name):i.name;if(i.isDirectory()){if(q2.has(i.name))continue;await $E(e,s,n);continue}i.isFile()&&n.push(Fn(s))}}async function DE(e){let t=[];for(let n of z2)await $E(e,n,t);for(let n of H2){let r=Qe.join(e,n);try{(await Rm.stat(r)).isFile()&&t.push(Fn(n))}catch{}}return[...new Set(t)].sort((n,r)=>n.localeCompare(r))}async function pH(e){try{let{stdout:t}=await tH("git",["ls-files","-z"],{cwd:e,encoding:"utf8",maxBuffer:X2,windowsHide:!0,timeout:Z2}),n=t.split("\0").map(r=>Fn(r)).filter(r=>r.length>0);return[...new Set(n)].sort((r,o)=>r.localeCompare(o))}catch{return null}}function _H(e,t){let n=new Set,r=Em(Er);r.length>0&&n.add(r);let o=Em(Qe.relative(t,e));return o.length>0&&!o.startsWith("..")&&n.add(o),[...n].sort((i,s)=>i.localeCompare(s))}function PE(e,t){for(let n of t)if(e===n||e.startsWith(`${n}/`))return!0;return!1}async function gH(e,t){if(t==="tracked-all"||t==="tracked-all-strict"){let r=await pH(e);if(r)return{requestedMode:t,appliedMode:t,source:"tracked-git",candidateFiles:r,candidateTotal:r.length,candidateScanned:r.length};let o=await DE(e);return{requestedMode:t,appliedMode:"default",source:"tracked-all-fallback-default",candidateFiles:o,candidateTotal:o.length,candidateScanned:o.length}}let n=await DE(e);return{requestedMode:t,appliedMode:"default",source:"default-curated",candidateFiles:n,candidateTotal:n.length,candidateScanned:n.length}}function me(e,t=Ot){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function vr(e,t){if(t)return{values:e,truncated:!1,total:e.length};let n=me(e,Om);return{values:n.values,truncated:n.truncated,total:e.length}}var hH={resolution:"--resolution",expected_result:"--expected-result",actual_result:"--actual-result"},yH={resolution:"Describe how this item was resolved",expected_result:"Describe the expected result",actual_result:"Describe the actual result"};function wH(e){let t=e.missing_fields.map(n=>`${hH[n]} "${yH[n]}"`).join(" ");return`pm update ${e.id} ${t} --message "Backfill resolution metadata"`}function bH(e,t){let n=e.details?.missing_resolution_remediation_hints,r=Array.isArray(n)&&n.length>0,o=r?n.filter(s=>typeof s=="string"):cb(t);if(o.length===0)return;let i=r&&e.details?.missing_resolution_remediation_hints_truncated===!0;e.details={...e.details,fix_hints:o,...i?{fix_hints_truncated:!0}:{}}}function vH(e){let t=new Set;return e.checkCompleteness&&t.add("completeness"),e.checkMetadata&&t.add("metadata"),e.checkResolution&&t.add("resolution"),(e.checkLifecycle||e.checkStaleBlockers)&&t.add("lifecycle"),e.checkFiles&&t.add("files"),e.checkHistoryDrift&&t.add("history_drift"),e.checkCommandReferences&&t.add("command_references"),e.checkStorageIntegrity&&t.add("storage_integrity"),t.size===0?(e.autoFix&&(t.add("metadata"),t.add("resolution"),t.add("lifecycle")),e.pruneMissing&&t.add("files"),t.size===0&&(t.add("metadata"),t.add("resolution"),t.add("lifecycle"),t.add("files"),t.add("command_references"),t.add("history_drift"),t.add("format_version"),t.add("completeness"),t.add("storage_integrity")),t):(e.pruneMissing&&t.add("files"),t)}var kH="validate_metadata_duplicate_issue_codes";function EH(e,t){if(e.length===0)return{rows:[],truncated:!1,warnings:[]};let n=t?e.length:Ot,r=e.slice(0,n);return{rows:r.map(i=>({code:i.code,count:i.count,ids:i.ids,titles:i.titles,remediation_hint:`Items ${i.ids.join(", ")} share issue code "${i.code}"; rename or merge so each logical code maps to one item.`})),truncated:r.length<e.length,warnings:[`${kH}:${e.length}`]}}function SH(e,t,n){let r=Object.fromEntries(Cm.map(o=>[o,[]]));for(let o of e)for(let i of Cm)dH(o,i,t,n)&&r[i].push(o.id);return r}function TH(e,t,n){let r=[...e.warnings];for(let o of e.required_fields){let i=t[o];i.length>0&&r.push(`${V2[o]}:${i.length}`)}return r.push(...n),r}function AH(e,t){let n={};for(let r of e.required_fields){let o=t[r],i=o?o.length:0,s=K2[r];n[s]=i}return n}function IH(e,t,n){let r=[];for(let o of e.required_fields){let i=t[o];if(i)for(let s of i){let a=n.get(s)?.type,c=typeof a=="string"&&a.length>0?a:"Unknown";r.push({item_type:c,field:o})}}return r}function CH(e,t,n,r){for(let o of t.required_fields){let i=n[o];if(!i||i.length===0)continue;let s=J2[o],a=Y2[o];if(!s||!a)continue;let c=me(i,r?i.length:Ot);e[s]=c.values,e[a]=c.truncated}}function OH(e,t,n){if(!e.required_fields.includes("close_reason"))return[];let r=t.close_reason;return r?r.map(o=>({id:o,resolution:de(n.get(o)?.resolution)})):[]}function xH(e,t,n){if(!e.required_fields.includes("estimated_minutes"))return[];let r=t.estimated_minutes;return r?r.map(o=>({id:o,type:de(n.get(o)?.type)})):[]}function RH(e,t,n,r,o){let i=new Map(e.map(b=>[b.id,b])),s=t.profile==="strict",a=SH(e,n,s),c=tE(e,{configuredPrefixes:o}),l=EH(c,r),d=TH(t,a,l.warnings),u=AH(t,a),f=IH(t,a,i),m=nE(f),p={checked_items:e.length,metadata_profile:t.profile,metadata_profile_source:t.profile_source,metadata_profile_fallback_to_core:t.fallback_to_core,required_fields:[...t.required_fields],supported_required_fields:[...Cm],counts:u,missing_by_type:m,duplicate_issue_codes_count:c.length,duplicate_issue_codes:l.rows,duplicate_issue_codes_truncated:l.truncated};t.configured_custom_fields.length>0&&(p.configured_custom_required_fields=[...t.configured_custom_fields]),CH(p,t,a,r);let w=OH(t,a,i),h=xH(t,a,i);return{check:{name:"metadata",status:d.length===0?"ok":"warn",ok:d.length===0,details:p},warnings:d,closeReasonBackfillRows:w,estimateBackfillRows:h}}function NH(e,t,n){let r=new Set(t.terminal_done_statuses);r.add(t.close_status);let o=e.filter(f=>r.has(Sc(f.status,t))),i=[],s=[];for(let f of o){let m=G2.filter(p=>!de(f[p]));m.length!==0&&(i.push({id:f.id,missing_fields:m}),s.push({id:f.id,missing_fields:m,close_reason:de(f.close_reason)}))}let a=i.length>0?[`validate_resolution_missing_fields:${i.length}`]:[],c=n?Number.POSITIVE_INFINITY:Ot,l=me(i.map(f=>`${f.id}:${f.missing_fields.join(",")}`),c),d=i.map(f=>wH(f)),u=me(d,c);return{check:{name:"resolution",status:a.length===0?"ok":"warn",ok:a.length===0,details:{checked_closed_items:o.length,missing_resolution_items:i.length,missing_resolution_rows:l.values,missing_resolution_rows_truncated:l.truncated,missing_resolution_remediation_hints:u.values,missing_resolution_remediation_hints_truncated:u.truncated}},warnings:a,resolutionBackfillRows:s}}function DH(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function PH(e,t="pm",n=qn()){let r=new Set(e.map(i=>i.id)),o=[...e].sort((i,s)=>i.id.localeCompare(s.id));return new Map(o.map(i=>{let s=new Set,a=Gt(i.blocked_by);a&&r.has(a)&&s.add(a),(i.dependencies??[]).filter(l=>{let d=Gt(l.kind);return d!==void 0&&n.resolve(d)?.ordering===!0}).map(l=>Gt(l.id)).filter(l=>l!==void 0&&r.has(l)).forEach(l=>s.add(l));let c=Gt(i.definition_of_ready);return MH(c??"",t).filter(l=>r.has(l)).forEach(l=>s.add(l)),[i.id,[...s].sort((l,d)=>l.localeCompare(d))]}))}function LH(e,t,n){let r=xk(e,n?d=>es(d,n):void 0),o=r.active.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}`),i=r.legacy_terminal.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}:${d.holder_status}`),s=t?Number.POSITIVE_INFINITY:Ot,a=me(o,s),c=me(i,s),l=me(r.active.map(d=>d.source==="parent"?`pm update ${d.holder_id} --unset parent`:d.source==="blocked_by"?`pm update ${d.holder_id} --unset blocked_by`:`pm update ${d.holder_id} --replace-deps '<correct dependency edges>'`),s);return{check:{name:"dependency_references",status:o.length===0?"ok":"warn",ok:o.length===0,details:{checked_items:e.length,dangling_reference_count:o.length+i.length,active_dangling_reference_count:o.length,dangling_reference_rows:a.values,dangling_reference_rows_truncated:a.truncated,legacy_terminal_dangling_reference_count:i.length,legacy_closed_dangling_reference_count:r.legacy_terminal.filter(d=>d.holder_status==="closed").length,legacy_terminal_dangling_reference_rows:c.values,legacy_terminal_dangling_reference_rows_truncated:c.truncated,no_active_blocker_sentinel_count:r.no_active_blocker_sentinels.length,remediation_hints:l.values,remediation_hints_truncated:l.truncated}},warnings:o.length>0?[`validate_dangling_dependency_references:${o.length}`]:[]}}function MH(e,t="pm"){let n=(t.trim().toLowerCase()||"pm").replace(/-+$/g,""),r=new RegExp(`(?:^|[^a-z0-9-])(${DH(n)}-[a-z0-9][a-z0-9-]*)`,"gi");return[...new Set([...e.matchAll(r)].map(o=>o[1].toLowerCase()))].sort((o,i)=>o.localeCompare(i))}function $H(e){let t=0,n=new Map,r=new Map,o=[],i=new Set,s=[],a=d=>{n.set(d,t),r.set(d,t),t+=1,o.push(d),i.add(d);for(let f of e.get(d)??[])n.has(f)?i.has(f)&&r.set(d,Math.min(r.get(d),n.get(f))):(a(f),r.set(d,Math.min(r.get(d),r.get(f))));if(r.get(d)!==n.get(d))return;let u=[];for(;o.length>0;){let f=o.pop();if(i.delete(f),u.push(f),f===d)break}u.sort((f,m)=>f.localeCompare(m)),s.push(u)},c=[...e.keys()].sort((d,u)=>d.localeCompare(u));for(let d of c)n.has(d)||a(d);return s.filter(d=>{if(d.length>1)return!0;let u=d[0];return(e.get(u)??[]).includes(u)}).sort((d,u)=>d[0].localeCompare(u[0])||d.length-u.length||d.join(",").localeCompare(u.join(",")))}function FH(e,t="pm"){let n=PH(e,t),r=$H(n),o=[...new Set(r.flat())].sort((s,a)=>s.localeCompare(a)),i=r.map(s=>km(s,n).join("->"));return{cycle_count:r.length,cycle_item_ids:o,cycle_sample_paths:i}}function jH(e){return e.startsWith("docs/")?"docs_unowned":e.startsWith("tests/")?"tests_unowned":e.startsWith("src/")?"source_unowned":e.endsWith(".md")?"docs_unowned":"unlinked_existing"}function Ec(e){let t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function UH(e,t){let n=Ec(e).split("/").filter(Boolean),r=Ec(t).split("/").filter(Boolean),o=0;for(;o<n.length&&o<r.length&&n[o]===r[o];)o+=1;return o}function zH(e,t){let n=Ec(t),r=Ec(e),o=t.endsWith("/")?t:`${t}/`,i=e.startsWith(o),s=n.length>0&&n===r,a=UH(e,t);return!i&&!s&&a===0?null:i?{score:t.length+1e3,confidence:"path_prefix"}:s?{score:a+500,confidence:"same_directory"}:{score:a,confidence:"shared_directory"}}function HH(e,t,n){return e===void 0||n>e.score||n===e.score&&t.id.localeCompare(e.item.id)<0}function qH(e,t,n){let r=t==="docs_unowned"?"docs":"files",o;return n.flatMap(i=>(r==="docs"?i.docs??[]:i.files??[]).map(s=>({item:i,link:s}))).forEach(({item:i,link:s})=>{if(s.scope!=="project")return;let a=Fn(s.path);if(a.length===0||a===e)return;let c=zH(e,a);c!==null&&HH(o,i,c.score)&&(o={item:i,score:c.score,confidence:c.confidence})}),o?{id:o.item.id,type:o.item.type,title:o.item.title,status:o.item.status,confidence:o.confidence}:null}function GH(e,t){return e.map(n=>{let r=jH(n),o=r==="docs_unowned"?"docs":"files",i=qH(n,r,t),s=i?.id??"<id>";return{path:n,classification:r,owner_candidate:i,remediation_hint:`pm ${o} ${s} --add path=${n},scope=project,note="<why this artifact belongs to the item>"`}})}function BH(e){return e.map(t=>`${t.path}:${t.classification} owner_candidate=${t.owner_candidate?.id??"unowned"} hint=${JSON.stringify(t.remediation_hint)}`)}function WH(e,t){return Object.entries(t.closure_like_metadata_field_patterns).filter(([n,r])=>{let o=Gt(e[n]);return o?r.some(i=>o.toLowerCase().includes(i)):!1}).map(([n])=>n).sort((n,r)=>n.localeCompare(r))}function VH(e,t,n,r,o){let i=Gt(t.parent),s=i?n.get(r.get(i.toLowerCase())??i):void 0;return{id:e.id,parent_id:t.id,grandparent_id:s?.id,grandparent_active:s!==void 0&&!es(s.status,o)}}function KH(e,t,n,r){let o=Gt(e.blocked_by),i=Gt(e.blocked_reason),s=i?.toLowerCase(),a=Sc(e.status,n),c=[];return t.has(a)?(!o&&!i&&c.push("blocked_status_missing_blocker_context"),s?.includes("no active blocker")&&c.push("blocked_status_reason_reports_no_active_blocker"),s&&r.stale_blocker_reason_patterns.some(l=>s.includes(l))&&c.push("blocked_status_reason_matches_stale_pattern"),c):(o&&c.push("non_blocked_status_has_blocked_by"),i&&c.push("non_blocked_status_has_blocked_reason"),c)}function JH(e,t,n,r){let o=new Map(e.map(c=>[c.id,c])),i=new Map(e.map(c=>[c.id.toLowerCase(),c.id])),s=n.blocked_statuses.size>0?n.blocked_statuses:new Set(["blocked"]),a={activeItems:e.filter(c=>!es(c.status,n)),closureLikeRows:[],terminalParentRows:[],terminalParentFixRows:[],staleBlockerRows:[]};for(let c of a.activeItems){let l=WH(c,r);l.length>0&&a.closureLikeRows.push({id:c.id,fields:l});let d=Gt(c.parent),u=d?o.get(i.get(d.toLowerCase())??d):void 0;if(u&&es(u.status,n)&&(a.terminalParentRows.push({id:c.id,parent_id:u.id,parent_status:u.status}),a.terminalParentFixRows.push(VH(c,u,o,i,n))),t){let f=KH(c,s,n,r);f.length>0&&a.staleBlockerRows.push({id:c.id,status:c.status,reasons:[...new Set(f)].sort((m,p)=>m.localeCompare(p))})}}return a}function YH(e){e.closureLikeRows.sort((t,n)=>t.id.localeCompare(n.id)),e.terminalParentRows.sort((t,n)=>t.id.localeCompare(n.id)||t.parent_id.localeCompare(n.parent_id)),e.terminalParentFixRows.sort((t,n)=>t.id.localeCompare(n.id)||t.parent_id.localeCompare(n.parent_id)),e.staleBlockerRows.sort((t,n)=>t.id.localeCompare(n.id))}function vc(e,t,n){return n<=0||t==="off"?null:`${t==="error"?`${e}_error`:e}:${n}`}function Tm(e,t,n){return n>0&&t!=="off"?`${e}:${n}`:null}function XH(e,t,n,r,o){let i=[];e.closureLikeRows.length>0&&i.push(`validate_lifecycle_active_closure_like_metadata:${e.closureLikeRows.length}`),e.terminalParentRows.length>0&&i.push(`validate_lifecycle_active_terminal_parent:${e.terminalParentRows.length}`),t&&e.staleBlockerRows.length>0&&i.push(`validate_lifecycle_stale_blockers:${e.staleBlockerRows.length}`);let s=vc("validate_lifecycle_dependency_cycles",n,o.dependencyCycles),a=vc("validate_hierarchy_parent_cycle",r,o.activeHierarchyCycles),c=vc("validate_hierarchy_cardinality_violation",r,o.activeHierarchyCardinality),l=vc("validate_hierarchy_parent_divergence",r,o.activeHierarchyDivergence),d=Tm("validate_legacy_hierarchy_parent_cycle",r,o.legacyHierarchyCycles),u=Tm("validate_legacy_hierarchy_cardinality_violation",r,o.legacyHierarchyCardinality),f=Tm("validate_legacy_hierarchy_parent_divergence",r,o.legacyHierarchyDivergence);return[...i,...s?[s]:[],...a?[a]:[],...c?[c]:[],...l?[l]:[],...d?[d]:[],...u?[u]:[],...f?[f]:[]]}function ZH(e){let t=Fn(e);return t.length>Q2||t.split(/[\\/]/).some(n=>n.length>eH)}async function QH(e,t){let n=Qe.isAbsolute(t)?t:Qe.resolve(e,t);if(ZH(n))return!1;try{let r=await Rm.stat(n);return!r.isFile()&&!r.isDirectory()}catch(r){return mH(r,["ENOENT","ENOTDIR"])}}async function eq(e,t){let n={linkedProjectPaths:new Set,remoteLinkedPaths:new Set,missingLinkedPaths:[],staleLinkRows:[]},r=e.flatMap(o=>[...(o.files??[]).map(i=>({item:o,artifact:i,link_kind:"files"})),...(o.docs??[]).map(i=>({item:o,artifact:i,link_kind:"docs"}))]);for(let{item:o,artifact:i,link_kind:s}of r){if(i.scope!=="project")continue;if(Xi(i.path)){n.remoteLinkedPaths.add(i.path.trim());continue}let a=Fn(i.path);a.length!==0&&(n.linkedProjectPaths.add(a),await QH(t,i.path)&&(n.missingLinkedPaths.push(a),n.staleLinkRows.push({item_id:o.id,path:a,link_kind:s})))}return n}function tq(e,t,n,r,o,i){let s=r==="tracked-all-strict",a=s&&!o,c=o||s,l=c?[]:_H(t,n),d=l.length===0?[]:e.candidateFiles.filter(m=>PE(m,l)),u=l.length===0?e.candidateFiles:e.candidateFiles.filter(m=>!PE(m,l)),f={};if(d.length>0){let m=vr(d,i);f.pm_internals={count:d.length,paths:m.values,paths_truncated:m.truncated,paths_total:m.total}}return{strictTrackedAllMode:s,strictModeForcesPmInternals:a,includePmInternalsEffective:c,pmInternalCandidatePrefixes:l,excludedPmInternalPaths:d,candidateFiles:u,excludedByReason:f}}function nq(e,t,n,r,o,i,s,a="pm"){let c=JH(e,t,o,i);YH(c);let l=FH(c.activeItems,a),d=xE(e,o),u=pc(o,e,s?Number.POSITIVE_INFINITY:Ot),f=[...XH(c,t,n,r,{dependencyCycles:l.cycle_count,activeHierarchyCycles:d.active_cycle_count,activeHierarchyCardinality:d.active_cardinality_violation_count,activeHierarchyDivergence:d.active_parent_divergence_count,legacyHierarchyCycles:d.legacy_cycle_count,legacyHierarchyCardinality:d.legacy_cardinality_violation_count,legacyHierarchyDivergence:d.legacy_parent_divergence_count}),..._c(u)],m=s?Number.POSITIVE_INFINITY:Ot,p=me(c.closureLikeRows.map(N=>`${N.id}:${N.fields.join(",")}`),m),w=me(c.terminalParentRows.map(N=>`${N.id}:${N.parent_id}:${N.parent_status}`),m),h=me(c.staleBlockerRows.map(N=>`${N.id}:${N.status}:${N.reasons.join(",")}`),m),b=me(l.cycle_item_ids,m),v=me(l.cycle_sample_paths,m),I=me(d.cycle_item_ids,m),A=me(d.cycle_sample_paths,m),C=me(d.cardinality_violation_rows,m),L=me(d.parent_divergence_rows,m),E=l.cycle_count>0&&n==="error"||(d.active_cycle_count>0||d.active_cardinality_violation_count>0||d.active_parent_divergence_count>0)&&r==="error";return{check:{name:"lifecycle",status:E?"error":f.length===0?"ok":"warn",ok:!E&&f.length===0,details:{checked_active_items:c.activeItems.length,lifecycle_status_roles:u,active_closure_like_metadata_items:c.closureLikeRows.length,active_closure_like_metadata_rows:p.values,active_closure_like_metadata_rows_truncated:p.truncated,active_terminal_parent_items:c.terminalParentRows.length,active_terminal_parent_rows:w.values,active_terminal_parent_rows_truncated:w.truncated,stale_blocker_checks_enabled:t,stale_blocker_items:c.staleBlockerRows.length,stale_blocker_rows:h.values,stale_blocker_rows_truncated:h.truncated,dependency_cycle_severity_policy:n,dependency_cycle_count:l.cycle_count,dependency_cycle_item_count:l.cycle_item_ids.length,dependency_cycle_item_ids:b.values,dependency_cycle_item_ids_truncated:b.truncated,dependency_cycle_sample_paths:v.values,dependency_cycle_sample_paths_truncated:v.truncated,parent_cycle_severity_policy:r,parent_cycle_count:d.cycle_count,active_parent_cycle_count:d.active_cycle_count,legacy_parent_cycle_count:d.legacy_cycle_count,parent_cycle_item_count:d.cycle_item_ids.length,parent_cycle_item_ids:I.values,parent_cycle_item_ids_truncated:I.truncated,parent_cycle_sample_paths:A.values,parent_cycle_sample_paths_truncated:A.truncated,hierarchy_cardinality_violation_count:d.cardinality_violation_count,active_hierarchy_cardinality_violation_count:d.active_cardinality_violation_count,legacy_hierarchy_cardinality_violation_count:d.legacy_cardinality_violation_count,hierarchy_cardinality_violation_rows:C.values,hierarchy_cardinality_violation_rows_truncated:C.truncated,hierarchy_parent_divergence_count:d.parent_divergence_count,active_hierarchy_parent_divergence_count:d.active_parent_divergence_count,legacy_hierarchy_parent_divergence_count:d.legacy_parent_divergence_count,hierarchy_parent_divergence_rows:L.values,hierarchy_parent_divergence_rows_truncated:L.truncated,stale_blocker_reason_patterns:[...i.stale_blocker_reason_patterns],stale_blocker_reason_pattern_source:i.stale_blocker_reason_pattern_source,closure_like_blocked_reason_patterns:[...i.closure_like_metadata_field_patterns.blocked_reason],closure_like_blocked_reason_pattern_source:i.closure_like_metadata_field_pattern_sources.blocked_reason,closure_like_resolution_patterns:[...i.closure_like_metadata_field_patterns.resolution],closure_like_resolution_pattern_source:i.closure_like_metadata_field_pattern_sources.resolution,closure_like_actual_result_patterns:[...i.closure_like_metadata_field_patterns.actual_result],closure_like_actual_result_pattern_source:i.closure_like_metadata_field_pattern_sources.actual_result}},warnings:f,terminalParentFixRows:c.terminalParentFixRows}}async function rq(e,t,n,r,o,i,s=ct(_e.schema)){let a=await eq(e,t),c=new Map(e.map(D=>[D.id,D])),l=[...new Set(a.missingLinkedPaths)].sort((D,pe)=>D.localeCompare(pe)),d=await gH(t,r),u=tq(d,n,t,r,o,i),f=u.candidateFiles.filter(D=>!a.linkedProjectPaths.has(D)),m=GH(f,e),p=iE(l,u.candidateFiles),w=new Map(p.map(D=>[D.path,D.classification])),h=p.filter(D=>D.classification==="moved").length,b=a.staleLinkRows.map(D=>({...D,classification:w.get(D.path)??"deleted"})).sort((D,pe)=>D.item_id.localeCompare(pe.item_id)||D.path.localeCompare(pe.path)||D.link_kind.localeCompare(pe.link_kind)),v=[];u.strictModeForcesPmInternals&&v.push("validate_files_tracked_all_strict_forces_pm_internals"),f.length>0&&v.push(`validate_files_orphaned_paths:${f.length}`);let I=[...a.remoteLinkedPaths].sort((D,pe)=>D.localeCompare(pe)),A=vr(I,i),C=vr(l,i),L=vr(f,i),E=vr(m.map(D=>`${D.path}:${D.classification}:owner_candidate=${D.owner_candidate?.id??"unowned"}`),i),N=i?m:vr(BH(m),!1).values,G=vr(sE(p),i),z=lE(b,p,D=>c.get(D),s,i?1/0:Om);return z.active_missing_linked_paths_count>0&&v.push(`validate_files_missing_linked_paths:${z.active_missing_linked_paths_count}`),{check:{name:"files",status:v.length===0?"ok":"warn",ok:v.length===0,details:{workspace_root:t,scan_mode_requested:d.requestedMode,scan_mode_applied:d.appliedMode,strict_tracked_all_mode:u.strictTrackedAllMode,strict_mode_forces_pm_internals:u.strictModeForcesPmInternals,strict_mode_forces_pm_internals_notice:u.strictModeForcesPmInternals?"tracked-all-strict force-enables PM internals; pass --include-pm-internals to make inclusion explicit.":null,file_list_detail_mode:i?"full":"summary",file_list_summary_limit:Om,candidate_scan_source:d.source,include_pm_internals:u.includePmInternalsEffective,include_pm_internals_requested:o,pm_internal_candidate_prefixes:u.pmInternalCandidatePrefixes,pm_internal_excluded_count:u.excludedPmInternalPaths.length,excluded_total:u.excludedPmInternalPaths.length,excluded_by_reason:u.excludedByReason,linked_project_paths:a.linkedProjectPaths.size,remote_linked_paths_count:I.length,remote_linked_paths_total:A.total,remote_linked_paths:A.values,remote_linked_paths_truncated:A.truncated,candidate_total_raw:d.candidateTotal,candidate_scanned_raw:d.candidateScanned,candidate_total:u.candidateFiles.length,candidate_scanned:u.candidateFiles.length,scanned_candidate_files:u.candidateFiles.length,missing_linked_paths_count:l.length,missing_linked_paths_total:C.total,missing_linked_paths:C.values,missing_linked_paths_truncated:C.truncated,missing_linked_paths_moved_count:h,missing_linked_paths_deleted_count:p.filter(D=>D.classification==="deleted").length,missing_linked_paths_malformed_count:p.filter(D=>D.classification==="malformed").length,missing_linked_path_classifications:G.values,missing_linked_path_classifications_truncated:G.truncated,...z,orphaned_paths_count:f.length,orphaned_paths_total:L.total,orphaned_paths:L.values,orphaned_paths_truncated:L.truncated,orphaned_path_classifications:E.values,orphaned_path_classifications_truncated:E.truncated,orphaned_path_rows_count:m.length,orphaned_path_rows:N}},warnings:v,staleLinkPruneRows:b}}function oq(e,t){let n=[];return e.forEach(({item:r,linkedTest:o},i)=>{let s=t[i];if(s.trusted)return;let a=Sm(o.command??"");n.push(`${r.id}:${s.source_ref??"unknown"}->${s.current_source_ref??"unknown"}:${a}`)}),n}async function iq(e,t,n,r){let o=new Set(e.map(C=>C.id.toLowerCase())),i=0,s=0,a=new Set,c=[],l=e.flatMap(C=>(C.tests??[]).map(L=>({item:C,linkedTest:L}))),d=await SE(TE()),u=await AE(r,l.map(({linkedTest:C})=>C),d),f=oq(l,u);for(let{item:C,linkedTest:L}of l){if(typeof L.command!="string"||L.command.trim().length===0)continue;i+=1;let E=vE(L.command,t);if(E.length!==0){s+=E.length;for(let N of E)a.add(N),o.has(N.toLowerCase())||c.push(`${C.id}:${N}:${Sm(L.command)}`)}}let m=[...new Set(c)].sort((C,L)=>C.localeCompare(L)),p=[...new Set(m.map(C=>C.split(":")[1]??""))].filter(C=>C.length>0).sort((C,L)=>C.localeCompare(L)),w=[];m.length>0&&w.push(`validate_command_references_stale_pm_ids:${m.length}`),f.length>0&&w.push(`validate_linked_test_trust_unacknowledged:${f.length}`);let h=n?Number.POSITIVE_INFINITY:Ot,b=me(m,h),v=me(p,h),I=me([...a].sort((C,L)=>C.localeCompare(L)),h),A=me(f,h);return{check:{name:"command_references",status:w.length===0?"ok":"warn",ok:w.length===0,details:{checked_items:e.length,linked_commands_scanned:i,referenced_pm_ids_count:s,unique_referenced_pm_ids_count:a.size,unique_referenced_pm_ids:I.values,unique_referenced_pm_ids_truncated:I.truncated,linked_test_trust_current_source_ref:d??null,untrusted_linked_tests_count:f.length,untrusted_linked_tests:A.values,untrusted_linked_tests_truncated:A.truncated,stale_pm_id_references_count:m.length,stale_pm_ids_count:p.length,stale_pm_ids:v.values,stale_pm_ids_truncated:v.truncated,stale_pm_id_reference_rows:b.values,stale_pm_id_reference_rows_truncated:b.truncated}},warnings:w}}function sq(e,t){let n=Is(e.map(c=>({ref:c.id,version:As(c)}))),r=[];n.outdated.length>0&&r.push(`validate_format_version_outdated_items:${n.outdated.length}`),n.ahead.length>0&&r.push(`validate_format_version_ahead_items:${n.ahead.length}`);let o=t?Number.POSITIVE_INFINITY:Ot,i=me(n.outdated,o),s=me(n.ahead,o),a=n.ahead.length>0?"error":n.outdated.length>0?"warn":"ok";return{check:{name:"format_version",status:a,ok:a==="ok",details:{checked_items:e.length,current_format_version:Ts,outdated_items_count:n.outdated.length,outdated_items:i.values,outdated_items_truncated:i.truncated,ahead_items_count:n.ahead.length,ahead_items:s.values,ahead_items_truncated:s.truncated}},warnings:r}}var xm="pm validate auto-fix";async function aq(e,t,n){switch(e.kind){case"set_closed_at":await Bk(e,t);return;case"set_resolution":case"set_close_reason":case"set_estimate":case"reparent":case"unset_parent":{let r={message:xm};if(e.kind==="set_resolution"?r.resolution=e.value:e.kind==="set_close_reason"?r.closeReason=e.value:e.kind==="set_estimate"?r.estimatedMinutes=e.value:e.kind==="reparent"?r.parent=e.parent_id:r.unset=["parent"],!n.runUpdate)throw new g("Applying validate metadata/lifecycle fixes requires a runUpdate mutation service.",_.USAGE);await n.runUpdate(e.item_id,r,t);return}case"prune_file_link":throw new Error(`Unsupported non-batched fix kind: ${e.kind}`);case"prune_doc_link":throw new Error(`Unsupported non-batched fix kind: ${e.kind}`)}}function Am(e){return e.kind!=="prune_file_link"&&e.kind!=="prune_doc_link"?null:`${e.kind}:${e.item_id}`}async function cq(e,t,n){let r=[],o=[],i=new Map;for(let s of e.filter(a=>Am(a)===null))try{await aq(s,t,n),r.push(s)}catch(a){o.push({fix:s,error:a})}for(let s of e.filter(a=>Am(a)!==null)){let a=Am(s),c=i.get(a);c?c.push(s):i.set(a,[s])}for(let s of i.values()){let a=s[0];if(!a)continue;let c=s.map(l=>l.path).filter(l=>typeof l=="string"&&l.length>0);try{a.kind==="prune_file_link"?await hE(a.item_id,{remove:c,message:xm},t):await gE(a.item_id,{remove:c,message:xm},t),r.push(...s)}catch(l){o.push(...s.map(d=>({fix:d,error:l})))}}return{applied:r,failed:o}}function lq(e,t){t>0&&e.push(`merge_receipt_evidence_invalid:${t}`)}async function dq(e,t,n,r){let o=await uE(e,new Set(t.map(h=>h.id)),n,{schema:r.schema,extensionFieldNames:Tt(Y())}),i=[];o.unreadable_item_files.length>0&&i.push(`validate_storage_unreadable_items:${o.unreadable_item_files.length}`),o.duplicate_item_ids.length>0&&i.push(`validate_storage_duplicate_item_ids:${o.duplicate_item_ids.length}`),o.history_conflict_marker_streams.length>0&&i.push(`validate_storage_history_conflict_markers:${o.history_conflict_marker_streams.length}`),o.history_unparseable_streams.length>0&&i.push(`validate_storage_unparseable_history:${o.history_unparseable_streams.length}`),o.resurrected_items.length>0&&i.push(`validate_storage_resurrected_items:${o.resurrected_items.length}`),o.unparseable_config_files.length>0&&i.push(`validate_storage_unparseable_config:${o.unparseable_config_files.length}`);let s=i.length,a=await lc(e);a.tracked_path_count>0&&i.push(`validate_storage_tracked_runtime_cache_files:${a.tracked_path_count}`);let c=await fi(e,to(r));c.status==="drift"&&i.push(`validate_merge_fence_drift:${c.missing_patterns.length+c.stale_patterns.length}`);let l=await Ct(e),d=l===null?null:await mi(l);d!==null&&d.status!=="ok"&&i.push(`validate_merge_driver_configuration:${d.missing_keys.length+d.drifted_keys.length}`);let u=await St(l??e,{includeLossless:!0,pmRoot:e}),f=u.receipts,{pendingDecisions:m,lossless:p}=Ea(f);m.length>0&&i.push(`validate_merge_decisions_unreviewed:${m.length}`),lq(i,u.invalid_evidence_count);let w=s>0?"error":i.length>0?"warn":"ok";return{check:{name:"storage_integrity",status:w,ok:w==="ok",details:{...o,merge_fence:c,merge_driver_configuration:d,pending_merge_decision_count:m.length,pending_merge_decision_items:[...new Set(m.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),lossless_merge_receipt_count:p.length,invalid_merge_receipt_evidence_count:u.invalid_evidence_count,invalid_merge_receipt_evidence_details:u.invalid_evidence,invalid_merge_receipt_evidence_details_truncated:u.invalid_evidence_truncated,lossless_merge_receipt_items:[...new Set(p.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),tracked_runtime_cache:{tracker_relative_root:a.tracker_relative_root,tracked_paths:a.tracked_paths,tracked_path_count:a.tracked_path_count,remediation_command:a.remediation_command}}},warnings:i}}function Bt(e,t,n){n&&bH(t.check,t.warnings),e.checks.push(t.check),e.warnings.push(...t.warnings)}async function uq(e){let t={closureTimestampFixes:[],checks:[],warnings:[...e.initialWarnings],closeReasonBackfillRows:[],estimateBackfillRows:[],resolutionBackfillRows:[],terminalParentFixRows:[],staleLinkPruneRows:[]},n=e.options.fixHints===!0,r=e.options.verboseDiagnostics===!0||e.options.allAffectedIds===!0||e.global.json===!0;if(e.requestedChecks.has("completeness")){let o=await uk(e.pmRoot,e.items,r?1/0:Ot,e.sourceIncomplete);Bt(t,o,n)}if(e.requestedChecks.has("metadata")){let o=RH(e.items,e.metadataPolicy,e.statusRegistry,r,[e.settings.id_prefix]);t.closeReasonBackfillRows=o.closeReasonBackfillRows,t.estimateBackfillRows=o.estimateBackfillRows;let i=await Gk(e.pmRoot,e.items,e.statusRegistry,e.options.autoFix===!0||n,r?1/0:Ot);t.closureTimestampFixes=i.fixes,Object.assign(o.check.details,i.details),o.warnings.push(...i.warnings),o.check.ok=o.warnings.length===0,o.check.status=o.check.ok?"ok":"warn",Bt(t,o,n)}if(e.requestedChecks.has("resolution")){let o=NH(e.items,e.statusRegistry,r);t.resolutionBackfillRows=o.resolutionBackfillRows,Bt(t,o,n)}if(e.requestedChecks.has("lifecycle")){let o=nq(e.items,!!e.options.checkStaleBlockers,e.dependencyCycleSeverity,e.parentCycleSeverity,e.statusRegistry,e.lifecyclePatternPolicy,r,e.settings.id_prefix);t.terminalParentFixRows=o.terminalParentFixRows,Bt(t,o,n),Bt(t,LH(e.items,r,e.statusRegistry),n)}if(e.requestedChecks.has("files")){let o=await rq(e.items,e.workspaceRoot,e.pmRoot,e.fileScanMode,!!e.options.includePmInternals,!!e.options.verboseFileLists,e.statusRegistry);t.staleLinkPruneRows=o.staleLinkPruneRows,Bt(t,o,n)}return e.requestedChecks.has("command_references")&&Bt(t,await iq(e.items,e.settings.id_prefix,r,e.pmRoot),n),e.requestedChecks.has("history_drift")&&Bt(t,await CE(e.pmRoot,e.items,r),n),e.requestedChecks.has("format_version")&&Bt(t,sq(e.items,r),n),e.requestedChecks.has("storage_integrity")&&Bt(t,await dq(e.pmRoot,e.items,ge(e.settings,Y()).type_to_folder,e.settings),n),t}function fq(e,t,n){let r=[];return e.autoFix===!0&&(r.push(...t.closureTimestampFixes),r.push(...Kk(t.closeReasonBackfillRows)),r.push(...Vk(t.resolutionBackfillRows)),r.push(...Jk(t.estimateBackfillRows,n.validation.estimate_defaults_by_type)),r.push(...Yk(t.terminalParentFixRows))),e.pruneMissing===!0&&r.push(...Xk(t.staleLinkPruneRows)),r}async function mq(e,t,n,r,o,i){if(e.autoFix!==!0&&e.pruneMissing!==!0)return;let s=fq(e,t,n),{applicable:a,gated:c}=Qk(s,r),l=e.dryRun===!0,d=[],u=[];if(!l){let f=await cq(a,o,i);d.push(...f.applied.map(Yi)),u.push(...f.failed.map(({fix:m,error:p})=>({...Yi(m),error:p instanceof Error?p.message:String(p)})))}return{mode:l?"dry_run":"apply",auto_fix:e.autoFix===!0,prune_missing:e.pruneMissing===!0,granted_fix_scopes:[...r].sort((f,m)=>f.localeCompare(m)),planned_count:s.length,applied_count:d.length,gated_count:c.length,failed_count:u.length,planned_fixes:s.map(Yi),applied_fixes:d,gated_fixes:c.map(f=>({...Yi(f),gate_hint:`Withheld: re-run with --fix-scope ${f.gate} to apply.`})),failed_fixes:u}}async function FE(e,t,n={}){bg(e.counts===!0,e.full===!0,"--counts");let r=e.autoFix===!0||e.pruneMissing===!0;if(e.dryRun===!0&&!r)throw new g("--dry-run requires --auto-fix or --prune-missing (there is nothing to preview otherwise).",_.USAGE);if(e.fixScope!==void 0&&e.fixScope.length>0&&e.autoFix!==!0)throw new g("--fix-scope requires --auto-fix.",_.USAGE);let o=Zk(e.fixScope),i=X(process.cwd(),t.path);await je(i);let s=await re(i),a=ct(s.schema),c=ge(s,Y()),l=vH(e),d=[],u=await IE({includeBody:["history_drift","metadata","completeness"].some(T=>l.has(T)),pmRoot:i,settings:s,typeToFolder:c.type_to_folder,warnings:d}),f=d.length>0;if(l.has("history_drift")){let T=await ac(i);T.actionable_unknown_event_count>0&&d.push(`validate_history_unknown_author_events:${T.actionable_unknown_event_count}`)}let m=typeof e.metadataProfile=="string"?"option":"settings",p=oH(typeof e.metadataProfile=="string"?e.metadataProfile:s.validation.metadata_profile),w=cH(p,m,s.validation.metadata_required_fields),h=rH(s),b=iH(e.dependencyCycleSeverity),v=sH(e.parentCycleSeverity),I=uH(e.scanMode),A=fH(i),C=await uq({requestedChecks:l,options:e,global:t,pmRoot:i,workspaceRoot:A,settings:s,items:u,statusRegistry:a,metadataPolicy:w,lifecyclePatternPolicy:h,dependencyCycleSeverity:b,parentCycleSeverity:v,fileScanMode:I,initialWarnings:[...new Set(d)],sourceIncomplete:f}),L=r?await mq(e,C,s,o,t,n):void 0,E=[...new Set(C.warnings)].sort((T,z)=>T.localeCompare(z)),G={ok:!C.checks.some(T=>T.status==="error"),has_warnings:E.length>0,checks:C.checks,warnings:E,...L!==void 0?{fixes:L}:{},generated_at:j(),projection:{mode:"full",declared_field_groups:[{name:"diagnostic_rows",restore_with:"--full"}],included_field_groups:["diagnostic_rows"]}};return e.counts!==!0?G:{...nH(G),projection:{mode:"counts",declared_field_groups:[{name:"diagnostic_rows",restore_with:"--full"}],included_field_groups:[]}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="017ec565-4b8d-5da3-badc-e9f4ca3ec433")}catch{}})();var gq=4;function jE(e){let t=e.checks.find(a=>a.name==="integrity"),n=t?.details.counts,r=typeof n=="object"&&n!==null&&!Array.isArray(n)&&typeof n.missing_merge_receipt_history_references=="number"?n.missing_merge_receipt_history_references:0,o=t?.details.missing_merge_receipt_history_reference_details,i=t?.details.missing_merge_receipt_history_reference_details_truncated===!0,s=Array.isArray(o)?o.flatMap(a=>{if(typeof a!="object"||a===null||Array.isArray(a))return[];let c=a;return typeof c.item_id=="string"&&typeof c.history_line=="number"&&Number.isSafeInteger(c.history_line)&&typeof c.receipt_id=="string"?[{item_id:c.item_id,history_line:c.history_line,receipt_id:c.receipt_id}]:[]}):[];return{count:r,truncated:i,coordinates:s}}async function hq(e,t){let n=[];for(let r of t){let o;try{o=await pq(_q.join(e,"history",`${r.item_id}.jsonl`),"utf8")}catch{continue}let i=o.split(/\r?\n/)[r.history_line-1];if(i===void 0||i.trim().length===0)continue;let s;try{s=JSON.parse(i)}catch{continue}let a=uc(s,r.item_id).find(c=>c.receiptId===r.receipt_id);a===void 0||!am(a)||a.eventTimestamp===void 0||ye(a.eventTimestamp,sm)>=0||n.push({...r,original_event_ts:a.eventTimestamp})}return n}async function yq(e){if(e.options.dryRun===!0||e.options.force!==!0||e.candidates.length===0)return 0;let t=new Map;for(let n of e.candidates){let r=t.get(n.item_id)??[];r.push(n),t.set(n.item_id,r)}for(let[n,r]of t)await sn(n,{author:e.options.author??e.global.author,message:e.options.message??"accept unrecoverable pre-durable merge receipt references",force:!0,auditOperation:"merge_reconcile",forceAuditEntry:!0,auditContext:{merge:{missing_receipt_dispositions:r.map(o=>({receipt_id:o.receipt_id,original_history_line:o.history_line,original_event_ts:o.original_event_ts,reason:"legacy_clone_local_only"}))}}},e.global);return e.candidates.length}async function wq(e){try{return{status:"fulfilled",value:await sn(e.id,{dryRun:e.dryRun,author:e.options.author??e.global.author,message:e.options.message??"record field-aware branch merge provenance",force:e.options.force,auditOperation:"merge_reconcile",auditContext:e.auditContext,forceAuditEntry:!0,mergeReceiptProof:e.mergeReceiptProof},e.global)}}catch(t){return{status:"rejected",reason:t}}}function bq(e){e.results.forEach((t,n)=>{let r=e.receiptOnlyIds[n];if(t.status==="fulfilled"){let o=t.value.changed?"repaired":"skipped_clean";e.repair.streams.push({id:r,outcome:o,entries_rehashed:t.value.history.entries_rehashed,entries_patch_repaired:t.value.history.entries_patch_repaired,reconciled_with_item:t.value.history.reconciled_with_item,...t.value.merge_receipt_proof?{merge_receipt_proof:t.value.merge_receipt_proof}:{},warnings:t.value.warnings}),e.repair.totals[o]+=1;return}e.repair.streams.push({id:r,outcome:"failed",error:t.reason instanceof Error?t.reason.message:String(t.reason)}),e.repair.totals.failed+=1})}async function vq(e){if(e.dryRun||e.repair.totals.failed>0)return 0;let t=new Set(e.repair.streams.flatMap(r=>r.merge_receipt_proof?.trusted?r.merge_receipt_proof.receipt_ids:[])),n=e.pendingReceipts.filter(r=>t.has(r.id));return await Promise.all(n.map(r=>si(e.receiptWorkspaceRoot,r,{requireExisting:!0}))),n.length}async function kq(e,t){let n=e.dryRun===!0,r=X(process.cwd(),t.path),o=await pm(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),i=jE(o),s=await hq(r,i.coordinates),a=await Ct(r),c=a??r,l=await St(c,{includeLossless:!0,pmRoot:r});if(l.invalid_evidence_count>0)throw new g(`Merge reconciliation refused ${l.invalid_evidence_count} invalid receipt evidence file(s).`,_.CONFLICT,{code:"merge_receipt_evidence_invalid",required:"Every clone-local and durable receipt candidate must pass bounded-file, schema, and identity validation.",recovery:{suggested_retry:"pm health --check-only --full"}});let d=await yq({candidates:s,options:e,global:t}),u=l.receipts,f=await vw({cwd:a,receipts:u,dryRun:n,author:e.author,message:e.message,global:t}),m=new Set(f),p=new Map;for(let oe of u.filter(Ee=>!m.has(Ee.id))){let Ee=p.get(oe.item_id)??[];Ee.push(oe),p.set(oe.item_id,Ee)}let w=Object.fromEntries([...p].map(([oe,Ee])=>[oe,{merge:{receipts:Ee.map(Et)}}])),h=Object.fromEntries([...p].map(([oe,Ee])=>[oe,{gitWorkspaceRoot:a,receipts:Ee}])),b=await bw({dryRun:n,author:e.author??t.author,message:e.message??"post-merge reconciliation of field-aware tracker history",force:e.force,auditOperation:"merge_reconcile",auditContextById:w,...u.length>0?{mergeReceiptProofById:h}:{}},t),v=new Set(b.streams.map(oe=>oe.id)),I=[...p.keys()].filter(oe=>!v.has(oe)),A=await Bu(I,gq,oe=>wq({id:oe,dryRun:n,options:e,global:t,auditContext:w[oe],mergeReceiptProof:h[oe]}));bq({receiptOnlyIds:I,results:A,repair:b});let C=await vq({dryRun:n,pendingReceipts:u,repair:b,receiptWorkspaceRoot:c}),L=await FE({checkHistoryDrift:!0,checkStorageIntegrity:!0},t),E=d===0?o:await pm(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),N=jE(E),G=L.checks.every(oe=>oe.status==="ok"),T=n?u.length===0:C+f.length===u.length,z=[b.totals.failed===0,G,T,N.count===0,!N.truncated].every(Boolean),D=i.truncated||N.truncated?"Missing receipt coordinates exceed the bounded detail response; each reviewed --force pass can disposition only the reported eligible batch. Repeat dry-run and --force passes until receipts.missing_history_references_after=0 and pm merge reconcile returns ok=true.":void 0,pe=(n?["Review repair.streams, then rerun pm merge reconcile without --dry-run to apply audited repairs.",D,"No Git hook is installed automatically; invoke this command from an explicit post-merge hook only when your repository policy opts in."]:z?["Reconciliation is complete; commit changed history streams with the merge result.","Rerun pm merge reconcile --dry-run after future tracker-data merges as a non-mutating integrity check."]:["Reconciliation remains incomplete; inspect repair failures and non-green validation checks before retrying.",D,...s.length>0&&d===0?["Pre-durable clone-local-only receipt references are eligible for an audited disposition; rerun with --force after reviewing receipts.legacy_disposition_eligible."]:[],"Do not commit repaired history streams as reconciled until pm merge reconcile returns ok=true."]).filter(oe=>oe!==void 0);return{ok:z,dry_run:n,repair:b,receipts:{pending_before:u.length,reconciled:C,abandoned:f.length,summaries:u.map(Et),missing_history_references_before:i.count,legacy_disposition_eligible:s.length,legacy_disposition_recorded:d,missing_history_references_after:N.count},validation:L,guidance:pe,generated_at:L.generated_at}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4175f7f5-a689-5d05-982a-f92e21bc83e7")}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]="682aba7b-ccef-5c63-969d-ef0c41fda653")}catch{}})();export{Th as ITEM_LATEST_TIMESTAMP_FIELDS,Eh as ITEM_SCALAR_MISSING_VALUE,Sh as ITEM_UNION_COLLECTION_FIELDS,du as MERGE_DRIVER_ARTIFACT_VALUES,_y as PM_GITATTRIBUTES_END,ui as PM_GITATTRIBUTES_START,vu as PM_GITATTRIBUTES_V2_END,Qr as PM_GITATTRIBUTES_V2_START,fi as auditMergeAttributeFence,mi as auditMergeDriverConfiguration,La as buildMergeAttributePatterns,Q as encodeItemScalarDecisionValue,Ct as findGitWorkspaceRoot,kt as hashItemScalarDecisionValue,St as inspectMergeReceiptEvidence,KD as installMergeFence,ur as isItemScalarMissingValue,Hh as listMergeReceipts,si as markMergeReceiptReconciled,Gd as mergeHistoryStreams,Wd as mergeItemDocuments,Vd as mergeJsonDocuments,Bd as mergeRelationshipEventStreams,ky as refreshMergeAttributeFenceIfInstalled,hy as resolveMergeInstallContext,to as resolveProjectMergeTypeFolders,SD as runMergeDriver,VD as runMergeInstall,cN as runMergeReceiptEvidenceReport,aN as runMergeReceiptReport,kq as runMergeReconcile,Et as summarizeMergeReceipt};
139
139
  //# sourceMappingURL=sdk-merge.js.map