@unbrained/pm-cli 2026.10.10 → 2026.10.12

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 (180) hide show
  1. package/.claude-plugin/marketplace.json +1 -36
  2. package/CHANGELOG.md +31 -4
  3. package/dist/cli/commander-usage.d.ts +5 -5
  4. package/dist/cli/commander-usage.js +3 -3
  5. package/dist/cli/error-guidance.d.ts +2 -0
  6. package/dist/cli/error-guidance.js +2 -2
  7. package/dist/cli/help-json-payload.js +1 -1
  8. package/dist/cli/main.d.ts +1 -0
  9. package/dist/cli/main.js +4 -4
  10. package/dist/cli/register-operations.d.ts +9 -4
  11. package/dist/cli/register-operations.js +1 -1
  12. package/dist/cli-bundle/bundle-manifest.json +1 -382
  13. package/dist/cli-bundle/chunks/{chunk-2JYTSTQP.js → chunk-3LQTJN4J.js} +2 -2
  14. package/dist/cli-bundle/chunks/{chunk-YMLF6QT7.js → chunk-6PZPUJW3.js} +28 -28
  15. package/dist/cli-bundle/chunks/{chunk-RUT3CCAG.js → chunk-B465HPS5.js} +2 -2
  16. package/dist/cli-bundle/chunks/{chunk-ESRACL6K.js → chunk-DT3KUUKY.js} +2 -2
  17. package/dist/cli-bundle/chunks/{chunk-SSY4OSJR.js → chunk-GUVKPOY6.js} +2 -2
  18. package/dist/cli-bundle/chunks/chunk-ILQEZ4Y6.js +2 -0
  19. package/dist/cli-bundle/chunks/{chunk-RBPOO46D.js → chunk-JRRXWH5B.js} +2 -2
  20. package/dist/cli-bundle/chunks/{chunk-MEWBSWE3.js → chunk-LH5QDBMN.js} +2 -2
  21. package/dist/cli-bundle/chunks/{chunk-KNW3RSLS.js → chunk-M5NDSW6E.js} +30 -30
  22. package/dist/cli-bundle/chunks/{chunk-K2UTE75T.js → chunk-MHPU2LDF.js} +2 -2
  23. package/dist/cli-bundle/chunks/{chunk-OBLO45UM.js → chunk-QM3M7GB5.js} +2 -2
  24. package/dist/cli-bundle/chunks/{chunk-S445XEYT.js → chunk-UABZJXIS.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-ZWRLAOA4.js → chunk-X2I2EEAS.js} +2 -2
  26. package/dist/cli-bundle/chunks/{register-list-query-T6BOR67M.js → register-list-query-OR33UEML.js} +2 -2
  27. package/dist/cli-bundle/chunks/{register-mutation-6NXR7SAJ.js → register-mutation-R34EJ3NH.js} +2 -2
  28. package/dist/cli-bundle/chunks/register-operations-UHSMEHSF.js +2 -0
  29. package/dist/cli-bundle/chunks/{register-setup-MAYFPKBX.js → register-setup-5E3PT22L.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-SIEGIPNT.js → chunk-7QIZB2F2.js} +7 -7
  31. package/dist/cli-bundle/focused-chunks/{chunk-PLTTMQAW.js → chunk-AJG3DBXR.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/chunk-AXBO53EQ.js +2 -0
  33. package/dist/cli-bundle/focused-chunks/{chunk-W5AE7GKZ.js → chunk-CYEZLKLL.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-PBCYGO7X.js → chunk-FXRWJEQ5.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-GVGFUD52.js → chunk-IKJFAU32.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-DMSADMEU.js → chunk-OGOLIS5R.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-PPH5N26M.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/{chunk-WAOXID5J.js → chunk-RNAWRTQV.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-B3YW6H2I.js → chunk-RZVNGUT7.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-52UJEHEV.js → chunk-SV6YYZLR.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/{chunk-EIOQNLBQ.js → chunk-TS46OZD5.js} +2 -2
  42. package/dist/cli-bundle/focused-chunks/{chunk-KNJR2WUO.js → chunk-VBTLX5SN.js} +62 -62
  43. package/dist/cli-bundle/focused-chunks/{chunk-JGFSSR3G.js → chunk-YCOJLIDI.js} +3 -3
  44. package/dist/cli-bundle/focused-chunks/chunk-YDJT33JU.js +2 -0
  45. package/dist/cli-bundle/focused-chunks/{chunk-AU6VJGTY.js → chunk-Z4T3637Y.js} +2 -2
  46. package/dist/cli-bundle/main.js +22 -22
  47. package/dist/cli-bundle/sdk-authoring.js +1 -1
  48. package/dist/cli-bundle/sdk-contracts.js +1 -1
  49. package/dist/cli-bundle/sdk-core.js +31 -31
  50. package/dist/cli-bundle/sdk-governance.js +1 -1
  51. package/dist/cli-bundle/sdk-graph.js +1 -1
  52. package/dist/cli-bundle/sdk-merge.js +24 -24
  53. package/dist/cli-bundle/sdk-query.js +1 -1
  54. package/dist/cli-bundle/sdk-runtime.js +1 -1
  55. package/dist/cli-bundle/sdk-testing.js +1 -1
  56. package/dist/cli-bundle/sdk.js +9 -9
  57. package/dist/core/history/event-classification.d.ts +1 -1
  58. package/dist/core/history/event-classification.js +1 -1
  59. package/dist/core/item/item-format.d.ts +2 -0
  60. package/dist/core/item/item-format.js +2 -2
  61. package/dist/core/telemetry/runtime.d.ts +1 -1
  62. package/dist/core/telemetry/runtime.js +2 -2
  63. package/dist/core/test/background-runs.d.ts +1 -0
  64. package/dist/core/test/background-runs.js +2 -2
  65. package/dist/sdk/agent/command-suggestions.d.ts +2 -0
  66. package/dist/sdk/agent/command-suggestions.js +1 -1
  67. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  68. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  69. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  70. package/dist/sdk/cli-contracts/registration-helpers.d.ts +1 -4
  71. package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
  72. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  73. package/dist/sdk/cli-contracts/tool-schema.d.ts +1 -1
  74. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  75. package/dist/sdk/core.d.ts +1 -0
  76. package/dist/sdk/core.js +1 -1
  77. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  78. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  79. package/dist/sdk/governance/artifact-ledgers.d.ts +59 -0
  80. package/dist/sdk/governance/artifact-ledgers.js +2 -0
  81. package/dist/sdk/governance.d.ts +1 -0
  82. package/dist/sdk/governance.js +1 -1
  83. package/dist/sdk/index.d.ts +2 -0
  84. package/dist/sdk/index.js +1 -1
  85. package/dist/sdk/public-surface.json +1 -1
  86. package/dist/sdk/test/batch.js +1 -1
  87. package/dist/sdk/test/command-args.d.ts +4 -0
  88. package/dist/sdk/test/command-args.js +2 -0
  89. package/dist/sdk/test/entry.d.ts +3 -0
  90. package/dist/sdk/test/entry.js +1 -1
  91. package/dist/sdk/test/execution.d.ts +15 -4
  92. package/dist/sdk/test/execution.js +2 -2
  93. package/dist/sdk/test/prerequisites.d.ts +6 -0
  94. package/dist/sdk/test/prerequisites.js +2 -0
  95. package/dist/sdk/test/trust.js +1 -1
  96. package/dist/sdk/test/update.d.ts +55 -0
  97. package/dist/sdk/test/update.js +2 -0
  98. package/dist/types.d.ts +4 -0
  99. package/dist/types.js +1 -1
  100. package/docs/LINKED_TEST_EDITS.md +79 -0
  101. package/docs/RELEASE_LEDGER_RECONCILIATION.md +148 -0
  102. package/docs/RELEASE_RELIABILITY.md +4 -0
  103. package/docs/RELEASING.md +53 -13
  104. package/docs/SDK.md +178 -636
  105. package/docs/SDK_EVIDENCE_TRACEABILITY.md +4 -0
  106. package/docs/TESTING.md +13 -0
  107. package/docs/agent-task-token-baseline.json +1 -292
  108. package/docs/agent-task-transcripts.json +1 -478
  109. package/docs/ecosystem-review-2026-09-28.json +1 -2866
  110. package/docs/examples/policy-restricted-extension/manifest.json +1 -22
  111. package/docs/examples/policy-restricted-extension/package.json +1 -8
  112. package/docs/examples/sdk-agent-environment/package.json +1 -8
  113. package/docs/examples/sdk-app-embedding/package.json +1 -9
  114. package/docs/examples/sdk-contract-consumer/package.json +1 -11
  115. package/docs/examples/sdk-custom-tool/package.json +1 -13
  116. package/docs/examples/starter-extension/manifest.json +1 -33
  117. package/docs/examples/starter-extension/package.json +1 -10
  118. package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
  119. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +8 -3
  120. package/docs/performance/corpus-shape-comparison.json +1 -108
  121. package/docs/performance/latest-scale-report.json +1 -418
  122. package/docs/performance/runner-qualification.md +36 -0
  123. package/docs/performance/scale-100k-report.json +1 -418
  124. package/docs/schemas/extension-manifest.schema.json +1 -165
  125. package/marketplace.json +1 -36
  126. package/package.json +1 -1
  127. package/packages/pm-beads/extensions/beads/manifest.json +1 -28
  128. package/packages/pm-beads/extensions/beads/package.json +1 -3
  129. package/packages/pm-beads/package.json +1 -50
  130. package/packages/pm-calendar/extensions/calendar/manifest.json +1 -22
  131. package/packages/pm-calendar/extensions/calendar/package.json +1 -3
  132. package/packages/pm-calendar/package.json +1 -51
  133. package/packages/pm-command-kit/extensions/command-kit/manifest.json +1 -22
  134. package/packages/pm-command-kit/extensions/command-kit/package.json +1 -3
  135. package/packages/pm-command-kit/package.json +1 -53
  136. package/packages/pm-digital-twin/extensions/digital-twin/manifest.json +1 -19
  137. package/packages/pm-digital-twin/extensions/digital-twin/package.json +1 -3
  138. package/packages/pm-digital-twin/package.json +1 -58
  139. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +1 -19
  140. package/packages/pm-governance-audit/extensions/governance-audit/package.json +1 -3
  141. package/packages/pm-governance-audit/package.json +1 -55
  142. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +1 -22
  143. package/packages/pm-guide-shell/extensions/guide-shell/package.json +1 -3
  144. package/packages/pm-guide-shell/package.json +1 -52
  145. package/packages/pm-kanban/extensions/kanban/manifest.json +1 -19
  146. package/packages/pm-kanban/extensions/kanban/package.json +1 -3
  147. package/packages/pm-kanban/package.json +1 -57
  148. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +1 -19
  149. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/package.json +1 -3
  150. package/packages/pm-lifecycle-hooks/package.json +1 -52
  151. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +1 -29
  152. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/package.json +1 -3
  153. package/packages/pm-linked-test-adapters/package.json +1 -53
  154. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +1 -29
  155. package/packages/pm-search-advanced/extensions/search-advanced/package.json +1 -3
  156. package/packages/pm-search-advanced/package.json +1 -54
  157. package/packages/pm-templates/extensions/templates/manifest.json +1 -22
  158. package/packages/pm-templates/extensions/templates/package.json +1 -3
  159. package/packages/pm-templates/package.json +1 -50
  160. package/packages/pm-todos/extensions/todos/manifest.json +1 -29
  161. package/packages/pm-todos/extensions/todos/package.json +1 -3
  162. package/packages/pm-todos/package.json +1 -51
  163. package/packages/pm-vcs/extensions/vcs/manifest.json +1 -19
  164. package/packages/pm-vcs/extensions/vcs/package.json +1 -3
  165. package/packages/pm-vcs/package.json +1 -55
  166. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -25
  167. package/plugins/pm-claude/.mcp.json +1 -8
  168. package/plugins/pm-claude/hooks/hooks.json +1 -17
  169. package/plugins/pm-claude/package.json +1 -9
  170. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -45
  171. package/plugins/pm-codex/.mcp.json +1 -11
  172. package/plugins/pm-codex/mcp.json +1 -11
  173. package/plugins/pm-codex/package.json +1 -9
  174. package/plugins/pm-codex/plugin.json +1 -45
  175. package/runtime-dependencies.json +1 -512
  176. package/dist/cli-bundle/chunks/chunk-BXSXT5Z6.js +0 -2
  177. package/dist/cli-bundle/chunks/register-operations-PDOBQZUJ.js +0 -2
  178. package/dist/cli-bundle/focused-chunks/chunk-2CJWTLQG.js +0 -2
  179. package/dist/cli-bundle/focused-chunks/chunk-MJQ253F3.js +0 -2
  180. package/dist/cli-bundle/focused-chunks/chunk-WOEZJUA2.js +0 -2
@@ -1,27 +1,27 @@
1
- import jd from"fast-json-patch";import{createHash as oS}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]="ca5b60a5-80a7-5e7d-917f-4c7649bcbab6")}catch{}})();var Up=["sha256","sha512"],aS="sha256",zp="sha256";function Re(e){if(e===void 0)return aS;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function pr(e,t){return oS(Re(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]="3bfeb8d2-52c2-587a-9611-c4d5817cb47e")}catch{}})();function yi(e){let t=[],r=e[0]?.op==="history_compact_baseline",n=r?1:void 0,i=!1;for(let[o,a]of e.entries())a.op==="delete"&&(i=!0),a.op==="create"&&(n!==void 0&&t.push({prior_genesis_index:n,repeated_create_index:o+1,sequence:i?"delete_then_create":r?"checkpoint_then_create":"multiple_creates"}),n??=o+1,i=!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]="f483c0e2-e630-568c-b4c0-3ca4f5434d5e")}catch{}})();var rt=["commands","renderers","hooks","schema","importers","search","parser","preflight","services"],Ic=2,Cc=Object.freeze({migration:"schema",validation:"schema"}),na=Object.freeze({version:2,capabilities:[...rt],legacy_aliases:{...Cc}}),ia=["off","warn","enforce"],oa=["off","warn","enforce"],aa=["none","restricted","strict"],Hp=["block","warn"],sa=["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"],Sn=["output_format","error_format","help_format","lock_acquire","lock_release","history_append","item_store_write","item_store_delete","context_relevance","command_result"];function ca(){return{mode:"off",trust_mode:"off",require_provenance:!1,trusted_extensions:[],default_sandbox_profile:"none",allowed_extensions:[],blocked_extensions:[],allowed_capabilities:[],blocked_capabilities:[],allowed_surfaces:[],blocked_surfaces:[],allowed_commands:[],blocked_commands:[],allowed_actions:[],blocked_actions:[],allowed_services:[],blocked_services:[],extension_overrides:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3d6df465-e82e-57d8-a687-6c2e720c99c1")}catch{}})();var qp=["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"],sS=["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",...qp,"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"],Ve=sS;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a92abe3-1900-5a69-a35d-6aa592c83da0")}catch{}})();var Oc=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"]}]),xc=Object.freeze({draft_status:"draft",open_status:"open",in_progress_status:"in_progress",blocked_status:"blocked",close_status:"closed",canceled_status:"canceled"}),Tn=".agents/pm",la="settings.json";var Rc=["","epics","features","tasks","chores","issues","schema","history","search","extensions","locks"],cS=["decisions","events","reminders","milestones","meetings","plans"],Xq=[...Rc,...cS],He={Epic:"epics",Feature:"features",Task:"tasks",Chore:"chores",Issue:"issues",Decision:"decisions",Event:"events",Reminder:"reminders",Milestone:"milestones",Meeting:"meetings",Plan:"plans"},Nc={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}},Dc=["no active blocker","ready for planned execution sequencing","work completed","work is closed"],zr={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 Gp(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:[...Dc],lifecycle_closure_like_blocked_reason_patterns:[...zr.blocked_reason],lifecycle_closure_like_resolution_patterns:[...zr.resolution],lifecycle_closure_like_actual_result_patterns:[...zr.actual_result],estimate_defaults_by_type:{}},governance:{preset:"minimal",...Nc.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:Oc.map(e=>({...e,aliases:Gp(e.aliases),roles:Gp(e.roles)})),fields:[],workflow:{...xc},unknown_field_policy:"allow"},extensions:{enabled:[],disabled:[],policy:ca()},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:""}}},da={metadata:{},body:""},_={SUCCESS:0,GENERIC_FAILURE:1,USAGE:2,NOT_FOUND:3,CONFLICT:4,DEPENDENCY_FAILED:5,NO_EFFECT:6,PARTIAL_EFFECT:7},Zq=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 _0}from"@toon-format/toon";import{isDeepStrictEqual as wf}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]="e6847fdd-b2c1-5503-b510-56fdfdcf933f")}catch{}})();var Pc=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],Bp=Pc,An=["draft","open","in_progress","blocked","closed","canceled"],In=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],fr=["string","number","boolean","string_array","array","object"],Cn=["create","update","update_many","list","search","calendar","context"],ua=["allow","warn","reject"];var Lc=["project","global"];var ma=["low","medium","high","critical"],pa=["low","medium","high"];var Wp=["minimal","default","strict","custom"];var fa=["daily","weekly","monthly","yearly"],wi=["mon","tue","wed","thu","fri","sat","sun"];function Mc(e){return wi.indexOf(e)}var Vp=["draft","research","review","approved","executing","paused","completed","superseded"],_a=["pending","in_progress","completed","blocked","skipped","superseded"],Kp=["codex","claude-code","cursor","generic"],Jp=["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]="82886059-8bb7-5765-925f-064c93e3e7c7")}catch{}})();var g=class extends Error{exitCode;code;context;constructor(t,r,n={}){super(t),this.name="PmCliError",this.exitCode=r,this.context=n,this.code=n.code}};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]="77f9d61e-e78b-5b6a-a769-1ad6e5b91777")}catch{}})();function dS(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 uS(e){let t=Object.keys(e).sort(),r={};for(let n of t){let i=e[n];i!==void 0&&(r[n]=ga(i))}return r}function ga(e){let t=dS(e);if(t!==void 0)return t;if(Array.isArray(e))return e.map(n=>ga(n));if(e instanceof Date)return e.toISOString();let r=e;if(typeof r.toJSON=="function"){let n=r.toJSON();if(n!==e)return ga(n)}return uS(e)}function x(e){return JSON.stringify(ga(e))}function Yp(e,t,r,n){for(let i=0;i<t.length;i+=1)if(!r.has(i)&&n(e,t[i]))return r.add(i),!0;return!1}function mS(e,t){if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.toString()===t.toString()}function pS(e,t){if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime()}function fS(e,t){if(!(e instanceof Set||t instanceof Set))return;if(!(e instanceof Set&&t instanceof Set)||e.size!==t.size)return!1;let r=[...t],n=new Set;for(let i of e)if(!Yp(i,r,n,Ne))return!1;return!0}function _S(e,t){if(!(e instanceof Map||t instanceof Map))return;if(!(e instanceof Map&&t instanceof Map)||e.size!==t.size)return!1;let r=[...t.entries()],n=new Set;for(let[i,o]of e.entries())if(!Yp([i,o],r,n,([a,s],[c,l])=>Ne(a,c)&&Ne(s,l)))return!1;return!0}function gS(e,t){if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((r,n)=>Ne(r,t[n]))}function hS(e,t){let r=Object.keys(e).sort((i,o)=>i.localeCompare(o)),n=Object.keys(t).sort((i,o)=>i.localeCompare(o));if(r.length!==n.length)return!1;for(let i=0;i<r.length;i+=1){let o=r[i];if(o!==n[i]||!Ne(e[o],t[o]))return!1}return!0}var yS=[mS,pS,fS,_S,gS];function Ne(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||typeof e!="object"||typeof t!="object")return!1;for(let r of yS){let n=r(e,t);if(n!==void 0)return n}return hS(e,t)}function De(e){return lS.createHash("sha256").update(e,"utf8").digest("hex")}function _r(e,t){let r={};for(let i of t){let o=e[i];o!==void 0&&(r[i]=o)}let n=Object.keys(e).filter(i=>!t.includes(i)).sort((i,o)=>i.localeCompare(o));for(let i of n){let o=e[i];o!==void 0&&(r[i]=o)}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="92573990-a040-526d-a0b1-b91d2ef401f1")}catch{}})();function On(e){let t=Math.ceil(e.size/2);for(let r of e.keys()){if(t===0)return;e.delete(r),t-=1}}import{AsyncLocalStorage as wS}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]="ced47074-06d3-53b9-af75-63586cbd4f6a")}catch{}})();var bS=new wS;function Xp(){let e=bS.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]="0bf155fc-c690-5318-ba1e-275f1787858b")}catch{}})();var vS=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function j(){return Xp()??new Date().toISOString()}function yt(e){return Number.isFinite(Date.parse(e))}function Kt(e){let t=vS.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,r,n,i,o,a,s,c,l]=t,[d,u,m,p,f,w]=[r,n,i,o,a,s].map(Number);return u>=1&&u<=12&&m>=1&&m<=ES(d,u-1)&&p<=23&&f<=59&&w<=59&&(c===void 0||Number(c)<=23)&&(l===void 0||Number(l)<=59)}function gr(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 kS=1e4,ha=new Map;function Zp(e){let t=ha.get(e);if(t!==void 0)return t;let r=Date.parse(e);return ha.size>=kS&&On(ha),ha.set(e,r),r}function ye(e,t){let r=Zp(e),n=Zp(t);return Number.isFinite(r)&&Number.isFinite(n)&&r!==n?r-n:e.localeCompare(t)}function ES(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}import ef from"node:path";import*as he from"node:fs/promises";import{constants as $c}from"node:fs";import ya from"node:path";import SS 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]="78969134-5a5b-50b5-9601-9b1b8dbcf8ac")}catch{}})();var TS=[10,25,50,100];async function hr(e){await he.mkdir(e,{recursive:!0})}async function M(e){try{return await he.access(e),!0}catch{return!1}}function qe(e){return $(e)||Hr(e,"ENOTDIR")}function $(e){return Hr(e,"ENOENT")}async function K(e){try{return await he.readFile(e,"utf8")}catch(t){if(qe(t))return null;throw t}}async function Qp(e,t){let r=await he.open(e,$c.O_RDONLY|$c.O_NOFOLLOW|$c.O_NONBLOCK);try{if(!(await r.stat()).isFile())throw t;return await r.readFile("utf8")}finally{await r.close()}}function Fc(){return new g("Transaction preview requires regular files and directories.",_.USAGE,{code:"transaction_preview_non_regular_file",required:"regular files and directories within the configured tracker storage",why:"Preview does not follow linked entries or read special files.",nextSteps:["Inspect the configured tracker storage, settings, schema and session entries for links, directories used as files, or special files.","Restore the intended regular files and directories, then retry the original dry-run command."]})}async function q(e,t,r={}){let n=ya.dirname(e);r.createParentDirectories!==!1&&await hr(n);let i=ya.join(n,`.${ya.basename(e)}.${process.pid}.${Date.now()}.${SS.randomBytes(4).toString("hex")}.tmp`);await he.writeFile(i,t,"utf8");try{await he.rename(i,e)}catch(o){if(process.platform==="win32"&&(Hr(o,"EPERM")||Hr(o,"EBUSY"))){let a=o;for(let s of TS){await new Promise(c=>setTimeout(c,s));try{await he.rename(i,e);return}catch(c){if(a=c,!Hr(c,"EPERM")&&!Hr(c,"EBUSY"))break}}try{await he.unlink(i)}catch{}throw a}if(Hr(o,"EXDEV")){try{await he.copyFile(i,e)}finally{try{await he.unlink(i)}catch{}}return}try{await he.unlink(i)}catch{}throw o}}async function jc(e,t){let r=ya.dirname(e);await hr(r);let n=await he.open(e,"a");try{await n.writeFile(`${t}
2
- `,"utf8")}finally{await n.close()}}function Hr(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{link as AS,mkdir as IS,mkdtemp as CS,rm as OS,writeFile as xS}from"node:fs/promises";import Uc from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="71c2fed9-81e1-5723-8e34-e6327c07a130")}catch{}})();async function zc(e,t){let r=Uc.dirname(e);await IS(r,{recursive:!0});let n=await CS(Uc.join(r,".pm-seed-")),i=Uc.join(n,"value");try{await xS(i,t,"utf8");try{return await AS(i,e),!0}catch(o){if(o.code==="EEXIST")return!1;throw o}}finally{await OS(n,{recursive:!0,force:!0})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2075887b-6d4b-582f-9da2-bab13198f9a5")}catch{}})();var RS=2e3,wa=new Map;function ve(e){if(typeof e!="string")return"";let t=wa.get(e);if(t!==void 0)return t;let r=e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_");return wa.size>=RS&&On(wa),wa.set(e,r),r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6e07b1b6-1757-54dd-8833-9d3f984ccf79")}catch{}})();var Pe=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),nf=xc,ki=Oc,NS=["create","update"],DS=new Set(In),PS=new Set(fr),LS=new Set(Cn),MS=new Set(ua),$S=new Set(["string","number","boolean","array","object"]),FS=16;function of(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var jS=[e=>e.type===void 0||typeof e.type=="string"&&$S.has(e.type),e=>!Object.hasOwn(e,"const")||va(e.const),e=>e.enum===void 0||Array.isArray(e.enum)&&e.enum.every(t=>va(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||of(e.properties),e=>e.one_of===void 0||Array.isArray(e.one_of)&&e.one_of.length>0];function va(e,t=new Set){if(e===null||typeof e=="string"||typeof e=="boolean")return!0;if(typeof e=="number")return Number.isFinite(e);if(typeof e!="object"||t.has(e))return!1;t.add(e);let r=Array.isArray(e)?e.every(n=>va(n,t)):Object.values(e).every(n=>va(n,t));return t.delete(e),r}function ba(e,t=0,r=new Set){if(!of(e)||t>FS||r.has(e))return;r.add(e);let n=e,i=n.type,o=n.enum,a=n.one_of,s=n.properties,c=n.items,l=n.required,d=n.min_length,u=n.min_items,m=n.format,p=n.additional_properties;if(!jS.every(b=>b(n))){r.delete(e);return}let f=s===void 0?void 0:Object.fromEntries(Object.entries(s).map(([b,v])=>[b,ba(v,t+1,r)])),w=c===void 0?void 0:ba(c,t+1,r),h=a===void 0?void 0:a.map(b=>ba(b,t+1,r));if([...Object.values(f??{}),...c===void 0?[]:[w],...h??[]].some(b=>b===void 0)){r.delete(e);return}return r.delete(e),Object.fromEntries(Object.entries({type:i,const:Object.hasOwn(n,"const")?n.const:void 0,enum:o,min_length:d,min_items:u,format:m,properties:f,required:l===void 0?void 0:[...new Set(l)],additional_properties:p,items:w,one_of:h}).filter(([,b])=>b!==void 0))}function vi(e){let t=Array.isArray(e)?e:[];return[...new Set(t.map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n))}function nt(e){if(typeof e!="string"||e.length===0)return;let t=ve(e);return t.length>0?t:void 0}function US(e){return e.startsWith("--")?e.slice(2):e}function tf(e){return typeof e=="string"?US(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function af(e){return e.replaceAll("_","-")}function Hc(e,t){let r=nt(e.id);if(!r)return null;let n=[...new Set(vi(e.aliases).map(ve).filter(s=>s.length>0))].sort((s,c)=>s.localeCompare(c)),i=vi(e.roles).filter(s=>DS.has(s)),o=e.description?.trim(),a=typeof e.order=="number"&&Number.isFinite(e.order)?e.order:t;return{id:r,aliases:n,roles:i,description:o&&o.length>0?o:void 0,order:a}}function zS(e){return{draft_status:nt(e?.draft_status),open_status:nt(e?.open_status),in_progress_status:nt(e?.in_progress_status),blocked_status:nt(e?.blocked_status),close_status:nt(e?.close_status),canceled_status:nt(e?.canceled_status)}}function sf(e,t){if(!Array.isArray(t)||t.length!==2)return;let r=ve(t[0]),n=ve(t[1]);r.length===0||n.length===0||e.pairs.some(i=>i[0]===r&&i[1]===n)||e.pairs.push([r,n])}function HS(e){let t=typeof e?.type=="string"?e.type.trim():"";if(t.length===0||!Array.isArray(e?.allowed_transitions))return null;let r={type:t,pairs:[],denyAll:e.allowed_transitions.length===0};for(let n of e.allowed_transitions)sf(r,n);return{typeKey:t.toLowerCase(),record:r}}function qS(e){if(!Array.isArray(e)||e.length===0)return;let t=new Map;for(let n of e){let i=HS(n);if(i===null)continue;let o=t.get(i.typeKey)??i.record;o.denyAll||=i.record.denyAll;for(let a of i.record.pairs)sf(o,a);t.set(i.typeKey,o)}let r=[];for(let n of t.values())(n.pairs.length>0||n.denyAll)&&r.push({type:n.type,allowed_transitions:n.pairs});return r.sort((n,i)=>n.type.localeCompare(i.type)),r.length>0?r:void 0}function cf(e){let t=ve(e.key??"");if(!t)return null;let r=ve(e.metadata_key??e.front_matter_key??t),n=tf(e.cli_flag??af(t));if(!n)return null;let i=vi(e.cli_aliases).map(u=>tf(u)).filter(u=>u.length>0&&u!==n),o=typeof e.type=="string"?e.type.trim().toLowerCase():"string",a=PS.has(o)?o:"string",s=(()=>{let u=vi(e.commands).filter(m=>LS.has(m));return u.length>0?u:[...NS]})(),c=e.description?.trim(),l=vi(e.required_types),d=e.value_schema===void 0?void 0:ba(e.value_schema);return e.value_schema!==void 0&&d===void 0?null:{key:t,metadata_key:r,cli_flag:n,cli_aliases:i,description:c&&c.length>0?c:void 0,type:a,commands:s,repeatable:[e.repeatable===!0,a==="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 GS(e){let t=new Map;for(let[n,i]of e.entries()){let o=Hc(i,n);o&&t.set(o.id,o)}let r=rf([...t.values()]);return r.length>0?r:rf(ki.map((n,i)=>Hc(n,i)).filter(n=>n!==null))}function rf(e){return e.sort((t,r)=>t.order===r.order?t.id.localeCompare(r.id):t.order-r.order)}function BS(e){let t=new Map;for(let r of e??[]){let n=cf(r);n&&t.set(n.key,n)}return[...t.values()].sort((r,n)=>r.key.localeCompare(n.key))}function WS(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 VS(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==af(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 KS(e){let t=typeof e=="string"?e.trim().toLowerCase():"allow";return MS.has(t)?t:"allow"}function Ct(e){let t={...Pe,...e?.files},r=e?.statuses&&e.statuses.length>0?e.statuses:ki,n=GS(r),i=BS(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:t,statuses:n.map(WS),fields:i.map(VS),workflow:{...nf,...zS(e?.workflow)},type_workflows:qS(e?.type_workflows),unknown_field_policy:KS(e?.unknown_field_policy)}}function JS(e,t,r){try{return JSON.parse(e)}catch{r.push(t);return}}function YS(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.definitions))return t.definitions;if(typeof t.item_types=="object"&&t.item_types!==null){let r=t.item_types;if(Array.isArray(r.definitions))return r.definitions}}function XS(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 ZS(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 QS(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 e0(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 Ge(e,t,r){let n=t?.trim()||r;return ef.isAbsolute(n)?n:ef.join(e,n)}async function lf(e,t){let r=Ct(t),n=[{path:Ge(e,r.files.types,Pe.types),seed:{definitions:[]}},{path:Ge(e,r.files.statuses,Pe.statuses),seed:{statuses:ki}},{path:Ge(e,r.files.fields,Pe.fields),seed:{fields:[]}},{path:Ge(e,r.files.workflows,Pe.workflows),seed:{workflow:nf}}],i=[];for(let o of n)await M(o.path)||await zc(o.path,`${JSON.stringify(o.seed,null,2)}
3
- `)&&i.push(o.path);return{created_paths:i}}async function df(e,t){let r=Ct(t),n=[],i=Ge(e,r.files.types,Pe.types),o=Ge(e,r.files.statuses,Pe.statuses),a=Ge(e,r.files.fields,Pe.fields),s=Ge(e,r.files.workflows,Pe.workflows),c,l,d,u,m,p=async(v,I)=>{let A=await K(v);if(A!==null)return JS(A,I,n)},f=await p(i,"runtime_schema_types_invalid_json");f!==void 0&&(c=YS(f),c===void 0&&n.push("runtime_schema_types_invalid_shape"));let w=await p(o,"runtime_schema_statuses_invalid_json");w!==void 0&&(l=XS(w),l===void 0&&n.push("runtime_schema_statuses_invalid_shape"));let h=await p(a,"runtime_schema_fields_invalid_json");h!==void 0&&(d=ZS(h),d===void 0&&n.push("runtime_schema_fields_invalid_shape"));let b=await p(s,"runtime_schema_workflows_invalid_json");return b!==void 0&&(u=QS(b),u===void 0&&n.push("runtime_schema_workflows_invalid_shape"),m=e0(b)),{schema:Ct({...r,statuses:[...r.statuses,...l??[]],fields:[...r.fields,...d??[]],workflow:{...r.workflow,...u},type_workflows:[...r.type_workflows??[],...m??[]]}),type_definitions_from_file:c,warnings:n,created_paths:[]}}function bi(e,t,r,n=!1){let i=r.map(a=>nt(a)).filter(a=>typeof a=="string").find(a=>e.some(s=>s.id===a));if(n&&i!==void 0)return i;let o=e.find(a=>a.roles.includes(t));return o!==void 0?o.id:i??e[0]?.id}function t0(e){let t=new Map,r=new Map;for(let n of e){r.set(n.id,n),t.set(n.id,n.id),t.set(n.id.replaceAll("_","-"),n.id),t.set(n.id.replaceAll("_"," "),n.id);for(let i of n.aliases)t.set(i,n.id),t.set(i.replaceAll("_","-"),n.id),t.set(i.replaceAll("_"," "),n.id)}return{aliasToId:t,byId:r}}function r0(e){let t={activeStatuses:new Set,blockedStatuses:new Set,draftStatuses:new Set,terminalCanceledStatuses:new Set,terminalDoneStatuses:new Set,terminalStatuses:new Set};for(let r of e){let n=new Set(r.roles);(n.has("terminal")||n.has("terminal_done")||n.has("terminal_canceled"))&&t.terminalStatuses.add(r.id),n.has("terminal_done")&&t.terminalDoneStatuses.add(r.id),n.has("terminal_canceled")&&t.terminalCanceledStatuses.add(r.id),n.has("active")&&t.activeStatuses.add(r.id),n.has("blocked")&&t.blockedStatuses.add(r.id),n.has("draft")&&t.draftStatuses.add(r.id)}return t}function ut(e){let t=Ct(e),r=t.statuses.map((b,v)=>Hc(b,v)).filter(b=>b!==null),{aliasToId:n,byId:i}=t0(r),{activeStatuses:o,blockedStatuses:a,draftStatuses:s,terminalCanceledStatuses:c,terminalDoneStatuses:l,terminalStatuses:d}=r0(r),u=t.workflow,m=nt(u.open_status)??bi(r,"default_open",["open","in_progress",An[0]]),p=nt(u.in_progress_status)??bi(r,"active",["in_progress","in-progress",m],!0),f=nt(u.blocked_status)??bi(r,"blocked",["blocked"]),w=nt(u.close_status)??bi(r,"default_close",["closed","done","complete"]),h=nt(u.canceled_status)??bi(r,"default_cancel",["canceled","cancelled"]);return{definitions:r,by_id:i,alias_to_id:n,terminal_statuses:d,terminal_done_statuses:l,terminal_canceled_statuses:c,active_statuses:o,blocked_statuses:a,draft_statuses:s,open_status:m,in_progress_status:p,blocked_status:f,close_status:w,canceled_status:h}}function xn(e,t){let r=ve(e);if(r)return t.alias_to_id.get(r)}function ka(e){let t=Ct(e),r=new Map,n=t.fields.map(c=>cf(c)).filter(c=>c!==null);for(let c of n)r.set(c.key,c);let i=[...r.values()].sort((c,l)=>c.key.localeCompare(l.key)),o=new Map,a=new Map,s=new Map;for(let c of i){o.set(c.key,c),a.set(c.cli_flag,c);for(let l of c.cli_aliases)a.set(l,c);for(let l of c.commands){let d=s.get(l)??[];d.push(c),s.set(l,d)}}for(let[c,l]of s.entries())l.sort((d,u)=>d.key.localeCompare(u.key)),s.set(c,l);return{definitions:i,by_key:o,by_cli_token:a,command_to_fields:s}}function qc(e,t){let r=xn(e,t);return r?t.terminal_statuses.has(r):!1}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d5692ce-ec33-5eb4-bd9b-7497ffe25b0e")}catch{}})();var n0=16;function pf(e){return Array.isArray(e)?e.flatMap(t=>pf(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 uf(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 r=e.trim().toLowerCase();if(r==="true"||r==="1"||r==="yes")return!0;if(r==="false"||r==="0"||r==="no")return!1}throw new g(`${t} must be one of true|false|1|0|yes|no`,_.USAGE)}function mf(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let r=typeof e=="string"?e.trim():String(e),n=Number(r);if(!Number.isFinite(n))throw new g(`${t} must be a number`,_.USAGE);return n}function i0(e,t,r){let n=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(r==="array"&&Array.isArray(n)||r==="object"&&typeof n=="object"&&n!==null&&!Array.isArray(n))return n;throw new g(`${t} must be valid JSON ${r}`,_.USAGE)}function o0(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 a0(e,t,r){if(t.const!==void 0&&x(e)!==x(t.const))return`${r} must equal ${x(t.const)}`;if(t.enum!==void 0&&!t.enum.some(n=>x(n)===x(e)))return`${r} must be one of ${t.enum.map(n=>x(n)).join("|")}`;if(!o0(e,t.type))return`${r} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${r} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!Kt(e))return`${r} must be an RFC 3339 date-time`}}function s0(e,t,r,n){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${r} must contain at least ${t.min_items} items`;if(t.items)for(let[i,o]of e.entries()){let a=Ea(o,t.items,`${r}[${i}]`,n+1);if(a)return a}}}function c0(e,t,r,n){if(typeof e!="object"||e===null||Array.isArray(e))return;let i=e;for(let o of t.required??[])if(!Object.hasOwn(i,o))return`${r}.${o} is required`;for(let[o,a]of Object.entries(i)){let s=t.properties?.[o];if(!s){if(t.additional_properties===!1)return`${r}.${o} is not allowed`;continue}let c=Ea(a,s,`${r}.${o}`,n+1);if(c)return c}}function Ea(e,t,r,n=0){if(n>n0)return`${r} value schema exceeds maximum depth`;let i=a0(e,t,r);if(i)return i;let o=s0(e,t,r,n);if(o)return o;let a=c0(e,t,r,n);if(a)return a;if(!t.one_of)return;let s=0;for(let c of t.one_of)if(Ea(e,c,r,n+1)===void 0&&(s+=1,s>1))break;return s===1?void 0:`${r} must match exactly one configured schema variant`}function qr(e,t,r){if(!e.value_schema||t===void 0)return t;let n=Ea(t,e.value_schema,r);if(n)throw new g(n,_.USAGE);return t}function l0(e,t,r,n){let i=n==="option"&&Array.isArray(t)?t[t.length-1]:t;if(i!==void 0)return qr(e,i0(i,r,e.type),r)}function Sa(e,t,r,n="option"){let i=r??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object")return l0(e,t,i,n);if(e.repeatable||e.type==="string_array"){let a=pf(t);return e.type==="number"?qr(e,a.map(s=>mf(s,i)),i):e.type==="boolean"?qr(e,a.map(s=>uf(s,i)),i):qr(e,a,i)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?qr(e,mf(o,i),i):e.type==="boolean"?qr(e,uf(o,i),i):qr(e,typeof o=="string"?o:String(o),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]="13e158d2-14a0-5c14-a11c-a374b3e6ceac")}catch{}})();var Gc=1,Ei=1;function Rn(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=1?t:1}function ff(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=1))return e}function d0(e,t=1){return e<t?"outdated":e>t?"ahead":"current"}function Ta(e,t=1){let r=[],n=[];for(let i of e){let o=d0(i.version,t);o==="outdated"?r.push(i.ref):o==="ahead"&&n.push(i.ref)}return{outdated:r.sort((i,o)=>i.localeCompare(o)),ahead:n.sort((i,o)=>i.localeCompare(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]="515840b7-cf86-5d71-8ac1-beac7fd7c8a8")}catch{}})();var u0={"in-progress":"in_progress",cancelled:"canceled"};function Ot(e,t){if(t){let i=xn(e,t);if(i)return i}if(typeof e!="string")return;let r=e.trim().toLowerCase();if(!r)return;let n=u0[r]??r;if(An.includes(n))return n}function _f(e,t){return Ot(e,t)??e}function Bc(e,t){return t.terminal_statuses.has(_f(e,t))}import{decode as m0}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]="aaa2be03-9478-5fbe-82e6-e4fc86e3735b")}catch{}})();function Wc(e){return{value:m0(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]="79626299-17a8-573a-9b66-ce37c65e2f5d")}catch{}})();var p0=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function f0(e){if(e.length===0)return[];let t=e.split(/\r?\n/),r=[];for(let n=0;n<t.length;n+=1){let i=t[n]??"",o=i.match(p0);if(!o)continue;let a=o[1];r.push({line:n+1,marker:a,text:i})}return r}function Le(e){return f0(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]="a797572f-fbc6-5e62-a9b5-5a0bd6ef22b4")}catch{}})();function B(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ue(e){return B(e)??void 0}function Si(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 Nn(e){return Array.isArray(e)&&e.every(t=>typeof t=="number"&&Number.isFinite(t))}function oe(e){if(e instanceof Error){let t=e.message.trim();return t.length>0?t:e.name}return String(e)}function Vc(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 hf(e){let t=Vc(e);return t===null||t<=0||!Number.isInteger(t)?null:t}function yr(e){return typeof e!="object"||e===null?null:e}function gf(e){return typeof e!="object"&&typeof e!="function"||e===null?null:e}function yf(e){let t=gf(e);if(!t)return null;if(typeof t.activate=="function")return t;let r=gf(t.default);return typeof r?.activate=="function"?r:null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2f15e0b-06b0-5e02-a91e-2886f94ffc63")}catch{}})();var Xc=new Set(["schema","tracker","auto","none"]),kf=new Set(["source","isolated","snapshot"]),g0=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),h0=new Set(["passed","failed","stopped","canceled"]),y0=new Set(_a);function Ln(e){return e.replaceAll("\\","/")}function Ef(e){for(let t of e)if(t!==0)return t;return 0}function Ia(e){for(let[t,r]of Object.entries(e))r===void 0&&delete e[t]}var Sf=["id","title","description","created_at","updated_at"],w0=new Set(Ve);function Tf(e){if(e?.schema)return{statusRegistry:ut(e.schema),fieldRegistry:ka(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function b0(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(r=>r.toLowerCase()).includes(t.trim().toLowerCase()):!1}function wr(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 Ii(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 Af(e,t){if(!t||typeof e!="object"||e===null)return;let r=Rn(e);if(!(r<=Ei))throw new g(`Stored item uses format version ${r}; this runtime supports up to ${Ei}. Upgrade pm before reading or changing this item.`,_.CONFLICT,{code:"item_format_version_unsupported",format_version:r,required:"Upgrade to a pm runtime supporting the stored item format.",nextSteps:["Preserve the original item and history; do not lower pm_format_version to bypass compatibility checks."]})}function If(e){let t=new Set(w0);for(let r of e.fieldRegistry?.definitions??[])t.add(r.metadata_key);for(let r of e.extensionFieldNames)t.add(r);return t}function L(e,t){e||wr(t)}function Ci(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&wr(t),e}function Kc(e,t){let r=e[t];L(typeof r=="string",`${t} must be a string`),L(yt(r),`${t} must be a valid ISO timestamp`)}function bf(e,t,r){let n=e[t];n!==void 0&&L(typeof n=="number"&&Number.isInteger(n)&&n>=1,`${r} must be an integer >= 1`)}function Zc(e,t,r){let n=e[t];n!==void 0&&(L(typeof n=="string",`${r} must be a string`),L(yt(n),`${r} must be a valid ISO timestamp`))}function v0(e){if(e!==void 0){L(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){L(typeof t=="string","event.recurrence.by_weekday entries must be strings");let r=t.trim().toLowerCase();L(wi.includes(r),`event.recurrence.by_weekday entries must be one of: ${wi.join(", ")}`)}}}function k0(e){if(e!==void 0){L(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)L(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function E0(e){if(e!==void 0){L(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)L(typeof t=="string","event.recurrence.exdates entries must be strings"),L(yt(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function S0(e){let t=Ci(e,"event.recurrence must be an object");L(typeof t.freq=="string","event.recurrence.freq must be a string");let r=t.freq.trim().toLowerCase();L(fa.includes(r),`event.recurrence.freq must be one of: ${fa.join(", ")}`),bf(t,"interval","event.recurrence.interval"),bf(t,"count","event.recurrence.count"),Zc(t,"until","event.recurrence.until"),v0(t.by_weekday),k0(t.by_month_day),E0(t.exdates)}function T0(e){for(let n of Sf)L(typeof e[n]=="string",`${n} is required and must be a string`);let t=e.type;L(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let r=e.pm_format_version;return r!==void 0&&L(typeof r=="number"&&Number.isInteger(r)&&r>=Gc,`pm_format_version must be an integer >= ${Gc}`),t}function A0(e,t){let r=e.status;L(typeof r=="string"&&r.trim().length>0,"status must be a non-empty string");let n=t?.statusRegistry,i=Ot(r,n),o=n?n.definitions.map(a=>a.id):[...An];L(i!==void 0,`status must be one of: ${o.join(", ")}`)}function I0(e){let t=e.priority;L(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let r=e.tags;L(Array.isArray(r),"tags must be an array");for(let n of r)L(typeof n=="string","tags entries must be strings")}function C0(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){L(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let r=t.trim().toLowerCase(),n=r==="med"||pa.includes(r);L(n,`confidence string value must be one of: ${[...pa,"med"].join(", ")}`);return}L(!1,"confidence must be a number or string")}}function O0(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&wr("severity must be a string");let r=t.trim().toLowerCase(),n=r==="med"||ma.includes(r);L(n,`severity value must be one of: ${[...ma,"med"].join(", ")}`)}function x0(e){e.regression!==void 0&&typeof e.regression!="boolean"&&wr("regression must be a boolean")}function R0(e){let t=e.reminders;if(t!==void 0){L(Array.isArray(t),"reminders must be an array");for(let r of t){let n=Ci(r,"reminders entries must be objects");L(typeof n.at=="string","reminder.at must be a string"),L(yt(n.at),"reminder.at must be a valid ISO timestamp"),L(typeof n.text=="string","reminder.text must be a string"),L(n.text.trim().length>0,"reminder.text must not be empty")}}}function N0(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(L(typeof e[t]=="string",`event.${t} must be a string`),L(e[t].trim().length>0,`event.${t} must not be empty`))}function D0(e){e.recurrence!==void 0&&(S0(e.recurrence),e.recurrence.until!==void 0&&L(ye(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function P0(e){let t=Ci(e,"events entries must be objects");L(typeof t.start_at=="string","event.start_at must be a string"),L(yt(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(L(typeof t.end_at=="string","event.end_at must be a string"),L(yt(t.end_at),"event.end_at must be a valid ISO timestamp"),L(ye(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),N0(t),t.all_day!==void 0&&L(typeof t.all_day=="boolean","event.all_day must be a boolean"),D0(t)}function L0(e){let t=e.events;if(t!==void 0){L(Array.isArray(t),"events must be an array");for(let r of t)P0(r)}}function M0(e){for(let t of["source_type","source_owner","design","external_ref"]){let r=e[t];r!==void 0&&L(typeof r=="string",`${t} must be a string`)}}function $0(e){let t=e.type_options;if(t===void 0)return;let r=Ci(t,"type_options must be an object");for(let[n,i]of Object.entries(r))L(n.trim().length>0,"type_options keys must be non-empty"),L(typeof i=="string","type_options values must be strings"),L(i.trim().length>0,"type_options values must be non-empty strings")}function F0(e,t,r){if(r?.fieldRegistry)for(let n of r.fieldRegistry.definitions){let i=e[n.metadata_key];if(i===void 0){b0(n,t)&&wr(`missing required schema field: ${n.metadata_key}`);continue}try{e[n.metadata_key]=Sa(n,i,`metadata field "${n.metadata_key}"`,"metadata")}catch(o){wr(String(o?.message).replace(/^Invalid\s+/u,""))}}}function j0(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let r=If(t),n=Object.keys(e).filter(i=>!r.has(i)).sort((i,o)=>i.localeCompare(o));n.length!==0&&(t.unknownFieldPolicy==="reject"?wr(`unknown schema fields are not allowed: ${n.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${n.join(",")}`))}function Qc(e,t){let r=Ci(e,"item metadata must be an object"),n=T0(r);A0(r,t),I0(r),C0(r),O0(r),x0(r),Kc(r,"created_at"),Kc(r,"updated_at"),r.deadline!==void 0&&Kc(r,"deadline"),R0(r),L0(r),Zc(r,"closed_at","closed_at"),Zc(r,"completed_at","completed_at"),M0(r),$0(r),F0(r,n,t),j0(r,t)}function U0(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,r)=>{let n=ye(t.created_at,r.created_at);if(n!==0)return n;let i=t.id.localeCompare(r.id);if(i!==0)return i;let o=t.kind.localeCompare(r.kind);return o!==0?o:(t.source_kind??"").localeCompare(r.source_kind??"")})}function Jc(e){if(!(!e||e.length===0))return[...e].sort((t,r)=>{let n=ye(t.created_at,r.created_at);if(n!==0)return n;let i=t.text.localeCompare(r.text);return i!==0?i:t.author.localeCompare(r.author)})}function z0(e){if(!e||e.length===0)return;let t=[...e].map(r=>({at:r.at,text:r.text.trim()})).filter(r=>r.text.length>0).sort((r,n)=>{let i=ye(r.at,n.at);return i!==0?i:r.text.localeCompare(n.text)});return t.length===0?void 0:t}function H0(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!fa.includes(t))return;let r=Array.from(new Set((e.by_weekday??[]).map(a=>a.trim().toLowerCase()).filter(a=>wi.includes(a)))).sort((a,s)=>Mc(a)-Mc(s)),n=Array.from(new Set((e.by_month_day??[]).filter(a=>Number.isInteger(a)&&a>=1&&a<=31).map(a=>a))).sort((a,s)=>a-s),i=Array.from(new Set((e.exdates??[]).map(a=>a.trim()).filter(a=>yt(a)))).sort((a,s)=>ye(a,s)),o={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:r.length>0?r:void 0,by_month_day:n.length>0?n:void 0,exdates:i.length>0?i:void 0};for(let[a,s]of Object.entries(o))s===void 0&&delete o[a];return o}function q0(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(G0).sort(B0)}function G0(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:H0(e.recurrence)};return Ia(t),t}function B0(e,t){return Ef([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 W0(e){if(!(!e||e.length===0))return e.map(t=>({path:Ln(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function V0(e){if(!e||e.length===0)return;let t=e.map(X0).filter(r=>r.run_id.length>0&&r.started_at.length>0&&r.finished_at.length>0&&r.recorded_at.length>0).sort((r,n)=>Ef([ye(r.recorded_at,n.recorded_at),r.run_id.localeCompare(n.run_id),r.kind.localeCompare(n.kind)]));return t.length>0?t:void 0}function Dn(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function K0(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Yc(e){return typeof e=="string"?e:""}function J0(e){if(!Array.isArray(e))return;let t=e.filter(n=>n!==null&&typeof n=="object"&&typeof n.name=="string"&&n.name.trim().length>0&&typeof n.value=="number"&&Number.isFinite(n.value)&&typeof n.recorded_at=="string"&&n.recorded_at.trim().length>0).map(n=>({name:n.name.trim(),value:n.value,unit:typeof n.unit=="string"&&n.unit.trim()||void 0,threshold:typeof n.threshold=="number"&&Number.isFinite(n.threshold)?n.threshold:void 0,recorded_at:n.recorded_at.trim()})),r=[...new Map(t.map(n=>[n.name,n])).values()].sort((n,i)=>n.name.localeCompare(i.name)).slice(0,32);return r.length>0?r:void 0}function Aa(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function Y0(e){if(!Array.isArray(e))return;let t=e.filter(r=>r&&typeof r.command=="string"&&r.command.trim().length>0).slice(0,32).map(r=>({command:r.command.trim(),requested_pm_context_mode:Aa(r.requested_pm_context_mode,Xc),pm_context_mode:Aa(r.pm_context_mode,Xc),workspace_context_mode:Aa(r.workspace_context_mode,kf),trust_reason:Aa(r.trust_reason,g0)}));return t.length>0?t:void 0}function X0(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",r=e.kind==="test"||e.kind==="test-all"?e.kind:"test",n=h0.has(e.status)?e.status:"failed",i={run_id:t,kind:r,status:n,started_at:Yc(e.started_at),finished_at:Yc(e.finished_at),recorded_at:Yc(e.recorded_at),attempt:K0(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Dn(e.passed)??0,failed:Dn(e.failed)??0,skipped:Dn(e.skipped)??0,items:Dn(e.items),linked_tests:Dn(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:J0(e.measurements),executions:Y0(e.executions)};return Ia(i),i}function Z0(e){if(!(!Array.isArray(e)||e.length===0))return e.map(nT)}function Ti(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(r=>typeof r=="string").map(r=>r.trim()).filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n));return t.length>0?t:void 0}function tl(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function rl(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function vf(e){if(!tl(e))return;let t=Object.entries(e).map(([r,n])=>[r.trim(),String(n).trim()]).filter(([r,n])=>r.length>0&&!rl(r)&&n.length>0).sort(([r],[n])=>r.localeCompare(n));return t.length>0?Object.fromEntries(t):void 0}function Q0(e){if(!tl(e))return;let t=Object.entries(e).map(([r,n])=>[r.trim(),Number(n)]).filter(([r,n])=>r.length>0&&!rl(r)&&Number.isFinite(n)).sort(([r],[n])=>r.localeCompare(n));return t.length>0?Object.fromEntries(t):void 0}function eT(e){let t=e?.trim().toLowerCase();if(!(!t||!Xc.has(t)))return t}function tT(e){let t=e?.trim().toLowerCase();if(!(!t||!kf.has(t)))return t}function rT(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!tl(e))return{provenance_invalid:!0};let r=N(e.author),n=N(e.created_at),i=e.source_kind;return!r||!n||!yt(n)||i!=="local_mutation"&&i!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:r,created_at:n,source_kind:i,source_ref:N(e.source_ref)}}}function nT(e){let t={command:e.command?.trim()||void 0,path:e.path?Ln(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:eT(e.pm_context_mode),workspace_context_mode:tT(e.workspace_context_mode),...rT(e.provenance,e.provenance_invalid),env_set:vf(e.env_set),env_clear:Ti(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Ti(e.assert_stdout_contains),assert_stdout_regex:Ti(e.assert_stdout_regex),assert_stderr_contains:Ti(e.assert_stderr_contains),assert_stderr_regex:Ti(e.assert_stderr_regex),assert_stdout_min_lines:Dn(e.assert_stdout_min_lines),assert_json_field_equals:vf(e.assert_json_field_equals),assert_json_field_gte:Q0(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Ia(t),t}function iT(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Ln(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,r)=>{let n=t.scope.localeCompare(r.scope);if(n!==0)return n;let i=t.path.localeCompare(r.path);return i!==0?i:(t.note??"").localeCompare(r.note??"")})}function N(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function oT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=N(n.id),o=N(n.kind);if(!i||!o)continue;let a={id:i,kind:o},s=N(n.note);s&&(a.note=s),n.required_before_step===!0&&(a.required_before_step=!0),t.push(a)}return t.length>0?t:void 0}function aT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=N(n.path);if(!i)continue;let o={path:Ln(i)};(n.scope==="project"||n.scope==="global")&&(o.scope=n.scope);let a=N(n.note);a&&(o.note=a),t.push(o)}return t.length>0?t:void 0}function sT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=N(n.command),o=N(n.path);if(!i&&!o)continue;let a={};i&&(a.command=i),o&&(a.path=Ln(o));let s=N(n.note);s&&(a.note=s),t.push(a)}return t.length>0?t:void 0}function cT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=N(n.path);if(!i)continue;let o={path:Ln(i)};(n.scope==="project"||n.scope==="global")&&(o.scope=n.scope);let a=N(n.note);a&&(o.note=a),t.push(o)}return t.length>0?t:void 0}function lT(e){if(e===null||typeof e!="object")return;let t=e,r=N(t.id),n=N(t.title),i=N(t.status),o=i&&y0.has(i)?i:void 0,a=Vc(t.order)??Number.NaN,s=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!r||!n||!o||!Number.isFinite(a)||!s||!c)return;let l={id:r,order:a,title:n,status:o,created_at:s,updated_at:c};return dT(l,t),l}function dT(e,t){let r=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[o,a]of r){let s=N(t[a]);s&&(e[o]=s)}let n=typeof t.completed_at=="string"?t.completed_at:void 0;n&&n.length>0&&(e.completed_at=n);let i=[["linked_items","linked_items",oT],["files","files",aT],["tests","tests",sT],["docs","docs",cT]];for(let[o,a,s]of i){let c=s(t[a]);c&&(e[o]=c)}}function uT(e){if(!Array.isArray(e))return;let t=e.flatMap(r=>{let n=lT(r);return n?[n]:[]});return t.sort((r,n)=>r.order-n.order),t.length>0?t:void 0}function mT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=typeof n.ts=="string"?n.ts:"",o=typeof n.author=="string"?n.author:"",a=N(n.decision);if(!i||!o||!a)continue;let s={ts:i,author:o,decision:a},c=N(n.rationale);c&&(s.rationale=c);let l=N(n.evidence);l&&(s.evidence=l);let d=N(n.step_id);d&&(s.step_id=d),t.push(s)}return t.length>0?t:void 0}function pT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=typeof n.ts=="string"?n.ts:"",o=typeof n.author=="string"?n.author:"",a=N(n.text);if(!i||!o||!a)continue;let s={ts:i,author:o,text:a},c=N(n.step_id);c&&(s.step_id=c),t.push(s)}return t.length>0?t:void 0}function fT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=N(n.text);if(!i)continue;let o={text:i},a=N(n.command);a&&(o.command=a);let s=N(n.expected);s&&(o.expected=s),t.push(o)}return t.length>0?t:void 0}function _T(e){if(!e)return;let t=Object.entries(e).map(([r,n])=>[r.trim(),n.trim()]).filter(([r,n])=>r.length>0&&n.length>0).sort((r,n)=>r[0].localeCompare(n[0]));if(t.length!==0)return Object.fromEntries(t)}function Pn(e){let t=0;for(;t<e.length&&e[t]===`
4
- `;)t+=1;return e.slice(t).trimEnd()}function gT(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(pa.includes(t))return t}function hT(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(ma.includes(t))return t}function Ai(e){return e||void 0}function yT(e,t){let r=e,n=t;for(let[i,o]of Object.entries(n))rl(i)||Object.prototype.hasOwnProperty.call(r,i)||o===void 0||(r[i]=o)}function wT(e,t){if(!t?.fieldRegistry)return;let r=e;for(let n of t.fieldRegistry.definitions){let i=r[n.metadata_key];i!==void 0&&(r[n.metadata_key]=Sa(n,i,`metadata field "${n.metadata_key}"`,"metadata"))}}function bT(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let r=If(t),n=Object.keys(e).filter(i=>!r.has(i)).sort((i,o)=>i.localeCompare(o));n.length>0&&t.unknownFieldPolicy==="reject"&&wr(`unknown schema fields are not allowed: ${n.join(", ")}`),n.length>0&&t.onWarning?.(`item_unknown_schema_fields:${n.join(",")}`)}function Oi(e,t={}){let r=Tf(t),n=Ot(e.status,r?.statusRegistry)??e.status,i=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean))).sort((a,s)=>a.localeCompare(s)),o={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:ff(e.pm_format_version),source_type:N(e.source_type),type_options:_T(e.type_options),status:n,priority:e.priority,tags:i,created_at:e.created_at,updated_at:e.updated_at,dependencies:U0(e.dependencies),comments:Jc(e.comments),notes:Jc(e.notes),learnings:Jc(e.learnings),files:W0(e.files),tests:Z0(e.tests),test_runs:V0(e.test_runs),docs:iT(e.docs),deadline:Ai(e.deadline),reminders:z0(e.reminders),events:q0(e.events),closed_at:Ai(e.closed_at),completed_at:Ai(e.completed_at),assignee:N(e.assignee),claim_principal:N(e.claim_principal),source_owner:N(e.source_owner),author:Ai(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:N(e.definition_of_ready),order:e.order,goal:N(e.goal),objective:N(e.objective),value:N(e.value),impact:N(e.impact),outcome:N(e.outcome),why_now:N(e.why_now),parent:N(e.parent),reviewer:N(e.reviewer),risk:e.risk??void 0,confidence:gT(e.confidence),sprint:N(e.sprint),release:N(e.release),blocked_by:N(e.blocked_by),blocked_reason:N(e.blocked_reason),unblock_note:N(e.unblock_note),reporter:N(e.reporter),severity:hT(e.severity),environment:N(e.environment),repro_steps:N(e.repro_steps),resolution:N(e.resolution),expected_result:N(e.expected_result),actual_result:N(e.actual_result),affected_version:N(e.affected_version),fixed_version:N(e.fixed_version),component:N(e.component),regression:e.regression,customer_impact:N(e.customer_impact),close_reason:Ai(e.close_reason),plan_mode:N(e.plan_mode),plan_scope:N(e.plan_scope),plan_harness:N(e.plan_harness),plan_resume_context:N(e.plan_resume_context),plan_steps:uT(e.plan_steps),plan_decisions:mT(e.plan_decisions),plan_discoveries:pT(e.plan_discoveries),plan_validation:fT(e.plan_validation)};return yT(o,e),wT(o,r),bT(o,r),Ia(o),o}function Cf(e){return _r(e,Ve)}function vT(e){let t=0,r=!1,n=!1;for(let i=0;i<e.length;i+=1){let o=e[i];if(r){if(n){n=!1;continue}if(o==="\\"){n=!0;continue}o==='"'&&(r=!1);continue}if(o==='"'){r=!0;continue}if(o==="{"){t+=1;continue}if(o==="}"&&(t-=1,t===0))return i}return-1}function kT(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=vT(e);if(t<0)return{frontMatter:"",body:e};let r=e.slice(0,t+1),n=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:r,body:n}}function ET(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,r=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!r)return{content:t,stripped:!1};let n=r[0].length;for(;n<t.length;){let i=t.indexOf(`
1
+ import jd from"fast-json-patch";import{createHash as oS}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]="ca5b60a5-80a7-5e7d-917f-4c7649bcbab6")}catch{}})();var Up=["sha256","sha512"],aS="sha256",zp="sha256";function Re(e){if(e===void 0)return aS;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function pr(e,t){return oS(Re(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]="3bfeb8d2-52c2-587a-9611-c4d5817cb47e")}catch{}})();function yi(e){let t=[],r=e[0]?.op==="history_compact_baseline",n=r?1:void 0,i=!1;for(let[o,a]of e.entries())a.op==="delete"&&(i=!0),a.op==="create"&&(n!==void 0&&t.push({prior_genesis_index:n,repeated_create_index:o+1,sequence:i?"delete_then_create":r?"checkpoint_then_create":"multiple_creates"}),n??=o+1,i=!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]="f483c0e2-e630-568c-b4c0-3ca4f5434d5e")}catch{}})();var rt=["commands","renderers","hooks","schema","importers","search","parser","preflight","services"],Ic=2,Cc=Object.freeze({migration:"schema",validation:"schema"}),na=Object.freeze({version:2,capabilities:[...rt],legacy_aliases:{...Cc}}),ia=["off","warn","enforce"],oa=["off","warn","enforce"],aa=["none","restricted","strict"],Hp=["block","warn"],sa=["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"],Sn=["output_format","error_format","help_format","lock_acquire","lock_release","history_append","item_store_write","item_store_delete","context_relevance","command_result"];function ca(){return{mode:"off",trust_mode:"off",require_provenance:!1,trusted_extensions:[],default_sandbox_profile:"none",allowed_extensions:[],blocked_extensions:[],allowed_capabilities:[],blocked_capabilities:[],allowed_surfaces:[],blocked_surfaces:[],allowed_commands:[],blocked_commands:[],allowed_actions:[],blocked_actions:[],allowed_services:[],blocked_services:[],extension_overrides:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3d6df465-e82e-57d8-a687-6c2e720c99c1")}catch{}})();var qp=["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"],sS=["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",...qp,"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"],Ve=sS;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a92abe3-1900-5a69-a35d-6aa592c83da0")}catch{}})();var Oc=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"]}]),xc=Object.freeze({draft_status:"draft",open_status:"open",in_progress_status:"in_progress",blocked_status:"blocked",close_status:"closed",canceled_status:"canceled"}),Tn=".agents/pm",la="settings.json";var Rc=["","epics","features","tasks","chores","issues","schema","history","search","extensions","locks"],cS=["decisions","events","reminders","milestones","meetings","plans"],Zq=[...Rc,...cS],He={Epic:"epics",Feature:"features",Task:"tasks",Chore:"chores",Issue:"issues",Decision:"decisions",Event:"events",Reminder:"reminders",Milestone:"milestones",Meeting:"meetings",Plan:"plans"},Nc={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}},Dc=["no active blocker","ready for planned execution sequencing","work completed","work is closed"],zr={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 Gp(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:[...Dc],lifecycle_closure_like_blocked_reason_patterns:[...zr.blocked_reason],lifecycle_closure_like_resolution_patterns:[...zr.resolution],lifecycle_closure_like_actual_result_patterns:[...zr.actual_result],estimate_defaults_by_type:{}},governance:{preset:"minimal",...Nc.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:Oc.map(e=>({...e,aliases:Gp(e.aliases),roles:Gp(e.roles)})),fields:[],workflow:{...xc},unknown_field_policy:"allow"},extensions:{enabled:[],disabled:[],policy:ca()},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:""}}},da={metadata:{},body:""},_={SUCCESS:0,GENERIC_FAILURE:1,USAGE:2,NOT_FOUND:3,CONFLICT:4,DEPENDENCY_FAILED:5,NO_EFFECT:6,PARTIAL_EFFECT:7},Qq=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 _0}from"@toon-format/toon";import{isDeepStrictEqual as wf}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]="d293b107-03ce-51f2-8ade-8a9f0ec0b4db")}catch{}})();var Pc=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],Bp=Pc,An=["draft","open","in_progress","blocked","closed","canceled"],In=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],fr=["string","number","boolean","string_array","array","object"],Cn=["create","update","update_many","list","search","calendar","context"],ua=["allow","warn","reject"];var Lc=["project","global"];var ma=["low","medium","high","critical"],pa=["low","medium","high"];var Wp=["minimal","default","strict","custom"];var fa=["daily","weekly","monthly","yearly"],wi=["mon","tue","wed","thu","fri","sat","sun"];function Mc(e){return wi.indexOf(e)}var Vp=["draft","research","review","approved","executing","paused","completed","superseded"],_a=["pending","in_progress","completed","blocked","skipped","superseded"],Kp=["codex","claude-code","cursor","generic"],Jp=["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]="82886059-8bb7-5765-925f-064c93e3e7c7")}catch{}})();var g=class extends Error{exitCode;code;context;constructor(t,r,n={}){super(t),this.name="PmCliError",this.exitCode=r,this.context=n,this.code=n.code}};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]="77f9d61e-e78b-5b6a-a769-1ad6e5b91777")}catch{}})();function dS(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 uS(e){let t=Object.keys(e).sort(),r={};for(let n of t){let i=e[n];i!==void 0&&(r[n]=ga(i))}return r}function ga(e){let t=dS(e);if(t!==void 0)return t;if(Array.isArray(e))return e.map(n=>ga(n));if(e instanceof Date)return e.toISOString();let r=e;if(typeof r.toJSON=="function"){let n=r.toJSON();if(n!==e)return ga(n)}return uS(e)}function x(e){return JSON.stringify(ga(e))}function Yp(e,t,r,n){for(let i=0;i<t.length;i+=1)if(!r.has(i)&&n(e,t[i]))return r.add(i),!0;return!1}function mS(e,t){if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.toString()===t.toString()}function pS(e,t){if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime()}function fS(e,t){if(!(e instanceof Set||t instanceof Set))return;if(!(e instanceof Set&&t instanceof Set)||e.size!==t.size)return!1;let r=[...t],n=new Set;for(let i of e)if(!Yp(i,r,n,Ne))return!1;return!0}function _S(e,t){if(!(e instanceof Map||t instanceof Map))return;if(!(e instanceof Map&&t instanceof Map)||e.size!==t.size)return!1;let r=[...t.entries()],n=new Set;for(let[i,o]of e.entries())if(!Yp([i,o],r,n,([a,s],[c,l])=>Ne(a,c)&&Ne(s,l)))return!1;return!0}function gS(e,t){if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((r,n)=>Ne(r,t[n]))}function hS(e,t){let r=Object.keys(e).sort((i,o)=>i.localeCompare(o)),n=Object.keys(t).sort((i,o)=>i.localeCompare(o));if(r.length!==n.length)return!1;for(let i=0;i<r.length;i+=1){let o=r[i];if(o!==n[i]||!Ne(e[o],t[o]))return!1}return!0}var yS=[mS,pS,fS,_S,gS];function Ne(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||typeof e!="object"||typeof t!="object")return!1;for(let r of yS){let n=r(e,t);if(n!==void 0)return n}return hS(e,t)}function De(e){return lS.createHash("sha256").update(e,"utf8").digest("hex")}function _r(e,t){let r={};for(let i of t){let o=e[i];o!==void 0&&(r[i]=o)}let n=Object.keys(e).filter(i=>!t.includes(i)).sort((i,o)=>i.localeCompare(o));for(let i of n){let o=e[i];o!==void 0&&(r[i]=o)}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="92573990-a040-526d-a0b1-b91d2ef401f1")}catch{}})();function On(e){let t=Math.ceil(e.size/2);for(let r of e.keys()){if(t===0)return;e.delete(r),t-=1}}import{AsyncLocalStorage as wS}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]="ced47074-06d3-53b9-af75-63586cbd4f6a")}catch{}})();var bS=new wS;function Xp(){let e=bS.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]="0bf155fc-c690-5318-ba1e-275f1787858b")}catch{}})();var vS=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function j(){return Xp()??new Date().toISOString()}function yt(e){return Number.isFinite(Date.parse(e))}function Kt(e){let t=vS.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,r,n,i,o,a,s,c,l]=t,[d,u,m,p,f,w]=[r,n,i,o,a,s].map(Number);return u>=1&&u<=12&&m>=1&&m<=ES(d,u-1)&&p<=23&&f<=59&&w<=59&&(c===void 0||Number(c)<=23)&&(l===void 0||Number(l)<=59)}function gr(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 kS=1e4,ha=new Map;function Zp(e){let t=ha.get(e);if(t!==void 0)return t;let r=Date.parse(e);return ha.size>=kS&&On(ha),ha.set(e,r),r}function ye(e,t){let r=Zp(e),n=Zp(t);return Number.isFinite(r)&&Number.isFinite(n)&&r!==n?r-n:e.localeCompare(t)}function ES(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}import ef from"node:path";import*as he from"node:fs/promises";import{constants as $c}from"node:fs";import ya from"node:path";import SS 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]="78969134-5a5b-50b5-9601-9b1b8dbcf8ac")}catch{}})();var TS=[10,25,50,100];async function hr(e){await he.mkdir(e,{recursive:!0})}async function M(e){try{return await he.access(e),!0}catch{return!1}}function qe(e){return $(e)||Hr(e,"ENOTDIR")}function $(e){return Hr(e,"ENOENT")}async function K(e){try{return await he.readFile(e,"utf8")}catch(t){if(qe(t))return null;throw t}}async function Qp(e,t){let r=await he.open(e,$c.O_RDONLY|$c.O_NOFOLLOW|$c.O_NONBLOCK);try{if(!(await r.stat()).isFile())throw t;return await r.readFile("utf8")}finally{await r.close()}}function Fc(){return new g("Transaction preview requires regular files and directories.",_.USAGE,{code:"transaction_preview_non_regular_file",required:"regular files and directories within the configured tracker storage",why:"Preview does not follow linked entries or read special files.",nextSteps:["Inspect the configured tracker storage, settings, schema and session entries for links, directories used as files, or special files.","Restore the intended regular files and directories, then retry the original dry-run command."]})}async function q(e,t,r={}){let n=ya.dirname(e);r.createParentDirectories!==!1&&await hr(n);let i=ya.join(n,`.${ya.basename(e)}.${process.pid}.${Date.now()}.${SS.randomBytes(4).toString("hex")}.tmp`);await he.writeFile(i,t,"utf8");try{await he.rename(i,e)}catch(o){if(process.platform==="win32"&&(Hr(o,"EPERM")||Hr(o,"EBUSY"))){let a=o;for(let s of TS){await new Promise(c=>setTimeout(c,s));try{await he.rename(i,e);return}catch(c){if(a=c,!Hr(c,"EPERM")&&!Hr(c,"EBUSY"))break}}try{await he.unlink(i)}catch{}throw a}if(Hr(o,"EXDEV")){try{await he.copyFile(i,e)}finally{try{await he.unlink(i)}catch{}}return}try{await he.unlink(i)}catch{}throw o}}async function jc(e,t){let r=ya.dirname(e);await hr(r);let n=await he.open(e,"a");try{await n.writeFile(`${t}
2
+ `,"utf8")}finally{await n.close()}}function Hr(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{link as AS,mkdir as IS,mkdtemp as CS,rm as OS,writeFile as xS}from"node:fs/promises";import Uc from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="71c2fed9-81e1-5723-8e34-e6327c07a130")}catch{}})();async function zc(e,t){let r=Uc.dirname(e);await IS(r,{recursive:!0});let n=await CS(Uc.join(r,".pm-seed-")),i=Uc.join(n,"value");try{await xS(i,t,"utf8");try{return await AS(i,e),!0}catch(o){if(o.code==="EEXIST")return!1;throw o}}finally{await OS(n,{recursive:!0,force:!0})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2075887b-6d4b-582f-9da2-bab13198f9a5")}catch{}})();var RS=2e3,wa=new Map;function ve(e){if(typeof e!="string")return"";let t=wa.get(e);if(t!==void 0)return t;let r=e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_");return wa.size>=RS&&On(wa),wa.set(e,r),r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6e07b1b6-1757-54dd-8833-9d3f984ccf79")}catch{}})();var Pe=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),nf=xc,ki=Oc,NS=["create","update"],DS=new Set(In),PS=new Set(fr),LS=new Set(Cn),MS=new Set(ua),$S=new Set(["string","number","boolean","array","object"]),FS=16;function of(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var jS=[e=>e.type===void 0||typeof e.type=="string"&&$S.has(e.type),e=>!Object.hasOwn(e,"const")||va(e.const),e=>e.enum===void 0||Array.isArray(e.enum)&&e.enum.every(t=>va(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||of(e.properties),e=>e.one_of===void 0||Array.isArray(e.one_of)&&e.one_of.length>0];function va(e,t=new Set){if(e===null||typeof e=="string"||typeof e=="boolean")return!0;if(typeof e=="number")return Number.isFinite(e);if(typeof e!="object"||t.has(e))return!1;t.add(e);let r=Array.isArray(e)?e.every(n=>va(n,t)):Object.values(e).every(n=>va(n,t));return t.delete(e),r}function ba(e,t=0,r=new Set){if(!of(e)||t>FS||r.has(e))return;r.add(e);let n=e,i=n.type,o=n.enum,a=n.one_of,s=n.properties,c=n.items,l=n.required,d=n.min_length,u=n.min_items,m=n.format,p=n.additional_properties;if(!jS.every(b=>b(n))){r.delete(e);return}let f=s===void 0?void 0:Object.fromEntries(Object.entries(s).map(([b,v])=>[b,ba(v,t+1,r)])),w=c===void 0?void 0:ba(c,t+1,r),h=a===void 0?void 0:a.map(b=>ba(b,t+1,r));if([...Object.values(f??{}),...c===void 0?[]:[w],...h??[]].some(b=>b===void 0)){r.delete(e);return}return r.delete(e),Object.fromEntries(Object.entries({type:i,const:Object.hasOwn(n,"const")?n.const:void 0,enum:o,min_length:d,min_items:u,format:m,properties:f,required:l===void 0?void 0:[...new Set(l)],additional_properties:p,items:w,one_of:h}).filter(([,b])=>b!==void 0))}function vi(e){let t=Array.isArray(e)?e:[];return[...new Set(t.map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n))}function nt(e){if(typeof e!="string"||e.length===0)return;let t=ve(e);return t.length>0?t:void 0}function US(e){return e.startsWith("--")?e.slice(2):e}function tf(e){return typeof e=="string"?US(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function af(e){return e.replaceAll("_","-")}function Hc(e,t){let r=nt(e.id);if(!r)return null;let n=[...new Set(vi(e.aliases).map(ve).filter(s=>s.length>0))].sort((s,c)=>s.localeCompare(c)),i=vi(e.roles).filter(s=>DS.has(s)),o=e.description?.trim(),a=typeof e.order=="number"&&Number.isFinite(e.order)?e.order:t;return{id:r,aliases:n,roles:i,description:o&&o.length>0?o:void 0,order:a}}function zS(e){return{draft_status:nt(e?.draft_status),open_status:nt(e?.open_status),in_progress_status:nt(e?.in_progress_status),blocked_status:nt(e?.blocked_status),close_status:nt(e?.close_status),canceled_status:nt(e?.canceled_status)}}function sf(e,t){if(!Array.isArray(t)||t.length!==2)return;let r=ve(t[0]),n=ve(t[1]);r.length===0||n.length===0||e.pairs.some(i=>i[0]===r&&i[1]===n)||e.pairs.push([r,n])}function HS(e){let t=typeof e?.type=="string"?e.type.trim():"";if(t.length===0||!Array.isArray(e?.allowed_transitions))return null;let r={type:t,pairs:[],denyAll:e.allowed_transitions.length===0};for(let n of e.allowed_transitions)sf(r,n);return{typeKey:t.toLowerCase(),record:r}}function qS(e){if(!Array.isArray(e)||e.length===0)return;let t=new Map;for(let n of e){let i=HS(n);if(i===null)continue;let o=t.get(i.typeKey)??i.record;o.denyAll||=i.record.denyAll;for(let a of i.record.pairs)sf(o,a);t.set(i.typeKey,o)}let r=[];for(let n of t.values())(n.pairs.length>0||n.denyAll)&&r.push({type:n.type,allowed_transitions:n.pairs});return r.sort((n,i)=>n.type.localeCompare(i.type)),r.length>0?r:void 0}function cf(e){let t=ve(e.key??"");if(!t)return null;let r=ve(e.metadata_key??e.front_matter_key??t),n=tf(e.cli_flag??af(t));if(!n)return null;let i=vi(e.cli_aliases).map(u=>tf(u)).filter(u=>u.length>0&&u!==n),o=typeof e.type=="string"?e.type.trim().toLowerCase():"string",a=PS.has(o)?o:"string",s=(()=>{let u=vi(e.commands).filter(m=>LS.has(m));return u.length>0?u:[...NS]})(),c=e.description?.trim(),l=vi(e.required_types),d=e.value_schema===void 0?void 0:ba(e.value_schema);return e.value_schema!==void 0&&d===void 0?null:{key:t,metadata_key:r,cli_flag:n,cli_aliases:i,description:c&&c.length>0?c:void 0,type:a,commands:s,repeatable:[e.repeatable===!0,a==="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 GS(e){let t=new Map;for(let[n,i]of e.entries()){let o=Hc(i,n);o&&t.set(o.id,o)}let r=rf([...t.values()]);return r.length>0?r:rf(ki.map((n,i)=>Hc(n,i)).filter(n=>n!==null))}function rf(e){return e.sort((t,r)=>t.order===r.order?t.id.localeCompare(r.id):t.order-r.order)}function BS(e){let t=new Map;for(let r of e??[]){let n=cf(r);n&&t.set(n.key,n)}return[...t.values()].sort((r,n)=>r.key.localeCompare(n.key))}function WS(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 VS(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==af(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 KS(e){let t=typeof e=="string"?e.trim().toLowerCase():"allow";return MS.has(t)?t:"allow"}function Ot(e){let t={...Pe,...e?.files},r=e?.statuses&&e.statuses.length>0?e.statuses:ki,n=GS(r),i=BS(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:t,statuses:n.map(WS),fields:i.map(VS),workflow:{...nf,...zS(e?.workflow)},type_workflows:qS(e?.type_workflows),unknown_field_policy:KS(e?.unknown_field_policy)}}function JS(e,t,r){try{return JSON.parse(e)}catch{r.push(t);return}}function YS(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.definitions))return t.definitions;if(typeof t.item_types=="object"&&t.item_types!==null){let r=t.item_types;if(Array.isArray(r.definitions))return r.definitions}}function XS(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 ZS(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 QS(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 e0(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 Ge(e,t,r){let n=t?.trim()||r;return ef.isAbsolute(n)?n:ef.join(e,n)}async function lf(e,t){let r=Ot(t),n=[{path:Ge(e,r.files.types,Pe.types),seed:{definitions:[]}},{path:Ge(e,r.files.statuses,Pe.statuses),seed:{statuses:ki}},{path:Ge(e,r.files.fields,Pe.fields),seed:{fields:[]}},{path:Ge(e,r.files.workflows,Pe.workflows),seed:{workflow:nf}}],i=[];for(let o of n)await M(o.path)||await zc(o.path,`${JSON.stringify(o.seed,null,2)}
3
+ `)&&i.push(o.path);return{created_paths:i}}async function df(e,t){let r=Ot(t),n=[],i=Ge(e,r.files.types,Pe.types),o=Ge(e,r.files.statuses,Pe.statuses),a=Ge(e,r.files.fields,Pe.fields),s=Ge(e,r.files.workflows,Pe.workflows),c,l,d,u,m,p=async(v,I)=>{let A=await K(v);if(A!==null)return JS(A,I,n)},f=await p(i,"runtime_schema_types_invalid_json");f!==void 0&&(c=YS(f),c===void 0&&n.push("runtime_schema_types_invalid_shape"));let w=await p(o,"runtime_schema_statuses_invalid_json");w!==void 0&&(l=XS(w),l===void 0&&n.push("runtime_schema_statuses_invalid_shape"));let h=await p(a,"runtime_schema_fields_invalid_json");h!==void 0&&(d=ZS(h),d===void 0&&n.push("runtime_schema_fields_invalid_shape"));let b=await p(s,"runtime_schema_workflows_invalid_json");return b!==void 0&&(u=QS(b),u===void 0&&n.push("runtime_schema_workflows_invalid_shape"),m=e0(b)),{schema:Ot({...r,statuses:[...r.statuses,...l??[]],fields:[...r.fields,...d??[]],workflow:{...r.workflow,...u},type_workflows:[...r.type_workflows??[],...m??[]]}),type_definitions_from_file:c,warnings:n,created_paths:[]}}function bi(e,t,r,n=!1){let i=r.map(a=>nt(a)).filter(a=>typeof a=="string").find(a=>e.some(s=>s.id===a));if(n&&i!==void 0)return i;let o=e.find(a=>a.roles.includes(t));return o!==void 0?o.id:i??e[0]?.id}function t0(e){let t=new Map,r=new Map;for(let n of e){r.set(n.id,n),t.set(n.id,n.id),t.set(n.id.replaceAll("_","-"),n.id),t.set(n.id.replaceAll("_"," "),n.id);for(let i of n.aliases)t.set(i,n.id),t.set(i.replaceAll("_","-"),n.id),t.set(i.replaceAll("_"," "),n.id)}return{aliasToId:t,byId:r}}function r0(e){let t={activeStatuses:new Set,blockedStatuses:new Set,draftStatuses:new Set,terminalCanceledStatuses:new Set,terminalDoneStatuses:new Set,terminalStatuses:new Set};for(let r of e){let n=new Set(r.roles);(n.has("terminal")||n.has("terminal_done")||n.has("terminal_canceled"))&&t.terminalStatuses.add(r.id),n.has("terminal_done")&&t.terminalDoneStatuses.add(r.id),n.has("terminal_canceled")&&t.terminalCanceledStatuses.add(r.id),n.has("active")&&t.activeStatuses.add(r.id),n.has("blocked")&&t.blockedStatuses.add(r.id),n.has("draft")&&t.draftStatuses.add(r.id)}return t}function ut(e){let t=Ot(e),r=t.statuses.map((b,v)=>Hc(b,v)).filter(b=>b!==null),{aliasToId:n,byId:i}=t0(r),{activeStatuses:o,blockedStatuses:a,draftStatuses:s,terminalCanceledStatuses:c,terminalDoneStatuses:l,terminalStatuses:d}=r0(r),u=t.workflow,m=nt(u.open_status)??bi(r,"default_open",["open","in_progress",An[0]]),p=nt(u.in_progress_status)??bi(r,"active",["in_progress","in-progress",m],!0),f=nt(u.blocked_status)??bi(r,"blocked",["blocked"]),w=nt(u.close_status)??bi(r,"default_close",["closed","done","complete"]),h=nt(u.canceled_status)??bi(r,"default_cancel",["canceled","cancelled"]);return{definitions:r,by_id:i,alias_to_id:n,terminal_statuses:d,terminal_done_statuses:l,terminal_canceled_statuses:c,active_statuses:o,blocked_statuses:a,draft_statuses:s,open_status:m,in_progress_status:p,blocked_status:f,close_status:w,canceled_status:h}}function xn(e,t){let r=ve(e);if(r)return t.alias_to_id.get(r)}function ka(e){let t=Ot(e),r=new Map,n=t.fields.map(c=>cf(c)).filter(c=>c!==null);for(let c of n)r.set(c.key,c);let i=[...r.values()].sort((c,l)=>c.key.localeCompare(l.key)),o=new Map,a=new Map,s=new Map;for(let c of i){o.set(c.key,c),a.set(c.cli_flag,c);for(let l of c.cli_aliases)a.set(l,c);for(let l of c.commands){let d=s.get(l)??[];d.push(c),s.set(l,d)}}for(let[c,l]of s.entries())l.sort((d,u)=>d.key.localeCompare(u.key)),s.set(c,l);return{definitions:i,by_key:o,by_cli_token:a,command_to_fields:s}}function qc(e,t){let r=xn(e,t);return r?t.terminal_statuses.has(r):!1}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d5692ce-ec33-5eb4-bd9b-7497ffe25b0e")}catch{}})();var n0=16;function pf(e){return Array.isArray(e)?e.flatMap(t=>pf(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 uf(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 r=e.trim().toLowerCase();if(r==="true"||r==="1"||r==="yes")return!0;if(r==="false"||r==="0"||r==="no")return!1}throw new g(`${t} must be one of true|false|1|0|yes|no`,_.USAGE)}function mf(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let r=typeof e=="string"?e.trim():String(e),n=Number(r);if(!Number.isFinite(n))throw new g(`${t} must be a number`,_.USAGE);return n}function i0(e,t,r){let n=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(r==="array"&&Array.isArray(n)||r==="object"&&typeof n=="object"&&n!==null&&!Array.isArray(n))return n;throw new g(`${t} must be valid JSON ${r}`,_.USAGE)}function o0(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 a0(e,t,r){if(t.const!==void 0&&x(e)!==x(t.const))return`${r} must equal ${x(t.const)}`;if(t.enum!==void 0&&!t.enum.some(n=>x(n)===x(e)))return`${r} must be one of ${t.enum.map(n=>x(n)).join("|")}`;if(!o0(e,t.type))return`${r} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${r} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!Kt(e))return`${r} must be an RFC 3339 date-time`}}function s0(e,t,r,n){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${r} must contain at least ${t.min_items} items`;if(t.items)for(let[i,o]of e.entries()){let a=Ea(o,t.items,`${r}[${i}]`,n+1);if(a)return a}}}function c0(e,t,r,n){if(typeof e!="object"||e===null||Array.isArray(e))return;let i=e;for(let o of t.required??[])if(!Object.hasOwn(i,o))return`${r}.${o} is required`;for(let[o,a]of Object.entries(i)){let s=t.properties?.[o];if(!s){if(t.additional_properties===!1)return`${r}.${o} is not allowed`;continue}let c=Ea(a,s,`${r}.${o}`,n+1);if(c)return c}}function Ea(e,t,r,n=0){if(n>n0)return`${r} value schema exceeds maximum depth`;let i=a0(e,t,r);if(i)return i;let o=s0(e,t,r,n);if(o)return o;let a=c0(e,t,r,n);if(a)return a;if(!t.one_of)return;let s=0;for(let c of t.one_of)if(Ea(e,c,r,n+1)===void 0&&(s+=1,s>1))break;return s===1?void 0:`${r} must match exactly one configured schema variant`}function qr(e,t,r){if(!e.value_schema||t===void 0)return t;let n=Ea(t,e.value_schema,r);if(n)throw new g(n,_.USAGE);return t}function l0(e,t,r,n){let i=n==="option"&&Array.isArray(t)?t[t.length-1]:t;if(i!==void 0)return qr(e,i0(i,r,e.type),r)}function Sa(e,t,r,n="option"){let i=r??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object")return l0(e,t,i,n);if(e.repeatable||e.type==="string_array"){let a=pf(t);return e.type==="number"?qr(e,a.map(s=>mf(s,i)),i):e.type==="boolean"?qr(e,a.map(s=>uf(s,i)),i):qr(e,a,i)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?qr(e,mf(o,i),i):e.type==="boolean"?qr(e,uf(o,i),i):qr(e,typeof o=="string"?o:String(o),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]="13e158d2-14a0-5c14-a11c-a374b3e6ceac")}catch{}})();var Gc=1,Ei=1;function Rn(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=1?t:1}function ff(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=1))return e}function d0(e,t=1){return e<t?"outdated":e>t?"ahead":"current"}function Ta(e,t=1){let r=[],n=[];for(let i of e){let o=d0(i.version,t);o==="outdated"?r.push(i.ref):o==="ahead"&&n.push(i.ref)}return{outdated:r.sort((i,o)=>i.localeCompare(o)),ahead:n.sort((i,o)=>i.localeCompare(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]="515840b7-cf86-5d71-8ac1-beac7fd7c8a8")}catch{}})();var u0={"in-progress":"in_progress",cancelled:"canceled"};function xt(e,t){if(t){let i=xn(e,t);if(i)return i}if(typeof e!="string")return;let r=e.trim().toLowerCase();if(!r)return;let n=u0[r]??r;if(An.includes(n))return n}function _f(e,t){return xt(e,t)??e}function Bc(e,t){return t.terminal_statuses.has(_f(e,t))}import{decode as m0}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]="aaa2be03-9478-5fbe-82e6-e4fc86e3735b")}catch{}})();function Wc(e){return{value:m0(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]="79626299-17a8-573a-9b66-ce37c65e2f5d")}catch{}})();var p0=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function f0(e){if(e.length===0)return[];let t=e.split(/\r?\n/),r=[];for(let n=0;n<t.length;n+=1){let i=t[n]??"",o=i.match(p0);if(!o)continue;let a=o[1];r.push({line:n+1,marker:a,text:i})}return r}function Le(e){return f0(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]="a797572f-fbc6-5e62-a9b5-5a0bd6ef22b4")}catch{}})();function B(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ue(e){return B(e)??void 0}function Si(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 Nn(e){return Array.isArray(e)&&e.every(t=>typeof t=="number"&&Number.isFinite(t))}function oe(e){if(e instanceof Error){let t=e.message.trim();return t.length>0?t:e.name}return String(e)}function Vc(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 hf(e){let t=Vc(e);return t===null||t<=0||!Number.isInteger(t)?null:t}function yr(e){return typeof e!="object"||e===null?null:e}function gf(e){return typeof e!="object"&&typeof e!="function"||e===null?null:e}function yf(e){let t=gf(e);if(!t)return null;if(typeof t.activate=="function")return t;let r=gf(t.default);return typeof r?.activate=="function"?r:null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fb315276-2021-54aa-a880-5b4eb508e8d6")}catch{}})();var Xc=new Set(["schema","tracker","auto","none"]),kf=new Set(["source","isolated","snapshot"]),g0=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),h0=new Set(["passed","failed","stopped","canceled"]),y0=new Set(_a);function Ln(e){return e.replaceAll("\\","/")}function Ef(e){for(let t of e)if(t!==0)return t;return 0}function Ia(e){for(let[t,r]of Object.entries(e))r===void 0&&delete e[t]}var Sf=["id","title","description","created_at","updated_at"],w0=new Set(Ve);function Tf(e){if(e?.schema)return{statusRegistry:ut(e.schema),fieldRegistry:ka(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function b0(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(r=>r.toLowerCase()).includes(t.trim().toLowerCase()):!1}function wr(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 Ii(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 Af(e,t){if(!t||typeof e!="object"||e===null)return;let r=Rn(e);if(!(r<=Ei))throw new g(`Stored item uses format version ${r}; this runtime supports up to ${Ei}. Upgrade pm before reading or changing this item.`,_.CONFLICT,{code:"item_format_version_unsupported",format_version:r,required:"Upgrade to a pm runtime supporting the stored item format.",nextSteps:["Preserve the original item and history; do not lower pm_format_version to bypass compatibility checks."]})}function If(e){let t=new Set(w0);for(let r of e.fieldRegistry?.definitions??[])t.add(r.metadata_key);for(let r of e.extensionFieldNames)t.add(r);return t}function L(e,t){e||wr(t)}function Ci(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&wr(t),e}function Kc(e,t){let r=e[t];L(typeof r=="string",`${t} must be a string`),L(yt(r),`${t} must be a valid ISO timestamp`)}function bf(e,t,r){let n=e[t];n!==void 0&&L(typeof n=="number"&&Number.isInteger(n)&&n>=1,`${r} must be an integer >= 1`)}function Zc(e,t,r){let n=e[t];n!==void 0&&(L(typeof n=="string",`${r} must be a string`),L(yt(n),`${r} must be a valid ISO timestamp`))}function v0(e){if(e!==void 0){L(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){L(typeof t=="string","event.recurrence.by_weekday entries must be strings");let r=t.trim().toLowerCase();L(wi.includes(r),`event.recurrence.by_weekday entries must be one of: ${wi.join(", ")}`)}}}function k0(e){if(e!==void 0){L(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)L(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function E0(e){if(e!==void 0){L(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)L(typeof t=="string","event.recurrence.exdates entries must be strings"),L(yt(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function S0(e){let t=Ci(e,"event.recurrence must be an object");L(typeof t.freq=="string","event.recurrence.freq must be a string");let r=t.freq.trim().toLowerCase();L(fa.includes(r),`event.recurrence.freq must be one of: ${fa.join(", ")}`),bf(t,"interval","event.recurrence.interval"),bf(t,"count","event.recurrence.count"),Zc(t,"until","event.recurrence.until"),v0(t.by_weekday),k0(t.by_month_day),E0(t.exdates)}function T0(e){for(let n of Sf)L(typeof e[n]=="string",`${n} is required and must be a string`);let t=e.type;L(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let r=e.pm_format_version;return r!==void 0&&L(typeof r=="number"&&Number.isInteger(r)&&r>=Gc,`pm_format_version must be an integer >= ${Gc}`),t}function A0(e,t){let r=e.status;L(typeof r=="string"&&r.trim().length>0,"status must be a non-empty string");let n=t?.statusRegistry,i=xt(r,n),o=n?n.definitions.map(a=>a.id):[...An];L(i!==void 0,`status must be one of: ${o.join(", ")}`)}function I0(e){let t=e.priority;L(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let r=e.tags;L(Array.isArray(r),"tags must be an array");for(let n of r)L(typeof n=="string","tags entries must be strings")}function C0(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){L(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let r=t.trim().toLowerCase(),n=r==="med"||pa.includes(r);L(n,`confidence string value must be one of: ${[...pa,"med"].join(", ")}`);return}L(!1,"confidence must be a number or string")}}function O0(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&wr("severity must be a string");let r=t.trim().toLowerCase(),n=r==="med"||ma.includes(r);L(n,`severity value must be one of: ${[...ma,"med"].join(", ")}`)}function x0(e){e.regression!==void 0&&typeof e.regression!="boolean"&&wr("regression must be a boolean")}function R0(e){let t=e.reminders;if(t!==void 0){L(Array.isArray(t),"reminders must be an array");for(let r of t){let n=Ci(r,"reminders entries must be objects");L(typeof n.at=="string","reminder.at must be a string"),L(yt(n.at),"reminder.at must be a valid ISO timestamp"),L(typeof n.text=="string","reminder.text must be a string"),L(n.text.trim().length>0,"reminder.text must not be empty")}}}function N0(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(L(typeof e[t]=="string",`event.${t} must be a string`),L(e[t].trim().length>0,`event.${t} must not be empty`))}function D0(e){e.recurrence!==void 0&&(S0(e.recurrence),e.recurrence.until!==void 0&&L(ye(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function P0(e){let t=Ci(e,"events entries must be objects");L(typeof t.start_at=="string","event.start_at must be a string"),L(yt(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(L(typeof t.end_at=="string","event.end_at must be a string"),L(yt(t.end_at),"event.end_at must be a valid ISO timestamp"),L(ye(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),N0(t),t.all_day!==void 0&&L(typeof t.all_day=="boolean","event.all_day must be a boolean"),D0(t)}function L0(e){let t=e.events;if(t!==void 0){L(Array.isArray(t),"events must be an array");for(let r of t)P0(r)}}function M0(e){for(let t of["source_type","source_owner","design","external_ref"]){let r=e[t];r!==void 0&&L(typeof r=="string",`${t} must be a string`)}}function $0(e){let t=e.type_options;if(t===void 0)return;let r=Ci(t,"type_options must be an object");for(let[n,i]of Object.entries(r))L(n.trim().length>0,"type_options keys must be non-empty"),L(typeof i=="string","type_options values must be strings"),L(i.trim().length>0,"type_options values must be non-empty strings")}function F0(e,t,r){if(r?.fieldRegistry)for(let n of r.fieldRegistry.definitions){let i=e[n.metadata_key];if(i===void 0){b0(n,t)&&wr(`missing required schema field: ${n.metadata_key}`);continue}try{e[n.metadata_key]=Sa(n,i,`metadata field "${n.metadata_key}"`,"metadata")}catch(o){wr(String(o?.message).replace(/^Invalid\s+/u,""))}}}function j0(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let r=If(t),n=Object.keys(e).filter(i=>!r.has(i)).sort((i,o)=>i.localeCompare(o));n.length!==0&&(t.unknownFieldPolicy==="reject"?wr(`unknown schema fields are not allowed: ${n.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${n.join(",")}`))}function Qc(e,t){let r=Ci(e,"item metadata must be an object"),n=T0(r);A0(r,t),I0(r),C0(r),O0(r),x0(r),Kc(r,"created_at"),Kc(r,"updated_at"),r.deadline!==void 0&&Kc(r,"deadline"),R0(r),L0(r),Zc(r,"closed_at","closed_at"),Zc(r,"completed_at","completed_at"),M0(r),$0(r),F0(r,n,t),j0(r,t)}function U0(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,r)=>{let n=ye(t.created_at,r.created_at);if(n!==0)return n;let i=t.id.localeCompare(r.id);if(i!==0)return i;let o=t.kind.localeCompare(r.kind);return o!==0?o:(t.source_kind??"").localeCompare(r.source_kind??"")})}function Jc(e){if(!(!e||e.length===0))return[...e].sort((t,r)=>{let n=ye(t.created_at,r.created_at);if(n!==0)return n;let i=t.text.localeCompare(r.text);return i!==0?i:t.author.localeCompare(r.author)})}function z0(e){if(!e||e.length===0)return;let t=[...e].map(r=>({at:r.at,text:r.text.trim()})).filter(r=>r.text.length>0).sort((r,n)=>{let i=ye(r.at,n.at);return i!==0?i:r.text.localeCompare(n.text)});return t.length===0?void 0:t}function H0(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!fa.includes(t))return;let r=Array.from(new Set((e.by_weekday??[]).map(a=>a.trim().toLowerCase()).filter(a=>wi.includes(a)))).sort((a,s)=>Mc(a)-Mc(s)),n=Array.from(new Set((e.by_month_day??[]).filter(a=>Number.isInteger(a)&&a>=1&&a<=31).map(a=>a))).sort((a,s)=>a-s),i=Array.from(new Set((e.exdates??[]).map(a=>a.trim()).filter(a=>yt(a)))).sort((a,s)=>ye(a,s)),o={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:r.length>0?r:void 0,by_month_day:n.length>0?n:void 0,exdates:i.length>0?i:void 0};for(let[a,s]of Object.entries(o))s===void 0&&delete o[a];return o}function q0(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(G0).sort(B0)}function G0(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:H0(e.recurrence)};return Ia(t),t}function B0(e,t){return Ef([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 W0(e){if(!(!e||e.length===0))return e.map(t=>({path:Ln(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function V0(e){if(!e||e.length===0)return;let t=e.map(X0).filter(r=>r.run_id.length>0&&r.started_at.length>0&&r.finished_at.length>0&&r.recorded_at.length>0).sort((r,n)=>Ef([ye(r.recorded_at,n.recorded_at),r.run_id.localeCompare(n.run_id),r.kind.localeCompare(n.kind)]));return t.length>0?t:void 0}function Dn(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function K0(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Yc(e){return typeof e=="string"?e:""}function J0(e){if(!Array.isArray(e))return;let t=e.filter(n=>n!==null&&typeof n=="object"&&typeof n.name=="string"&&n.name.trim().length>0&&typeof n.value=="number"&&Number.isFinite(n.value)&&typeof n.recorded_at=="string"&&n.recorded_at.trim().length>0).map(n=>({name:n.name.trim(),value:n.value,unit:typeof n.unit=="string"&&n.unit.trim()||void 0,threshold:typeof n.threshold=="number"&&Number.isFinite(n.threshold)?n.threshold:void 0,recorded_at:n.recorded_at.trim()})),r=[...new Map(t.map(n=>[n.name,n])).values()].sort((n,i)=>n.name.localeCompare(i.name)).slice(0,32);return r.length>0?r:void 0}function Aa(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function Y0(e){if(!Array.isArray(e))return;let t=e.filter(r=>r&&typeof r.command=="string"&&r.command.trim().length>0).slice(0,32).map(r=>({command:r.command.trim(),requested_pm_context_mode:Aa(r.requested_pm_context_mode,Xc),pm_context_mode:Aa(r.pm_context_mode,Xc),workspace_context_mode:Aa(r.workspace_context_mode,kf),trust_reason:Aa(r.trust_reason,g0)}));return t.length>0?t:void 0}function X0(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",r=e.kind==="test"||e.kind==="test-all"?e.kind:"test",n=h0.has(e.status)?e.status:"failed",i={run_id:t,kind:r,status:n,started_at:Yc(e.started_at),finished_at:Yc(e.finished_at),recorded_at:Yc(e.recorded_at),attempt:K0(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Dn(e.passed)??0,failed:Dn(e.failed)??0,skipped:Dn(e.skipped)??0,items:Dn(e.items),linked_tests:Dn(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:J0(e.measurements),executions:Y0(e.executions)};return Ia(i),i}function Z0(e){if(!(!Array.isArray(e)||e.length===0))return e.map(nT)}function Ti(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(r=>typeof r=="string").map(r=>r.trim()).filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n));return t.length>0?t:void 0}function tl(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function rl(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function vf(e){if(!tl(e))return;let t=Object.entries(e).map(([r,n])=>[r.trim(),String(n).trim()]).filter(([r,n])=>r.length>0&&!rl(r)&&n.length>0).sort(([r],[n])=>r.localeCompare(n));return t.length>0?Object.fromEntries(t):void 0}function Q0(e){if(!tl(e))return;let t=Object.entries(e).map(([r,n])=>[r.trim(),Number(n)]).filter(([r,n])=>r.length>0&&!rl(r)&&Number.isFinite(n)).sort(([r],[n])=>r.localeCompare(n));return t.length>0?Object.fromEntries(t):void 0}function eT(e){let t=e?.trim().toLowerCase();if(!(!t||!Xc.has(t)))return t}function tT(e){let t=e?.trim().toLowerCase();if(!(!t||!kf.has(t)))return t}function rT(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!tl(e))return{provenance_invalid:!0};let r=R(e.author),n=R(e.created_at),i=e.source_kind;return!r||!n||!yt(n)||i!=="local_mutation"&&i!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:r,created_at:n,source_kind:i,source_ref:R(e.source_ref)}}}function nT(e){let t={command:e.command?.trim()||void 0,path:e.path?Ln(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:eT(e.pm_context_mode),workspace_context_mode:tT(e.workspace_context_mode),...rT(e.provenance,e.provenance_invalid),updated_by:R(e.updated_by),updated_at:R(e.updated_at),env_set:vf(e.env_set),env_clear:Ti(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Ti(e.assert_stdout_contains),assert_stdout_regex:Ti(e.assert_stdout_regex),assert_stderr_contains:Ti(e.assert_stderr_contains),assert_stderr_regex:Ti(e.assert_stderr_regex),assert_stdout_min_lines:Dn(e.assert_stdout_min_lines),assert_json_field_equals:vf(e.assert_json_field_equals),assert_json_field_gte:Q0(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Ia(t),t}function iT(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Ln(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,r)=>{let n=t.scope.localeCompare(r.scope);if(n!==0)return n;let i=t.path.localeCompare(r.path);return i!==0?i:(t.note??"").localeCompare(r.note??"")})}function R(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function oT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=R(n.id),o=R(n.kind);if(!i||!o)continue;let a={id:i,kind:o},s=R(n.note);s&&(a.note=s),n.required_before_step===!0&&(a.required_before_step=!0),t.push(a)}return t.length>0?t:void 0}function aT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=R(n.path);if(!i)continue;let o={path:Ln(i)};(n.scope==="project"||n.scope==="global")&&(o.scope=n.scope);let a=R(n.note);a&&(o.note=a),t.push(o)}return t.length>0?t:void 0}function sT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=R(n.command),o=R(n.path);if(!i&&!o)continue;let a={};i&&(a.command=i),o&&(a.path=Ln(o));let s=R(n.note);s&&(a.note=s),t.push(a)}return t.length>0?t:void 0}function cT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=R(n.path);if(!i)continue;let o={path:Ln(i)};(n.scope==="project"||n.scope==="global")&&(o.scope=n.scope);let a=R(n.note);a&&(o.note=a),t.push(o)}return t.length>0?t:void 0}function lT(e){if(e===null||typeof e!="object")return;let t=e,r=R(t.id),n=R(t.title),i=R(t.status),o=i&&y0.has(i)?i:void 0,a=Vc(t.order)??Number.NaN,s=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!r||!n||!o||!Number.isFinite(a)||!s||!c)return;let l={id:r,order:a,title:n,status:o,created_at:s,updated_at:c};return dT(l,t),l}function dT(e,t){let r=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[o,a]of r){let s=R(t[a]);s&&(e[o]=s)}let n=typeof t.completed_at=="string"?t.completed_at:void 0;n&&n.length>0&&(e.completed_at=n);let i=[["linked_items","linked_items",oT],["files","files",aT],["tests","tests",sT],["docs","docs",cT]];for(let[o,a,s]of i){let c=s(t[a]);c&&(e[o]=c)}}function uT(e){if(!Array.isArray(e))return;let t=e.flatMap(r=>{let n=lT(r);return n?[n]:[]});return t.sort((r,n)=>r.order-n.order),t.length>0?t:void 0}function mT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=typeof n.ts=="string"?n.ts:"",o=typeof n.author=="string"?n.author:"",a=R(n.decision);if(!i||!o||!a)continue;let s={ts:i,author:o,decision:a},c=R(n.rationale);c&&(s.rationale=c);let l=R(n.evidence);l&&(s.evidence=l);let d=R(n.step_id);d&&(s.step_id=d),t.push(s)}return t.length>0?t:void 0}function pT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=typeof n.ts=="string"?n.ts:"",o=typeof n.author=="string"?n.author:"",a=R(n.text);if(!i||!o||!a)continue;let s={ts:i,author:o,text:a},c=R(n.step_id);c&&(s.step_id=c),t.push(s)}return t.length>0?t:void 0}function fT(e){if(!Array.isArray(e))return;let t=[];for(let r of e){if(r===null||typeof r!="object")continue;let n=r,i=R(n.text);if(!i)continue;let o={text:i},a=R(n.command);a&&(o.command=a);let s=R(n.expected);s&&(o.expected=s),t.push(o)}return t.length>0?t:void 0}function _T(e){if(!e)return;let t=Object.entries(e).map(([r,n])=>[r.trim(),n.trim()]).filter(([r,n])=>r.length>0&&n.length>0).sort((r,n)=>r[0].localeCompare(n[0]));if(t.length!==0)return Object.fromEntries(t)}function Pn(e){let t=0;for(;t<e.length&&e[t]===`
4
+ `;)t+=1;return e.slice(t).trimEnd()}function gT(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(pa.includes(t))return t}function hT(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(ma.includes(t))return t}function Ai(e){return e||void 0}function yT(e,t){let r=e,n=t;for(let[i,o]of Object.entries(n))rl(i)||Object.prototype.hasOwnProperty.call(r,i)||o===void 0||(r[i]=o)}function wT(e,t){if(!t?.fieldRegistry)return;let r=e;for(let n of t.fieldRegistry.definitions){let i=r[n.metadata_key];i!==void 0&&(r[n.metadata_key]=Sa(n,i,`metadata field "${n.metadata_key}"`,"metadata"))}}function bT(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let r=If(t),n=Object.keys(e).filter(i=>!r.has(i)).sort((i,o)=>i.localeCompare(o));n.length>0&&t.unknownFieldPolicy==="reject"&&wr(`unknown schema fields are not allowed: ${n.join(", ")}`),n.length>0&&t.onWarning?.(`item_unknown_schema_fields:${n.join(",")}`)}function Oi(e,t={}){let r=Tf(t),n=xt(e.status,r?.statusRegistry)??e.status,i=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean))).sort((a,s)=>a.localeCompare(s)),o={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:ff(e.pm_format_version),source_type:R(e.source_type),type_options:_T(e.type_options),status:n,priority:e.priority,tags:i,created_at:e.created_at,updated_at:e.updated_at,dependencies:U0(e.dependencies),comments:Jc(e.comments),notes:Jc(e.notes),learnings:Jc(e.learnings),files:W0(e.files),tests:Z0(e.tests),test_runs:V0(e.test_runs),docs:iT(e.docs),deadline:Ai(e.deadline),reminders:z0(e.reminders),events:q0(e.events),closed_at:Ai(e.closed_at),completed_at:Ai(e.completed_at),assignee:R(e.assignee),claim_principal:R(e.claim_principal),source_owner:R(e.source_owner),author:Ai(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:gT(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:hT(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:Ai(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:uT(e.plan_steps),plan_decisions:mT(e.plan_decisions),plan_discoveries:pT(e.plan_discoveries),plan_validation:fT(e.plan_validation)};return yT(o,e),wT(o,r),bT(o,r),Ia(o),o}function Cf(e){return _r(e,Ve)}function vT(e){let t=0,r=!1,n=!1;for(let i=0;i<e.length;i+=1){let o=e[i];if(r){if(n){n=!1;continue}if(o==="\\"){n=!0;continue}o==='"'&&(r=!1);continue}if(o==='"'){r=!0;continue}if(o==="{"){t+=1;continue}if(o==="}"&&(t-=1,t===0))return i}return-1}function kT(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=vT(e);if(t<0)return{frontMatter:"",body:e};let r=e.slice(0,t+1),n=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:r,body:n}}function ET(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,r=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!r)return{content:t,stripped:!1};let n=r[0].length;for(;n<t.length;){let i=t.indexOf(`
5
5
  `,n),o=i===-1?t.length:i,a=t.slice(n,o).replace(/\r$/,""),s=i===-1?o:o+1;if(a.trim()==="---")return{content:t.slice(s).replace(/^\s+/,""),stripped:!0};n=s}return{content:t,stripped:!1}}function el(e,t){return Oi(e,{...t,onWarning:void 0})}function ST(e,t,r={}){let n=ET(e);n.stripped&&r.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:i,body:o}=kT(n.content);i||(e.trimStart().startsWith("{")&&Ii("json_markdown","JSON front matter is not valid JSON"),Ii("json_markdown","JSON Markdown item document is missing JSON front matter"));let a;try{a=JSON.parse(i)}catch{Ii("json_markdown","JSON front matter is not valid JSON")}return Af(a,r.requireSupportedFormat),Qc(a,t),{metadata:el(a,r),body:Pn(o)}}function TT(e,t,r={}){let n;try{n=Wc(e).value}catch{Ii("toon","TOON item document is not valid TOON")}L(typeof n=="object"&&n!==null&&!Array.isArray(n),"TOON item document must be an object");let i=n;if(Af(Object.prototype.hasOwnProperty.call(i,"front_matter")?i.front_matter:i,r.requireSupportedFormat),!Sf.some(s=>Object.prototype.hasOwnProperty.call(i,s))&&!Object.prototype.hasOwnProperty.call(i,"front_matter")&&Ii("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(i,"front_matter"))return Qc(i.front_matter,t),L(i.body===void 0||typeof i.body=="string","TOON item document body must be a string"),{metadata:el(i.front_matter,r),body:Pn(typeof i.body=="string"?i.body:"")};let{body:o,...a}=i;return L(o===void 0||typeof o=="string","TOON item document body must be a string"),Qc(a,t),{metadata:el(a,r),body:Pn(typeof o=="string"?o:"")}}function AT(e,t={}){let r=Oi(e.metadata,t),n=Cf(r),i=JSON.stringify(n,null,2),o=Pn(e.body??"");return o?`${i}
6
6
 
7
7
  ${o}
8
8
  `:`${i}
9
9
  `}function IT(e,t={}){let r=Oi(e.metadata,t),n=Cf(r),i=Pn(e.body??""),o={...n,body:i},a=JSON.parse(JSON.stringify(o)),s=_0(a),c;try{c=Wc(s).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(!wf(c,a)){let l=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},d=Object.keys(a).find(u=>!wf(a[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`${s}
10
- `}function Ke(e,t={}){let r=Le(e);if(r)throw new g(`Merge conflict markers detected in item document at line ${r.line} (${r.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 n=t.format??"toon",i=Tf(t);return n==="toon"?TT(e,i,t):ST(e,i,t)}function Mn(e,t={}){return(t.format??"toon")==="toon"?IT(e,t):AT(e,t)}function mt(e,t={}){return{metadata:Oi(e.metadata,t),body:Pn(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 gh 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]="6fd537c2-9d10-5a26-81a9-ac931151017b")}catch{}})();var CT=["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"],OT=["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"],Of={"init:type-preset":"init:type_preset"},xT=["^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 lB=new Set([...CT,...OT]),dB=xT.map(e=>new RegExp(e,"u"));function RT(e){return Object.hasOwn(Of,e)?Of[e]:e}function Ca(e){let t=RT(e),r=t.indexOf(":"),n=r<0?t:t.slice(0,r),i=r<0||r<t.length-1&&!/[\s\p{C}]/u.test(t.slice(r+1));if(/^[a-z][a-z0-9]*(?:[_.-][a-z0-9]+)*$/u.test(n)&&i)return t;throw new TypeError("History operation must use lowercase alphanumeric segments with an optional non-whitespace colon-suffixed retry key.")}import uh from"node:fs/promises";import Zx from"node:path";import{AsyncLocalStorage as yC}from"node:async_hooks";import Xr from"node:fs/promises";import Yr from"node:path";import{pathToFileURL as GI}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]="2ea7934f-4751-5245-a5ba-492681aa3794")}catch{}})();var nl=[{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]="418b3f7f-6350-5878-a362-3948de287baf")}catch{}})();function Oa(e){return e.trim().toLowerCase().replaceAll("-","_")}function NT(e){if(e===void 0)return;let t=Oa(e);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid inverse relationship kind: ${e}`);return t}function il(e,t=new Set){if(e===null||typeof e!="object"||t.has(e))return e;if(t.add(e),Array.isArray(e)){for(let r of e)il(r,t);return Object.freeze(e)}for(let r of Object.values(e))il(r,t);return Object.freeze(e)}function DT(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 PT(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 LT(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 MT(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=Oa(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 $T(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 FT(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(r=>typeof r!="string")))throw new TypeError(`Invalid relationship aliases for ${t}`)}function jT(e){return e.traversal?e.traversal:e.ordering?"ordering":e.hierarchy?"hierarchy":e.direction==="undirected"?"association":"semantic"}var ol=class{#e=new Map;#r=new Map;constructor(t=nl){for(let r of t)this.register(r)}register(t){let r=MT(t);if($T(t,r),FT(t,r),DT(t,r),PT(t,r),LT(t,r),this.#e.has(r)||this.#r.has(r))throw new TypeError(`Relationship kind already registered: ${r}`);let n=NT(t.inverse),i=[...new Set((t.aliases??[]).map(Oa))].sort();for(let a of i){if(!/^[a-z][a-z0-9_]*$/.test(a))throw new TypeError(`Invalid relationship alias: ${a}`);if(a===r||this.#e.has(a)||this.#r.has(a))throw new TypeError(`Relationship alias already registered: ${a}`)}let o=Object.freeze({...t,kind:r,traversal:jT(t),hierarchy:t.hierarchy??!1,hierarchyDirection:t.hierarchy?t.hierarchyDirection??"source_parent":void 0,inverse:n,aliases:Object.freeze(i),payloadSchema:t.payloadSchema?il(structuredClone(t.payloadSchema)):void 0});this.#e.set(r,o);for(let a of i)this.#r.set(a,r);return this}resolve(t){if(typeof t!="string")return;let r=Oa(t);return this.#e.get(this.#r.get(r)??r)}require(t){let r=this.resolve(t);if(!r)throw new TypeError(`Unknown relationship kind: ${t}`);return r}list(){return Object.freeze([...this.#e.values()].sort((t,r)=>t.kind.localeCompare(r.kind)))}};function Gr(){return new ol}var _B=Gr();import xf 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]="01422574-583a-5fd1-bc00-f61f430073cd")}catch{}})();function xt(e,t){let r=xf.relative(e,t);return r.length===0?!0:!r.startsWith("..")&&!xf.isAbsolute(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]="32aa20df-edf7-543d-b733-841130466f00")}catch{}})();var UT="__pm_suppress_host_output",al="@unbrained/pm-cli:suppress-host-output:v1";function Rf(e){return e===void 0?{__pm_suppress_host_output:al}:{__pm_suppress_host_output:al,result:e}}function sl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&e[UT]===al}import xa from"node:fs";import Br from"node:path";import{fileURLToPath as zT}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]="efea1aa1-1ad1-5f53-a3a5-b83803d9deb1")}catch{}})();var HT="@unbrained/pm-cli";function qT(e){try{return JSON.parse(xa.readFileSync(e,"utf8")).name===HT}catch{return!1}}function GT(e){let t=xa.existsSync(e)&&xa.statSync(e).isDirectory()?Br.resolve(e):Br.dirname(Br.resolve(e));for(;;){let r=Br.join(t,"package.json");if(xa.existsSync(r)&&qT(r))return t;let n=Br.dirname(t);if(n===t)return;t=n}}function it(e,t=[]){let r=zT(e);return GT(r)||Br.resolve(Br.dirname(r),...t)}import{readFileSync as vA,readdirSync as RB,statSync as kA}from"node:fs";import EA from"node:os";import me from"node:path";import JT 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]="75f74db3-9547-5c78-8561-f371c016b90d")}catch{}})();function br(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function BT(e){let t=e.key.trim();if(t.length===0)return null;let r=br(e.aliases),n=e.description?.trim();return{key:t,values:br(e.values),required:e.required===!0?!0:void 0,aliases:r.length>0?r:void 0,description:n&&n.length>0?n:void 0}}var WT=e=>e,Df=e=>{let t=e.trim().toLowerCase();return t==="create"||t==="update"?t:null};function VT(e,t){let r=t(e.command);if(r===null)return null;let n=e.option.trim();return n.length===0?null:{command:r,option:n,required:e.required,visible:e.visible,enabled:e.enabled}}function KT(e,t){let r=new Map;for(let n of e??[]){let i=VT(n,t);i&&r.set(`${i.command}:${i.option.toLowerCase()}`,i)}return[...r.values()].sort((n,i)=>n.command===i.command?n.option.localeCompare(i.option):n.command.localeCompare(i.command))}function Nf(e,t){return t?br(e):void 0}function cl(e){let t=e?.trim();return t&&t.length>0?t:void 0}function ll(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 Ra(e,t={}){let r=t.resolvePolicyCommand??WT,n=e.name.trim();if(n.length===0)return null;let i=e.required_create_fields!==void 0,o=e.required_create_repeatables!==void 0,a=e.options!==void 0,s=e.command_option_policies!==void 0,c=br(e.aliases),l=(e.options??[]).map(u=>BT(u)).filter(u=>u!==null).sort((u,m)=>u.key.localeCompare(m.key)),d=KT(e.command_option_policies,r);return{name:n,description:cl(e.description),default_status:cl(e.default_status),...e.execution_role===void 0?{}:{execution_role:ll(e.execution_role)},folder:cl(e.folder),aliases:c.length>0?c:void 0,required_create_fields:Nf(e.required_create_fields,i),required_create_repeatables:Nf(e.required_create_repeatables,o),options:a?l:void 0,command_option_policies:s?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]="f40ddc8e-1dd5-5f26-b2ba-fbbac30a1781")}catch{}})();var YT=Object.freeze({decision:"human",milestone:"gate"}),XT=["title","description","status","priority","tags","body","deadline","estimatedMinutes","acceptanceCriteria","author","message","assignee"],ZT=["dep","comment","note","learning","file","test","doc"],dl=["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"],QT=["title","description","type","status","priority","tags","body",...dl,"author","message","dep","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],eA=["title","description","body","status","closeReason","priority","type","tags",...dl,"author","message","comment","note","learning","file","test","doc","reminder","event","typeOption","field","ownershipMetadataBypass","ownershipDependencyBypass","force"],Lf={"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"},tA={...Lf},rA={...Lf},Mf=[["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"]],$f=[["comment","--comment"],["note","--note"],["learning","--learning"],["file","--file"],["test","--test"],["doc","--doc"],["reminder","--reminder"],["event","--event"],["typeOption","--type-option"]];function Ff(e){return Object.fromEntries(e)}var nA=Ff([["title","--title"],["description","--description"],["type","--type"],["status","--status"],["priority","--priority"],["tags","--tags"],["body","--body"],...Mf,["author","--author"],["message","--message"],["dep","--dep"],...$f]),iA=Ff([["title","--title"],["description","--description"],["body","--body"],["status","--status"],["closeReason","--close-reason"],["priority","--priority"],["type","--type"],["tags","--tags"],...Mf,...$f,["author","--author"],["message","--message"],["force","--force"]]);function oA(e){return e.trim().replace(/^--+/,"").toLowerCase()}function aA(e){return e==="create"?QT:eA}function sA(e){return e==="create"?tA:rA}function ul(e,t){let r=oA(t);return r.length===0?void 0:sA(e)[r]||aA(e).find(n=>n.toLowerCase()===r)}function ml(e,t){return(e==="create"?nA:iA)[t]??`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function Ri(e){let t=cA(e);return t.length===0?"items":t.endsWith("s")?t:`${t}s`}function pl(e){let t=e.trim(),r=t.replaceAll("\\","/").replace(/^\/+/,""),n=JT.posix.normalize(r);if(t.includes("\0")||/^[A-Za-z]:/.test(n)||n==="."||n===".."||n.startsWith("../"))throw new Error(`Item type folder "${e}" must stay inside the pm tracker root.`);return n}function cA(e){let t=e.trim().toLowerCase(),r="",n=!1;for(let i of t){let o=i.charCodeAt(0),a=o>=97&&o<=122,s=o>=48&&o<=57;if(a||s){n&&r.length>0&&(r+="-"),r+=i,n=!1;continue}r.length>0&&(n=!0)}return r}function lA(e){return Ra(e,{resolvePolicyCommand:Df})}function xi(e,t){let r=e[t];return Array.isArray(r)?r.filter(n=>typeof n=="string"):void 0}function dA(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:xi(t,"values")??[],required:t.required===void 0?void 0:!!t.required,aliases:xi(t,"aliases"),description:typeof t.description=="string"?t.description:void 0}}function uA(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 r=t.command.trim().toLowerCase();return r!=="create"&&r!=="update"?null:{command:r,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 mA(e){if(Array.isArray(e.options))return e.options.map(t=>dA(t)).filter(t=>t!==null)}function pA(e){if(Array.isArray(e.command_option_policies))return e.command_option_policies.map(t=>uA(t)).filter(t=>t!==null)}function fA(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e,r=typeof t.name=="string"?t.name:"";if(r.trim().length===0)return null;let n=typeof t.folder=="string"?t.folder:void 0,i=typeof t.description=="string"?t.description:void 0,o=typeof t.default_status=="string"?t.default_status:void 0;return{name:r,description:i,default_status:o,execution_role:ll(t.execution_role),folder:n,aliases:xi(t,"aliases"),required_create_fields:xi(t,"required_create_fields"),required_create_repeatables:xi(t,"required_create_repeatables"),options:mA(t),command_option_policies:pA(t)}}function _A(e,t){return e.required_create_fields?br(e.required_create_fields):t?.required_create_fields??[]}function gA(e,t){return e.required_create_repeatables?br(e.required_create_repeatables):t?.required_create_repeatables??[]}function hA(e,t){return e.options?e.options:t?.options?[...t.options]:[]}function yA(e,t){return e.command_option_policies?e.command_option_policies:t?.command_option_policies?[...t.command_option_policies]:[]}function wA(e,t){let r=t?.name??e.name,n=e.description??t?.description,i=e.default_status??t?.default_status,o=pl(e.folder??t?.folder??Ri(r)),a={name:r,execution_role:e.execution_role,folder:o,aliases:br([...t?.aliases??[],...e.aliases??[]]),required_create_fields:_A(e,t),required_create_repeatables:gA(e,t),options:hA(e,t),command_option_policies:yA(e,t)};return n&&(a.description=n),i&&(a.default_status=i),a}function Pf(e,t){for(let r of e){let n=lA(r);if(!n)continue;let i=n.name.toLowerCase(),o=t.get(i);t.set(i,wA({...n,execution_role:n.execution_role??o?.execution_role},o))}}function bA(e){if(!e)return[];let t=[];for(let r of e.item_types??[]){let n=r.types;if(Array.isArray(n))for(let i of n){let o=fA(i);o&&t.push(o)}}return t}function ce(e,t=null){let r=new Map;for(let c of Bp)r.set(c.toLowerCase(),{name:c,execution_role:YT[c.toLowerCase()]??"agent",folder:He[c],aliases:[],required_create_fields:[...XT],required_create_repeatables:[...ZT],options:[],command_option_policies:[]});Pf(e.item_types?.definitions??[],r),Pf(bA(t),r);let n=[...r.values()].sort((c,l)=>c.name.localeCompare(l.name)),i={},o={},a={};for(let c of n){i[c.name]=c,a[c.name]=c.folder,o[c.name.toLowerCase()]=c.name;for(let l of c.aliases)o[l.toLowerCase()]=c.name}let s=[...new Set(n.map(c=>c.folder))].sort((c,l)=>c.localeCompare(l));return{types:n.map(c=>c.name),folders:s,type_to_folder:a,by_type:i,alias_to_type: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]="e1a10a41-219e-52fe-8369-94b8d842a29b")}catch{}})();var SA={json_markdown:".md",toon:".toon"},TA={".md":"json_markdown",".toon":"toon"};var Jt=[".md",".toon"];function Na(e){try{return kA(e),!0}catch{return!1}}function AA(e){try{let t=JSON.parse(vA(e,"utf8"));return typeof t!="object"||t===null||Array.isArray(t)?!1:"id_prefix"in t||"item_format"in t}catch{return!1}}function IA(e){let t=me.resolve(e);for(;;){let r=me.join(t,Tn),n=me.join(r,la);if(Na(n))return r;let i=me.join(t,la);if(Na(i)&&AA(i))return t;let o=me.dirname(t);if(o===t)return;t=o}}function jf(e){return IA(e)??me.resolve(e,Tn)}function Z(e,t){let r=process.env.PM_PATH,n=t?.trim()||r?.trim();if(n){let i=me.resolve(e,n);if(!Na(ke(i))){let o=me.join(i,Tn);if(Na(ke(o)))return o}return i}return jf(e)}function vr(e){let t=me.resolve(e),r=me.dirname(t);return me.basename(t)==="pm"&&me.basename(r)===".agents"?me.dirname(r):t}function kr(e){let t=process.env.PM_GLOBAL_PATH?.trim(),r=t&&t.length>0?t:me.join(EA.homedir(),".pm-cli");return me.resolve(e,r)}function ke(e){return me.join(e,la)}function CA(e,t,r=He){let n=r[t]??Ri(t);return me.join(e,n)}function Ni(e,t,r,n="toon",i=He){return me.join(CA(e,t,i),`${r}${SA[n]}`)}function $n(e){let t=e.replaceAll("\\","/"),r=me.posix.extname(t).toLowerCase();return TA[r]??null}function Ee(e,t){if(!/^(?!\.{1,2}$)[^/\\:\0]+$/.test(t))throw new g("Invalid history item id: expected a single filename.",_.USAGE);return me.join(e,"history",`${t}.jsonl`)}function Uf(e,t){return me.join(e,"locks",`${t}.lock`)}function Da(e){return me.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]="559b05dc-0290-5a7c-97b9-ef1e5e8670ba")}catch{}})();function zf(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(([r,n])=>[r,n.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[r,n]of Object.entries(t.registrations))e.registrations[r].length=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]="17ae377d-20c2-5e45-825a-48a79c6c7601")}catch{}})();function Ae(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return t}function Me(e,t){if(t!==void 0&&typeof t!="boolean")throw new TypeError(`${e} must be a boolean when provided`)}function pe(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 Hf(e,t){if(t===void 0)return;let r=n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean";if(Array.isArray(t)){for(let[n,i]of t.entries())if(!r(i))throw new TypeError(`${e}[${n}] must be a string, number, or boolean`);return}if(!r(t))throw new TypeError(`${e} must be a string, number, or boolean, or an array of these when provided`)}function Wr(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[r,n]of t.entries())if(typeof n!="string"||n.trim().length===0)throw new TypeError(`${e}[${r}] must be a non-empty string`)}}function Di(e,t){if(Wr(e,t),!Array.isArray(t))return[];let r=[],n=new Set;for(let i of t){let o=i.trim();o.length===0||n.has(o)||(n.add(o),r.push(o))}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="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]="60fd882d-7c92-5be5-bf46-7e3c128bfb58")}catch{}})();var OA=new Set(fl);function xA(e){if(e!==void 0&&!OA.has(String(e)))throw new Error(`registerCommand definition.family must be one of: ${fl.join(", ")}`)}function qf(e){pe("registerCommand definition.action",e.action),pe("registerCommand definition.family",e.family),pe("registerCommand definition.description",e.description),pe("registerCommand definition.intent",e.intent),pe("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");xA(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]="f8657910-1392-5fae-afda-614b96dc8320")}catch{}})();function ge(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function RA(){return{json:!1,quiet:!1,noExtensions:!1,profile:!1}}function Gf(e){return e?pt(e):{}}function Bf(e){return e?pt(e):RA()}function pt(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]="615b4955-a30d-5d45-a86d-4bcf7bd9bd7a")}catch{}})();var NA=new Set(["commands","command_overrides","command_handlers","flag_commands","parser_overrides"]),DA=["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 PA(e,t){for(let r of DA){let n=e[r];if(n===void 0)continue;if(!Array.isArray(n)||n.some(o=>typeof o!="string"))return!1;let i=n.map(o=>NA.has(r)?ge(o):o.trim()).filter(o=>o.length>0);t[r]=[...new Set(i)].sort((o,a)=>o.localeCompare(a))}return!0}function LA(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="object"||r===null)return null;let n=r;if(n.format!=="json"&&n.format!=="toon"||!Array.isArray(n.commands)||n.commands.some(i=>typeof i!="string")||typeof n.result_discriminator!="boolean")return null;t.push({format:n.format,commands:[...new Set(n.commands.map(i=>ge(i)))].sort((i,o)=>i.localeCompare(o)),result_discriminator:n.result_discriminator})}return t.sort((r,n)=>r.format.localeCompare(n.format))}function MA(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="object"||r===null)return null;let n=r.commands;if(!Array.isArray(n)||n.some(i=>typeof i!="string"))return null;t.push({commands:[...new Set(n.map(i=>ge(i)))].filter(i=>i.length>0).sort((i,o)=>i.localeCompare(o))})}return t}function Fn(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 r={schema_version:1};if(!PA(t,r))return null;let n=t.preflight_overrides;if(n!==void 0&&(!Number.isInteger(n)||n<0))return null;typeof n=="number"&&(r.preflight_overrides=n);let i=t.renderer_ownership;if(i!==void 0){let a=LA(i);if(a===null)return null;r.renderer_ownership=a}let o=t.preflight_ownership;if(o!==void 0){let a=MA(o);if(a===null)return null;r.preflight_ownership=a}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="07cb237c-3956-5997-85f8-972d2ee490d0")}catch{}})();function $A(e){let t=Ae("registerExporter options.output",e),r=new Set(["channel","receipt","media_type"]);for(let n of Object.keys(t))if(!r.has(n))throw new TypeError(`registerExporter options.output contains unsupported field ${n}`);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 pe("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 Wf(e,t,r){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 n=$A(t.output);return!r&&n.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."),n}function _l(e,t,r){return{registration:t,action:r,command:e.command,args:pt(e.args),options:pt(e.options),global:pt(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]="fc2e7eac-cd1c-5885-aa27-e98455008a4f")}catch{}})();function Vf(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]="628615ea-5be3-5753-a6c5-3eba8400a8da")}catch{}})();function Rt(e,t,r){if(e===t)return 0;if(Math.abs(e.length-t.length)>r)return null;let n=t.length+1,i=new Array(n),o=new Array(n),a=new Array(n);for(let c=0;c<n;c+=1)i[c]=0,o[c]=c;for(let c=1;c<=e.length;c+=1){a[0]=c;let l=a[0];for(let d=1;d<=t.length;d+=1){let u=e[c-1]===t[d-1]?0:1,m=o[d-1]+u,p=a[d-1]+1,f=o[d]+1,w=Math.min(m,p,f);c>1&&d>1&&e[c-1]===t[d-2]&&e[c-2]===t[d-1]&&(w=Math.min(w,i[d-2]+1)),a[d]=w,w<l&&(l=w)}if(l>r)return null;for(let d=0;d<n;d+=1)i[d]=o[d],o[d]=a[d]}let s=o[t.length];return s<=r?s: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]="7359c10a-4c56-57ea-8254-fc26b19e5c84")}catch{}})();function Pi(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function Vr(e){return rt.includes(e)}function Kf(e){return e.filter(t=>!Vr(t))}function gl(e){let t=e.trim().toLowerCase();return t.length===0?null:Cc[t]??null}function Jf(e){let t=Pi([...e].map(o=>o.toLowerCase())),r=[],n=[];for(let o of t){let a=gl(o);if(a){r.push(a),n.push({alias:o,target:a});continue}r.push(o)}let i=[...new Map(n.map(o=>[`${o.alias}>${o.target}`,o])).values()].sort((o,a)=>o.alias.localeCompare(a.alias));return{capabilities:Pi(r),legacy_aliases:i}}function FA(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let r=gl(t);if(r)return r;let n=Math.max(1,Math.floor(t.length*.34)),i=null,o=Number.POSITIVE_INFINITY;for(let a of rt){let s=Rt(t,a,n);s!==null&&s<o&&(o=s,i=a)}return i}function Yf(e,t,r){let n=rt.join(","),i=FA(r)??"none";return`extension_capability_unknown:${e}:${t}:${r}:allowed=${n}:suggested=${i}`}function Xf(e,t,r){let n=r.map(i=>`${i.alias}>${i.target}`).join(",");return`extension_capability_legacy_alias:${e}:${t}:aliases=${n}`}function hl(e){let t=/^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(e.trim());if(!t)return null;let[,r,n,i,o,a]=t,s=r,c=o.split(",").map(u=>u.trim()).filter(u=>u.length>0),l=gl(i),d=(a==="none"?void 0:a)??l??void 0;return{layer:s,name:n,capability:i,allowed_capabilities:c,capability_contract_version:Ic,suggested_capability:d,suggestion_source:d?l===d?"legacy_alias":"nearest_match":void 0,legacy_alias_target:l??void 0}}function yl(e){let t=/^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(e.trim());if(!t)return[];let[,r,n,i]=t,o=r,a=[...rt],s=[];for(let c of i.split(",")){let[l,d]=c.split(">"),u=l?.trim(),m=d?.trim().toLowerCase();!u||!m||!Vr(m)||s.push({layer:o,name:n,capability:u,allowed_capabilities:a,capability_contract_version:Ic,suggested_capability:m,suggestion_source:"legacy_alias",legacy_alias_target:m})}return s}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bb1b4879-079c-50d4-afa5-e8a36ead2e5c")}catch{}})();function ft(e){return typeof e!="string"?"":e.trim().toLowerCase()}function W(e){return new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))}function jA(e){let t=e.trim().toLowerCase();if(t.length===0)return"";let r=t.split(/[.:/]/).map(n=>n.replace(/[\s_-]+/g,"")).filter(n=>n.length>0);return r.length===0?"":r.length===1?r[0]:`${r[0]}.${r.slice(1).join("")}`}function jn(e){return new Set((e??[]).map(t=>jA(t)).filter(t=>t.length>0))}function Zf(e){let t=ft(e);return ia.includes(t)?t:"off"}function Qf(e){let t=ft(e);return oa.includes(t)?t:"off"}function Li(e){let t=ft(e);return aa.includes(t)?t:"none"}function wl(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return Hp.includes(t)?t:void 0}function e_(e){if(typeof e=="string"){let t=wl(e)??"block";return{global:t,project:t}}return typeof e=="object"&&e!==null&&!Array.isArray(e)?{global:wl(e.global)??"block",project:wl(e.project)??"block"}:{global:"block",project:"block"}}function UA(e){return e.global===e.project?e.global:{global:e.global,project:e.project}}function Q(e){return[...new Set(e)].sort((t,r)=>t.localeCompare(r))}function zA(e){let t=ft(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?Li(e.sandbox_profile):void 0,allowedCapabilities:W(e.allowed_capabilities),blockedCapabilities:W(e.blocked_capabilities),allowedSurfaces:jn(e.allowed_surfaces),blockedSurfaces:jn(e.blocked_surfaces),allowedCommands:W(e.allowed_commands),blockedCommands:W(e.blocked_commands),allowedActions:W(e.allowed_actions),blockedActions:W(e.blocked_actions),allowedServices:W(e.allowed_services),blockedServices:W(e.blocked_services)}}}function t_(e){let t=new Map;for(let r of e??[]){let n=zA(r);n&&t.set(n.name,n.normalized)}return t}function HA(e){let t=[],r=[...e.overridesByName.values()].sort((i,o)=>i.name.localeCompare(o.name));for(let i of Q([...e.allowedCapabilities,...e.blockedCapabilities]))Vr(i)||t.push(`extension_policy_unknown_capability:${i}`);for(let i of r)for(let o of Q([...i.allowedCapabilities,...i.blockedCapabilities]))Vr(o)||t.push(`extension_policy_unknown_capability:${i.name}:${o}`);let n=new Set(sa);for(let i of Q([...e.allowedSurfaces,...e.blockedSurfaces]))n.has(i)||t.push(`extension_policy_unknown_surface:${i}`);for(let i of r)for(let o of Q([...i.allowedSurfaces,...i.blockedSurfaces]))n.has(o)||t.push(`extension_policy_unknown_surface:${i.name}:${o}`);return[...new Set(t)].sort((i,o)=>i.localeCompare(o))}function r_(e){let t=e.extensions?.policy??{},r=W(t.allowed_capabilities),n=W(t.blocked_capabilities),i=jn(t.allowed_surfaces),o=jn(t.blocked_surfaces),a=t_(t.extension_overrides);return{mode:Zf(t.mode),trustMode:Qf(t.trust_mode),pmMaxVersionExceededMode:e_(t.pm_max_version_exceeded_mode),requireProvenance:t.require_provenance===!0,trustedExtensions:W(t.trusted_extensions),defaultSandboxProfile:Li(t.default_sandbox_profile),allowedExtensions:W(t.allowed_extensions),blockedExtensions:W(t.blocked_extensions),allowedCapabilities:r,blockedCapabilities:n,allowedSurfaces:i,blockedSurfaces:o,allowedCommands:W(t.allowed_commands),blockedCommands:W(t.blocked_commands),allowedActions:W(t.allowed_actions),blockedActions:W(t.blocked_actions),allowedServices:W(t.allowed_services),blockedServices:W(t.blocked_services),overridesByName:a,warnings:HA({allowedCapabilities:r,blockedCapabilities:n,allowedSurfaces:i,blockedSurfaces:o,overridesByName:a})}}function n_(e){let t=[...e.overridesByName.values()].sort((r,n)=>r.name.localeCompare(n.name)).map(r=>({name:r.name,...r.disabled?{disabled:!0}:{},...r.requireTrusted?{require_trusted:!0}:{},...r.requireProvenance?{require_provenance:!0}:{},...r.sandboxProfile?{sandbox_profile:r.sandboxProfile}:{},...r.allowedCapabilities.size>0?{allowed_capabilities:Q(r.allowedCapabilities)}:{},...r.blockedCapabilities.size>0?{blocked_capabilities:Q(r.blockedCapabilities)}:{},...r.allowedSurfaces.size>0?{allowed_surfaces:Q(r.allowedSurfaces)}:{},...r.blockedSurfaces.size>0?{blocked_surfaces:Q(r.blockedSurfaces)}:{},...r.allowedCommands.size>0?{allowed_commands:Q(r.allowedCommands)}:{},...r.blockedCommands.size>0?{blocked_commands:Q(r.blockedCommands)}:{},...r.allowedActions.size>0?{allowed_actions:Q(r.allowedActions)}:{},...r.blockedActions.size>0?{blocked_actions:Q(r.blockedActions)}:{},...r.allowedServices.size>0?{allowed_services:Q(r.allowedServices)}:{},...r.blockedServices.size>0?{blocked_services:Q(r.blockedServices)}:{}}));return{mode:e.mode,trust_mode:e.trustMode,pm_max_version_exceeded_mode:UA(e.pmMaxVersionExceededMode),require_provenance:e.requireProvenance,trusted_extensions:Q(e.trustedExtensions),default_sandbox_profile:e.defaultSandboxProfile,allowed_extensions:Q(e.allowedExtensions),blocked_extensions:Q(e.blockedExtensions),allowed_capabilities:Q(e.allowedCapabilities),blocked_capabilities:Q(e.blockedCapabilities),allowed_surfaces:Q(e.allowedSurfaces),blocked_surfaces:Q(e.blockedSurfaces),allowed_commands:Q(e.allowedCommands),blocked_commands:Q(e.blockedCommands),allowed_actions:Q(e.allowedActions),blocked_actions:Q(e.blockedActions),allowed_services:Q(e.allowedServices),blocked_services:Q(e.blockedServices),extension_overrides:t}}function i_(e){let t=t_(e.extension_overrides);return{mode:Zf(e.mode),trustMode:Qf(e.trust_mode),pmMaxVersionExceededMode:e_(e.pm_max_version_exceeded_mode),requireProvenance:e.require_provenance===!0,trustedExtensions:W(e.trusted_extensions),defaultSandboxProfile:Li(e.default_sandbox_profile),allowedExtensions:W(e.allowed_extensions),blockedExtensions:W(e.blocked_extensions),allowedCapabilities:W(e.allowed_capabilities),blockedCapabilities:W(e.blocked_capabilities),allowedSurfaces:jn(e.allowed_surfaces),blockedSurfaces:jn(e.blocked_surfaces),allowedCommands:W(e.allowed_commands),blockedCommands:W(e.blocked_commands),allowedActions:W(e.allowed_actions),blockedActions:W(e.blocked_actions),allowedServices:W(e.allowed_services),blockedServices:W(e.blocked_services),overridesByName:t,warnings:[]}}function Er(e,t){return e.overridesByName.get(ft(t))??null}function Un(e,t,r,n,i){return t.has(r)?i:e.size>0&&!e.has(r)?n:null}function o_(e,t,r){let n=r.trim().toLowerCase(),i=Er(e,t.name),o=i&&i.allowedCapabilities.size>0?i.allowedCapabilities:e.allowedCapabilities,a=new Set([...e.blockedCapabilities,...i?i.blockedCapabilities:[]]);return Un(o,a,n,"capability_not_allowlisted","capability_blocked")}function qA(e,t,r){let n=Er(e,t.name),i=n&&n.allowedSurfaces.size>0?n.allowedSurfaces:e.allowedSurfaces,o=new Set([...e.blockedSurfaces,...n?n.blockedSurfaces:[]]);return Un(i,o,r,"surface_not_allowlisted","surface_blocked")}function GA(e,t,r){let n=ge(r);if(n.length===0)return null;let i=Er(e,t.name),o=i&&i.allowedCommands.size>0?i.allowedCommands:e.allowedCommands,a=new Set([...e.blockedCommands,...i?i.blockedCommands:[]]);return Un(o,a,n,"command_not_allowlisted","command_blocked")}function BA(e,t,r){let n=ft(r).replace(/\s+/g,"-");if(n.length===0)return null;let i=Er(e,t.name),o=i&&i.allowedActions.size>0?i.allowedActions:e.allowedActions,a=new Set([...e.blockedActions,...i?i.blockedActions:[]]);return Un(o,a,n,"action_not_allowlisted","action_blocked")}function WA(e,t,r){let n=ft(r);if(n.length===0)return null;let i=Er(e,t.name),o=i&&i.allowedServices.size>0?i.allowedServices:e.allowedServices,a=new Set([...e.blockedServices,...i?i.blockedServices:[]]);return Un(o,a,n,"service_not_allowlisted","service_blocked")}function VA(e,t){let r=ft(t.name);return Er(e,t.name)?.disabled===!0?"extension_override_disabled":Un(e.allowedExtensions,e.blockedExtensions,r,"extension_not_allowlisted","extension_blocked")}function KA(e,t){if(e.trustMode==="off")return null;let r=Er(e,t.name),n=ft(t.name),i=t.trusted===!0,o=t.provenanceVerified===!0;return e.trustedExtensions.size>0&&!e.trustedExtensions.has(n)?"extension_not_trusted":(r?.requireTrusted===!0||e.trustMode==="warn"||e.trustMode==="enforce")&&!i?"extension_untrusted":(e.requireProvenance||r?.requireProvenance===!0)&&!o?"provenance_missing_or_unverified":null}function JA(e,t){if(e.mode==="off")return null;let r=Er(e,t.name)?.sandboxProfile??t.sandboxProfile??e.defaultSandboxProfile;if(r==="none")return null;let n=t.permissions;if(!n)return"sandbox_permissions_missing";let i=o=>n[o]===!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 Pa(e,t,r,n,i={}){let o=Object.entries(i).sort((s,c)=>s[0].localeCompare(c[0])).map(([s,c])=>`${s}=${c}`).join(":"),a=o.length>0?`:${o}`:"";return`extension_policy_${e}_${t}:${r.layer}:${r.name}:reason=${n}${a}`}function a_(e,t){if(e.mode==="off"&&e.trustMode==="off")return{allowed:!0,warning:null};let r=[],n=VA(e,t);n&&r.push({reason:n,scope:"extension",mode:e.mode});let i=KA(e,t);i&&r.push({reason:i,scope:"trust",mode:e.trustMode});let o=JA(e,t);o&&r.push({reason:o,scope:"extension",mode:e.mode});let a=r.find(c=>c.mode==="enforce");if(a)return{allowed:!1,warning:Pa("blocked",a.scope,t,a.reason)};let s=r.find(c=>c.mode==="warn");return s?{allowed:!0,warning:Pa("violation",s.scope,t,s.reason)}:{allowed:!0,warning:null}}function s_(e,t,r){if(e.mode==="off")return{allowed:!0,warning:null};let n=o_(e,t,r);return n?{allowed:e.mode==="warn",warning:Pa(e.mode==="warn"?"violation":"blocked","capability",t,n,{capability:r.trim().toLowerCase()})}:{allowed:!0,warning:null}}function YA(e,t,r,n,i){let o=typeof n=="string"?o_(e,t,n):null,a=qA(e,t,r),s=i.command?GA(e,t,i.command):null,c=i.action?BA(e,t,i.action):null,l=i.service?WA(e,t,i.service):null;return o??a??s??c??l}function XA(e,t,r,n){let i={method:ft(e).replace(/\s+/g,"_"),surface:t};return r&&(i.capability=r),n.command&&(i.command=ge(n.command)),n.action&&(i.action=ft(n.action).replace(/\s+/g,"-")),n.service&&(i.service=ft(n.service)),i}function c_(e,t,r,n,i,o){if(e.mode==="off")return{allowed:!0,warning:null};let a=o??{},s=YA(e,t,r,i,a);if(!s)return{allowed:!0,warning:null};let c=Pa(e.mode==="warn"?"violation":"blocked","registration",t,s,XA(n,r,i,a));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 La(){return{beforeCommand:[],beforeMutation:[],afterCommand:[],onWrite:[],onRead:[],onIndex:[]}}function bl(){return{overrides:[],handlers:[]}}function vl(){return{overrides:[]}}function kl(){return{overrides:[]}}function El(){return{overrides:[]}}function Sl(){return{overrides:[]}}function Ma(){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]="cd1de600-27e4-522b-842e-1993c12e9f0e")}catch{}})();var d_=100;function l_(e,t){let r=e[t];if(r!=null)return typeof r!="string"||r.trim().length===0?null:r.trim()}function ZA(e){if(e==null)return;let t=yr(e);if(!t)return null;let r={};for(let n of Object.keys(t).sort((i,o)=>i.localeCompare(o))){if(n.trim().length===0)return null;let i=t[n];if(typeof i!="string"||i.trim().length===0)return null;r[n.trim()]=i.trim()}return Object.keys(r).length>0?r:void 0}function Tl(e,t){let r=e[t];return typeof r!="string"||r.trim().length===0?null:r.trim()}function u_(e){if(e!=null)return typeof e!="number"||!Number.isInteger(e)?null:e}function Kr(e){if(e!=null)return typeof e!="boolean"?null:e}function QA(e){let t=u_(e.priority);return t===void 0?d_:t}function eI(e){let t=e.sandbox_profile;if(t==null)return;if(typeof t!="string")return null;let r=Li(t);return r!==t.trim().toLowerCase()?null:r}function Al(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}function tI(e){if(e==null)return;let t=yr(e);if(!t)return null;let r=Al(t.source),n=Al(t.signature),i=Al(t.attestation),o=t.verified===void 0||t.verified===null?void 0:typeof t.verified=="boolean"?t.verified:null;return o===null?null:{...r?{source:r}:{},...n?{signature:n}:{},...i?{attestation:i}:{},...typeof o=="boolean"?{verified:o}:{}}}function rI(e){if(e==null)return;let t=yr(e);if(!t)return null;let r=Kr(t.fs_read),n=Kr(t.fs_write),i=Kr(t.network),o=Kr(t.env_read),a=Kr(t.env_write),s=Kr(t.process_spawn);return[r,n,i,o,a,s].includes(null)?null:{...typeof r=="boolean"?{fs_read:r}:{},...typeof n=="boolean"?{fs_write:n}:{},...typeof i=="boolean"?{network:i}:{},...typeof o=="boolean"?{env_read:o}:{},...typeof a=="boolean"?{env_write:a}:{},...typeof s=="boolean"?{process_spawn:s}:{}}}function nI(e){if(e==null)return{capabilities:[],legacy_aliases:[]};if(!Array.isArray(e)||e.some(r=>typeof r!="string"))return null;let t=Jf(e);return{capabilities:t.capabilities,legacy_aliases:t.legacy_aliases}}function iI(e){if(e==null)return;let t=yr(e);if(!t)return null;let r=t.commands;if(r==null)return;if(!Array.isArray(r)||r.some(i=>typeof i!="string"))return null;let n=[...new Set(r.map(i=>ge(i)).filter(i=>i.length>0))].sort((i,o)=>i.localeCompare(o));return n.length>0?{commands:n}:void 0}function oI(e){let t=u_(e.manifest_version);if(t===null)return null;let r=l_(e,"pm_min_version");if(r===null)return null;let n=l_(e,"pm_max_version");if(n===null)return null;let i=ZA(e.engines);if(i===null)return null;let o=Kr(e.trusted);if(o===null)return null;let a=eI(e);if(a===null)return null;let s=tI(e.provenance);if(s===null)return null;let c=rI(e.permissions);if(c===null)return null;let l=nI(e.capabilities);if(l===null)return null;let d=iI(e.activation);if(d===null)return null;let u=Fn(e.contributions);return u===null?null:{manifest_version:t,pm_min_version:r,pm_max_version:n,engines:i,trusted:o,sandbox_profile:a,provenance:s,permissions:c,capabilities:l.capabilities,legacy_capability_aliases:l.legacy_aliases,activation:d,contributions:u}}function $a(e){if(typeof e!="object"||e===null)return null;let t=e,r=Tl(t,"name");if(r===null)return null;let n=Tl(t,"version");if(n===null)return null;let i=Tl(t,"entry");if(i===null)return null;let o=QA(t);if(o===null)return null;let a=oI(t);return a===null?null:{name:r,version:n,entry:i,priority:o,manifest_version:a.manifest_version,pm_min_version:a.pm_min_version,pm_max_version:a.pm_max_version,engines:a.engines,trusted:a.trusted,provenance:a.provenance,sandbox_profile:a.sandbox_profile,permissions:a.permissions,activation:a.activation,contributions:a.contributions,capabilities:a.capabilities,legacy_capability_aliases:a.legacy_capability_aliases.length>0?a.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]="67511565-01f8-58a6-ad06-45b5d0ce831b")}catch{}})();var aI=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 sI(e){return{unknownKeys:Object.keys(e).filter(t=>!aI.has(t)).sort((t,r)=>t>r?1:-1),missingVersionBounds:e.pm_min_version===void 0&&e.pm_max_version===void 0}}function Il(e){let t=sI(e),r=t.unknownKeys.map(n=>({code:"manifest_unknown_key",path:n,...n==="compatibility"?{suggested_key:"pm_min_version"}:{},message:n==="compatibility"?'Manifest key "compatibility" is ignored; declare the canonical pm_min_version and optional pm_max_version fields instead.':`Manifest key "${n}" is not part of the extension manifest contract and will be ignored.`}));return t.missingVersionBounds&&r.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:r.length===0,findings:r}}function m_(e,t,r){return Il(r).findings.map(n=>n.code==="manifest_unknown_key"?`extension_manifest_unknown_key:${e}:${t.name}:key=${n.path}${n.suggested_key?`:suggested=${n.suggested_key}`:""}`:`extension_manifest_no_version_bounds:${e}:${t.name}:suggested=pm_min_version`)}import{constants as Sr}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]="151124a3-cefa-55d3-bf4f-bd8f2553ad72")}catch{}})();var p_=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"}]]),cI=/^[a-z][a-z0-9_]{0,63}$/u,lI=new Map([[Sr.errno.EACCES,"EACCES"],[Sr.errno.EDQUOT,"EDQUOT"],[Sr.errno.EMFILE,"EMFILE"],[Sr.errno.ENFILE,"ENFILE"],[Sr.errno.ENOMEM,"ENOMEM"],[Sr.errno.ENOSPC,"ENOSPC"],[Sr.errno.EPERM,"EPERM"],[Sr.errno.EROFS,"EROFS"]].filter(([e])=>Number.isInteger(e))),dI={capacity:{code:"host_environment_capacity_fault"},permission:{code:"host_environment_permission_fault"},resource:{code:"host_environment_resource_fault"}};function uI(e){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.code=="string"&&p_.has(t.code)?t.code:typeof t.errno!="number"||!Number.isInteger(t.errno)?null:lI.get(Math.abs(t.errno))??null}function mI(e,t,r={}){let n=uI(e);if(n===null)return null;if(!cI.test(t))throw new g("Host environment operation labels must be bounded identifiers.",_.USAGE,{code:"host_environment_operation_invalid",field:"operation"});let i=p_.get(n);return new g(`Host filesystem operation ${t} ${i.summary}.`,_.GENERIC_FAILURE,{code:r.codes?.[i.category]??dI[i.category].code,reason:n,required:i.recovery,why:r.why??"The operating system refused a required project filesystem operation.",nextSteps:[i.recovery,...r.nextSteps??[]],...r.suggestedRetry?{recovery:{suggested_retry:r.suggestedRetry}}:{}})}async function Fa(e,t,r={}){try{return await t()}catch(n){throw mI(n,e,r)??n}}import pI from"node:fs/promises";import Mi 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]="029e0066-2ef5-5204-92ad-4866321710f4")}catch{}})();async function f_(e,t){let r=Mi.dirname(t.manifest_path),n=Mi.relative(r,t.entry_path);if(n.startsWith("..")||Mi.isAbsolute(n))throw new Error(`Cannot snapshot extension entry outside its package directory: ${t.entry_path}`);let i=Mi.join(e,`${t.layer}-${t.directory.replace(/[^a-zA-Z0-9._-]/gu,"_")}`);return await Fa("extension_module_graph_snapshot",()=>pI.cp(r,i,{recursive:!0,force:!0})),Mi.join(i,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]="bf5c3834-b388-507e-a13c-3beb5d096abb")}catch{}})();function __(e){let t=typeof e=="function"?e:e.run;if(typeof t!="function")throw new TypeError("registerPreflight override requires a function handler");let r=[...new Set((typeof e=="function"?[]:e.commands??[]).map(n=>{if(typeof n!="string"||n.trim().length===0)throw new TypeError("registerPreflight ownership.commands must contain non-empty command paths");return ge(n)}))];return{run:t,...r.length>0?{commands:r}:{}}}function g_(e){let t=[];for(let r=1;r<e.overrides.length;r+=1){let n=e.overrides[r];for(let i of e.overrides.slice(0,r))n.commands?.length&&i.commands?.length&&!i.commands.some(o=>n.commands.includes(o))||t.push(`extension_preflight_override_collision:${n.layer}:${n.name}:${i.layer}:${i.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]="c24357cc-5dad-5cd7-aa89-cddd2945aab7")}catch{}})();var Cl=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"}]),Ol=new Set(Cl.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]="0403fec1-f10a-5361-982b-c127c2617e95")}catch{}})();var fI=/^--[a-z0-9][a-z0-9_-]*(?:[ =](?:<[^<>]+>|\[[^[\]]+\]))?$/;function _I(e){if(typeof e!="string")return null;let t=e.trim(),r=t.split(/[ =]/,1)[0];return Ol.has(r)?"host_owned_flag_collision":fI.test(t)?null:"malformed_long_flag"}function h_(e,t){let r=[e,t].find(o=>typeof o=="string"&&Ol.has(o.trim().split(/[ =]/,1)[0]));if(typeof r=="string")return{token:r.trim().split(/[ =]/,1)[0],failure:"host_owned_flag_collision"};if(typeof e!="string")return null;let n=e.trim(),i=_I(n);return i===null?null:{token:n,failure:i}}function y_(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]="a2ab8801-f75b-5ba0-88a5-354d24c37c6f")}catch{}})();var gI=Object.freeze({string:"string",number:"number",int:"number",integer:"number",float:"number",boolean:"boolean",bool:"boolean"});function xl(e){return typeof e!="string"?null:gI[e.trim().toLowerCase()]??null}function Rl(e){let t=[],r=n=>{if(Array.isArray(n)){for(let i of n)r(i);return}if(typeof n=="string"){for(let i of n.split(",")){let o=i.trim();o.length>0&&t.push(o)}return}n!=null&&t.push(n)};return r(e),t}function w_(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]="47d10c23-88f8-5ba1-bcc2-458f339121a8")}catch{}})();var ja=fr;function Ua(e){let t=e.trim().toLowerCase();return ja.includes(t)?t:null}function b_(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let r=Math.max(1,Math.floor(t.length*.34));for(let n of ja)if(Rt(t,n,r)!==null)return n;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]="355fe619-e6f3-51d9-b88c-0b57267c25be")}catch{}})();function v_(e){return e==="toon"||e==="json"}function k_(e){return Sn.includes(e)}function Jr(e,t){if(typeof t!="function")throw new TypeError(`api.hooks.${e} requires a function handler`)}var E_=Symbol("extension_registration_trace");function Yt(e,t){let r=new TypeError(e);return Object.defineProperty(r,E_,{value:t,enumerable:!1,configurable:!1,writable:!1}),r}function S_(e){return e instanceof Error?e[E_]:void 0}function $i(e){if(e===null)return null;if(Array.isArray(e))return e.map(t=>$i(t));if(typeof e=="function")return"[Function]";if(typeof e=="bigint"||typeof e=="symbol")return e.toString();if(typeof e=="object"){let t=e,r={};for(let n of Object.keys(t).sort((i,o)=>i.localeCompare(o)))r[n]=$i(t[n]);return r}return e}function Fi(e){if(Array.isArray(e))return e.map(t=>Fi(t));if(typeof e=="object"&&e!==null){let t=e,r={};for(let n of Object.keys(t).sort((i,o)=>i.localeCompare(o)))r[n]=Fi(t[n]);return r}return e}function zn(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return $i(t)}function ji(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return Fi(t)}function Ui(e,t){if(!Array.isArray(t))throw new TypeError(`${e} requires an array of object definitions`);return t.map(r=>zn(e,r))}function Be(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function zi(e,t){if(typeof t!="function")throw new TypeError(`${e} requires a function handler`)}function Nl(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function Dl(e,t){return ge(`${e} ${t}`)}function Hi(e,t){return Object.defineProperty(e,"runtime_definition",{value:t,enumerable:!1,writable:!1,configurable:!1}),e}var hI=new Set(["low","medium","high"]),yI=new Set(["number","string_set"]),wI=new Set(["string","number","boolean"]);function T_(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function bI(e,t,r){let n=`registerAssuranceMeasurementProvider provider.keys.${t}`,i=Ae(n,r);if(!yI.has(String(i.value_type)))throw new TypeError(`${n}.value_type must be number or string_set`);if(pe(`${n}.description`,i.description),i.parameters===void 0)return;let o=Ae(`${n}.parameters`,i.parameters);for(let[a,s]of Object.entries(o)){let c=`${n}.parameters.${a}`;T_(`${c}.name`,a);let l=Ae(c,s);if(!wI.has(String(l.type)))throw new TypeError(`${c}.type must be string, number, or boolean`);Me(`${c}.required`,l.required),pe(`${c}.description`,l.description)}if(Object.keys(o).length>50)throw new TypeError(`assurance provider ${e} key ${t} exceeds 50 parameters`)}function A_(e){let t=Ae("registerAssuranceMeasurementProvider provider",e),r=T_("registerAssuranceMeasurementProvider provider.id",t.id);if(!/^[a-z0-9][a-z0-9-]*$/u.test(r))throw new TypeError("registerAssuranceMeasurementProvider provider.id must be a stable lowercase id");if(!hI.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 n=Ae("registerAssuranceMeasurementProvider provider.keys",t.keys);if(Object.keys(n).length===0)throw new TypeError("registerAssuranceMeasurementProvider provider.keys requires at least one key");for(let[i,o]of Object.entries(n)){if(!/^[a-z0-9][a-z0-9-]*$/u.test(i))throw new TypeError(`registerAssuranceMeasurementProvider provider key ${i} must be a stable lowercase id`);bI(r,i,o)}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]="bc1e888a-4274-5d8d-9077-89ca5341172c")}catch{}})();var vI=new Set(["default","description","enabled","list","long","repeatable","required","short","type","value_name","value_type","visible"]);function za(e,t){return Ui(e,t).map(r=>(r.repeatable===!0&&(r.list=!0),r))}function kI(e){return e.trim().toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function Pl(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 r=kI(t);if(r.length===0)throw new TypeError("registerCommand definition.action must contain alphanumeric characters");return r}function Ll(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[n,i]of e.entries()){let o=Ae(`registerCommand definition.arguments[${n}]`,i),a=Be(`registerCommand definition.arguments[${n}].name`,o.name);if(Me(`registerCommand definition.arguments[${n}].required`,o.required),Me(`registerCommand definition.arguments[${n}].variadic`,o.variadic),pe(`registerCommand definition.arguments[${n}].description`,o.description),a.includes(" "))throw new TypeError(`registerCommand definition.arguments[${n}].name must not contain spaces`);let s={name:a};o.required===!0&&(s.required=!0),o.variadic===!0&&(s.variadic=!0),typeof o.description=="string"&&(s.description=o.description.trim()),t.push(s)}let r=t.map((n,i)=>n.variadic?i:-1).filter(n=>n>=0);if(r.length>1)throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");if(r.length===1&&r[0]!==t.length-1)throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");return t}function Ha(e){if(!Array.isArray(e))throw new TypeError("registerFlags flags requires an array of object definitions");for(let[t,r]of e.entries()){let n=Ae(`registerFlags flags[${t}]`,r),i=Object.keys(n).filter(c=>!vI.has(c)).sort((c,l)=>c.localeCompare(l));if(i.length>0)throw new TypeError(`registerFlags flags[${t}] contains unknown field(s): ${i.join(", ")}`);let o=n.long,a=n.short;if(o===void 0&&a===void 0)throw new TypeError(`registerFlags flags[${t}] requires at least one of long or short`);pe(`registerFlags flags[${t}].long`,o),pe(`registerFlags flags[${t}].short`,a);let s=h_(o,a);if(s!==null)throw new TypeError(`registerFlags flags[${t}] ${y_(s.token,s.failure)}`);if(pe(`registerFlags flags[${t}].value_name`,n.value_name),pe(`registerFlags flags[${t}].description`,n.description),Me(`registerFlags flags[${t}].required`,n.required),Me(`registerFlags flags[${t}].enabled`,n.enabled),Me(`registerFlags flags[${t}].visible`,n.visible),Me(`registerFlags flags[${t}].list`,n.list),Me(`registerFlags flags[${t}].repeatable`,n.repeatable),n.list!==void 0&&n.repeatable!==void 0&&n.list!==n.repeatable)throw new TypeError(`registerFlags flags[${t}].list and repeatable must match when both are provided`);if(Hf(`registerFlags flags[${t}].default`,n.default),Array.isArray(n.default)&&n.list!==!0&&n.repeatable!==!0)throw new TypeError(`registerFlags flags[${t}].default cannot be an array unless list is true.`);I_(`registerFlags flags[${t}]`,n)}}function I_(e,t){let r=(typeof t.value_type=="string"?t.value_type:void 0)??(typeof t.type=="string"?t.type:void 0);if(r===void 0)return;let n=xl(r);if(n===null)throw new TypeError(`${e} value_type "${r}" is not a known flag value type (expected one of: string, number, boolean).`);if(t.default===void 0)return;let i=t.list===!0||t.repeatable===!0?Rl(t.default):[t.default];for(let[o,a]of i.entries())if(!w_(a,n)){let s=i.length>1?`default[${o}]`:"default";throw new TypeError(`${e}.${s} (${JSON.stringify(a)}) is not coercible to ${n}.`)}}function C_(e){if(!Array.isArray(e))throw new TypeError("registerItemFields fields requires an array of object definitions");for(let[t,r]of e.entries()){let n=Ae(`registerItemFields fields[${t}]`,r);Be(`registerItemFields fields[${t}].name`,n.name);let i=Be(`registerItemFields fields[${t}].type`,n.type);if(Ua(i)===null){let o=b_(i),a=o?` Did you mean "${o}"?`:"";throw new TypeError(`registerItemFields fields[${t}].type "${i}" is not a known field type (expected one of: ${ja.join(", ")}).${a}`)}Me(`registerItemFields fields[${t}].optional`,n.optional)}}function EI(e,t){if(t===void 0)return;let r=`registerItemTypes types[${e}].command_option_policies`;if(!Array.isArray(t))throw new TypeError(`${r} must be an array when provided`);for(let[n,i]of t.entries()){let o=`${r}[${n}]`,a=Ae(o,i);Be(`${o}.command`,a.command),Be(`${o}.option`,a.option),Me(`${o}.enabled`,a.enabled),Me(`${o}.required`,a.required),Me(`${o}.visible`,a.visible)}}function SI(e,t){if(t===void 0)return;let r=`registerItemTypes types[${e}].options`;if(!Array.isArray(t))throw new TypeError(`${r} must be an array when provided`);for(let[n,i]of t.entries()){let o=`${r}[${n}]`,a=Ae(o,i);Be(`${o}.key`,a.key),Wr(`${o}.values`,a.values),Me(`${o}.required`,a.required),Wr(`${o}.aliases`,a.aliases)}}function O_(e){if(!Array.isArray(e))throw new TypeError("registerItemTypes types requires an array of object definitions");for(let[t,r]of e.entries()){let n=`registerItemTypes types[${t}]`,i=Ae(n,r);Be(`${n}.name`,i.name),pe(`${n}.folder`,i.folder),Wr(`${n}.aliases`,i.aliases),Wr(`${n}.required_create_fields`,i.required_create_fields),Wr(`${n}.required_create_repeatables`,i.required_create_repeatables),EI(t,i.command_option_policies),SI(t,i.options)}}function x_(e){let t=Ae("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(Me("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 R_=["types","statuses","fields","workflows","config","templates","packages"],TI={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[r,n]of t.allowed_transitions.entries())if(!Array.isArray(n))throw new TypeError(`${e}.allowed_transitions[${r}] 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 N_(e){let t=Ae("registerProfile profile",e);if(Be("registerProfile profile.name",t.name),Be("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 r of R_){let n=t[r];if(n!==void 0){if(!Array.isArray(n))throw new TypeError(`registerProfile profile.${r} must be an array when provided`);for(let[i,o]of n.entries()){if(typeof o!="object"||o===null||Array.isArray(o))throw new TypeError(`registerProfile profile.${r}[${i}] must be an object`);TI[r]?.(`registerProfile profile.${r}[${i}]`,o)}}}}function D_(e){e.summary===void 0&&(e.summary="");for(let t of R_)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]="45ff820c-32af-5bdb-a570-3059684129ce")}catch{}})();function P_(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]="b5de5028-f981-599b-8d11-0fc7b07beda4")}catch{}})();function L_(e){return typeof e=="string"?e:String(e)}function qi(e){let t=e.trim().replace(/^>=\s*/,"").replace(/^v/i,"").split(/[+-]/,1)[0];return/^\d+(?:[.-]\d+)*$/.test(t)?t.split(/[.-]/).map(r=>Number(r)):null}function Ml(e,t){let r=qi(e),n=qi(t);if(!r||!n)return null;let i=Math.max(r.length,n.length);for(let o=0;o<i;o+=1){let a=r[o]??0,s=n[o]??0;if(a>s)return 1;if(a<s)return-1}return 0}function M_(e,t){if(e==null)return{kind:"pm_min_version",status:"absent",allowed:!0,required:"",current:t};let r=L_(e);if(typeof e!="string"||r.trim().length===0)return{kind:"pm_min_version",status:"invalid",allowed:!1,required:r,current:t};if(!qi(r))return{kind:"pm_min_version",status:"invalid",allowed:!1,required:r,current:t};if(t===null)return{kind:"pm_min_version",status:"unchecked",allowed:!0,required:r,current:null};let n=Ml(t,r);return n===null?{kind:"pm_min_version",status:"unchecked",allowed:!0,required:r,current:t}:n<0?{kind:"pm_min_version",status:"unmet",allowed:!1,required:r,current:t}:{kind:"pm_min_version",status:"ok",allowed:!0,required:r,current:t}}function $_(e,t,r){if(e==null)return{kind:"pm_max_version",status:"absent",allowed:!0,required:"",current:t};let n=L_(e);if(typeof e!="string"||n.trim().length===0)return{kind:"pm_max_version",status:"invalid",allowed:!1,required:n,current:t};if(/^[<>=~^]/.test(n.trim())||!qi(n))return{kind:"pm_max_version",status:"invalid",allowed:!1,required:n,current:t};if(t===null)return{kind:"pm_max_version",status:"unchecked",allowed:!0,required:n,current:null};let i=Ml(t,n);return i===null?{kind:"pm_max_version",status:"unchecked",allowed:!0,required:n,current:t}:i>0?r==="warn"?{kind:"pm_max_version",status:"exceeded_warn",allowed:!0,required:n,current:t}:{kind:"pm_max_version",status:"exceeded",allowed:!1,required:n,current:t}:{kind:"pm_max_version",status:"ok",allowed:!0,required:n,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]="1dcf5e56-cb0c-5e4c-b0e8-e4dbd06187dd")}catch{}})();var AI=5e3;async function F_(e,t,r){let n=[];for(let i of e)try{await i.run(pt(r))}catch{n.push(`extension_hook_failed:${i.layer}:${i.name}:${t}`)}return n}function II(e,t,r){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 n=e,i=typeof n.code=="string"?n.code.trim():"",o=typeof n.remediation=="string"?n.remediation.trim():"";if(i.length===0||o.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 a=typeof n.message=="string"?n.message.trim():"";throw new g(a||`Extension mutation guard ${t.name} denied ${r}.`,_.CONFLICT,{code:i,reason:`${t.layer}:${t.name}`,nextSteps:[o]})}async function $l(e,t){for(let r of e.beforeMutation??[]){let n,i;try{let o=Promise.resolve().then(()=>r.run({pm_root:t.pm_root,operation:t.operation,before:t.before===null?null:pt(t.before),after:t.after===null?null:pt(t.after),changed_fields:[...t.changed_fields],sdk:t.sdk}));o.catch(()=>{}),n=await Promise.race([o,new Promise((a,s)=>{i=setTimeout(()=>{s(new g(`Extension mutation guard ${r.name} timed out before ${t.operation}.`,_.CONFLICT,{code:"extension_mutation_guard_timed_out",reason:`${r.layer}:${r.name}`,nextSteps:["Fix or disable the stalled extension guard, then retry the mutation."]}))},AI),i.unref?.()})])}catch(o){throw o instanceof g?o:new g(`Extension mutation guard ${r.name} failed before ${t.operation}.`,_.CONFLICT,{code:"extension_mutation_guard_failed",reason:`${r.layer}:${r.name}`,nextSteps:["Fix or disable the failing extension guard, then retry the mutation."]})}finally{clearTimeout(i)}II(n,r,t.operation)}}async function Fl(e,t){return F_(e.onWrite,"onWrite",t)}async function jl(e,t){return F_(e.onRead,"onRead",t)}function CI(e){return{handled:!1,result:e.payload,warnings:[]}}function OI(e,t){return[...e.overrides].reverse().filter(r=>r.service===t)}function xI(e){return{service:e.service,command:e.command?ge(e.command):void 0,args:e.args?pt(e.args):void 0,options:e.options?Gf(e.options):void 0,global:e.global?Bf(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:pt(e.payload)}}function RI(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 NI(e,t){return RI(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 DI(e,t,r){return t.service==="output_format"&&typeof e=="object"&&e!==null&&Ne(e,r.payload)}function PI(e,t,r){if(t.handled){if(e.passThrough===!0){r.push(`extension_service_pass_through_contract_violated:${e.layer}:${e.name}:${e.service}`);return}return{handled:!0,result:t.result,warnings:r}}}async function Ul(e,t){let r=OI(e,t.service);if(r.length===0)return CI(t);let n=[];for(let i of r)try{let o=xI(t),a=await Promise.resolve(i.run(o));if(DI(a,t,o)){n.push(`extension_output_format_payload_echo_deprecated:${i.layer}:${i.name}`);continue}let s=PI(i,NI(a,t),n);if(s)return s}catch{n.push(`extension_service_override_failed:${i.layer}:${i.name}:${i.service}`)}return{handled:!1,result:t.payload,warnings: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]="79f32043-06a1-5929-ac52-bc4a003806fc")}catch{}})();var j_=null,BI=Object.freeze(ca()),U_=0;function W_(e=Date.now()){return U_+=1,`${U_}-${e}`}function WI(e,t,r){return r.has(e)?!1:t.size===0?!0:t.has(e)}async function V_(e,t){let[r,n]=await Promise.all([Xr.realpath(e),Xr.realpath(t)]);return xt(r,n)}function qa(e,t=process.cwd()){return{global:Yr.join(kr(t),"extensions"),project:Yr.join(e,"extensions")}}async function VI(e){try{return(await Xr.readdir(e,{withFileTypes:!0})).filter(t=>t.isDirectory()).map(t=>t.name).sort((t,r)=>t.localeCompare(r))}catch{return[]}}function KI(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 z_(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}async function JI(e){let t=new Map;try{let r=JSON.parse(await Xr.readFile(Yr.join(e,".managed-extensions.json"),"utf8")),n=yr(r)?.entries;if(!Array.isArray(n))return t;for(let i of n){if(typeof i!="object"||i===null)continue;let o=i,a=z_(o.source?.package),s=[o.source?.input,o.source?.name,a].map(d=>z_(d)).filter(d=>d!==void 0),c=Fn(o.contributions),l={aliases:[...new Set(s)],...a?{package_name:a}:{},...c?{contributions:c}:{}};typeof o.directory=="string"&&o.directory.trim().length>0&&t.set(`directory:${o.directory.trim()}`,l),typeof o.name=="string"&&o.name.trim().length>0&&t.set(`name:${o.name.trim()}`,l)}}catch{return t}return t}function H_(e){return[...e].sort((t,r)=>{if(t.manifest.priority!==r.manifest.priority)return t.manifest.priority-r.manifest.priority;let n=t.manifest.name.localeCompare(r.manifest.name);return n!==0?n:t.directory.localeCompare(r.directory)})}function YI(e,t){let r=[...H_(e),...H_(t)],n=[];for(let i of r){let o=n.findIndex(a=>a.manifest.name===i.manifest.name);o>=0&&n.splice(o,1),n.push(i)}return n}async function q_(e,t,r,n,i){let o=[],a=[],s=[],c=await VI(t),l=await JI(t);for(let d of c){let u=await QI(e,t,d,r,n,l,i);o.push(u.diagnostic),a.push(...u.warnings),u.candidate&&s.push(u.candidate)}return{diagnostics:o,warnings:a,candidates:s}}function XI(){return{diagnostics:[],warnings:[],candidates:[]}}function G_(e,t,r,n){return{diagnostic:{layer:e,directory:t,manifest_path:r,name:null,version:null,entry:null,priority:null,entry_path:null,enabled:null,status:"warn"},warnings:[n],candidate:null}}function ZI(e,t,r,n,i,o,a){let s=m_(e,t,r);Array.isArray(t.legacy_capability_aliases)&&t.legacy_capability_aliases.length>0&&s.push(Xf(e,t.name,t.legacy_capability_aliases));for(let c of Kf(t.capabilities))s.push(Yf(e,t.name,c));return n?i||s.push(`extension_entry_missing:${e}:${t.name}`):s.push(`extension_entry_outside_extension:${e}:${t.name}`),o.warning&&s.push(o.warning),a.warning&&s.push(a.warning),s}async function QI(e,t,r,n,i,o,a){let s=Yr.join(t,r),c=Yr.join(s,"manifest.json");if(!await M(c))return G_(e,r,c,`extension_manifest_missing:${e}:${r}`);let l,d;try{let C=JSON.parse(await Xr.readFile(c,"utf8"));d=yr(C),l=$a(C)}catch{d=null,l=null}if(!l||!d)return G_(e,r,c,`extension_manifest_invalid:${e}:${r}`);let u=Yr.resolve(s,l.entry),m=xt(s,u),p=m?await M(u):!1,f=m&&p?await V_(s,u):m,w=WI(l.name,n,i),h=await tC(e,l),b=await rC(e,l,a),v=ZI(e,l,d,f,p,h,b),I=f&&p&&h.allowed&&b.allowed,A=o.get(`directory:${r}`)??o.get(`name:${l.name}`);return{diagnostic:{layer:e,directory:r,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:Vf({layer:e,directory:r,manifestPath:c,entryPath:u,manifest:l,sourceIdentity:A,extensionReady:I,enabledForLoad:w})}}async function K_(e){let t=qa(e.pmRoot,e.cwd??process.cwd()),r=Pi(e.settings.extensions.enabled),n=Pi(e.settings.extensions.disabled),i=r_(e.settings),o=n_(i);if(e.noExtensions)return{disabled_by_flag:!0,roots:t,configured_enabled:r,configured_disabled:n,discovered:[],effective:[],warnings:[...i.warnings],policy:o};let a=new Set(r),s=new Set(n),c=e.ignoreGlobalExtensions===!0?XI():await q_("global",t.global,a,s,i.pmMaxVersionExceededMode.global),l=await q_("project",t.project,a,s,i.pmMaxVersionExceededMode.project),d=[...i.warnings],u=YI(c.candidates,l.candidates),m=[];for(let p of u){let f={layer:p.layer,name:p.manifest.name,trusted:p.manifest.trusted===!0,provenanceVerified:p.manifest.provenance?.verified===!0,sandboxProfile:p.manifest.sandbox_profile,permissions:p.manifest.permissions&&typeof p.manifest.permissions=="object"?{fs_read:p.manifest.permissions.fs_read,fs_write:p.manifest.permissions.fs_write,network:p.manifest.permissions.network,env_read:p.manifest.permissions.env_read,env_write:p.manifest.permissions.env_write,process_spawn:p.manifest.permissions.process_spawn}:void 0},w=a_(i,f);if(w.warning&&d.push(w.warning),!!w.allowed){for(let h of p.manifest.capabilities){let b=s_(i,f,h);b.warning&&d.push(b.warning)}m.push(KI(p))}}return{disabled_by_flag:!1,roots:t,configured_enabled:r,configured_disabled:n,discovered:[...c.diagnostics,...l.diagnostics],effective:m,warnings:[...new Set([...c.warnings,...l.warnings,...d])],policy:o}}function Hl(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}async function eC(){try{let e=it(import.meta.url,["../../.."]),t=await Xr.readFile(Yr.join(e,"package.json"),"utf8"),r=JSON.parse(t);return typeof r.version=="string"&&r.version.trim().length>0?r.version.trim():null}catch{return null}}function J_(){return j_??=eC(),j_}function Y_(e,t,r){let n=r.current??"unknown";if(r.kind==="pm_min_version")switch(r.status){case"invalid":return`extension_pm_min_version_invalid:${e}:${t.name}:required=${r.required}`;case"unchecked":return`extension_pm_min_version_unchecked:${e}:${t.name}:required=${r.required}:current=${n}`;case"unmet":return`extension_pm_min_version_unmet:${e}:${t.name}:required=${r.required}:current=${n}`;default:return}switch(r.status){case"invalid":return`extension_pm_max_version_invalid:${e}:${t.name}:allowed=${r.required}`;case"unchecked":return`extension_pm_max_version_unchecked:${e}:${t.name}:allowed=${r.required}:current=${n}`;case"exceeded_warn":return`extension_pm_max_version_exceeded_warn:${e}:${t.name}:allowed=${r.required}:current=${n}`;case"exceeded":return`extension_pm_max_version_exceeded:${e}:${t.name}:allowed=${r.required}:current=${n}`;default:return}}async function tC(e,t){if(t.pm_min_version===void 0)return{allowed:!0};let r=M_(t.pm_min_version,await J_()),n=Y_(e,t,r);return n?{allowed:r.allowed,warning:n}:{allowed:r.allowed}}async function rC(e,t,r){if(t.pm_max_version===void 0)return{allowed:!0};let n=$_(t.pm_max_version,await J_(),r),i=Y_(e,t,n);return i?{allowed:n.allowed,warning:i}:{allowed:n.allowed}}async function B_(e){try{let t=await Xr.stat(e);return`${Math.trunc(t.mtimeMs)}-${t.size}`}catch{return"missing"}}async function nC(e,t){let r=e.entry_path;t.module_graph_snapshot_root&&(r=await f_(t.module_graph_snapshot_root,e));let n=new URL(GI(r).href);if(!(t.cache_bust===!0||typeof t.reload_token=="string"))return n.href;let[i,o]=await Promise.all([B_(e.entry_path),B_(e.manifest_path)]),a=t.reload_token??W_();return n.searchParams.set("pm_ext_reload",a),n.searchParams.set("pm_ext_entry",i),n.searchParams.set("pm_ext_manifest",o),n.href}async function Gi(e){let t=await K_(e),r=[],n=[],i=[...t.warnings];if(t.disabled_by_flag)return{...t,warnings:i,loaded:r,failed:n};let o=typeof e.extensionFilter=="function"?t.effective.filter(e.extensionFilter):t.effective;for(let a of o)try{let s=await import(await nC(a,e));r.push({...a,module:s})}catch(s){i.push(`extension_load_failed:${a.layer}:${a.name}`),n.push({layer:a.layer,name:a.name,entry_path:a.entry_path,error:Hl(s)})}return{...t,warnings:i,loaded:r,failed:n}}function iC(e){let t={activate:e.activate.bind(e)};if(typeof e.deactivate=="function"){let r=e.deactivate;t.deactivate=r.bind(e)}return t}function oC(e){let t=yf(e);return t?iC(t):null}function aC(e){if(!Array.isArray(e.capabilities))return null;let t=new Set;for(let r of e.capabilities){let n=r.trim().toLowerCase();Vr(n)&&t.add(n)}return t}function ae(e,t,r){let n=aC(e);if(n!==null&&!n.has(t))throw Yt(`${r} requires capability '${t}' in extension manifest capabilities`,{method:r,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 ${r} registration call.`})}function sC(e){return Object.freeze({name:e.name,layer:e.layer,version:e.version,capabilities:Object.freeze((e.capabilities??[]).filter(t=>rt.includes(t))),pm_min_version:e.pm_min_version,pm_max_version:e.pm_max_version,source_package:e.source_package})}function cC(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 zl=class{extension;hooks;#e;#r;#n;#i;#a;#s;#c;#l;#t;#o;#d;#u;constructor(t,r,n,i,o,a,s,c,l,d,u){this.#e=t,this.extension=sC(t),this.#r=cC(t),this.#n=r,this.#i=n,this.#a=i,this.#s=o,this.#c=a,this.#l=s,this.#t=c,this.#o=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:m=>this.registerBeforeCommand(m),beforeMutation:m=>this.registerBeforeMutation(m),afterCommand:m=>this.registerAfterCommand(m),onWrite:m=>this.registerOnWrite(m),onRead:m=>this.registerOnRead(m),onIndex:m=>this.registerOnIndex(m)}}allowRegistration(t,r,n,i){let o=c_(this.#u,this.#r,t,r,n,i);return o.warning&&this.#o.push(o.warning),o.allowed}registerCommandTrace(t,r,n,i,o){return{method:"registerCommand",registration_index:t==="override"?this.#i.overrides.length:this.#i.handlers.length,command:r,expected_schema:n,received:$i(i),hint:o}}registerCommandOverride(t,r){let n=ge(t);if(n.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 r!="function"){let i=this.registerCommandTrace("override",n,'registerCommand("<command>", (context) => unknown)',r,"Provide a function as the second registerCommand argument.");throw Yt(`registerCommand requires an override function when command name is provided (command="${n}", registration_index=${i.registration_index})`,i)}this.allowRegistration("commands.override","registerCommand","commands",{command:n})&&this.#i.overrides.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}resolveCommandDefinitionRunHandler(t,r){let n=typeof t.run=="function"?t.run:void 0,i=typeof t.handler=="function"?t.handler:void 0;return!n&&i&&this.#o.push(`extension_command_definition_legacy_handler_alias:${this.#e.layer}:${this.#e.name}:${r}`),n??i}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 r=ge(t.name);if(r.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 n=this.resolveCommandDefinitionRunHandler(t,r);if(typeof n!="function"){let i=this.registerCommandTrace("definition",r,"{ name: string; run: (context) => unknown; }",n,"Define command definition.run as a function.");throw Yt(`registerCommand requires a command definition run handler (command="${r}", registration_index=${i.registration_index})`,i)}try{qf(t);let i=Pl(r,t.action);if(!this.allowRegistration("commands.handler","registerCommand","commands",{command:r,action:i}))return;let o=t.description?.trim(),a=t.intent?.trim(),s=Di("registerCommand definition.examples",t.examples),c=Di("registerCommand definition.failure_hints",t.failure_hints),l=Ll(t.arguments);t.flags!==void 0&&(ae(this.#e,"schema","registerCommand flags"),this.allowRegistration("schema.flags","registerCommand flags","schema")&&(Ha(t.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:r,flags:za("registerCommand definition.flags",t.flags)})));let d={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:r,action:i,examples:s,failure_hints:c,arguments:l,tier:t.tier??"standard",family:t.family??"extensions"};o&&(d.description=o),a&&(d.intent=a),this.#t.commands.push(d)}catch(i){let o=Hl(i),a=this.registerCommandTrace("definition",r,"{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }",t,o),s=Yt(`registerCommand definition metadata invalid (command="${r}", registration_index=${a.registration_index}): ${o}`,a);this.#o.push(`extension_command_quarantined:${this.#e.layer}:${this.#e.name}:${r}`),this.#d.push({layer:this.#e.layer,name:this.#e.name,entry_path:this.#e.entry_path,error:s.message,trace:a});return}this.#i.handlers.push({layer:this.#e.layer,name:this.#e.name,command:r,run:n})}registerCommand(t,r){if(ae(this.#e,"commands","registerCommand"),typeof t=="string"){this.registerCommandOverride(t,r);return}this.registerCommandDefinition(t)}registerParser(t,r){if(ae(this.#e,"parser","registerParser"),!this.allowRegistration("parser.override","registerParser","parser"))return;let n=ge(Be("registerParser command",t));zi("registerParser override",r),this.#a.overrides.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}registerPreflight(t){if(ae(this.#e,"preflight","registerPreflight"),!this.allowRegistration("preflight.override","registerPreflight","preflight"))return;let r=__(t);this.#s.overrides.push({layer:this.#e.layer,name:this.#e.name,...r})}registerService(t,r,n={}){ae(this.#e,"services","registerService");let i=String(t).trim().toLowerCase();if(!k_(i))throw new TypeError(`registerService service must be one of: ${Sn.join(", ")}`);this.allowRegistration("services.override","registerService","services",{service:i})&&(zi("registerService override",r),this.#c.overrides.push({layer:this.#e.layer,name:this.#e.name,service:i,run:r,...P_(n)?{passThrough:!0}:{}}))}registerRenderer(t,r,n={}){if(ae(this.#e,"renderers","registerRenderer"),!this.allowRegistration("renderers.override","registerRenderer","renderers"))return;if(typeof r!="function")throw new TypeError("registerRenderer requires a renderer function");let i=String(t).trim().toLowerCase();if(!v_(i))throw new Error(`registerRenderer format must be toon|json, received: ${String(t)}`);if(n.resultDiscriminator!==void 0&&typeof n.resultDiscriminator!="function")throw new TypeError("registerRenderer ownership.resultDiscriminator must be a function when provided");let o=[...new Set((n.commands??[]).map(a=>{if(typeof a!="string"||a.trim().length===0)throw new TypeError("registerRenderer ownership.commands must contain non-empty command paths");return ge(a)}))];this.#l.overrides.push({layer:this.#e.layer,name:this.#e.name,format:i,run:r,commands:o,...n.resultDiscriminator?{resultDiscriminator:n.resultDiscriminator}:{}})}registerFlags(t,r){if(ae(this.#e,"schema","registerFlags"),!this.allowRegistration("schema.flags","registerFlags","schema"))return;let n=ge(Be("registerFlags targetCommand",t));Ha(r);let i=za("registerFlags flags",r);if(i.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:n,flags:i})}registerItemFields(t){if(ae(this.#e,"schema","registerItemFields"),!this.allowRegistration("schema.itemfields","registerItemFields","schema"))return;C_(t);let r=Ui("registerItemFields fields",t);if(r.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:r})}registerItemTypes(t){if(ae(this.#e,"schema","registerItemTypes"),!this.allowRegistration("schema.itemtypes","registerItemTypes","schema"))return;O_(t);let r=Ui("registerItemTypes types",t);if(r.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:r})}registerRelationshipKinds(t){if(ae(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 r=Gr();for(let i of this.#t.relationship_kinds)for(let o of i.definitions)r.register(o);let n=t.map(i=>(r.register(i),r.require(i.kind)));this.#t.relationship_kinds.push({layer:this.#e.layer,name:this.#e.name,definitions:n})}registerMigration(t){if(ae(this.#e,"schema","registerMigration"),!this.allowRegistration("schema.migrations","registerMigration","schema"))return;x_(t);let r=ji("registerMigration definition",t);this.#t.migrations.push(Hi({layer:this.#e.layer,name:this.#e.name,definition:zn("registerMigration definition",t)},r))}registerProfile(t){if(ae(this.#e,"schema","registerProfile"),!this.allowRegistration("schema.profiles","registerProfile","schema"))return;let r=Fi(t);N_(r),this.#t.profiles.push({layer:this.#e.layer,name:this.#e.name,profile:D_(r)})}registerImportExportCommandFlags(t,r,n){n.flags!==void 0&&(ae(this.#e,"schema",`${t} options.flags`),this.allowRegistration("schema.flags",`${t} options.flags`,"schema")&&(Ha(n.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:r,flags:za(`${t} options.flags`,n.flags)})))}applyImportExportCommandMetadata(t,r,n){if(n!==void 0&&(typeof n!="object"||n===null||Array.isArray(n)))throw new TypeError(`${t} options must be an object when provided`);let i=`${t==="registerImporter"?"Import":"Export"} items with the registered extension adapter.`,o=[{name:"file",required:!1,description:"Optional input or output file path."}],a={...n,description:n?.description??i,arguments:n?.arguments??o},s=Wf(t,a,n?.description!==void 0);pe(`${t} options.action`,a.action),pe(`${t} options.description`,a.description),pe(`${t} options.intent`,a.intent);let c=Pl(r,a.action),l=Di(`${t} options.examples`,a.examples),d=Di(`${t} options.failure_hints`,a.failure_hints),u=Ll(a.arguments);this.registerImportExportCommandFlags(t,r,a);let m={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:r,action:c,examples:l,failure_hints:d,arguments:u},p=a.description?.trim();p&&(m.description=p);let f=a.intent?.trim();return f&&(m.intent=f),this.#t.commands.push(m),s}registerImporter(t,r,n){if(ae(this.#e,"importers","registerImporter"),!this.allowRegistration("importers.importer","registerImporter","importers"))return;let i=Nl(Be("registerImporter name",t));zi("registerImporter importer",r);let o=Dl(i,"import");this.applyImportExportCommandMetadata("registerImporter",o,n),this.#t.importers.push({layer:this.#e.layer,name:this.#e.name,importer:i}),this.#i.handlers.push({layer:this.#e.layer,name:this.#e.name,command:o,run:async a=>r(_l(a,i,"import"))})}registerExporter(t,r,n){if(ae(this.#e,"importers","registerExporter"),!this.allowRegistration("importers.exporter","registerExporter","importers"))return;let i=Nl(Be("registerExporter name",t));zi("registerExporter exporter",r);let o=Dl(i,"export"),a=this.applyImportExportCommandMetadata("registerExporter",o,n);this.#t.exporters.push({layer:this.#e.layer,name:this.#e.name,exporter:i,...a===void 0?{}:{output:a}}),this.#i.handlers.push({layer:this.#e.layer,name:this.#e.name,command:o,run:async s=>{let c=await r(_l(s,i,"export"));return a?.receipt==="suppress"&&!sl(c)?Rf(c):c}})}registerSearchProvider(t){if(ae(this.#e,"search","registerSearchProvider"),!this.allowRegistration("search.provider","registerSearchProvider","search"))return;let r=ji("registerSearchProvider provider",t);this.#t.search_providers.push(Hi({layer:this.#e.layer,name:this.#e.name,definition:zn("registerSearchProvider provider",t)},r))}registerVectorStoreAdapter(t){if(ae(this.#e,"search","registerVectorStoreAdapter"),!this.allowRegistration("search.vectorstore","registerVectorStoreAdapter","search"))return;let r=ji("registerVectorStoreAdapter adapter",t);this.#t.vector_store_adapters.push(Hi({layer:this.#e.layer,name:this.#e.name,definition:zn("registerVectorStoreAdapter adapter",t)},r))}registerAssuranceMeasurementProvider(t){if(ae(this.#e,"services","registerAssuranceMeasurementProvider"),!this.allowRegistration("services.assuranceprovider","registerAssuranceMeasurementProvider","services"))return;if(A_(t),t.network&&this.#e.permissions?.network!==!0)throw new TypeError("registerAssuranceMeasurementProvider network provider requires permissions.network=true");let r=ji("registerAssuranceMeasurementProvider provider",t);this.#t.assurance_providers.push(Hi({layer:this.#e.layer,name:this.#e.name,network_permission:this.#e.permissions?.network===!0,definition:zn("registerAssuranceMeasurementProvider provider",t)},r))}registerBeforeCommand(t){ae(this.#e,"hooks","api.hooks.beforeCommand"),this.allowRegistration("hooks.beforecommand","api.hooks.beforeCommand","hooks")&&(Jr("beforeCommand",t),this.#n.beforeCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerBeforeMutation(t){ae(this.#e,"hooks","api.hooks.beforeMutation"),this.allowRegistration("hooks.beforemutation","api.hooks.beforeMutation","hooks")&&(Jr("beforeMutation",t),this.#n.beforeMutation.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerAfterCommand(t){ae(this.#e,"hooks","api.hooks.afterCommand"),this.allowRegistration("hooks.aftercommand","api.hooks.afterCommand","hooks")&&(Jr("afterCommand",t),this.#n.afterCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnWrite(t){ae(this.#e,"hooks","api.hooks.onWrite"),this.allowRegistration("hooks.onwrite","api.hooks.onWrite","hooks")&&(Jr("onWrite",t),this.#n.onWrite.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnRead(t){ae(this.#e,"hooks","api.hooks.onRead"),this.allowRegistration("hooks.onread","api.hooks.onRead","hooks")&&(Jr("onRead",t),this.#n.onRead.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnIndex(t){ae(this.#e,"hooks","api.hooks.onIndex"),this.allowRegistration("hooks.onindex","api.hooks.onIndex","hooks")&&(Jr("onIndex",t),this.#n.onIndex.push({layer:this.#e.layer,name:this.#e.name,run:t}))}};function lC(e,t,r,n,i,o,a,s,c,l,d){return new zl(e,t,r,n,i,o,a,s,c,l,d)}function dC(e){let t=e.commands.length,r=e.flags.reduce((a,s)=>a+s.flags.length,0),n=e.item_fields.reduce((a,s)=>a+s.fields.length,0),i=e.item_types.reduce((a,s)=>a+s.types.length,0),o=(e.relationship_kinds??[]).reduce((a,s)=>a+s.definitions.length,0);return{commands:t,flags:r,item_fields:n,item_types:i,...o>0?{relationship_kinds:o}:{},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 uC(e){let t=[],r=(o,a)=>{let s=new Map;for(let c of o){let l=s.get(c.command)??[];l.push(c),s.set(c.command,l)}for(let c of[...s.keys()].sort((l,d)=>l.localeCompare(d))){let l=s.get(c);if(l.length<=1)continue;let d=l[l.length-1];for(let u of l.slice(0,-1))t.push(`${a}:${c}:${d.layer}:${d.name}:${u.layer}:${u.name}`)}};r(e.handlers,"extension_command_handler_collision"),r(e.overrides,"extension_command_override_collision");let n=new Set(e.handlers.map(o=>o.command)),i=[...new Set(e.overrides.map(o=>o.command))].filter(o=>n.has(o));i.sort((o,a)=>o.localeCompare(a));for(let o of i){let a=e.handlers.filter(c=>c.command===o),s=e.overrides.filter(c=>c.command===o);for(let c of s)for(let l of a)t.push(`extension_command_override_handler_overlap:${o}:${c.layer}:${c.name}:${l.layer}:${l.name}`)}return t}function mC(e){let t=new Map;for(let n of e.overrides){let i=t.get(n.format)??[];i.push(n),t.set(n.format,i)}let r=[];for(let n of[...t.keys()].sort((i,o)=>i.localeCompare(o))){let i=t.get(n);if(i.length<=1)continue;let o=i[i.length-1];for(let a of i.slice(0,-1))o.commands?.length&&a.commands?.length&&!a.commands.some(s=>o.commands?.includes(s))||r.push(`extension_renderer_collision:${n}:${o.layer}:${o.name}:${a.layer}:${a.name}`)}return r}function pC(e){let t=[],r=new Map;for(let n of e.overrides){let i=r.get(n.command)??[];i.push(n),r.set(n.command,i)}for(let n of[...r.keys()].sort((i,o)=>i.localeCompare(o))){let i=r.get(n);if(i.length<=1)continue;let o=i[i.length-1];for(let a of i.slice(0,-1))t.push(`extension_parser_override_collision:${n}:${o.layer}:${o.name}:${a.layer}:${a.name}`)}return t}var fC=new Set(["output_format"]);function _C(e){let t=[],r=new Map;for(let n of e.overrides){let i=r.get(n.service)??[];i.push(n),r.set(n.service,i)}for(let n of[...r.keys()].sort((i,o)=>i.localeCompare(o))){let i=r.get(n);if(i.length<=1||fC.has(n))continue;let o=i[i.length-1];for(let a of i.slice(0,-1))t.push(`extension_service_override_collision:${n}:${o.layer}:${o.name}:${a.layer}:${a.name}`)}return t}async function Bi(e){let t=i_(e.policy??BI),r=La(),n=bl(),i=vl(),o=kl(),a=El(),s=Sl(),c=Ma(),l=[],d=[];for(let p of e.loaded){let f=oC(p.module);if(!f)continue;let w=l.length,h=zf({hooks:r,commands:n,parsers:i,preflight:o,services:a,renderers:s,registrations:c});try{await f.activate(lC(p,r,n,i,o,a,s,c,d,l,t)),l.length>w&&(h(),d.push(`extension_activation_rolled_back:${p.layer}:${p.name}`))}catch(b){h(),d.push(`extension_activate_failed:${p.layer}:${p.name}`);let v=S_(b);l.push({layer:p.layer,name:p.name,entry_path:p.entry_path,error:Hl(b),trace:v})}}let u=[...uC(n),...pC(i),...g_(o),..._C(a),...mC(s)],m=[...new Set([...d,...u])];return{hooks:r,commands:n,parsers:i,preflight:o,services:a,renderers:s,registrations:c,failed:l,warnings:m,hook_counts:{before_command:r.beforeCommand.length,before_mutation:r.beforeMutation.length,after_command:r.afterCommand.length,on_write:r.onWrite.length,on_read:r.onRead.length,on_index:r.onIndex.length},command_override_count:n.overrides.length,command_handler_count:n.handlers.length,parser_override_count:i.overrides.length,preflight_override_count:o.overrides.length,service_override_count:a.overrides.length,renderer_override_count:s.overrides.length,registration_counts:dC(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]="b1a38f8c-8f65-59e2-bddf-ed0606a0f0b5")}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]="4da25248-2914-5bc5-aa42-87f677ef4ea8")}catch{}})();function Ga(){let e=Promise.resolve(),t=0,r=[],n=()=>{if(t!==0)return;let i=r.splice(0);for(let o of i)o()};return{enqueue(i){t++;let o=e.then(()=>i());return e=o.then(()=>{},()=>{}).finally(()=>{t--,n()}),o},idle(){return t===0?Promise.resolve():new Promise(i=>r.push(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]="d8844150-afb4-5f2e-a005-4cfb8482660c")}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]="7c2e7a35-cbf9-5bb6-abfd-f1ae75c6afc2")}catch{}})();var Ba=null;var wC=null;var bC=null,vC=null;var kC=[],EC=new yC;function Tr(){return EC.getStore()}var SC=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function V(){let e=Tr();return e?e.registrations:bC}function ql(e){if(!e)return;let t=Tr();t?t.affectedItems.push(e):kC.push(e)}function Wa(e,t){if(!e||!e.id)return{};let r={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return r;let n=e;for(let i of t){if(typeof i!="string")continue;let o=i.startsWith("unset:")?i.slice(6):i;o==="id"||o==="type"||o==="status"||SC.has(o)||Object.hasOwn(n,o)&&n[o]!==void 0&&(r[o]=n[o])}return r}async function Ie(e){let t=Tr(),r=t?t.hooks:Ba;return r?Fl(r,e):[]}async function Gl(e){let t=Tr(),r=t?t.hooks:Ba;r&&await $l(r,e)}async function $e(e){let t=Tr(),r=t?t.hooks:Ba;return r?jl(r,e):[]}function Va(){let e=Tr();return((e?e.hooks:Ba)?.onRead?.length??0)>0}function TC(e,t){let r=Tr(),n=r?r.commandContext:vC;return{service:e,command:n?.command,args:n?[...n.args]:[],options:n?.options?{...n.options}:{},global:n?.global?{...n.global}:void 0,pm_root:n?.pm_root,source_workspace_root:n?.source_workspace_root,repo_root:n?.repo_root,pm_root_rel:n?.pm_root_rel,payload:t}}async function Nt(e,t){let r=Tr(),n=r?r.services:wC;return n?Ul(n,TC(e,t)):{handled:!1,result:t,warnings:[]}}import{AsyncLocalStorage as nd}from"node:async_hooks";import{createHash as QC}from"node:crypto";import Je from"node:fs";import yg from"node:os";import en from"node:path";import{AsyncLocalStorage as AC}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]="1fbb183b-c6d8-5834-b4cb-e4fb515572b9")}catch{}})();var IC=new AC,X_=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Ka(e,t){let r=typeof e=="string"?e.trim():"";return r.length>0?r.slice(0,t):void 0}function Wi(e,t){if(e===void 0)return;let r=typeof e=="object"&&e!==null?e:{},n=Ka(r.id,128),i=Ka(r.parent_id,128);if(n===void 0||!X_.test(n)||i!==void 0&&!X_.test(i)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let o=Ka(r.label,256);return{id:n,...o===void 0?{}:{label:o},...i===void 0?{}:{parent_id:i}}}function Bl(e){let t={};for(let[r,n]of Object.entries(e??{}).slice(0,32)){let i=r.trim().toLowerCase().slice(0,64),o=Ka(n,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(i)&&o!==void 0&&(t[i]=o)}return t}function CC(e,t,r){let n=IC.getStore(),i=Bl({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),o=Wi(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),a={...Bl(n?.provenance),...i,...Bl(e?.provenance)},s=Wi(e?.episode,!1)??Wi(r,!1)??o??Wi(n?.episode,!1);return Object.keys(a).length===0&&s===void 0?void 0:{...Object.keys(a).length===0?{}:{provenance:a},...s===void 0?{}:{episode:s}}}function Ja(e,t){return CC(e.session_context,t,e.client_info?.episode)??{}}import{existsSync as Zl,promises as nV,readFileSync as KC}from"node:fs";import Zt from"node:path";import{constants as OC}from"node:fs";import ot from"node:fs/promises";import Vi from"node:path";import{randomUUID as Wl}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]="dcf54e42-cfa8-5672-863c-b12451a7fa57")}catch{}})();function xC(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 r=t,n=r.id,i=r.pid,o=r.owner,a=r.token,s=r.created_at,c=r.ttl_seconds;return typeof n!="string"||typeof i!="number"||!Number.isFinite(i)||typeof o!="string"||a!==void 0&&(typeof a!="string"||a.trim().length===0)||typeof s!="string"||typeof c!="number"||!Number.isFinite(c)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:n,pid:i,owner:o,...typeof a=="string"?{token:a}:{},created_at:s,ttl_seconds:c},warnings:[]}}async function Ya(e,t=!0){try{let r=await ot.readFile(e,"utf8");return t&&await $e({path:e,scope:"project"}),xC(r)}catch(r){return $(r)?{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 RC(e,t,r=process.platform){if(Xt(e,"EEXIST"))return!0;if(!Xt(e,"EPERM")&&!Xt(e,"EACCES")&&!Xt(e,"EBUSY"))return!1;try{return await ot.lstat(t),!0}catch(n){if(r!=="win32"||!$(n)&&!Xt(n,"EPERM")&&!Xt(n,"EACCES")&&!Xt(n,"EBUSY"))return!1}try{return await ot.access(Vi.dirname(t),OC.W_OK),!0}catch{return!1}}async function ng(e,t){await Ie({path:e,scope:"project",op:t})}function NC(e,t,r,n=Wl()){return{id:e,pid:process.pid,owner:t,token:n,created_at:j(),ttl_seconds:r}}async function DC(e,t,r,n,i,o){o&&await ot.mkdir(Vi.dirname(e),{recursive:!0});let a=await Xl(e,t);if(a===null)throw await ot.access(Vi.dirname(e)),Object.assign(new Error("Lock initialization is contended"),{code:"EEXIST"});try{let s=await ot.open(e,"wx");try{try{await s.writeFile(`${JSON.stringify(NC(t,r,n,i),null,2)}
10
+ `}function Ke(e,t={}){let r=Le(e);if(r)throw new g(`Merge conflict markers detected in item document at line ${r.line} (${r.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 n=t.format??"toon",i=Tf(t);return n==="toon"?TT(e,i,t):ST(e,i,t)}function Mn(e,t={}){return(t.format??"toon")==="toon"?IT(e,t):AT(e,t)}function mt(e,t={}){return{metadata:Oi(e.metadata,t),body:Pn(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 gh 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]="6fd537c2-9d10-5a26-81a9-ac931151017b")}catch{}})();var CT=["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"],OT=["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"],Of={"init:type-preset":"init:type_preset"},xT=["^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 dB=new Set([...CT,...OT]),uB=xT.map(e=>new RegExp(e,"u"));function RT(e){return Object.hasOwn(Of,e)?Of[e]:e}function Ca(e){let t=RT(e),r=t.indexOf(":"),n=r<0?t:t.slice(0,r),i=r<0||r<t.length-1&&!/[\s\p{C}]/u.test(t.slice(r+1));if(/^[a-z][a-z0-9]*(?:[_.-][a-z0-9]+)*$/u.test(n)&&i)return t;throw new TypeError("History operation must use lowercase alphanumeric segments with an optional non-whitespace colon-suffixed retry key.")}import uh from"node:fs/promises";import Zx from"node:path";import{AsyncLocalStorage as yC}from"node:async_hooks";import Xr from"node:fs/promises";import Yr from"node:path";import{pathToFileURL as GI}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]="2ea7934f-4751-5245-a5ba-492681aa3794")}catch{}})();var nl=[{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]="418b3f7f-6350-5878-a362-3948de287baf")}catch{}})();function Oa(e){return e.trim().toLowerCase().replaceAll("-","_")}function NT(e){if(e===void 0)return;let t=Oa(e);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid inverse relationship kind: ${e}`);return t}function il(e,t=new Set){if(e===null||typeof e!="object"||t.has(e))return e;if(t.add(e),Array.isArray(e)){for(let r of e)il(r,t);return Object.freeze(e)}for(let r of Object.values(e))il(r,t);return Object.freeze(e)}function DT(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 PT(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 LT(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 MT(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=Oa(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 $T(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 FT(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(r=>typeof r!="string")))throw new TypeError(`Invalid relationship aliases for ${t}`)}function jT(e){return e.traversal?e.traversal:e.ordering?"ordering":e.hierarchy?"hierarchy":e.direction==="undirected"?"association":"semantic"}var ol=class{#e=new Map;#r=new Map;constructor(t=nl){for(let r of t)this.register(r)}register(t){let r=MT(t);if($T(t,r),FT(t,r),DT(t,r),PT(t,r),LT(t,r),this.#e.has(r)||this.#r.has(r))throw new TypeError(`Relationship kind already registered: ${r}`);let n=NT(t.inverse),i=[...new Set((t.aliases??[]).map(Oa))].sort();for(let a of i){if(!/^[a-z][a-z0-9_]*$/.test(a))throw new TypeError(`Invalid relationship alias: ${a}`);if(a===r||this.#e.has(a)||this.#r.has(a))throw new TypeError(`Relationship alias already registered: ${a}`)}let o=Object.freeze({...t,kind:r,traversal:jT(t),hierarchy:t.hierarchy??!1,hierarchyDirection:t.hierarchy?t.hierarchyDirection??"source_parent":void 0,inverse:n,aliases:Object.freeze(i),payloadSchema:t.payloadSchema?il(structuredClone(t.payloadSchema)):void 0});this.#e.set(r,o);for(let a of i)this.#r.set(a,r);return this}resolve(t){if(typeof t!="string")return;let r=Oa(t);return this.#e.get(this.#r.get(r)??r)}require(t){let r=this.resolve(t);if(!r)throw new TypeError(`Unknown relationship kind: ${t}`);return r}list(){return Object.freeze([...this.#e.values()].sort((t,r)=>t.kind.localeCompare(r.kind)))}};function Gr(){return new ol}var gB=Gr();import xf 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]="01422574-583a-5fd1-bc00-f61f430073cd")}catch{}})();function Rt(e,t){let r=xf.relative(e,t);return r.length===0?!0:!r.startsWith("..")&&!xf.isAbsolute(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]="32aa20df-edf7-543d-b733-841130466f00")}catch{}})();var UT="__pm_suppress_host_output",al="@unbrained/pm-cli:suppress-host-output:v1";function Rf(e){return e===void 0?{__pm_suppress_host_output:al}:{__pm_suppress_host_output:al,result:e}}function sl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&e[UT]===al}import xa from"node:fs";import Br from"node:path";import{fileURLToPath as zT}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]="efea1aa1-1ad1-5f53-a3a5-b83803d9deb1")}catch{}})();var HT="@unbrained/pm-cli";function qT(e){try{return JSON.parse(xa.readFileSync(e,"utf8")).name===HT}catch{return!1}}function GT(e){let t=xa.existsSync(e)&&xa.statSync(e).isDirectory()?Br.resolve(e):Br.dirname(Br.resolve(e));for(;;){let r=Br.join(t,"package.json");if(xa.existsSync(r)&&qT(r))return t;let n=Br.dirname(t);if(n===t)return;t=n}}function it(e,t=[]){let r=zT(e);return GT(r)||Br.resolve(Br.dirname(r),...t)}import{readFileSync as vA,readdirSync as NB,statSync as kA}from"node:fs";import EA from"node:os";import me from"node:path";import JT 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]="75f74db3-9547-5c78-8561-f371c016b90d")}catch{}})();function br(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function BT(e){let t=e.key.trim();if(t.length===0)return null;let r=br(e.aliases),n=e.description?.trim();return{key:t,values:br(e.values),required:e.required===!0?!0:void 0,aliases:r.length>0?r:void 0,description:n&&n.length>0?n:void 0}}var WT=e=>e,Df=e=>{let t=e.trim().toLowerCase();return t==="create"||t==="update"?t:null};function VT(e,t){let r=t(e.command);if(r===null)return null;let n=e.option.trim();return n.length===0?null:{command:r,option:n,required:e.required,visible:e.visible,enabled:e.enabled}}function KT(e,t){let r=new Map;for(let n of e??[]){let i=VT(n,t);i&&r.set(`${i.command}:${i.option.toLowerCase()}`,i)}return[...r.values()].sort((n,i)=>n.command===i.command?n.option.localeCompare(i.option):n.command.localeCompare(i.command))}function Nf(e,t){return t?br(e):void 0}function cl(e){let t=e?.trim();return t&&t.length>0?t:void 0}function ll(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 Ra(e,t={}){let r=t.resolvePolicyCommand??WT,n=e.name.trim();if(n.length===0)return null;let i=e.required_create_fields!==void 0,o=e.required_create_repeatables!==void 0,a=e.options!==void 0,s=e.command_option_policies!==void 0,c=br(e.aliases),l=(e.options??[]).map(u=>BT(u)).filter(u=>u!==null).sort((u,m)=>u.key.localeCompare(m.key)),d=KT(e.command_option_policies,r);return{name:n,description:cl(e.description),default_status:cl(e.default_status),...e.execution_role===void 0?{}:{execution_role:ll(e.execution_role)},folder:cl(e.folder),aliases:c.length>0?c:void 0,required_create_fields:Nf(e.required_create_fields,i),required_create_repeatables:Nf(e.required_create_repeatables,o),options:a?l:void 0,command_option_policies:s?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]="f40ddc8e-1dd5-5f26-b2ba-fbbac30a1781")}catch{}})();var YT=Object.freeze({decision:"human",milestone:"gate"}),XT=["title","description","status","priority","tags","body","deadline","estimatedMinutes","acceptanceCriteria","author","message","assignee"],ZT=["dep","comment","note","learning","file","test","doc"],dl=["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"],QT=["title","description","type","status","priority","tags","body",...dl,"author","message","dep","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],eA=["title","description","body","status","closeReason","priority","type","tags",...dl,"author","message","comment","note","learning","file","test","doc","reminder","event","typeOption","field","ownershipMetadataBypass","ownershipDependencyBypass","force"],Lf={"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"},tA={...Lf},rA={...Lf},Mf=[["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"]],$f=[["comment","--comment"],["note","--note"],["learning","--learning"],["file","--file"],["test","--test"],["doc","--doc"],["reminder","--reminder"],["event","--event"],["typeOption","--type-option"]];function Ff(e){return Object.fromEntries(e)}var nA=Ff([["title","--title"],["description","--description"],["type","--type"],["status","--status"],["priority","--priority"],["tags","--tags"],["body","--body"],...Mf,["author","--author"],["message","--message"],["dep","--dep"],...$f]),iA=Ff([["title","--title"],["description","--description"],["body","--body"],["status","--status"],["closeReason","--close-reason"],["priority","--priority"],["type","--type"],["tags","--tags"],...Mf,...$f,["author","--author"],["message","--message"],["force","--force"]]);function oA(e){return e.trim().replace(/^--+/,"").toLowerCase()}function aA(e){return e==="create"?QT:eA}function sA(e){return e==="create"?tA:rA}function ul(e,t){let r=oA(t);return r.length===0?void 0:sA(e)[r]||aA(e).find(n=>n.toLowerCase()===r)}function ml(e,t){return(e==="create"?nA:iA)[t]??`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function Ri(e){let t=cA(e);return t.length===0?"items":t.endsWith("s")?t:`${t}s`}function pl(e){let t=e.trim(),r=t.replaceAll("\\","/").replace(/^\/+/,""),n=JT.posix.normalize(r);if(t.includes("\0")||/^[A-Za-z]:/.test(n)||n==="."||n===".."||n.startsWith("../"))throw new Error(`Item type folder "${e}" must stay inside the pm tracker root.`);return n}function cA(e){let t=e.trim().toLowerCase(),r="",n=!1;for(let i of t){let o=i.charCodeAt(0),a=o>=97&&o<=122,s=o>=48&&o<=57;if(a||s){n&&r.length>0&&(r+="-"),r+=i,n=!1;continue}r.length>0&&(n=!0)}return r}function lA(e){return Ra(e,{resolvePolicyCommand:Df})}function xi(e,t){let r=e[t];return Array.isArray(r)?r.filter(n=>typeof n=="string"):void 0}function dA(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:xi(t,"values")??[],required:t.required===void 0?void 0:!!t.required,aliases:xi(t,"aliases"),description:typeof t.description=="string"?t.description:void 0}}function uA(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 r=t.command.trim().toLowerCase();return r!=="create"&&r!=="update"?null:{command:r,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 mA(e){if(Array.isArray(e.options))return e.options.map(t=>dA(t)).filter(t=>t!==null)}function pA(e){if(Array.isArray(e.command_option_policies))return e.command_option_policies.map(t=>uA(t)).filter(t=>t!==null)}function fA(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e,r=typeof t.name=="string"?t.name:"";if(r.trim().length===0)return null;let n=typeof t.folder=="string"?t.folder:void 0,i=typeof t.description=="string"?t.description:void 0,o=typeof t.default_status=="string"?t.default_status:void 0;return{name:r,description:i,default_status:o,execution_role:ll(t.execution_role),folder:n,aliases:xi(t,"aliases"),required_create_fields:xi(t,"required_create_fields"),required_create_repeatables:xi(t,"required_create_repeatables"),options:mA(t),command_option_policies:pA(t)}}function _A(e,t){return e.required_create_fields?br(e.required_create_fields):t?.required_create_fields??[]}function gA(e,t){return e.required_create_repeatables?br(e.required_create_repeatables):t?.required_create_repeatables??[]}function hA(e,t){return e.options?e.options:t?.options?[...t.options]:[]}function yA(e,t){return e.command_option_policies?e.command_option_policies:t?.command_option_policies?[...t.command_option_policies]:[]}function wA(e,t){let r=t?.name??e.name,n=e.description??t?.description,i=e.default_status??t?.default_status,o=pl(e.folder??t?.folder??Ri(r)),a={name:r,execution_role:e.execution_role,folder:o,aliases:br([...t?.aliases??[],...e.aliases??[]]),required_create_fields:_A(e,t),required_create_repeatables:gA(e,t),options:hA(e,t),command_option_policies:yA(e,t)};return n&&(a.description=n),i&&(a.default_status=i),a}function Pf(e,t){for(let r of e){let n=lA(r);if(!n)continue;let i=n.name.toLowerCase(),o=t.get(i);t.set(i,wA({...n,execution_role:n.execution_role??o?.execution_role},o))}}function bA(e){if(!e)return[];let t=[];for(let r of e.item_types??[]){let n=r.types;if(Array.isArray(n))for(let i of n){let o=fA(i);o&&t.push(o)}}return t}function ce(e,t=null){let r=new Map;for(let c of Bp)r.set(c.toLowerCase(),{name:c,execution_role:YT[c.toLowerCase()]??"agent",folder:He[c],aliases:[],required_create_fields:[...XT],required_create_repeatables:[...ZT],options:[],command_option_policies:[]});Pf(e.item_types?.definitions??[],r),Pf(bA(t),r);let n=[...r.values()].sort((c,l)=>c.name.localeCompare(l.name)),i={},o={},a={};for(let c of n){i[c.name]=c,a[c.name]=c.folder,o[c.name.toLowerCase()]=c.name;for(let l of c.aliases)o[l.toLowerCase()]=c.name}let s=[...new Set(n.map(c=>c.folder))].sort((c,l)=>c.localeCompare(l));return{types:n.map(c=>c.name),folders:s,type_to_folder:a,by_type:i,alias_to_type: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]="e1a10a41-219e-52fe-8369-94b8d842a29b")}catch{}})();var SA={json_markdown:".md",toon:".toon"},TA={".md":"json_markdown",".toon":"toon"};var Jt=[".md",".toon"];function Na(e){try{return kA(e),!0}catch{return!1}}function AA(e){try{let t=JSON.parse(vA(e,"utf8"));return typeof t!="object"||t===null||Array.isArray(t)?!1:"id_prefix"in t||"item_format"in t}catch{return!1}}function IA(e){let t=me.resolve(e);for(;;){let r=me.join(t,Tn),n=me.join(r,la);if(Na(n))return r;let i=me.join(t,la);if(Na(i)&&AA(i))return t;let o=me.dirname(t);if(o===t)return;t=o}}function jf(e){return IA(e)??me.resolve(e,Tn)}function Z(e,t){let r=process.env.PM_PATH,n=t?.trim()||r?.trim();if(n){let i=me.resolve(e,n);if(!Na(ke(i))){let o=me.join(i,Tn);if(Na(ke(o)))return o}return i}return jf(e)}function vr(e){let t=me.resolve(e),r=me.dirname(t);return me.basename(t)==="pm"&&me.basename(r)===".agents"?me.dirname(r):t}function kr(e){let t=process.env.PM_GLOBAL_PATH?.trim(),r=t&&t.length>0?t:me.join(EA.homedir(),".pm-cli");return me.resolve(e,r)}function ke(e){return me.join(e,la)}function CA(e,t,r=He){let n=r[t]??Ri(t);return me.join(e,n)}function Ni(e,t,r,n="toon",i=He){return me.join(CA(e,t,i),`${r}${SA[n]}`)}function $n(e){let t=e.replaceAll("\\","/"),r=me.posix.extname(t).toLowerCase();return TA[r]??null}function Ee(e,t){if(!/^(?!\.{1,2}$)[^/\\:\0]+$/.test(t))throw new g("Invalid history item id: expected a single filename.",_.USAGE);return me.join(e,"history",`${t}.jsonl`)}function Uf(e,t){return me.join(e,"locks",`${t}.lock`)}function Da(e){return me.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]="559b05dc-0290-5a7c-97b9-ef1e5e8670ba")}catch{}})();function zf(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(([r,n])=>[r,n.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[r,n]of Object.entries(t.registrations))e.registrations[r].length=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]="17ae377d-20c2-5e45-825a-48a79c6c7601")}catch{}})();function Ae(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return t}function Me(e,t){if(t!==void 0&&typeof t!="boolean")throw new TypeError(`${e} must be a boolean when provided`)}function pe(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 Hf(e,t){if(t===void 0)return;let r=n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean";if(Array.isArray(t)){for(let[n,i]of t.entries())if(!r(i))throw new TypeError(`${e}[${n}] must be a string, number, or boolean`);return}if(!r(t))throw new TypeError(`${e} must be a string, number, or boolean, or an array of these when provided`)}function Wr(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[r,n]of t.entries())if(typeof n!="string"||n.trim().length===0)throw new TypeError(`${e}[${r}] must be a non-empty string`)}}function Di(e,t){if(Wr(e,t),!Array.isArray(t))return[];let r=[],n=new Set;for(let i of t){let o=i.trim();o.length===0||n.has(o)||(n.add(o),r.push(o))}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="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]="60fd882d-7c92-5be5-bf46-7e3c128bfb58")}catch{}})();var OA=new Set(fl);function xA(e){if(e!==void 0&&!OA.has(String(e)))throw new Error(`registerCommand definition.family must be one of: ${fl.join(", ")}`)}function qf(e){pe("registerCommand definition.action",e.action),pe("registerCommand definition.family",e.family),pe("registerCommand definition.description",e.description),pe("registerCommand definition.intent",e.intent),pe("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");xA(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]="f8657910-1392-5fae-afda-614b96dc8320")}catch{}})();function ge(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function RA(){return{json:!1,quiet:!1,noExtensions:!1,profile:!1}}function Gf(e){return e?pt(e):{}}function Bf(e){return e?pt(e):RA()}function pt(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]="615b4955-a30d-5d45-a86d-4bcf7bd9bd7a")}catch{}})();var NA=new Set(["commands","command_overrides","command_handlers","flag_commands","parser_overrides"]),DA=["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 PA(e,t){for(let r of DA){let n=e[r];if(n===void 0)continue;if(!Array.isArray(n)||n.some(o=>typeof o!="string"))return!1;let i=n.map(o=>NA.has(r)?ge(o):o.trim()).filter(o=>o.length>0);t[r]=[...new Set(i)].sort((o,a)=>o.localeCompare(a))}return!0}function LA(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="object"||r===null)return null;let n=r;if(n.format!=="json"&&n.format!=="toon"||!Array.isArray(n.commands)||n.commands.some(i=>typeof i!="string")||typeof n.result_discriminator!="boolean")return null;t.push({format:n.format,commands:[...new Set(n.commands.map(i=>ge(i)))].sort((i,o)=>i.localeCompare(o)),result_discriminator:n.result_discriminator})}return t.sort((r,n)=>r.format.localeCompare(n.format))}function MA(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="object"||r===null)return null;let n=r.commands;if(!Array.isArray(n)||n.some(i=>typeof i!="string"))return null;t.push({commands:[...new Set(n.map(i=>ge(i)))].filter(i=>i.length>0).sort((i,o)=>i.localeCompare(o))})}return t}function Fn(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 r={schema_version:1};if(!PA(t,r))return null;let n=t.preflight_overrides;if(n!==void 0&&(!Number.isInteger(n)||n<0))return null;typeof n=="number"&&(r.preflight_overrides=n);let i=t.renderer_ownership;if(i!==void 0){let a=LA(i);if(a===null)return null;r.renderer_ownership=a}let o=t.preflight_ownership;if(o!==void 0){let a=MA(o);if(a===null)return null;r.preflight_ownership=a}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="07cb237c-3956-5997-85f8-972d2ee490d0")}catch{}})();function $A(e){let t=Ae("registerExporter options.output",e),r=new Set(["channel","receipt","media_type"]);for(let n of Object.keys(t))if(!r.has(n))throw new TypeError(`registerExporter options.output contains unsupported field ${n}`);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 pe("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 Wf(e,t,r){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 n=$A(t.output);return!r&&n.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."),n}function _l(e,t,r){return{registration:t,action:r,command:e.command,args:pt(e.args),options:pt(e.options),global:pt(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]="fc2e7eac-cd1c-5885-aa27-e98455008a4f")}catch{}})();function Vf(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]="628615ea-5be3-5753-a6c5-3eba8400a8da")}catch{}})();function Nt(e,t,r){if(e===t)return 0;if(Math.abs(e.length-t.length)>r)return null;let n=t.length+1,i=new Array(n),o=new Array(n),a=new Array(n);for(let c=0;c<n;c+=1)i[c]=0,o[c]=c;for(let c=1;c<=e.length;c+=1){a[0]=c;let l=a[0];for(let d=1;d<=t.length;d+=1){let u=e[c-1]===t[d-1]?0:1,m=o[d-1]+u,p=a[d-1]+1,f=o[d]+1,w=Math.min(m,p,f);c>1&&d>1&&e[c-1]===t[d-2]&&e[c-2]===t[d-1]&&(w=Math.min(w,i[d-2]+1)),a[d]=w,w<l&&(l=w)}if(l>r)return null;for(let d=0;d<n;d+=1)i[d]=o[d],o[d]=a[d]}let s=o[t.length];return s<=r?s: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]="7359c10a-4c56-57ea-8254-fc26b19e5c84")}catch{}})();function Pi(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function Vr(e){return rt.includes(e)}function Kf(e){return e.filter(t=>!Vr(t))}function gl(e){let t=e.trim().toLowerCase();return t.length===0?null:Cc[t]??null}function Jf(e){let t=Pi([...e].map(o=>o.toLowerCase())),r=[],n=[];for(let o of t){let a=gl(o);if(a){r.push(a),n.push({alias:o,target:a});continue}r.push(o)}let i=[...new Map(n.map(o=>[`${o.alias}>${o.target}`,o])).values()].sort((o,a)=>o.alias.localeCompare(a.alias));return{capabilities:Pi(r),legacy_aliases:i}}function FA(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let r=gl(t);if(r)return r;let n=Math.max(1,Math.floor(t.length*.34)),i=null,o=Number.POSITIVE_INFINITY;for(let a of rt){let s=Nt(t,a,n);s!==null&&s<o&&(o=s,i=a)}return i}function Yf(e,t,r){let n=rt.join(","),i=FA(r)??"none";return`extension_capability_unknown:${e}:${t}:${r}:allowed=${n}:suggested=${i}`}function Xf(e,t,r){let n=r.map(i=>`${i.alias}>${i.target}`).join(",");return`extension_capability_legacy_alias:${e}:${t}:aliases=${n}`}function hl(e){let t=/^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(e.trim());if(!t)return null;let[,r,n,i,o,a]=t,s=r,c=o.split(",").map(u=>u.trim()).filter(u=>u.length>0),l=gl(i),d=(a==="none"?void 0:a)??l??void 0;return{layer:s,name:n,capability:i,allowed_capabilities:c,capability_contract_version:Ic,suggested_capability:d,suggestion_source:d?l===d?"legacy_alias":"nearest_match":void 0,legacy_alias_target:l??void 0}}function yl(e){let t=/^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(e.trim());if(!t)return[];let[,r,n,i]=t,o=r,a=[...rt],s=[];for(let c of i.split(",")){let[l,d]=c.split(">"),u=l?.trim(),m=d?.trim().toLowerCase();!u||!m||!Vr(m)||s.push({layer:o,name:n,capability:u,allowed_capabilities:a,capability_contract_version:Ic,suggested_capability:m,suggestion_source:"legacy_alias",legacy_alias_target:m})}return s}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bb1b4879-079c-50d4-afa5-e8a36ead2e5c")}catch{}})();function ft(e){return typeof e!="string"?"":e.trim().toLowerCase()}function W(e){return new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))}function jA(e){let t=e.trim().toLowerCase();if(t.length===0)return"";let r=t.split(/[.:/]/).map(n=>n.replace(/[\s_-]+/g,"")).filter(n=>n.length>0);return r.length===0?"":r.length===1?r[0]:`${r[0]}.${r.slice(1).join("")}`}function jn(e){return new Set((e??[]).map(t=>jA(t)).filter(t=>t.length>0))}function Zf(e){let t=ft(e);return ia.includes(t)?t:"off"}function Qf(e){let t=ft(e);return oa.includes(t)?t:"off"}function Li(e){let t=ft(e);return aa.includes(t)?t:"none"}function wl(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return Hp.includes(t)?t:void 0}function e_(e){if(typeof e=="string"){let t=wl(e)??"block";return{global:t,project:t}}return typeof e=="object"&&e!==null&&!Array.isArray(e)?{global:wl(e.global)??"block",project:wl(e.project)??"block"}:{global:"block",project:"block"}}function UA(e){return e.global===e.project?e.global:{global:e.global,project:e.project}}function Q(e){return[...new Set(e)].sort((t,r)=>t.localeCompare(r))}function zA(e){let t=ft(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?Li(e.sandbox_profile):void 0,allowedCapabilities:W(e.allowed_capabilities),blockedCapabilities:W(e.blocked_capabilities),allowedSurfaces:jn(e.allowed_surfaces),blockedSurfaces:jn(e.blocked_surfaces),allowedCommands:W(e.allowed_commands),blockedCommands:W(e.blocked_commands),allowedActions:W(e.allowed_actions),blockedActions:W(e.blocked_actions),allowedServices:W(e.allowed_services),blockedServices:W(e.blocked_services)}}}function t_(e){let t=new Map;for(let r of e??[]){let n=zA(r);n&&t.set(n.name,n.normalized)}return t}function HA(e){let t=[],r=[...e.overridesByName.values()].sort((i,o)=>i.name.localeCompare(o.name));for(let i of Q([...e.allowedCapabilities,...e.blockedCapabilities]))Vr(i)||t.push(`extension_policy_unknown_capability:${i}`);for(let i of r)for(let o of Q([...i.allowedCapabilities,...i.blockedCapabilities]))Vr(o)||t.push(`extension_policy_unknown_capability:${i.name}:${o}`);let n=new Set(sa);for(let i of Q([...e.allowedSurfaces,...e.blockedSurfaces]))n.has(i)||t.push(`extension_policy_unknown_surface:${i}`);for(let i of r)for(let o of Q([...i.allowedSurfaces,...i.blockedSurfaces]))n.has(o)||t.push(`extension_policy_unknown_surface:${i.name}:${o}`);return[...new Set(t)].sort((i,o)=>i.localeCompare(o))}function r_(e){let t=e.extensions?.policy??{},r=W(t.allowed_capabilities),n=W(t.blocked_capabilities),i=jn(t.allowed_surfaces),o=jn(t.blocked_surfaces),a=t_(t.extension_overrides);return{mode:Zf(t.mode),trustMode:Qf(t.trust_mode),pmMaxVersionExceededMode:e_(t.pm_max_version_exceeded_mode),requireProvenance:t.require_provenance===!0,trustedExtensions:W(t.trusted_extensions),defaultSandboxProfile:Li(t.default_sandbox_profile),allowedExtensions:W(t.allowed_extensions),blockedExtensions:W(t.blocked_extensions),allowedCapabilities:r,blockedCapabilities:n,allowedSurfaces:i,blockedSurfaces:o,allowedCommands:W(t.allowed_commands),blockedCommands:W(t.blocked_commands),allowedActions:W(t.allowed_actions),blockedActions:W(t.blocked_actions),allowedServices:W(t.allowed_services),blockedServices:W(t.blocked_services),overridesByName:a,warnings:HA({allowedCapabilities:r,blockedCapabilities:n,allowedSurfaces:i,blockedSurfaces:o,overridesByName:a})}}function n_(e){let t=[...e.overridesByName.values()].sort((r,n)=>r.name.localeCompare(n.name)).map(r=>({name:r.name,...r.disabled?{disabled:!0}:{},...r.requireTrusted?{require_trusted:!0}:{},...r.requireProvenance?{require_provenance:!0}:{},...r.sandboxProfile?{sandbox_profile:r.sandboxProfile}:{},...r.allowedCapabilities.size>0?{allowed_capabilities:Q(r.allowedCapabilities)}:{},...r.blockedCapabilities.size>0?{blocked_capabilities:Q(r.blockedCapabilities)}:{},...r.allowedSurfaces.size>0?{allowed_surfaces:Q(r.allowedSurfaces)}:{},...r.blockedSurfaces.size>0?{blocked_surfaces:Q(r.blockedSurfaces)}:{},...r.allowedCommands.size>0?{allowed_commands:Q(r.allowedCommands)}:{},...r.blockedCommands.size>0?{blocked_commands:Q(r.blockedCommands)}:{},...r.allowedActions.size>0?{allowed_actions:Q(r.allowedActions)}:{},...r.blockedActions.size>0?{blocked_actions:Q(r.blockedActions)}:{},...r.allowedServices.size>0?{allowed_services:Q(r.allowedServices)}:{},...r.blockedServices.size>0?{blocked_services:Q(r.blockedServices)}:{}}));return{mode:e.mode,trust_mode:e.trustMode,pm_max_version_exceeded_mode:UA(e.pmMaxVersionExceededMode),require_provenance:e.requireProvenance,trusted_extensions:Q(e.trustedExtensions),default_sandbox_profile:e.defaultSandboxProfile,allowed_extensions:Q(e.allowedExtensions),blocked_extensions:Q(e.blockedExtensions),allowed_capabilities:Q(e.allowedCapabilities),blocked_capabilities:Q(e.blockedCapabilities),allowed_surfaces:Q(e.allowedSurfaces),blocked_surfaces:Q(e.blockedSurfaces),allowed_commands:Q(e.allowedCommands),blocked_commands:Q(e.blockedCommands),allowed_actions:Q(e.allowedActions),blocked_actions:Q(e.blockedActions),allowed_services:Q(e.allowedServices),blocked_services:Q(e.blockedServices),extension_overrides:t}}function i_(e){let t=t_(e.extension_overrides);return{mode:Zf(e.mode),trustMode:Qf(e.trust_mode),pmMaxVersionExceededMode:e_(e.pm_max_version_exceeded_mode),requireProvenance:e.require_provenance===!0,trustedExtensions:W(e.trusted_extensions),defaultSandboxProfile:Li(e.default_sandbox_profile),allowedExtensions:W(e.allowed_extensions),blockedExtensions:W(e.blocked_extensions),allowedCapabilities:W(e.allowed_capabilities),blockedCapabilities:W(e.blocked_capabilities),allowedSurfaces:jn(e.allowed_surfaces),blockedSurfaces:jn(e.blocked_surfaces),allowedCommands:W(e.allowed_commands),blockedCommands:W(e.blocked_commands),allowedActions:W(e.allowed_actions),blockedActions:W(e.blocked_actions),allowedServices:W(e.allowed_services),blockedServices:W(e.blocked_services),overridesByName:t,warnings:[]}}function Er(e,t){return e.overridesByName.get(ft(t))??null}function Un(e,t,r,n,i){return t.has(r)?i:e.size>0&&!e.has(r)?n:null}function o_(e,t,r){let n=r.trim().toLowerCase(),i=Er(e,t.name),o=i&&i.allowedCapabilities.size>0?i.allowedCapabilities:e.allowedCapabilities,a=new Set([...e.blockedCapabilities,...i?i.blockedCapabilities:[]]);return Un(o,a,n,"capability_not_allowlisted","capability_blocked")}function qA(e,t,r){let n=Er(e,t.name),i=n&&n.allowedSurfaces.size>0?n.allowedSurfaces:e.allowedSurfaces,o=new Set([...e.blockedSurfaces,...n?n.blockedSurfaces:[]]);return Un(i,o,r,"surface_not_allowlisted","surface_blocked")}function GA(e,t,r){let n=ge(r);if(n.length===0)return null;let i=Er(e,t.name),o=i&&i.allowedCommands.size>0?i.allowedCommands:e.allowedCommands,a=new Set([...e.blockedCommands,...i?i.blockedCommands:[]]);return Un(o,a,n,"command_not_allowlisted","command_blocked")}function BA(e,t,r){let n=ft(r).replace(/\s+/g,"-");if(n.length===0)return null;let i=Er(e,t.name),o=i&&i.allowedActions.size>0?i.allowedActions:e.allowedActions,a=new Set([...e.blockedActions,...i?i.blockedActions:[]]);return Un(o,a,n,"action_not_allowlisted","action_blocked")}function WA(e,t,r){let n=ft(r);if(n.length===0)return null;let i=Er(e,t.name),o=i&&i.allowedServices.size>0?i.allowedServices:e.allowedServices,a=new Set([...e.blockedServices,...i?i.blockedServices:[]]);return Un(o,a,n,"service_not_allowlisted","service_blocked")}function VA(e,t){let r=ft(t.name);return Er(e,t.name)?.disabled===!0?"extension_override_disabled":Un(e.allowedExtensions,e.blockedExtensions,r,"extension_not_allowlisted","extension_blocked")}function KA(e,t){if(e.trustMode==="off")return null;let r=Er(e,t.name),n=ft(t.name),i=t.trusted===!0,o=t.provenanceVerified===!0;return e.trustedExtensions.size>0&&!e.trustedExtensions.has(n)?"extension_not_trusted":(r?.requireTrusted===!0||e.trustMode==="warn"||e.trustMode==="enforce")&&!i?"extension_untrusted":(e.requireProvenance||r?.requireProvenance===!0)&&!o?"provenance_missing_or_unverified":null}function JA(e,t){if(e.mode==="off")return null;let r=Er(e,t.name)?.sandboxProfile??t.sandboxProfile??e.defaultSandboxProfile;if(r==="none")return null;let n=t.permissions;if(!n)return"sandbox_permissions_missing";let i=o=>n[o]===!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 Pa(e,t,r,n,i={}){let o=Object.entries(i).sort((s,c)=>s[0].localeCompare(c[0])).map(([s,c])=>`${s}=${c}`).join(":"),a=o.length>0?`:${o}`:"";return`extension_policy_${e}_${t}:${r.layer}:${r.name}:reason=${n}${a}`}function a_(e,t){if(e.mode==="off"&&e.trustMode==="off")return{allowed:!0,warning:null};let r=[],n=VA(e,t);n&&r.push({reason:n,scope:"extension",mode:e.mode});let i=KA(e,t);i&&r.push({reason:i,scope:"trust",mode:e.trustMode});let o=JA(e,t);o&&r.push({reason:o,scope:"extension",mode:e.mode});let a=r.find(c=>c.mode==="enforce");if(a)return{allowed:!1,warning:Pa("blocked",a.scope,t,a.reason)};let s=r.find(c=>c.mode==="warn");return s?{allowed:!0,warning:Pa("violation",s.scope,t,s.reason)}:{allowed:!0,warning:null}}function s_(e,t,r){if(e.mode==="off")return{allowed:!0,warning:null};let n=o_(e,t,r);return n?{allowed:e.mode==="warn",warning:Pa(e.mode==="warn"?"violation":"blocked","capability",t,n,{capability:r.trim().toLowerCase()})}:{allowed:!0,warning:null}}function YA(e,t,r,n,i){let o=typeof n=="string"?o_(e,t,n):null,a=qA(e,t,r),s=i.command?GA(e,t,i.command):null,c=i.action?BA(e,t,i.action):null,l=i.service?WA(e,t,i.service):null;return o??a??s??c??l}function XA(e,t,r,n){let i={method:ft(e).replace(/\s+/g,"_"),surface:t};return r&&(i.capability=r),n.command&&(i.command=ge(n.command)),n.action&&(i.action=ft(n.action).replace(/\s+/g,"-")),n.service&&(i.service=ft(n.service)),i}function c_(e,t,r,n,i,o){if(e.mode==="off")return{allowed:!0,warning:null};let a=o??{},s=YA(e,t,r,i,a);if(!s)return{allowed:!0,warning:null};let c=Pa(e.mode==="warn"?"violation":"blocked","registration",t,s,XA(n,r,i,a));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 La(){return{beforeCommand:[],beforeMutation:[],afterCommand:[],onWrite:[],onRead:[],onIndex:[]}}function bl(){return{overrides:[],handlers:[]}}function vl(){return{overrides:[]}}function kl(){return{overrides:[]}}function El(){return{overrides:[]}}function Sl(){return{overrides:[]}}function Ma(){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]="cd1de600-27e4-522b-842e-1993c12e9f0e")}catch{}})();var d_=100;function l_(e,t){let r=e[t];if(r!=null)return typeof r!="string"||r.trim().length===0?null:r.trim()}function ZA(e){if(e==null)return;let t=yr(e);if(!t)return null;let r={};for(let n of Object.keys(t).sort((i,o)=>i.localeCompare(o))){if(n.trim().length===0)return null;let i=t[n];if(typeof i!="string"||i.trim().length===0)return null;r[n.trim()]=i.trim()}return Object.keys(r).length>0?r:void 0}function Tl(e,t){let r=e[t];return typeof r!="string"||r.trim().length===0?null:r.trim()}function u_(e){if(e!=null)return typeof e!="number"||!Number.isInteger(e)?null:e}function Kr(e){if(e!=null)return typeof e!="boolean"?null:e}function QA(e){let t=u_(e.priority);return t===void 0?d_:t}function eI(e){let t=e.sandbox_profile;if(t==null)return;if(typeof t!="string")return null;let r=Li(t);return r!==t.trim().toLowerCase()?null:r}function Al(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}function tI(e){if(e==null)return;let t=yr(e);if(!t)return null;let r=Al(t.source),n=Al(t.signature),i=Al(t.attestation),o=t.verified===void 0||t.verified===null?void 0:typeof t.verified=="boolean"?t.verified:null;return o===null?null:{...r?{source:r}:{},...n?{signature:n}:{},...i?{attestation:i}:{},...typeof o=="boolean"?{verified:o}:{}}}function rI(e){if(e==null)return;let t=yr(e);if(!t)return null;let r=Kr(t.fs_read),n=Kr(t.fs_write),i=Kr(t.network),o=Kr(t.env_read),a=Kr(t.env_write),s=Kr(t.process_spawn);return[r,n,i,o,a,s].includes(null)?null:{...typeof r=="boolean"?{fs_read:r}:{},...typeof n=="boolean"?{fs_write:n}:{},...typeof i=="boolean"?{network:i}:{},...typeof o=="boolean"?{env_read:o}:{},...typeof a=="boolean"?{env_write:a}:{},...typeof s=="boolean"?{process_spawn:s}:{}}}function nI(e){if(e==null)return{capabilities:[],legacy_aliases:[]};if(!Array.isArray(e)||e.some(r=>typeof r!="string"))return null;let t=Jf(e);return{capabilities:t.capabilities,legacy_aliases:t.legacy_aliases}}function iI(e){if(e==null)return;let t=yr(e);if(!t)return null;let r=t.commands;if(r==null)return;if(!Array.isArray(r)||r.some(i=>typeof i!="string"))return null;let n=[...new Set(r.map(i=>ge(i)).filter(i=>i.length>0))].sort((i,o)=>i.localeCompare(o));return n.length>0?{commands:n}:void 0}function oI(e){let t=u_(e.manifest_version);if(t===null)return null;let r=l_(e,"pm_min_version");if(r===null)return null;let n=l_(e,"pm_max_version");if(n===null)return null;let i=ZA(e.engines);if(i===null)return null;let o=Kr(e.trusted);if(o===null)return null;let a=eI(e);if(a===null)return null;let s=tI(e.provenance);if(s===null)return null;let c=rI(e.permissions);if(c===null)return null;let l=nI(e.capabilities);if(l===null)return null;let d=iI(e.activation);if(d===null)return null;let u=Fn(e.contributions);return u===null?null:{manifest_version:t,pm_min_version:r,pm_max_version:n,engines:i,trusted:o,sandbox_profile:a,provenance:s,permissions:c,capabilities:l.capabilities,legacy_capability_aliases:l.legacy_aliases,activation:d,contributions:u}}function $a(e){if(typeof e!="object"||e===null)return null;let t=e,r=Tl(t,"name");if(r===null)return null;let n=Tl(t,"version");if(n===null)return null;let i=Tl(t,"entry");if(i===null)return null;let o=QA(t);if(o===null)return null;let a=oI(t);return a===null?null:{name:r,version:n,entry:i,priority:o,manifest_version:a.manifest_version,pm_min_version:a.pm_min_version,pm_max_version:a.pm_max_version,engines:a.engines,trusted:a.trusted,provenance:a.provenance,sandbox_profile:a.sandbox_profile,permissions:a.permissions,activation:a.activation,contributions:a.contributions,capabilities:a.capabilities,legacy_capability_aliases:a.legacy_capability_aliases.length>0?a.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]="67511565-01f8-58a6-ad06-45b5d0ce831b")}catch{}})();var aI=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 sI(e){return{unknownKeys:Object.keys(e).filter(t=>!aI.has(t)).sort((t,r)=>t>r?1:-1),missingVersionBounds:e.pm_min_version===void 0&&e.pm_max_version===void 0}}function Il(e){let t=sI(e),r=t.unknownKeys.map(n=>({code:"manifest_unknown_key",path:n,...n==="compatibility"?{suggested_key:"pm_min_version"}:{},message:n==="compatibility"?'Manifest key "compatibility" is ignored; declare the canonical pm_min_version and optional pm_max_version fields instead.':`Manifest key "${n}" is not part of the extension manifest contract and will be ignored.`}));return t.missingVersionBounds&&r.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:r.length===0,findings:r}}function m_(e,t,r){return Il(r).findings.map(n=>n.code==="manifest_unknown_key"?`extension_manifest_unknown_key:${e}:${t.name}:key=${n.path}${n.suggested_key?`:suggested=${n.suggested_key}`:""}`:`extension_manifest_no_version_bounds:${e}:${t.name}:suggested=pm_min_version`)}import{constants as Sr}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]="151124a3-cefa-55d3-bf4f-bd8f2553ad72")}catch{}})();var p_=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"}]]),cI=/^[a-z][a-z0-9_]{0,63}$/u,lI=new Map([[Sr.errno.EACCES,"EACCES"],[Sr.errno.EDQUOT,"EDQUOT"],[Sr.errno.EMFILE,"EMFILE"],[Sr.errno.ENFILE,"ENFILE"],[Sr.errno.ENOMEM,"ENOMEM"],[Sr.errno.ENOSPC,"ENOSPC"],[Sr.errno.EPERM,"EPERM"],[Sr.errno.EROFS,"EROFS"]].filter(([e])=>Number.isInteger(e))),dI={capacity:{code:"host_environment_capacity_fault"},permission:{code:"host_environment_permission_fault"},resource:{code:"host_environment_resource_fault"}};function uI(e){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.code=="string"&&p_.has(t.code)?t.code:typeof t.errno!="number"||!Number.isInteger(t.errno)?null:lI.get(Math.abs(t.errno))??null}function mI(e,t,r={}){let n=uI(e);if(n===null)return null;if(!cI.test(t))throw new g("Host environment operation labels must be bounded identifiers.",_.USAGE,{code:"host_environment_operation_invalid",field:"operation"});let i=p_.get(n);return new g(`Host filesystem operation ${t} ${i.summary}.`,_.GENERIC_FAILURE,{code:r.codes?.[i.category]??dI[i.category].code,reason:n,required:i.recovery,why:r.why??"The operating system refused a required project filesystem operation.",nextSteps:[i.recovery,...r.nextSteps??[]],...r.suggestedRetry?{recovery:{suggested_retry:r.suggestedRetry}}:{}})}async function Fa(e,t,r={}){try{return await t()}catch(n){throw mI(n,e,r)??n}}import pI from"node:fs/promises";import Mi 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]="029e0066-2ef5-5204-92ad-4866321710f4")}catch{}})();async function f_(e,t){let r=Mi.dirname(t.manifest_path),n=Mi.relative(r,t.entry_path);if(n.startsWith("..")||Mi.isAbsolute(n))throw new Error(`Cannot snapshot extension entry outside its package directory: ${t.entry_path}`);let i=Mi.join(e,`${t.layer}-${t.directory.replace(/[^a-zA-Z0-9._-]/gu,"_")}`);return await Fa("extension_module_graph_snapshot",()=>pI.cp(r,i,{recursive:!0,force:!0})),Mi.join(i,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]="bf5c3834-b388-507e-a13c-3beb5d096abb")}catch{}})();function __(e){let t=typeof e=="function"?e:e.run;if(typeof t!="function")throw new TypeError("registerPreflight override requires a function handler");let r=[...new Set((typeof e=="function"?[]:e.commands??[]).map(n=>{if(typeof n!="string"||n.trim().length===0)throw new TypeError("registerPreflight ownership.commands must contain non-empty command paths");return ge(n)}))];return{run:t,...r.length>0?{commands:r}:{}}}function g_(e){let t=[];for(let r=1;r<e.overrides.length;r+=1){let n=e.overrides[r];for(let i of e.overrides.slice(0,r))n.commands?.length&&i.commands?.length&&!i.commands.some(o=>n.commands.includes(o))||t.push(`extension_preflight_override_collision:${n.layer}:${n.name}:${i.layer}:${i.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]="c24357cc-5dad-5cd7-aa89-cddd2945aab7")}catch{}})();var Cl=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"}]),Ol=new Set(Cl.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]="0403fec1-f10a-5361-982b-c127c2617e95")}catch{}})();var fI=/^--[a-z0-9][a-z0-9_-]*(?:[ =](?:<[^<>]+>|\[[^[\]]+\]))?$/;function _I(e){if(typeof e!="string")return null;let t=e.trim(),r=t.split(/[ =]/,1)[0];return Ol.has(r)?"host_owned_flag_collision":fI.test(t)?null:"malformed_long_flag"}function h_(e,t){let r=[e,t].find(o=>typeof o=="string"&&Ol.has(o.trim().split(/[ =]/,1)[0]));if(typeof r=="string")return{token:r.trim().split(/[ =]/,1)[0],failure:"host_owned_flag_collision"};if(typeof e!="string")return null;let n=e.trim(),i=_I(n);return i===null?null:{token:n,failure:i}}function y_(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]="a2ab8801-f75b-5ba0-88a5-354d24c37c6f")}catch{}})();var gI=Object.freeze({string:"string",number:"number",int:"number",integer:"number",float:"number",boolean:"boolean",bool:"boolean"});function xl(e){return typeof e!="string"?null:gI[e.trim().toLowerCase()]??null}function Rl(e){let t=[],r=n=>{if(Array.isArray(n)){for(let i of n)r(i);return}if(typeof n=="string"){for(let i of n.split(",")){let o=i.trim();o.length>0&&t.push(o)}return}n!=null&&t.push(n)};return r(e),t}function w_(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]="47d10c23-88f8-5ba1-bcc2-458f339121a8")}catch{}})();var ja=fr;function Ua(e){let t=e.trim().toLowerCase();return ja.includes(t)?t:null}function b_(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let r=Math.max(1,Math.floor(t.length*.34));for(let n of ja)if(Nt(t,n,r)!==null)return n;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]="355fe619-e6f3-51d9-b88c-0b57267c25be")}catch{}})();function v_(e){return e==="toon"||e==="json"}function k_(e){return Sn.includes(e)}function Jr(e,t){if(typeof t!="function")throw new TypeError(`api.hooks.${e} requires a function handler`)}var E_=Symbol("extension_registration_trace");function Yt(e,t){let r=new TypeError(e);return Object.defineProperty(r,E_,{value:t,enumerable:!1,configurable:!1,writable:!1}),r}function S_(e){return e instanceof Error?e[E_]:void 0}function $i(e){if(e===null)return null;if(Array.isArray(e))return e.map(t=>$i(t));if(typeof e=="function")return"[Function]";if(typeof e=="bigint"||typeof e=="symbol")return e.toString();if(typeof e=="object"){let t=e,r={};for(let n of Object.keys(t).sort((i,o)=>i.localeCompare(o)))r[n]=$i(t[n]);return r}return e}function Fi(e){if(Array.isArray(e))return e.map(t=>Fi(t));if(typeof e=="object"&&e!==null){let t=e,r={};for(let n of Object.keys(t).sort((i,o)=>i.localeCompare(o)))r[n]=Fi(t[n]);return r}return e}function zn(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return $i(t)}function ji(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return Fi(t)}function Ui(e,t){if(!Array.isArray(t))throw new TypeError(`${e} requires an array of object definitions`);return t.map(r=>zn(e,r))}function Be(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function zi(e,t){if(typeof t!="function")throw new TypeError(`${e} requires a function handler`)}function Nl(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function Dl(e,t){return ge(`${e} ${t}`)}function Hi(e,t){return Object.defineProperty(e,"runtime_definition",{value:t,enumerable:!1,writable:!1,configurable:!1}),e}var hI=new Set(["low","medium","high"]),yI=new Set(["number","string_set"]),wI=new Set(["string","number","boolean"]);function T_(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function bI(e,t,r){let n=`registerAssuranceMeasurementProvider provider.keys.${t}`,i=Ae(n,r);if(!yI.has(String(i.value_type)))throw new TypeError(`${n}.value_type must be number or string_set`);if(pe(`${n}.description`,i.description),i.parameters===void 0)return;let o=Ae(`${n}.parameters`,i.parameters);for(let[a,s]of Object.entries(o)){let c=`${n}.parameters.${a}`;T_(`${c}.name`,a);let l=Ae(c,s);if(!wI.has(String(l.type)))throw new TypeError(`${c}.type must be string, number, or boolean`);Me(`${c}.required`,l.required),pe(`${c}.description`,l.description)}if(Object.keys(o).length>50)throw new TypeError(`assurance provider ${e} key ${t} exceeds 50 parameters`)}function A_(e){let t=Ae("registerAssuranceMeasurementProvider provider",e),r=T_("registerAssuranceMeasurementProvider provider.id",t.id);if(!/^[a-z0-9][a-z0-9-]*$/u.test(r))throw new TypeError("registerAssuranceMeasurementProvider provider.id must be a stable lowercase id");if(!hI.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 n=Ae("registerAssuranceMeasurementProvider provider.keys",t.keys);if(Object.keys(n).length===0)throw new TypeError("registerAssuranceMeasurementProvider provider.keys requires at least one key");for(let[i,o]of Object.entries(n)){if(!/^[a-z0-9][a-z0-9-]*$/u.test(i))throw new TypeError(`registerAssuranceMeasurementProvider provider key ${i} must be a stable lowercase id`);bI(r,i,o)}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]="bc1e888a-4274-5d8d-9077-89ca5341172c")}catch{}})();var vI=new Set(["default","description","enabled","list","long","repeatable","required","short","type","value_name","value_type","visible"]);function za(e,t){return Ui(e,t).map(r=>(r.repeatable===!0&&(r.list=!0),r))}function kI(e){return e.trim().toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function Pl(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 r=kI(t);if(r.length===0)throw new TypeError("registerCommand definition.action must contain alphanumeric characters");return r}function Ll(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[n,i]of e.entries()){let o=Ae(`registerCommand definition.arguments[${n}]`,i),a=Be(`registerCommand definition.arguments[${n}].name`,o.name);if(Me(`registerCommand definition.arguments[${n}].required`,o.required),Me(`registerCommand definition.arguments[${n}].variadic`,o.variadic),pe(`registerCommand definition.arguments[${n}].description`,o.description),a.includes(" "))throw new TypeError(`registerCommand definition.arguments[${n}].name must not contain spaces`);let s={name:a};o.required===!0&&(s.required=!0),o.variadic===!0&&(s.variadic=!0),typeof o.description=="string"&&(s.description=o.description.trim()),t.push(s)}let r=t.map((n,i)=>n.variadic?i:-1).filter(n=>n>=0);if(r.length>1)throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");if(r.length===1&&r[0]!==t.length-1)throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");return t}function Ha(e){if(!Array.isArray(e))throw new TypeError("registerFlags flags requires an array of object definitions");for(let[t,r]of e.entries()){let n=Ae(`registerFlags flags[${t}]`,r),i=Object.keys(n).filter(c=>!vI.has(c)).sort((c,l)=>c.localeCompare(l));if(i.length>0)throw new TypeError(`registerFlags flags[${t}] contains unknown field(s): ${i.join(", ")}`);let o=n.long,a=n.short;if(o===void 0&&a===void 0)throw new TypeError(`registerFlags flags[${t}] requires at least one of long or short`);pe(`registerFlags flags[${t}].long`,o),pe(`registerFlags flags[${t}].short`,a);let s=h_(o,a);if(s!==null)throw new TypeError(`registerFlags flags[${t}] ${y_(s.token,s.failure)}`);if(pe(`registerFlags flags[${t}].value_name`,n.value_name),pe(`registerFlags flags[${t}].description`,n.description),Me(`registerFlags flags[${t}].required`,n.required),Me(`registerFlags flags[${t}].enabled`,n.enabled),Me(`registerFlags flags[${t}].visible`,n.visible),Me(`registerFlags flags[${t}].list`,n.list),Me(`registerFlags flags[${t}].repeatable`,n.repeatable),n.list!==void 0&&n.repeatable!==void 0&&n.list!==n.repeatable)throw new TypeError(`registerFlags flags[${t}].list and repeatable must match when both are provided`);if(Hf(`registerFlags flags[${t}].default`,n.default),Array.isArray(n.default)&&n.list!==!0&&n.repeatable!==!0)throw new TypeError(`registerFlags flags[${t}].default cannot be an array unless list is true.`);I_(`registerFlags flags[${t}]`,n)}}function I_(e,t){let r=(typeof t.value_type=="string"?t.value_type:void 0)??(typeof t.type=="string"?t.type:void 0);if(r===void 0)return;let n=xl(r);if(n===null)throw new TypeError(`${e} value_type "${r}" is not a known flag value type (expected one of: string, number, boolean).`);if(t.default===void 0)return;let i=t.list===!0||t.repeatable===!0?Rl(t.default):[t.default];for(let[o,a]of i.entries())if(!w_(a,n)){let s=i.length>1?`default[${o}]`:"default";throw new TypeError(`${e}.${s} (${JSON.stringify(a)}) is not coercible to ${n}.`)}}function C_(e){if(!Array.isArray(e))throw new TypeError("registerItemFields fields requires an array of object definitions");for(let[t,r]of e.entries()){let n=Ae(`registerItemFields fields[${t}]`,r);Be(`registerItemFields fields[${t}].name`,n.name);let i=Be(`registerItemFields fields[${t}].type`,n.type);if(Ua(i)===null){let o=b_(i),a=o?` Did you mean "${o}"?`:"";throw new TypeError(`registerItemFields fields[${t}].type "${i}" is not a known field type (expected one of: ${ja.join(", ")}).${a}`)}Me(`registerItemFields fields[${t}].optional`,n.optional)}}function EI(e,t){if(t===void 0)return;let r=`registerItemTypes types[${e}].command_option_policies`;if(!Array.isArray(t))throw new TypeError(`${r} must be an array when provided`);for(let[n,i]of t.entries()){let o=`${r}[${n}]`,a=Ae(o,i);Be(`${o}.command`,a.command),Be(`${o}.option`,a.option),Me(`${o}.enabled`,a.enabled),Me(`${o}.required`,a.required),Me(`${o}.visible`,a.visible)}}function SI(e,t){if(t===void 0)return;let r=`registerItemTypes types[${e}].options`;if(!Array.isArray(t))throw new TypeError(`${r} must be an array when provided`);for(let[n,i]of t.entries()){let o=`${r}[${n}]`,a=Ae(o,i);Be(`${o}.key`,a.key),Wr(`${o}.values`,a.values),Me(`${o}.required`,a.required),Wr(`${o}.aliases`,a.aliases)}}function O_(e){if(!Array.isArray(e))throw new TypeError("registerItemTypes types requires an array of object definitions");for(let[t,r]of e.entries()){let n=`registerItemTypes types[${t}]`,i=Ae(n,r);Be(`${n}.name`,i.name),pe(`${n}.folder`,i.folder),Wr(`${n}.aliases`,i.aliases),Wr(`${n}.required_create_fields`,i.required_create_fields),Wr(`${n}.required_create_repeatables`,i.required_create_repeatables),EI(t,i.command_option_policies),SI(t,i.options)}}function x_(e){let t=Ae("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(Me("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 R_=["types","statuses","fields","workflows","config","templates","packages"],TI={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[r,n]of t.allowed_transitions.entries())if(!Array.isArray(n))throw new TypeError(`${e}.allowed_transitions[${r}] 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 N_(e){let t=Ae("registerProfile profile",e);if(Be("registerProfile profile.name",t.name),Be("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 r of R_){let n=t[r];if(n!==void 0){if(!Array.isArray(n))throw new TypeError(`registerProfile profile.${r} must be an array when provided`);for(let[i,o]of n.entries()){if(typeof o!="object"||o===null||Array.isArray(o))throw new TypeError(`registerProfile profile.${r}[${i}] must be an object`);TI[r]?.(`registerProfile profile.${r}[${i}]`,o)}}}}function D_(e){e.summary===void 0&&(e.summary="");for(let t of R_)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]="45ff820c-32af-5bdb-a570-3059684129ce")}catch{}})();function P_(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]="b5de5028-f981-599b-8d11-0fc7b07beda4")}catch{}})();function L_(e){return typeof e=="string"?e:String(e)}function qi(e){let t=e.trim().replace(/^>=\s*/,"").replace(/^v/i,"").split(/[+-]/,1)[0];return/^\d+(?:[.-]\d+)*$/.test(t)?t.split(/[.-]/).map(r=>Number(r)):null}function Ml(e,t){let r=qi(e),n=qi(t);if(!r||!n)return null;let i=Math.max(r.length,n.length);for(let o=0;o<i;o+=1){let a=r[o]??0,s=n[o]??0;if(a>s)return 1;if(a<s)return-1}return 0}function M_(e,t){if(e==null)return{kind:"pm_min_version",status:"absent",allowed:!0,required:"",current:t};let r=L_(e);if(typeof e!="string"||r.trim().length===0)return{kind:"pm_min_version",status:"invalid",allowed:!1,required:r,current:t};if(!qi(r))return{kind:"pm_min_version",status:"invalid",allowed:!1,required:r,current:t};if(t===null)return{kind:"pm_min_version",status:"unchecked",allowed:!0,required:r,current:null};let n=Ml(t,r);return n===null?{kind:"pm_min_version",status:"unchecked",allowed:!0,required:r,current:t}:n<0?{kind:"pm_min_version",status:"unmet",allowed:!1,required:r,current:t}:{kind:"pm_min_version",status:"ok",allowed:!0,required:r,current:t}}function $_(e,t,r){if(e==null)return{kind:"pm_max_version",status:"absent",allowed:!0,required:"",current:t};let n=L_(e);if(typeof e!="string"||n.trim().length===0)return{kind:"pm_max_version",status:"invalid",allowed:!1,required:n,current:t};if(/^[<>=~^]/.test(n.trim())||!qi(n))return{kind:"pm_max_version",status:"invalid",allowed:!1,required:n,current:t};if(t===null)return{kind:"pm_max_version",status:"unchecked",allowed:!0,required:n,current:null};let i=Ml(t,n);return i===null?{kind:"pm_max_version",status:"unchecked",allowed:!0,required:n,current:t}:i>0?r==="warn"?{kind:"pm_max_version",status:"exceeded_warn",allowed:!0,required:n,current:t}:{kind:"pm_max_version",status:"exceeded",allowed:!1,required:n,current:t}:{kind:"pm_max_version",status:"ok",allowed:!0,required:n,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]="1dcf5e56-cb0c-5e4c-b0e8-e4dbd06187dd")}catch{}})();var AI=5e3;async function F_(e,t,r){let n=[];for(let i of e)try{await i.run(pt(r))}catch{n.push(`extension_hook_failed:${i.layer}:${i.name}:${t}`)}return n}function II(e,t,r){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 n=e,i=typeof n.code=="string"?n.code.trim():"",o=typeof n.remediation=="string"?n.remediation.trim():"";if(i.length===0||o.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 a=typeof n.message=="string"?n.message.trim():"";throw new g(a||`Extension mutation guard ${t.name} denied ${r}.`,_.CONFLICT,{code:i,reason:`${t.layer}:${t.name}`,nextSteps:[o]})}async function $l(e,t){for(let r of e.beforeMutation??[]){let n,i;try{let o=Promise.resolve().then(()=>r.run({pm_root:t.pm_root,operation:t.operation,before:t.before===null?null:pt(t.before),after:t.after===null?null:pt(t.after),changed_fields:[...t.changed_fields],sdk:t.sdk}));o.catch(()=>{}),n=await Promise.race([o,new Promise((a,s)=>{i=setTimeout(()=>{s(new g(`Extension mutation guard ${r.name} timed out before ${t.operation}.`,_.CONFLICT,{code:"extension_mutation_guard_timed_out",reason:`${r.layer}:${r.name}`,nextSteps:["Fix or disable the stalled extension guard, then retry the mutation."]}))},AI),i.unref?.()})])}catch(o){throw o instanceof g?o:new g(`Extension mutation guard ${r.name} failed before ${t.operation}.`,_.CONFLICT,{code:"extension_mutation_guard_failed",reason:`${r.layer}:${r.name}`,nextSteps:["Fix or disable the failing extension guard, then retry the mutation."]})}finally{clearTimeout(i)}II(n,r,t.operation)}}async function Fl(e,t){return F_(e.onWrite,"onWrite",t)}async function jl(e,t){return F_(e.onRead,"onRead",t)}function CI(e){return{handled:!1,result:e.payload,warnings:[]}}function OI(e,t){return[...e.overrides].reverse().filter(r=>r.service===t)}function xI(e){return{service:e.service,command:e.command?ge(e.command):void 0,args:e.args?pt(e.args):void 0,options:e.options?Gf(e.options):void 0,global:e.global?Bf(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:pt(e.payload)}}function RI(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 NI(e,t){return RI(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 DI(e,t,r){return t.service==="output_format"&&typeof e=="object"&&e!==null&&Ne(e,r.payload)}function PI(e,t,r){if(t.handled){if(e.passThrough===!0){r.push(`extension_service_pass_through_contract_violated:${e.layer}:${e.name}:${e.service}`);return}return{handled:!0,result:t.result,warnings:r}}}async function Ul(e,t){let r=OI(e,t.service);if(r.length===0)return CI(t);let n=[];for(let i of r)try{let o=xI(t),a=await Promise.resolve(i.run(o));if(DI(a,t,o)){n.push(`extension_output_format_payload_echo_deprecated:${i.layer}:${i.name}`);continue}let s=PI(i,NI(a,t),n);if(s)return s}catch{n.push(`extension_service_override_failed:${i.layer}:${i.name}:${i.service}`)}return{handled:!1,result:t.payload,warnings: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]="79f32043-06a1-5929-ac52-bc4a003806fc")}catch{}})();var j_=null,BI=Object.freeze(ca()),U_=0;function W_(e=Date.now()){return U_+=1,`${U_}-${e}`}function WI(e,t,r){return r.has(e)?!1:t.size===0?!0:t.has(e)}async function V_(e,t){let[r,n]=await Promise.all([Xr.realpath(e),Xr.realpath(t)]);return Rt(r,n)}function qa(e,t=process.cwd()){return{global:Yr.join(kr(t),"extensions"),project:Yr.join(e,"extensions")}}async function VI(e){try{return(await Xr.readdir(e,{withFileTypes:!0})).filter(t=>t.isDirectory()).map(t=>t.name).sort((t,r)=>t.localeCompare(r))}catch{return[]}}function KI(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 z_(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}async function JI(e){let t=new Map;try{let r=JSON.parse(await Xr.readFile(Yr.join(e,".managed-extensions.json"),"utf8")),n=yr(r)?.entries;if(!Array.isArray(n))return t;for(let i of n){if(typeof i!="object"||i===null)continue;let o=i,a=z_(o.source?.package),s=[o.source?.input,o.source?.name,a].map(d=>z_(d)).filter(d=>d!==void 0),c=Fn(o.contributions),l={aliases:[...new Set(s)],...a?{package_name:a}:{},...c?{contributions:c}:{}};typeof o.directory=="string"&&o.directory.trim().length>0&&t.set(`directory:${o.directory.trim()}`,l),typeof o.name=="string"&&o.name.trim().length>0&&t.set(`name:${o.name.trim()}`,l)}}catch{return t}return t}function H_(e){return[...e].sort((t,r)=>{if(t.manifest.priority!==r.manifest.priority)return t.manifest.priority-r.manifest.priority;let n=t.manifest.name.localeCompare(r.manifest.name);return n!==0?n:t.directory.localeCompare(r.directory)})}function YI(e,t){let r=[...H_(e),...H_(t)],n=[];for(let i of r){let o=n.findIndex(a=>a.manifest.name===i.manifest.name);o>=0&&n.splice(o,1),n.push(i)}return n}async function q_(e,t,r,n,i){let o=[],a=[],s=[],c=await VI(t),l=await JI(t);for(let d of c){let u=await QI(e,t,d,r,n,l,i);o.push(u.diagnostic),a.push(...u.warnings),u.candidate&&s.push(u.candidate)}return{diagnostics:o,warnings:a,candidates:s}}function XI(){return{diagnostics:[],warnings:[],candidates:[]}}function G_(e,t,r,n){return{diagnostic:{layer:e,directory:t,manifest_path:r,name:null,version:null,entry:null,priority:null,entry_path:null,enabled:null,status:"warn"},warnings:[n],candidate:null}}function ZI(e,t,r,n,i,o,a){let s=m_(e,t,r);Array.isArray(t.legacy_capability_aliases)&&t.legacy_capability_aliases.length>0&&s.push(Xf(e,t.name,t.legacy_capability_aliases));for(let c of Kf(t.capabilities))s.push(Yf(e,t.name,c));return n?i||s.push(`extension_entry_missing:${e}:${t.name}`):s.push(`extension_entry_outside_extension:${e}:${t.name}`),o.warning&&s.push(o.warning),a.warning&&s.push(a.warning),s}async function QI(e,t,r,n,i,o,a){let s=Yr.join(t,r),c=Yr.join(s,"manifest.json");if(!await M(c))return G_(e,r,c,`extension_manifest_missing:${e}:${r}`);let l,d;try{let C=JSON.parse(await Xr.readFile(c,"utf8"));d=yr(C),l=$a(C)}catch{d=null,l=null}if(!l||!d)return G_(e,r,c,`extension_manifest_invalid:${e}:${r}`);let u=Yr.resolve(s,l.entry),m=Rt(s,u),p=m?await M(u):!1,f=m&&p?await V_(s,u):m,w=WI(l.name,n,i),h=await tC(e,l),b=await rC(e,l,a),v=ZI(e,l,d,f,p,h,b),I=f&&p&&h.allowed&&b.allowed,A=o.get(`directory:${r}`)??o.get(`name:${l.name}`);return{diagnostic:{layer:e,directory:r,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:Vf({layer:e,directory:r,manifestPath:c,entryPath:u,manifest:l,sourceIdentity:A,extensionReady:I,enabledForLoad:w})}}async function K_(e){let t=qa(e.pmRoot,e.cwd??process.cwd()),r=Pi(e.settings.extensions.enabled),n=Pi(e.settings.extensions.disabled),i=r_(e.settings),o=n_(i);if(e.noExtensions)return{disabled_by_flag:!0,roots:t,configured_enabled:r,configured_disabled:n,discovered:[],effective:[],warnings:[...i.warnings],policy:o};let a=new Set(r),s=new Set(n),c=e.ignoreGlobalExtensions===!0?XI():await q_("global",t.global,a,s,i.pmMaxVersionExceededMode.global),l=await q_("project",t.project,a,s,i.pmMaxVersionExceededMode.project),d=[...i.warnings],u=YI(c.candidates,l.candidates),m=[];for(let p of u){let f={layer:p.layer,name:p.manifest.name,trusted:p.manifest.trusted===!0,provenanceVerified:p.manifest.provenance?.verified===!0,sandboxProfile:p.manifest.sandbox_profile,permissions:p.manifest.permissions&&typeof p.manifest.permissions=="object"?{fs_read:p.manifest.permissions.fs_read,fs_write:p.manifest.permissions.fs_write,network:p.manifest.permissions.network,env_read:p.manifest.permissions.env_read,env_write:p.manifest.permissions.env_write,process_spawn:p.manifest.permissions.process_spawn}:void 0},w=a_(i,f);if(w.warning&&d.push(w.warning),!!w.allowed){for(let h of p.manifest.capabilities){let b=s_(i,f,h);b.warning&&d.push(b.warning)}m.push(KI(p))}}return{disabled_by_flag:!1,roots:t,configured_enabled:r,configured_disabled:n,discovered:[...c.diagnostics,...l.diagnostics],effective:m,warnings:[...new Set([...c.warnings,...l.warnings,...d])],policy:o}}function Hl(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}async function eC(){try{let e=it(import.meta.url,["../../.."]),t=await Xr.readFile(Yr.join(e,"package.json"),"utf8"),r=JSON.parse(t);return typeof r.version=="string"&&r.version.trim().length>0?r.version.trim():null}catch{return null}}function J_(){return j_??=eC(),j_}function Y_(e,t,r){let n=r.current??"unknown";if(r.kind==="pm_min_version")switch(r.status){case"invalid":return`extension_pm_min_version_invalid:${e}:${t.name}:required=${r.required}`;case"unchecked":return`extension_pm_min_version_unchecked:${e}:${t.name}:required=${r.required}:current=${n}`;case"unmet":return`extension_pm_min_version_unmet:${e}:${t.name}:required=${r.required}:current=${n}`;default:return}switch(r.status){case"invalid":return`extension_pm_max_version_invalid:${e}:${t.name}:allowed=${r.required}`;case"unchecked":return`extension_pm_max_version_unchecked:${e}:${t.name}:allowed=${r.required}:current=${n}`;case"exceeded_warn":return`extension_pm_max_version_exceeded_warn:${e}:${t.name}:allowed=${r.required}:current=${n}`;case"exceeded":return`extension_pm_max_version_exceeded:${e}:${t.name}:allowed=${r.required}:current=${n}`;default:return}}async function tC(e,t){if(t.pm_min_version===void 0)return{allowed:!0};let r=M_(t.pm_min_version,await J_()),n=Y_(e,t,r);return n?{allowed:r.allowed,warning:n}:{allowed:r.allowed}}async function rC(e,t,r){if(t.pm_max_version===void 0)return{allowed:!0};let n=$_(t.pm_max_version,await J_(),r),i=Y_(e,t,n);return i?{allowed:n.allowed,warning:i}:{allowed:n.allowed}}async function B_(e){try{let t=await Xr.stat(e);return`${Math.trunc(t.mtimeMs)}-${t.size}`}catch{return"missing"}}async function nC(e,t){let r=e.entry_path;t.module_graph_snapshot_root&&(r=await f_(t.module_graph_snapshot_root,e));let n=new URL(GI(r).href);if(!(t.cache_bust===!0||typeof t.reload_token=="string"))return n.href;let[i,o]=await Promise.all([B_(e.entry_path),B_(e.manifest_path)]),a=t.reload_token??W_();return n.searchParams.set("pm_ext_reload",a),n.searchParams.set("pm_ext_entry",i),n.searchParams.set("pm_ext_manifest",o),n.href}async function Gi(e){let t=await K_(e),r=[],n=[],i=[...t.warnings];if(t.disabled_by_flag)return{...t,warnings:i,loaded:r,failed:n};let o=typeof e.extensionFilter=="function"?t.effective.filter(e.extensionFilter):t.effective;for(let a of o)try{let s=await import(await nC(a,e));r.push({...a,module:s})}catch(s){i.push(`extension_load_failed:${a.layer}:${a.name}`),n.push({layer:a.layer,name:a.name,entry_path:a.entry_path,error:Hl(s)})}return{...t,warnings:i,loaded:r,failed:n}}function iC(e){let t={activate:e.activate.bind(e)};if(typeof e.deactivate=="function"){let r=e.deactivate;t.deactivate=r.bind(e)}return t}function oC(e){let t=yf(e);return t?iC(t):null}function aC(e){if(!Array.isArray(e.capabilities))return null;let t=new Set;for(let r of e.capabilities){let n=r.trim().toLowerCase();Vr(n)&&t.add(n)}return t}function ae(e,t,r){let n=aC(e);if(n!==null&&!n.has(t))throw Yt(`${r} requires capability '${t}' in extension manifest capabilities`,{method:r,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 ${r} registration call.`})}function sC(e){return Object.freeze({name:e.name,layer:e.layer,version:e.version,capabilities:Object.freeze((e.capabilities??[]).filter(t=>rt.includes(t))),pm_min_version:e.pm_min_version,pm_max_version:e.pm_max_version,source_package:e.source_package})}function cC(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 zl=class{extension;hooks;#e;#r;#n;#i;#a;#s;#c;#l;#t;#o;#d;#u;constructor(t,r,n,i,o,a,s,c,l,d,u){this.#e=t,this.extension=sC(t),this.#r=cC(t),this.#n=r,this.#i=n,this.#a=i,this.#s=o,this.#c=a,this.#l=s,this.#t=c,this.#o=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:m=>this.registerBeforeCommand(m),beforeMutation:m=>this.registerBeforeMutation(m),afterCommand:m=>this.registerAfterCommand(m),onWrite:m=>this.registerOnWrite(m),onRead:m=>this.registerOnRead(m),onIndex:m=>this.registerOnIndex(m)}}allowRegistration(t,r,n,i){let o=c_(this.#u,this.#r,t,r,n,i);return o.warning&&this.#o.push(o.warning),o.allowed}registerCommandTrace(t,r,n,i,o){return{method:"registerCommand",registration_index:t==="override"?this.#i.overrides.length:this.#i.handlers.length,command:r,expected_schema:n,received:$i(i),hint:o}}registerCommandOverride(t,r){let n=ge(t);if(n.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 r!="function"){let i=this.registerCommandTrace("override",n,'registerCommand("<command>", (context) => unknown)',r,"Provide a function as the second registerCommand argument.");throw Yt(`registerCommand requires an override function when command name is provided (command="${n}", registration_index=${i.registration_index})`,i)}this.allowRegistration("commands.override","registerCommand","commands",{command:n})&&this.#i.overrides.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}resolveCommandDefinitionRunHandler(t,r){let n=typeof t.run=="function"?t.run:void 0,i=typeof t.handler=="function"?t.handler:void 0;return!n&&i&&this.#o.push(`extension_command_definition_legacy_handler_alias:${this.#e.layer}:${this.#e.name}:${r}`),n??i}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 r=ge(t.name);if(r.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 n=this.resolveCommandDefinitionRunHandler(t,r);if(typeof n!="function"){let i=this.registerCommandTrace("definition",r,"{ name: string; run: (context) => unknown; }",n,"Define command definition.run as a function.");throw Yt(`registerCommand requires a command definition run handler (command="${r}", registration_index=${i.registration_index})`,i)}try{qf(t);let i=Pl(r,t.action);if(!this.allowRegistration("commands.handler","registerCommand","commands",{command:r,action:i}))return;let o=t.description?.trim(),a=t.intent?.trim(),s=Di("registerCommand definition.examples",t.examples),c=Di("registerCommand definition.failure_hints",t.failure_hints),l=Ll(t.arguments);t.flags!==void 0&&(ae(this.#e,"schema","registerCommand flags"),this.allowRegistration("schema.flags","registerCommand flags","schema")&&(Ha(t.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:r,flags:za("registerCommand definition.flags",t.flags)})));let d={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:r,action:i,examples:s,failure_hints:c,arguments:l,tier:t.tier??"standard",family:t.family??"extensions"};o&&(d.description=o),a&&(d.intent=a),this.#t.commands.push(d)}catch(i){let o=Hl(i),a=this.registerCommandTrace("definition",r,"{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }",t,o),s=Yt(`registerCommand definition metadata invalid (command="${r}", registration_index=${a.registration_index}): ${o}`,a);this.#o.push(`extension_command_quarantined:${this.#e.layer}:${this.#e.name}:${r}`),this.#d.push({layer:this.#e.layer,name:this.#e.name,entry_path:this.#e.entry_path,error:s.message,trace:a});return}this.#i.handlers.push({layer:this.#e.layer,name:this.#e.name,command:r,run:n})}registerCommand(t,r){if(ae(this.#e,"commands","registerCommand"),typeof t=="string"){this.registerCommandOverride(t,r);return}this.registerCommandDefinition(t)}registerParser(t,r){if(ae(this.#e,"parser","registerParser"),!this.allowRegistration("parser.override","registerParser","parser"))return;let n=ge(Be("registerParser command",t));zi("registerParser override",r),this.#a.overrides.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}registerPreflight(t){if(ae(this.#e,"preflight","registerPreflight"),!this.allowRegistration("preflight.override","registerPreflight","preflight"))return;let r=__(t);this.#s.overrides.push({layer:this.#e.layer,name:this.#e.name,...r})}registerService(t,r,n={}){ae(this.#e,"services","registerService");let i=String(t).trim().toLowerCase();if(!k_(i))throw new TypeError(`registerService service must be one of: ${Sn.join(", ")}`);this.allowRegistration("services.override","registerService","services",{service:i})&&(zi("registerService override",r),this.#c.overrides.push({layer:this.#e.layer,name:this.#e.name,service:i,run:r,...P_(n)?{passThrough:!0}:{}}))}registerRenderer(t,r,n={}){if(ae(this.#e,"renderers","registerRenderer"),!this.allowRegistration("renderers.override","registerRenderer","renderers"))return;if(typeof r!="function")throw new TypeError("registerRenderer requires a renderer function");let i=String(t).trim().toLowerCase();if(!v_(i))throw new Error(`registerRenderer format must be toon|json, received: ${String(t)}`);if(n.resultDiscriminator!==void 0&&typeof n.resultDiscriminator!="function")throw new TypeError("registerRenderer ownership.resultDiscriminator must be a function when provided");let o=[...new Set((n.commands??[]).map(a=>{if(typeof a!="string"||a.trim().length===0)throw new TypeError("registerRenderer ownership.commands must contain non-empty command paths");return ge(a)}))];this.#l.overrides.push({layer:this.#e.layer,name:this.#e.name,format:i,run:r,commands:o,...n.resultDiscriminator?{resultDiscriminator:n.resultDiscriminator}:{}})}registerFlags(t,r){if(ae(this.#e,"schema","registerFlags"),!this.allowRegistration("schema.flags","registerFlags","schema"))return;let n=ge(Be("registerFlags targetCommand",t));Ha(r);let i=za("registerFlags flags",r);if(i.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:n,flags:i})}registerItemFields(t){if(ae(this.#e,"schema","registerItemFields"),!this.allowRegistration("schema.itemfields","registerItemFields","schema"))return;C_(t);let r=Ui("registerItemFields fields",t);if(r.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:r})}registerItemTypes(t){if(ae(this.#e,"schema","registerItemTypes"),!this.allowRegistration("schema.itemtypes","registerItemTypes","schema"))return;O_(t);let r=Ui("registerItemTypes types",t);if(r.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:r})}registerRelationshipKinds(t){if(ae(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 r=Gr();for(let i of this.#t.relationship_kinds)for(let o of i.definitions)r.register(o);let n=t.map(i=>(r.register(i),r.require(i.kind)));this.#t.relationship_kinds.push({layer:this.#e.layer,name:this.#e.name,definitions:n})}registerMigration(t){if(ae(this.#e,"schema","registerMigration"),!this.allowRegistration("schema.migrations","registerMigration","schema"))return;x_(t);let r=ji("registerMigration definition",t);this.#t.migrations.push(Hi({layer:this.#e.layer,name:this.#e.name,definition:zn("registerMigration definition",t)},r))}registerProfile(t){if(ae(this.#e,"schema","registerProfile"),!this.allowRegistration("schema.profiles","registerProfile","schema"))return;let r=Fi(t);N_(r),this.#t.profiles.push({layer:this.#e.layer,name:this.#e.name,profile:D_(r)})}registerImportExportCommandFlags(t,r,n){n.flags!==void 0&&(ae(this.#e,"schema",`${t} options.flags`),this.allowRegistration("schema.flags",`${t} options.flags`,"schema")&&(Ha(n.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:r,flags:za(`${t} options.flags`,n.flags)})))}applyImportExportCommandMetadata(t,r,n){if(n!==void 0&&(typeof n!="object"||n===null||Array.isArray(n)))throw new TypeError(`${t} options must be an object when provided`);let i=`${t==="registerImporter"?"Import":"Export"} items with the registered extension adapter.`,o=[{name:"file",required:!1,description:"Optional input or output file path."}],a={...n,description:n?.description??i,arguments:n?.arguments??o},s=Wf(t,a,n?.description!==void 0);pe(`${t} options.action`,a.action),pe(`${t} options.description`,a.description),pe(`${t} options.intent`,a.intent);let c=Pl(r,a.action),l=Di(`${t} options.examples`,a.examples),d=Di(`${t} options.failure_hints`,a.failure_hints),u=Ll(a.arguments);this.registerImportExportCommandFlags(t,r,a);let m={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:r,action:c,examples:l,failure_hints:d,arguments:u},p=a.description?.trim();p&&(m.description=p);let f=a.intent?.trim();return f&&(m.intent=f),this.#t.commands.push(m),s}registerImporter(t,r,n){if(ae(this.#e,"importers","registerImporter"),!this.allowRegistration("importers.importer","registerImporter","importers"))return;let i=Nl(Be("registerImporter name",t));zi("registerImporter importer",r);let o=Dl(i,"import");this.applyImportExportCommandMetadata("registerImporter",o,n),this.#t.importers.push({layer:this.#e.layer,name:this.#e.name,importer:i}),this.#i.handlers.push({layer:this.#e.layer,name:this.#e.name,command:o,run:async a=>r(_l(a,i,"import"))})}registerExporter(t,r,n){if(ae(this.#e,"importers","registerExporter"),!this.allowRegistration("importers.exporter","registerExporter","importers"))return;let i=Nl(Be("registerExporter name",t));zi("registerExporter exporter",r);let o=Dl(i,"export"),a=this.applyImportExportCommandMetadata("registerExporter",o,n);this.#t.exporters.push({layer:this.#e.layer,name:this.#e.name,exporter:i,...a===void 0?{}:{output:a}}),this.#i.handlers.push({layer:this.#e.layer,name:this.#e.name,command:o,run:async s=>{let c=await r(_l(s,i,"export"));return a?.receipt==="suppress"&&!sl(c)?Rf(c):c}})}registerSearchProvider(t){if(ae(this.#e,"search","registerSearchProvider"),!this.allowRegistration("search.provider","registerSearchProvider","search"))return;let r=ji("registerSearchProvider provider",t);this.#t.search_providers.push(Hi({layer:this.#e.layer,name:this.#e.name,definition:zn("registerSearchProvider provider",t)},r))}registerVectorStoreAdapter(t){if(ae(this.#e,"search","registerVectorStoreAdapter"),!this.allowRegistration("search.vectorstore","registerVectorStoreAdapter","search"))return;let r=ji("registerVectorStoreAdapter adapter",t);this.#t.vector_store_adapters.push(Hi({layer:this.#e.layer,name:this.#e.name,definition:zn("registerVectorStoreAdapter adapter",t)},r))}registerAssuranceMeasurementProvider(t){if(ae(this.#e,"services","registerAssuranceMeasurementProvider"),!this.allowRegistration("services.assuranceprovider","registerAssuranceMeasurementProvider","services"))return;if(A_(t),t.network&&this.#e.permissions?.network!==!0)throw new TypeError("registerAssuranceMeasurementProvider network provider requires permissions.network=true");let r=ji("registerAssuranceMeasurementProvider provider",t);this.#t.assurance_providers.push(Hi({layer:this.#e.layer,name:this.#e.name,network_permission:this.#e.permissions?.network===!0,definition:zn("registerAssuranceMeasurementProvider provider",t)},r))}registerBeforeCommand(t){ae(this.#e,"hooks","api.hooks.beforeCommand"),this.allowRegistration("hooks.beforecommand","api.hooks.beforeCommand","hooks")&&(Jr("beforeCommand",t),this.#n.beforeCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerBeforeMutation(t){ae(this.#e,"hooks","api.hooks.beforeMutation"),this.allowRegistration("hooks.beforemutation","api.hooks.beforeMutation","hooks")&&(Jr("beforeMutation",t),this.#n.beforeMutation.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerAfterCommand(t){ae(this.#e,"hooks","api.hooks.afterCommand"),this.allowRegistration("hooks.aftercommand","api.hooks.afterCommand","hooks")&&(Jr("afterCommand",t),this.#n.afterCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnWrite(t){ae(this.#e,"hooks","api.hooks.onWrite"),this.allowRegistration("hooks.onwrite","api.hooks.onWrite","hooks")&&(Jr("onWrite",t),this.#n.onWrite.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnRead(t){ae(this.#e,"hooks","api.hooks.onRead"),this.allowRegistration("hooks.onread","api.hooks.onRead","hooks")&&(Jr("onRead",t),this.#n.onRead.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnIndex(t){ae(this.#e,"hooks","api.hooks.onIndex"),this.allowRegistration("hooks.onindex","api.hooks.onIndex","hooks")&&(Jr("onIndex",t),this.#n.onIndex.push({layer:this.#e.layer,name:this.#e.name,run:t}))}};function lC(e,t,r,n,i,o,a,s,c,l,d){return new zl(e,t,r,n,i,o,a,s,c,l,d)}function dC(e){let t=e.commands.length,r=e.flags.reduce((a,s)=>a+s.flags.length,0),n=e.item_fields.reduce((a,s)=>a+s.fields.length,0),i=e.item_types.reduce((a,s)=>a+s.types.length,0),o=(e.relationship_kinds??[]).reduce((a,s)=>a+s.definitions.length,0);return{commands:t,flags:r,item_fields:n,item_types:i,...o>0?{relationship_kinds:o}:{},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 uC(e){let t=[],r=(o,a)=>{let s=new Map;for(let c of o){let l=s.get(c.command)??[];l.push(c),s.set(c.command,l)}for(let c of[...s.keys()].sort((l,d)=>l.localeCompare(d))){let l=s.get(c);if(l.length<=1)continue;let d=l[l.length-1];for(let u of l.slice(0,-1))t.push(`${a}:${c}:${d.layer}:${d.name}:${u.layer}:${u.name}`)}};r(e.handlers,"extension_command_handler_collision"),r(e.overrides,"extension_command_override_collision");let n=new Set(e.handlers.map(o=>o.command)),i=[...new Set(e.overrides.map(o=>o.command))].filter(o=>n.has(o));i.sort((o,a)=>o.localeCompare(a));for(let o of i){let a=e.handlers.filter(c=>c.command===o),s=e.overrides.filter(c=>c.command===o);for(let c of s)for(let l of a)t.push(`extension_command_override_handler_overlap:${o}:${c.layer}:${c.name}:${l.layer}:${l.name}`)}return t}function mC(e){let t=new Map;for(let n of e.overrides){let i=t.get(n.format)??[];i.push(n),t.set(n.format,i)}let r=[];for(let n of[...t.keys()].sort((i,o)=>i.localeCompare(o))){let i=t.get(n);if(i.length<=1)continue;let o=i[i.length-1];for(let a of i.slice(0,-1))o.commands?.length&&a.commands?.length&&!a.commands.some(s=>o.commands?.includes(s))||r.push(`extension_renderer_collision:${n}:${o.layer}:${o.name}:${a.layer}:${a.name}`)}return r}function pC(e){let t=[],r=new Map;for(let n of e.overrides){let i=r.get(n.command)??[];i.push(n),r.set(n.command,i)}for(let n of[...r.keys()].sort((i,o)=>i.localeCompare(o))){let i=r.get(n);if(i.length<=1)continue;let o=i[i.length-1];for(let a of i.slice(0,-1))t.push(`extension_parser_override_collision:${n}:${o.layer}:${o.name}:${a.layer}:${a.name}`)}return t}var fC=new Set(["output_format"]);function _C(e){let t=[],r=new Map;for(let n of e.overrides){let i=r.get(n.service)??[];i.push(n),r.set(n.service,i)}for(let n of[...r.keys()].sort((i,o)=>i.localeCompare(o))){let i=r.get(n);if(i.length<=1||fC.has(n))continue;let o=i[i.length-1];for(let a of i.slice(0,-1))t.push(`extension_service_override_collision:${n}:${o.layer}:${o.name}:${a.layer}:${a.name}`)}return t}async function Bi(e){let t=i_(e.policy??BI),r=La(),n=bl(),i=vl(),o=kl(),a=El(),s=Sl(),c=Ma(),l=[],d=[];for(let p of e.loaded){let f=oC(p.module);if(!f)continue;let w=l.length,h=zf({hooks:r,commands:n,parsers:i,preflight:o,services:a,renderers:s,registrations:c});try{await f.activate(lC(p,r,n,i,o,a,s,c,d,l,t)),l.length>w&&(h(),d.push(`extension_activation_rolled_back:${p.layer}:${p.name}`))}catch(b){h(),d.push(`extension_activate_failed:${p.layer}:${p.name}`);let v=S_(b);l.push({layer:p.layer,name:p.name,entry_path:p.entry_path,error:Hl(b),trace:v})}}let u=[...uC(n),...pC(i),...g_(o),..._C(a),...mC(s)],m=[...new Set([...d,...u])];return{hooks:r,commands:n,parsers:i,preflight:o,services:a,renderers:s,registrations:c,failed:l,warnings:m,hook_counts:{before_command:r.beforeCommand.length,before_mutation:r.beforeMutation.length,after_command:r.afterCommand.length,on_write:r.onWrite.length,on_read:r.onRead.length,on_index:r.onIndex.length},command_override_count:n.overrides.length,command_handler_count:n.handlers.length,parser_override_count:i.overrides.length,preflight_override_count:o.overrides.length,service_override_count:a.overrides.length,renderer_override_count:s.overrides.length,registration_counts:dC(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]="b1a38f8c-8f65-59e2-bddf-ed0606a0f0b5")}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]="4da25248-2914-5bc5-aa42-87f677ef4ea8")}catch{}})();function Ga(){let e=Promise.resolve(),t=0,r=[],n=()=>{if(t!==0)return;let i=r.splice(0);for(let o of i)o()};return{enqueue(i){t++;let o=e.then(()=>i());return e=o.then(()=>{},()=>{}).finally(()=>{t--,n()}),o},idle(){return t===0?Promise.resolve():new Promise(i=>r.push(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]="d8844150-afb4-5f2e-a005-4cfb8482660c")}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]="7c2e7a35-cbf9-5bb6-abfd-f1ae75c6afc2")}catch{}})();var Ba=null;var wC=null;var bC=null,vC=null;var kC=[],EC=new yC;function Tr(){return EC.getStore()}var SC=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function V(){let e=Tr();return e?e.registrations:bC}function ql(e){if(!e)return;let t=Tr();t?t.affectedItems.push(e):kC.push(e)}function Wa(e,t){if(!e||!e.id)return{};let r={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return r;let n=e;for(let i of t){if(typeof i!="string")continue;let o=i.startsWith("unset:")?i.slice(6):i;o==="id"||o==="type"||o==="status"||SC.has(o)||Object.hasOwn(n,o)&&n[o]!==void 0&&(r[o]=n[o])}return r}async function Ie(e){let t=Tr(),r=t?t.hooks:Ba;return r?Fl(r,e):[]}async function Gl(e){let t=Tr(),r=t?t.hooks:Ba;r&&await $l(r,e)}async function $e(e){let t=Tr(),r=t?t.hooks:Ba;return r?jl(r,e):[]}function Va(){let e=Tr();return((e?e.hooks:Ba)?.onRead?.length??0)>0}function TC(e,t){let r=Tr(),n=r?r.commandContext:vC;return{service:e,command:n?.command,args:n?[...n.args]:[],options:n?.options?{...n.options}:{},global:n?.global?{...n.global}:void 0,pm_root:n?.pm_root,source_workspace_root:n?.source_workspace_root,repo_root:n?.repo_root,pm_root_rel:n?.pm_root_rel,payload:t}}async function Dt(e,t){let r=Tr(),n=r?r.services:wC;return n?Ul(n,TC(e,t)):{handled:!1,result:t,warnings:[]}}import{AsyncLocalStorage as nd}from"node:async_hooks";import{createHash as QC}from"node:crypto";import Je from"node:fs";import yg from"node:os";import en from"node:path";import{AsyncLocalStorage as AC}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]="1fbb183b-c6d8-5834-b4cb-e4fb515572b9")}catch{}})();var IC=new AC,X_=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Ka(e,t){let r=typeof e=="string"?e.trim():"";return r.length>0?r.slice(0,t):void 0}function Wi(e,t){if(e===void 0)return;let r=typeof e=="object"&&e!==null?e:{},n=Ka(r.id,128),i=Ka(r.parent_id,128);if(n===void 0||!X_.test(n)||i!==void 0&&!X_.test(i)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let o=Ka(r.label,256);return{id:n,...o===void 0?{}:{label:o},...i===void 0?{}:{parent_id:i}}}function Bl(e){let t={};for(let[r,n]of Object.entries(e??{}).slice(0,32)){let i=r.trim().toLowerCase().slice(0,64),o=Ka(n,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(i)&&o!==void 0&&(t[i]=o)}return t}function CC(e,t,r){let n=IC.getStore(),i=Bl({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),o=Wi(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),a={...Bl(n?.provenance),...i,...Bl(e?.provenance)},s=Wi(e?.episode,!1)??Wi(r,!1)??o??Wi(n?.episode,!1);return Object.keys(a).length===0&&s===void 0?void 0:{...Object.keys(a).length===0?{}:{provenance:a},...s===void 0?{}:{episode:s}}}function Ja(e,t){return CC(e.session_context,t,e.client_info?.episode)??{}}import{existsSync as Zl,promises as iV,readFileSync as KC}from"node:fs";import Zt from"node:path";import{constants as OC}from"node:fs";import ot from"node:fs/promises";import Vi from"node:path";import{randomUUID as Wl}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]="dcf54e42-cfa8-5672-863c-b12451a7fa57")}catch{}})();function xC(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 r=t,n=r.id,i=r.pid,o=r.owner,a=r.token,s=r.created_at,c=r.ttl_seconds;return typeof n!="string"||typeof i!="number"||!Number.isFinite(i)||typeof o!="string"||a!==void 0&&(typeof a!="string"||a.trim().length===0)||typeof s!="string"||typeof c!="number"||!Number.isFinite(c)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:n,pid:i,owner:o,...typeof a=="string"?{token:a}:{},created_at:s,ttl_seconds:c},warnings:[]}}async function Ya(e,t=!0){try{let r=await ot.readFile(e,"utf8");return t&&await $e({path:e,scope:"project"}),xC(r)}catch(r){return $(r)?{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 RC(e,t,r=process.platform){if(Xt(e,"EEXIST"))return!0;if(!Xt(e,"EPERM")&&!Xt(e,"EACCES")&&!Xt(e,"EBUSY"))return!1;try{return await ot.lstat(t),!0}catch(n){if(r!=="win32"||!$(n)&&!Xt(n,"EPERM")&&!Xt(n,"EACCES")&&!Xt(n,"EBUSY"))return!1}try{return await ot.access(Vi.dirname(t),OC.W_OK),!0}catch{return!1}}async function ng(e,t){await Ie({path:e,scope:"project",op:t})}function NC(e,t,r,n=Wl()){return{id:e,pid:process.pid,owner:t,token:n,created_at:j(),ttl_seconds:r}}async function DC(e,t,r,n,i,o){o&&await ot.mkdir(Vi.dirname(e),{recursive:!0});let a=await Xl(e,t);if(a===null)throw await ot.access(Vi.dirname(e)),Object.assign(new Error("Lock initialization is contended"),{code:"EEXIST"});try{let s=await ot.open(e,"wx");try{try{await s.writeFile(`${JSON.stringify(NC(t,r,n,i),null,2)}
11
11
  `,"utf8")}finally{await s.close()}}catch(c){throw await Vl(e,"lock:release"),c}}finally{await a()}await ng(e,"lock:create")}async function Vl(e,t){try{return await ot.unlink(e),await ng(e,t),!0}catch{return!1}}async function PC(e,t,r,n){let i=Date.now(),o=og;for(;;){let a=await Xl(e,t);if(a!==null){try{let l=await Ya(e,!1);Z_(l.info,t,r,n)&&await Vl(e,"lock:release")}finally{await a()}return}let s=await Ya(e,!1);if(!Z_(s.info,t,r,n))return;let c=Date.now()-i;if(c>=Q_)return;await cg(Math.min(o,Q_-c)),o=Math.min(o*2,Kl)}}function Z_(e,t,r,n){return e?.id===t&&e.pid===process.pid&&e.owner===r&&e.token===n}function ig(e,t){let r=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(r)?Date.now()-r:Number.POSITIVE_INFINITY)>t*1e3}function LC(e){return e?.owner?` (owner ${e.owner})`:""}var og=25,Kl=200,MC=250,$C=3,FC=".stale-cleanup",ag="owner.json",sg=1e4,Q_=sg+Kl,jC=60*6e4;function eg(e){if(typeof e=="string"){let t=e.trim();if(!/^\d+$/.test(t))return;let r=Number(t);return Number.isSafeInteger(r)?r:void 0}if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e)}function UC(e){let t=process.env.PM_LOCK_WAIT_MS,r=eg(t);if(r!==void 0)return r;let n=eg(e);return n!==void 0?n:0}function cg(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(r=>setTimeout(r,t))}function lg(e,t,r){let n=r>0?` after waiting ${r}ms`:"";return new g(`Item ${e} is locked${LC(t)}${n}`,_.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:MC}})}function zC(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 HC(e,t,r,n){if(!r&&n){let i=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new g(`Item ${e} lock is stale${i}; rerun with --force when supported for this command`,_.CONFLICT)}}function qC(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let r=t,n=r.pid,i=r.token,o=r.process_start_identity;return typeof n!="number"||!Number.isInteger(n)||n<=0||typeof i!="string"||i.length===0||o!==void 0&&(typeof o!="string"||!/^\d+$/u.test(o))?null:{pid:n,token:i,...typeof o=="string"?{process_start_identity:o}:{}}}async function dg(e){try{return qC(await ot.readFile(Vi.join(e,ag),"utf8"))}catch{return null}}function GC(e){if(!Number.isSafeInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return!Xt(t,"ESRCH")}}function BC(e){let t=e.lastIndexOf(")");if(t<0)return null;let r=e.slice(t+2).trim().split(/\s+/u)[19];return r!==void 0&&/^\d+$/u.test(r)?r:null}async function ug(e){try{return BC(await ot.readFile(`/proc/${e}/stat`,"utf8"))}catch{return null}}async function Jl(e=process.pid){let t=await ug(e);return{pid:e,...t===null?{}:{process_start_identity:t}}}async function mg(e,t,r){if(!GC(e.pid))return!1;let n=await ug(e.pid);return e.process_start_identity!==void 0&&n!==null?n===e.process_start_identity:t<=r}async function Yl(e){try{return await ot.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function tg(e,t){let r=await dg(e);r===null||r.token!==t||await Yl(e)}async function rg(e){try{await ot.mkdir(e)}catch(r){return Xt(r,"EEXIST"),null}let t={...await Jl(),token:Wl()};try{await ot.writeFile(Vi.join(e,ag),`${JSON.stringify(t)}
12
- `,"utf8")}catch{return await Yl(e),null}return t}async function WC(e){let t;try{let n=await ot.stat(e);if(t=Date.now()-n.mtimeMs,t<=sg)return!1}catch(n){return $(n)}let r=await dg(e);return r!==null&&await mg(r,t,jC)?!1:Yl(e)}async function Xl(e,t){let r=`${e}${FC}`,n=await rg(r);if(n!==null)return async()=>tg(r,n.token);if(!await WC(r))return null;let i=await rg(r);return i===null?null:async()=>tg(r,i.token)}async function VC(e){let t=await Xl(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let r=await Ya(e.lockPath);if(r.info===null&&r.warnings.length===0)return{lockInfo:r,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!ig(r.info,e.ttlSeconds))return{lockInfo:r,shouldRetryCreate:!1,staleRemovalCounted:!1};if(HC(e.id,r,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=$C)throw lg(e.id,r.info,Date.now()-e.startedAtMs);return{lockInfo:r,shouldRetryCreate:await Vl(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function ie(e,t,r,n,i=!1,o=!0,a,s={}){let c=await Nt("lock_acquire",{pm_root:e,id:t,ttl_seconds:r,owner:n,force:i,force_required_for_stale_lock:o});if(c.handled){let w=zC(c.result);if(w)return async()=>{await Promise.resolve(w()),await Nt("lock_release",{pm_root:e,id:t,owner:n})}}let l=Uf(e,t),d=UC(a),u=Date.now(),m=0,p=og,f=Wl();for(;;)try{return await DC(l,t,n,r,f,s.createParentDirectories!==!1),async()=>{await PC(l,t,n,f),await Nt("lock_release",{pm_root:e,id:t,owner:n})}}catch(w){if(!await RC(w,l))throw new g(`Failed to acquire lock for ${t}: ${oe(w)}`,_.GENERIC_FAILURE);let h=await Ya(l);if(ig(h.info,r)){let v=await VC({lockPath:l,id:t,ttlSeconds:r,force:i,forceRequiredForStaleLock:o,staleRemovals:m,waitBudgetMs:d,startedAtMs:u,fallbackLockInfo:h});if(h=v.lockInfo,v.staleRemovalCounted&&(m+=1),v.shouldRetryCreate)continue}let b=Date.now()-u;if(d===0||b>=d)throw lg(t,h.info,d===0?0:b);await cg(Math.min(p,d-b)),p=Math.min(p*2,Kl)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06c9f6f4-c2f0-549c-9a0f-4f4269cc5f49")}catch{}})();var JC="session.json";function Ql(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function YC(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,r=["implementer","planner","release-operator"].includes(String(t.role)),n=["high","medium"].includes(String(t.confidence)),i=Ql(t.topic,256),o=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),a=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Ql(c,128)),s=t.focused_item_id===void 0||Ql(t.focused_item_id,128);if([r,n,i,o,a,s,t.rule_version==="v2"].every(Boolean))return t}function XC(e){return Zt.join(Da(e),JC)}function ZC(e,t){let r=t.PM_PATH?.trim();if(r){let i=Zt.resolve(e,r);if(Zl(Zt.join(i,"settings.json")))return i;let o=Zt.join(i,".agents","pm");if(Zl(Zt.join(o,"settings.json")))return o}let n=Zt.resolve(e);for(let i=0;i<32;i+=1){let o=Zt.join(n,".agents","pm");if(Zl(Zt.join(o,"settings.json")))return o;let a=Zt.dirname(n);if(a===n)break;n=a}}function pg(e){if(!e.key)return;let t=ZC(e.cwd,e.env);if(t)try{let r=JSON.parse(KC(XC(t),"utf8"));return YC(r.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]="a69b86e2-6633-5abc-81b7-6a54a592d36c")}catch{}})();var id=["model","effort","role","topic","version"],Qa=new nd,eO=new nd,od=new nd,ad=[{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:[]}],wg=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),tO=Object.freeze({...wg,max_bytes:4194304}),ed=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function rO(e){let t=Ki(e).provenance_unavailable_dimensions,r=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([...r].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(n=>n?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?tO:wg,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(n=>[n,"Harness does not expose this dimension."])))})}var nO=Object.freeze(ad.filter(e=>e.harness!=="ci").map(rO).sort((e,t)=>e.harness.localeCompare(t.harness))),iO=new Map,oO=new Map;function le(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Zr(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ki(e){let t=e.harness.trim().toLowerCase();if(!ed.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Zr(e.environment_keys),model_environment_keys:Zr(e.model_environment_keys),session_environment_keys:Zr(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([r,n])=>[r.trim().toLowerCase().slice(0,64),Zr(n)]).filter(([r])=>ed.test(r))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([r,n])=>[r.trim().toLowerCase().slice(0,64),n]).filter(r=>typeof r[0]=="string"&&ed.test(r[0])&&(r[1]==="ai_agent_version"||r[1]==="claude_session_file"||r[1]==="codex_session_file"))),provenance_unavailable_dimensions:Zr(e.provenance_unavailable_dimensions).map(r=>r.toLowerCase()),argv_markers:Zr(e.argv_markers).map(r=>r.toLowerCase()),client_names:Zr(e.client_names).map(r=>r.toLowerCase())}}var aO=ad.map(Ki);function Za(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function bg(e=[]){let t=new Map(ad.filter(i=>i.harness!=="ci").map(i=>[i.harness,Ki(i)]));for(let{adapter:i}of iO.values())t.set(i.harness,Ki(i.descriptor));let r=[...t.values(),...aO.filter(i=>i.harness==="ci"),...[...oO.values()].map(i=>i.descriptor),...od.getStore()?.descriptors??[],...e.map(Ki)],n=new Set;for(let i of r){if(n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);n.add(i.harness)}return r}function sd(e,t){for(let r of t??[]){let n=le(e[r]);if(n)return n.slice(0,256)}}function sO(e,t){if(t==="role"){let r=e.slice(0,8).map(n=>n.trim().toLowerCase()).find(n=>["claim","create","update","close","release","review"].includes(n));if(r==="review")return"reviewer";if(r)return"implementer"}}function vg(e,t){let r=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],n=e.slice(0,8);for(let i=0;i<n.length;i+=1){let o=n[i].slice(0,512);if(r.includes(o))return le(n[i+1])?.slice(0,256);let a=r.find(s=>o.startsWith(`${s}=`));if(a)return le(o.slice(a.length+1))?.slice(0,256)}}var cO=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Qr(e,t){if(e!=="role"||t===void 0)return t;let r=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return cO.has(r)?r:void 0}function td(e,t){return le(e?.[t])?.slice(0,256)}var lO=1048576,fg=4194304,Xa=new Map,_g=Object.freeze({}),rd=new Map,gg=Object.freeze({});function hg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function dO(e){let t;try{t=JSON.parse(e)}catch{return gg}let r=hg(t);if(!r)return gg;let n=[{value:r,depth:0}],i=0,o,a;for(;n.length>0&&i<64;){let s=n.shift();if(i+=1,o??=le(s.value.model)?.slice(0,256),a??=le(s.value.version)?.slice(0,256),o&&a)break;if(!(s.depth>=4))for(let c of Object.values(s.value)){let l=hg(c);l&&n.push({value:l,depth:s.depth+1})}}return Object.freeze({model:o,version:a})}function kg(e){try{return Je.lstatSync(e).isFile()?"available":"missing"}catch(t){return qe(t)?"missing":"failed"}}function uO(e,t){let r;try{r=Je.readdirSync(e,{withFileTypes:!0}).filter(i=>i.isDirectory()).sort((i,o)=>i.name.localeCompare(o.name)).slice(0,512).map(i=>{let o=en.join(e,i.name,`${t}.jsonl`);return{candidate:o,status:kg(o)}})}catch(i){return{status:qe(i)?"missing":"failed"}}let n=r.filter(({status:i})=>i==="available").map(({candidate:i})=>i);return n.length===0?{status:r.some(({status:i})=>i==="failed")?"failed":"missing"}:n.length>1?{status:"ambiguous"}:{status:"available",path:n[0]}}function Eg(e,t){let r=le(t.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return{status:"unavailable"};let n=en.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=en.join(e.home_dir??yg.homedir(),".claude","projects"),o=en.join(i,n,`${r}.jsonl`),a=le(e.session_file),s=a&&en.basename(a)===`${r}.jsonl`?a:void 0;for(let c of[s,o]){if(!c)continue;let l=kg(c);if(l==="available")return{status:l,path:c};if(l==="failed")return{status:l}}return uO(i,r)}function mO(e,t,r){let n=Eg(t,r);if(n.status==="available")try{let i=Je.openSync(n.path,Je.constants.O_RDONLY|Je.constants.O_NOFOLLOW);try{let o=Je.fstatSync(i),a=`${n.path}\0${o.size}\0${o.mtimeMs}`,s=rd.get(a);if(s)return s[e];let c=Math.min(o.size,lO),l=Math.min(c,Math.ceil(c/2)),d=Math.min(c-l,o.size-l),u=Buffer.alloc(l);Je.readSync(i,u,0,l,0);let m=Buffer.alloc(d);d>0&&Je.readSync(i,m,0,d,o.size-d);let p={},f=o.size<=c?Buffer.concat([u,m]).toString("utf8").split(`
12
+ `,"utf8")}catch{return await Yl(e),null}return t}async function WC(e){let t;try{let n=await ot.stat(e);if(t=Date.now()-n.mtimeMs,t<=sg)return!1}catch(n){return $(n)}let r=await dg(e);return r!==null&&await mg(r,t,jC)?!1:Yl(e)}async function Xl(e,t){let r=`${e}${FC}`,n=await rg(r);if(n!==null)return async()=>tg(r,n.token);if(!await WC(r))return null;let i=await rg(r);return i===null?null:async()=>tg(r,i.token)}async function VC(e){let t=await Xl(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let r=await Ya(e.lockPath);if(r.info===null&&r.warnings.length===0)return{lockInfo:r,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!ig(r.info,e.ttlSeconds))return{lockInfo:r,shouldRetryCreate:!1,staleRemovalCounted:!1};if(HC(e.id,r,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=$C)throw lg(e.id,r.info,Date.now()-e.startedAtMs);return{lockInfo:r,shouldRetryCreate:await Vl(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function ie(e,t,r,n,i=!1,o=!0,a,s={}){let c=await Dt("lock_acquire",{pm_root:e,id:t,ttl_seconds:r,owner:n,force:i,force_required_for_stale_lock:o});if(c.handled){let w=zC(c.result);if(w)return async()=>{await Promise.resolve(w()),await Dt("lock_release",{pm_root:e,id:t,owner:n})}}let l=Uf(e,t),d=UC(a),u=Date.now(),m=0,p=og,f=Wl();for(;;)try{return await DC(l,t,n,r,f,s.createParentDirectories!==!1),async()=>{await PC(l,t,n,f),await Dt("lock_release",{pm_root:e,id:t,owner:n})}}catch(w){if(!await RC(w,l))throw new g(`Failed to acquire lock for ${t}: ${oe(w)}`,_.GENERIC_FAILURE);let h=await Ya(l);if(ig(h.info,r)){let v=await VC({lockPath:l,id:t,ttlSeconds:r,force:i,forceRequiredForStaleLock:o,staleRemovals:m,waitBudgetMs:d,startedAtMs:u,fallbackLockInfo:h});if(h=v.lockInfo,v.staleRemovalCounted&&(m+=1),v.shouldRetryCreate)continue}let b=Date.now()-u;if(d===0||b>=d)throw lg(t,h.info,d===0?0:b);await cg(Math.min(p,d-b)),p=Math.min(p*2,Kl)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06c9f6f4-c2f0-549c-9a0f-4f4269cc5f49")}catch{}})();var JC="session.json";function Ql(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function YC(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,r=["implementer","planner","release-operator"].includes(String(t.role)),n=["high","medium"].includes(String(t.confidence)),i=Ql(t.topic,256),o=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),a=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Ql(c,128)),s=t.focused_item_id===void 0||Ql(t.focused_item_id,128);if([r,n,i,o,a,s,t.rule_version==="v2"].every(Boolean))return t}function XC(e){return Zt.join(Da(e),JC)}function ZC(e,t){let r=t.PM_PATH?.trim();if(r){let i=Zt.resolve(e,r);if(Zl(Zt.join(i,"settings.json")))return i;let o=Zt.join(i,".agents","pm");if(Zl(Zt.join(o,"settings.json")))return o}let n=Zt.resolve(e);for(let i=0;i<32;i+=1){let o=Zt.join(n,".agents","pm");if(Zl(Zt.join(o,"settings.json")))return o;let a=Zt.dirname(n);if(a===n)break;n=a}}function pg(e){if(!e.key)return;let t=ZC(e.cwd,e.env);if(t)try{let r=JSON.parse(KC(XC(t),"utf8"));return YC(r.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]="a69b86e2-6633-5abc-81b7-6a54a592d36c")}catch{}})();var id=["model","effort","role","topic","version"],Qa=new nd,eO=new nd,od=new nd,ad=[{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:[]}],wg=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),tO=Object.freeze({...wg,max_bytes:4194304}),ed=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function rO(e){let t=Ki(e).provenance_unavailable_dimensions,r=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([...r].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(n=>n?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?tO:wg,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(n=>[n,"Harness does not expose this dimension."])))})}var nO=Object.freeze(ad.filter(e=>e.harness!=="ci").map(rO).sort((e,t)=>e.harness.localeCompare(t.harness))),iO=new Map,oO=new Map;function le(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Zr(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ki(e){let t=e.harness.trim().toLowerCase();if(!ed.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Zr(e.environment_keys),model_environment_keys:Zr(e.model_environment_keys),session_environment_keys:Zr(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([r,n])=>[r.trim().toLowerCase().slice(0,64),Zr(n)]).filter(([r])=>ed.test(r))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([r,n])=>[r.trim().toLowerCase().slice(0,64),n]).filter(r=>typeof r[0]=="string"&&ed.test(r[0])&&(r[1]==="ai_agent_version"||r[1]==="claude_session_file"||r[1]==="codex_session_file"))),provenance_unavailable_dimensions:Zr(e.provenance_unavailable_dimensions).map(r=>r.toLowerCase()),argv_markers:Zr(e.argv_markers).map(r=>r.toLowerCase()),client_names:Zr(e.client_names).map(r=>r.toLowerCase())}}var aO=ad.map(Ki);function Za(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function bg(e=[]){let t=new Map(ad.filter(i=>i.harness!=="ci").map(i=>[i.harness,Ki(i)]));for(let{adapter:i}of iO.values())t.set(i.harness,Ki(i.descriptor));let r=[...t.values(),...aO.filter(i=>i.harness==="ci"),...[...oO.values()].map(i=>i.descriptor),...od.getStore()?.descriptors??[],...e.map(Ki)],n=new Set;for(let i of r){if(n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);n.add(i.harness)}return r}function sd(e,t){for(let r of t??[]){let n=le(e[r]);if(n)return n.slice(0,256)}}function sO(e,t){if(t==="role"){let r=e.slice(0,8).map(n=>n.trim().toLowerCase()).find(n=>["claim","create","update","close","release","review"].includes(n));if(r==="review")return"reviewer";if(r)return"implementer"}}function vg(e,t){let r=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],n=e.slice(0,8);for(let i=0;i<n.length;i+=1){let o=n[i].slice(0,512);if(r.includes(o))return le(n[i+1])?.slice(0,256);let a=r.find(s=>o.startsWith(`${s}=`));if(a)return le(o.slice(a.length+1))?.slice(0,256)}}var cO=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Qr(e,t){if(e!=="role"||t===void 0)return t;let r=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return cO.has(r)?r:void 0}function td(e,t){return le(e?.[t])?.slice(0,256)}var lO=1048576,fg=4194304,Xa=new Map,_g=Object.freeze({}),rd=new Map,gg=Object.freeze({});function hg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function dO(e){let t;try{t=JSON.parse(e)}catch{return gg}let r=hg(t);if(!r)return gg;let n=[{value:r,depth:0}],i=0,o,a;for(;n.length>0&&i<64;){let s=n.shift();if(i+=1,o??=le(s.value.model)?.slice(0,256),a??=le(s.value.version)?.slice(0,256),o&&a)break;if(!(s.depth>=4))for(let c of Object.values(s.value)){let l=hg(c);l&&n.push({value:l,depth:s.depth+1})}}return Object.freeze({model:o,version:a})}function kg(e){try{return Je.lstatSync(e).isFile()?"available":"missing"}catch(t){return qe(t)?"missing":"failed"}}function uO(e,t){let r;try{r=Je.readdirSync(e,{withFileTypes:!0}).filter(i=>i.isDirectory()).sort((i,o)=>i.name.localeCompare(o.name)).slice(0,512).map(i=>{let o=en.join(e,i.name,`${t}.jsonl`);return{candidate:o,status:kg(o)}})}catch(i){return{status:qe(i)?"missing":"failed"}}let n=r.filter(({status:i})=>i==="available").map(({candidate:i})=>i);return n.length===0?{status:r.some(({status:i})=>i==="failed")?"failed":"missing"}:n.length>1?{status:"ambiguous"}:{status:"available",path:n[0]}}function Eg(e,t){let r=le(t.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return{status:"unavailable"};let n=en.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=en.join(e.home_dir??yg.homedir(),".claude","projects"),o=en.join(i,n,`${r}.jsonl`),a=le(e.session_file),s=a&&en.basename(a)===`${r}.jsonl`?a:void 0;for(let c of[s,o]){if(!c)continue;let l=kg(c);if(l==="available")return{status:l,path:c};if(l==="failed")return{status:l}}return uO(i,r)}function mO(e,t,r){let n=Eg(t,r);if(n.status==="available")try{let i=Je.openSync(n.path,Je.constants.O_RDONLY|Je.constants.O_NOFOLLOW);try{let o=Je.fstatSync(i),a=`${n.path}\0${o.size}\0${o.mtimeMs}`,s=rd.get(a);if(s)return s[e];let c=Math.min(o.size,lO),l=Math.min(c,Math.ceil(c/2)),d=Math.min(c-l,o.size-l),u=Buffer.alloc(l);Je.readSync(i,u,0,l,0);let m=Buffer.alloc(d);d>0&&Je.readSync(i,m,0,d,o.size-d);let p={},f=o.size<=c?Buffer.concat([u,m]).toString("utf8").split(`
13
13
  `):[...u.toString("utf8").split(`
14
14
  `).slice(0,4096),...m.toString("utf8").split(`
15
15
  `).slice(-4096)];for(let h of f){if(h.length===0||h.length>262144)continue;let b=dO(h);if(p.model??=b.model,p.version??=b.version,p.model&&p.version)break}let w=Object.freeze(p);return rd.clear(),rd.set(a,w),w[e]}finally{Je.closeSync(i)}}catch{return}}function pO(e,t){let r=0,n=(i,o)=>{if(o>4||r>=512)return;let a;try{a=Je.readdirSync(i,{withFileTypes:!0}).sort((s,c)=>c.name.localeCompare(s.name))}catch{return}for(let s of a){if(r+=1,r>512)return;let c=en.join(i,s.name);if(s.isFile()&&s.name.endsWith(`-${t}.jsonl`))return c;if(s.isDirectory()){let l=n(c,o+1);if(l)return l}}};return n(e,0)}function fO(e){if(e<=fg)return[{offset:0,length:e}];let t=Math.floor(fg/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function _O(e,t){if(t.length===0||t.length>262144)return;let r;try{r=JSON.parse(t)}catch{return}if(typeof r!="object"||r===null||Array.isArray(r))return;let n=r;if(n.type!=="turn_context")return;let i=typeof n.payload=="object"&&n.payload!==null?n.payload:void 0;e.model??=le(i?.model)?.slice(0,256),e.effort??=le(i?.effort)?.slice(0,256)}function gO(e,t){let r={},n=4096;for(let i of fO(t)){let o=Buffer.alloc(i.length);Je.readSync(e,o,0,i.length,i.offset);let a=o.toString("utf8").split(`
16
- `).reverse().slice(0,n);n-=a.length;for(let s of a)if(_O(r,s),r.model&&r.effort)break;if(r.model&&r.effort||n<=0)break}return r}function hO(e,t,r){let n=le(r.CODEX_THREAD_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return;let i=en.join(t.home_dir??yg.homedir(),".codex","sessions"),o=`${i}\0${n}`,a=Xa.get(o);if(a)return a[e];let s=pO(i,n);if(!s){Xa.set(o,_g);return}try{let c=Je.openSync(s,"r");try{let l=Je.fstatSync(c).size,d=gO(c,l);return Xa.set(o,d),d[e]}finally{Je.closeSync(c)}}catch{Xa.set(o,_g);return}}function yO(e,t,r,n){let i=od.getStore();if(!(t.probes_enabled!==!1&&i?.probesEnabled!==!1&&!["0","false","off"].includes(le(r.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let o=n?.provenance_resolvers[e];if(o==="claude_session_file")return mO(e,t,r);if(o==="codex_session_file")return hO(e,t,r);if(o==="ai_agent_version"){let a=le(r.AI_AGENT);return!a||!n||!Za(a,n.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function wO(e,t,r,n){if(e==="ai_agent_version"){let i=le(n.AI_AGENT);return i!==void 0&&Za(i,t.harness)?"available":"unavailable"}return e==="codex_session_file"?le(n.CODEX_THREAD_ID)!==void 0?"available":"unavailable":Eg(r,n).status}function cd(e){return e||(eO.getStore()??{env:process.env,argv:process.argv})}function bO(e,t,r,n){let i=e.environment_keys.some(s=>le(t[s])!==void 0),o=e.argv_markers.some(s=>r.some(c=>{let l=c.replaceAll("\\","/");return Za(l.slice(l.lastIndexOf("/")+1),s)})),a=e.client_names.some(s=>n===s||Za(n,s));return i||o||a}function vO(e,t){if(!t)return;let r;if(e==="topic"&&(r=t.topic),e==="role"&&(r=t.role),!!r)return{value:r,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function kO(e){let t=e.find(([r])=>r!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function EO(e,t,r,n,i,o){let a=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,s=new Set([...id,...Object.keys(n?.provenance_environment_keys??{})]),c,l,d;s.has(e)&&(c=Qr(e,le(r[a])?.slice(0,256)),d=Qr(e,vg(t.argv??[],e)),l=Qr(e,sO(t.argv??[],e)));let u={...n?.provenance_environment_keys,model:n?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},p=td(i?.provenance,e),f=Qr(e,sd(r,u[e])),w=Qr(e,td(m,e)),h=Qr(e,td(t.provenance,e)),b=yO(e,t,r,n);return kO([[c,"override"],[p,"session"],[d,"argv"],[f,"environment"],[w,"mcp_client"],[h,"host"],[b,"probe"]])??vO(e,o)??(l?{value:l,source:"argv"}:void 0)}function SO(e,t){if(!(!e||!t))return QC("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function TO(e,t,r,n,i){let o=Object.keys(r?.provenance_environment_keys??{}),a=new Set([...id,...o,...Object.keys(r?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(n?.provenance??{})]),s={};for(let c of a){let l=EO(c,e,t,r,n,i);l?s[c]=l:r&&(c!=="version"||r.provenance_unavailable_dimensions.includes(c))&&(s[c]=null)}return s}function ld(e){let t=cd(e),r=t.env??{},n=bg(t.descriptors),i=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(f=>f.slice(0,512)),o=t.client_info?.name.trim().toLowerCase()??"",a=n.find(f=>bO(f,r,i,o)),s=Ja(t,r),c=[sd(r,a?.session_environment_keys),le(t.client_info?.session)?.slice(0,256)].find(f=>f!==void 0),l=SO(a?.harness,c),d=pg({cwd:t.cwd??process.cwd(),env:r,key:l}),u=TO(t,r,a,s,d),m=u.model,p=[["harness",a?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",l],["provenance",Object.keys(u).length>0?u:void 0],["episode",s.episode]];return Object.fromEntries(p.filter(f=>f[1]!==void 0))}function AO(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function IO(e,t,r,n,i,o,a){let s=r?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...s?{resolver:s}:{},rule_version:"v1"};if(a)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(s){if(!o)return{status:"unavailable",reason:"probes_disabled",resolver:s,rule_version:"v1"};let c=wO(s,r,n,i);return{...AO(c),resolver:s,rule_version:"v1"}}return{status:r?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:r?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function dd(e){let t=cd(e),r=ld(t),n=bg(t.descriptors).find(l=>l.harness===r.harness),i=t.env??{},o=t.probes_enabled!==!1&&od.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(le(i.PM_AGENT_PROBES)?.toLowerCase()??""),a=Ja(t,i),s=[i.PM_AGENT_ROLE,a.provenance?.role,sd(i,n?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,vg(t.argv??[],"role")].some(l=>{let d=le(l)?.slice(0,256);return d!==void 0&&Qr("role",d)===void 0}),c=Object.fromEntries(id.map(l=>[l,IO(l,r,n,t,i,o,l==="role"&&s)]));return{...r,provenance_outcomes:c}}function CO(e,t,r){let n=cd(r),i=ld(n);if(e!==void 0){let a=le(e);return a?{author:a,source:"asserted",...i}:{author:"unknown",source:"unknown",...i}}if(n.env?.PM_AUTHOR!==void 0){let a=le(n.env.PM_AUTHOR);return a?{author:a,source:"asserted",...i}:{author:"unknown",source:"unknown",...i}}let o=le(t);return o?{author:o,source:"configured",...i}:i.harness?{author:`harness:${i.harness}`,source:"detected",...i}:{author:"unknown",source:"unknown",...i}}function Sg(e){let t=Qa.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Tg(e){let t=Qa.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 ud(e){let t=Qa.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Ce(e,t){let r=CO(e,t);return Qa.enterWith(r),r.author}import Dt from"node:fs/promises";import Qt from"node:path";import{randomUUID as LO}from"node:crypto";import{createRequire as MO}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]="cfedb84f-0525-5e02-af0a-d0e5691b5e0a")}catch{}})();async function md(e,t){let r=await K(e);if(r===null)return{raw:r,entries:[]};if(await $e({path:e,scope:"project"}),r.trim()==="")return{raw:r,entries:[]};let n=Le(r);if(n)throw new g(`History for ${t} contains merge conflict markers at line ${n.line} (${n.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 i=[];for(let[o,a]of r.split(/\r?\n/).entries()){let s=a.trim();if(s)try{i.push(JSON.parse(s))}catch{throw new g(`History for ${t} contains invalid JSON at line ${o+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:r,entries:i}}async function We(e,t){return(await md(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]="7d6d435b-b83a-53df-80c5-211437214161")}catch{}})();var OO=["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"],xO=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],RO=new Set(OO),NO=new Set(xO),DO=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 PO(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 tn(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:RO.has(e.op)?"maintenance":NO.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let r=PO(t);return r!==void 0&&DO.has(r)})?"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]="812b558d-59f3-58d6-b04e-6a4f8689e866")}catch{}})();function pd(e){let t=process.emitWarning;process.emitWarning=(r,...n)=>{r==="SQLite is an experimental feature and might change at any time"&&n[0]==="ExperimentalWarning"||Reflect.apply(t,process,[r,...n])};try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}finally{process.emitWarning=t}}function es(e,t){let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>=22?pd(t):null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59e8ff0e-d2af-5f7a-a64b-1b86e075acdc")}catch{}})();var $O="history-event-index.sqlite",FO="5";var jO="history-event-index",_d=300,Ag=3e4,UO="history-event-index-invalidation",zO="history-event-index-invalidations",jV=_d*2*1e3;function gd(e){return Qt.join(e,"runtime",$O)}function HO(e){return Qt.join(e,"runtime",zO)}async function qO(e,t){let r=await ie(e,UO,_d,`history-event-index-invalidation:${process.pid}`,!1,!1,Ag);try{return await t()}finally{await r()}}async function GO(e){let t=HO(e);await Dt.mkdir(t,{recursive:!0});let r=LO(),n=await Jl(),i=Qt.join(t,`${n.pid}-${n.process_start_identity??"unknown"}-${Date.now()}-${r}.pending`);return await Dt.writeFile(i,`pending
17
- `,{flag:"wx"}),{pendingPath:i,committedPath:Qt.join(t,`${r}.committed`)}}async function ts(e){try{await Dt.rm(gd(e),{force:!0})}catch{}}async function BO(e,t){let r=await ie(e,jO,_d,`history-event-index:${process.pid}`,!1,!1,Ag);try{return await t()}finally{await r()}}var fd;function WO(){return fd!==void 0||(fd=es(process.versions.node,MO(import.meta.url))),fd}function VO(e,t){let r={...t.entry,ts:new Date(t.entry.ts.trim()).toISOString()};e.prepare(`INSERT INTO events(
16
+ `).reverse().slice(0,n);n-=a.length;for(let s of a)if(_O(r,s),r.model&&r.effort)break;if(r.model&&r.effort||n<=0)break}return r}function hO(e,t,r){let n=le(r.CODEX_THREAD_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return;let i=en.join(t.home_dir??yg.homedir(),".codex","sessions"),o=`${i}\0${n}`,a=Xa.get(o);if(a)return a[e];let s=pO(i,n);if(!s){Xa.set(o,_g);return}try{let c=Je.openSync(s,"r");try{let l=Je.fstatSync(c).size,d=gO(c,l);return Xa.set(o,d),d[e]}finally{Je.closeSync(c)}}catch{Xa.set(o,_g);return}}function yO(e,t,r,n){let i=od.getStore();if(!(t.probes_enabled!==!1&&i?.probesEnabled!==!1&&!["0","false","off"].includes(le(r.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let o=n?.provenance_resolvers[e];if(o==="claude_session_file")return mO(e,t,r);if(o==="codex_session_file")return hO(e,t,r);if(o==="ai_agent_version"){let a=le(r.AI_AGENT);return!a||!n||!Za(a,n.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function wO(e,t,r,n){if(e==="ai_agent_version"){let i=le(n.AI_AGENT);return i!==void 0&&Za(i,t.harness)?"available":"unavailable"}return e==="codex_session_file"?le(n.CODEX_THREAD_ID)!==void 0?"available":"unavailable":Eg(r,n).status}function cd(e){return e||(eO.getStore()??{env:process.env,argv:process.argv})}function bO(e,t,r,n){let i=e.environment_keys.some(s=>le(t[s])!==void 0),o=e.argv_markers.some(s=>r.some(c=>{let l=c.replaceAll("\\","/");return Za(l.slice(l.lastIndexOf("/")+1),s)})),a=e.client_names.some(s=>n===s||Za(n,s));return i||o||a}function vO(e,t){if(!t)return;let r;if(e==="topic"&&(r=t.topic),e==="role"&&(r=t.role),!!r)return{value:r,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function kO(e){let t=e.find(([r])=>r!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function EO(e,t,r,n,i,o){let a=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,s=new Set([...id,...Object.keys(n?.provenance_environment_keys??{})]),c,l,d;s.has(e)&&(c=Qr(e,le(r[a])?.slice(0,256)),d=Qr(e,vg(t.argv??[],e)),l=Qr(e,sO(t.argv??[],e)));let u={...n?.provenance_environment_keys,model:n?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},p=td(i?.provenance,e),f=Qr(e,sd(r,u[e])),w=Qr(e,td(m,e)),h=Qr(e,td(t.provenance,e)),b=yO(e,t,r,n);return kO([[c,"override"],[p,"session"],[d,"argv"],[f,"environment"],[w,"mcp_client"],[h,"host"],[b,"probe"]])??vO(e,o)??(l?{value:l,source:"argv"}:void 0)}function SO(e,t){if(!(!e||!t))return QC("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function TO(e,t,r,n,i){let o=Object.keys(r?.provenance_environment_keys??{}),a=new Set([...id,...o,...Object.keys(r?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(n?.provenance??{})]),s={};for(let c of a){let l=EO(c,e,t,r,n,i);l?s[c]=l:r&&(c!=="version"||r.provenance_unavailable_dimensions.includes(c))&&(s[c]=null)}return s}function ld(e){let t=cd(e),r=t.env??{},n=bg(t.descriptors),i=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(f=>f.slice(0,512)),o=t.client_info?.name.trim().toLowerCase()??"",a=n.find(f=>bO(f,r,i,o)),s=Ja(t,r),c=[sd(r,a?.session_environment_keys),le(t.client_info?.session)?.slice(0,256)].find(f=>f!==void 0),l=SO(a?.harness,c),d=pg({cwd:t.cwd??process.cwd(),env:r,key:l}),u=TO(t,r,a,s,d),m=u.model,p=[["harness",a?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",l],["provenance",Object.keys(u).length>0?u:void 0],["episode",s.episode]];return Object.fromEntries(p.filter(f=>f[1]!==void 0))}function AO(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function IO(e,t,r,n,i,o,a){let s=r?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...s?{resolver:s}:{},rule_version:"v1"};if(a)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(s){if(!o)return{status:"unavailable",reason:"probes_disabled",resolver:s,rule_version:"v1"};let c=wO(s,r,n,i);return{...AO(c),resolver:s,rule_version:"v1"}}return{status:r?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:r?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function dd(e){let t=cd(e),r=ld(t),n=bg(t.descriptors).find(l=>l.harness===r.harness),i=t.env??{},o=t.probes_enabled!==!1&&od.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(le(i.PM_AGENT_PROBES)?.toLowerCase()??""),a=Ja(t,i),s=[i.PM_AGENT_ROLE,a.provenance?.role,sd(i,n?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,vg(t.argv??[],"role")].some(l=>{let d=le(l)?.slice(0,256);return d!==void 0&&Qr("role",d)===void 0}),c=Object.fromEntries(id.map(l=>[l,IO(l,r,n,t,i,o,l==="role"&&s)]));return{...r,provenance_outcomes:c}}function CO(e,t,r){let n=cd(r),i=ld(n);if(e!==void 0){let a=le(e);return a?{author:a,source:"asserted",...i}:{author:"unknown",source:"unknown",...i}}if(n.env?.PM_AUTHOR!==void 0){let a=le(n.env.PM_AUTHOR);return a?{author:a,source:"asserted",...i}:{author:"unknown",source:"unknown",...i}}let o=le(t);return o?{author:o,source:"configured",...i}:i.harness?{author:`harness:${i.harness}`,source:"detected",...i}:{author:"unknown",source:"unknown",...i}}function Sg(e){let t=Qa.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Tg(e){let t=Qa.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 ud(e){let t=Qa.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Ce(e,t){let r=CO(e,t);return Qa.enterWith(r),r.author}import Pt from"node:fs/promises";import Qt from"node:path";import{randomUUID as LO}from"node:crypto";import{createRequire as MO}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]="cfedb84f-0525-5e02-af0a-d0e5691b5e0a")}catch{}})();async function md(e,t){let r=await K(e);if(r===null)return{raw:r,entries:[]};if(await $e({path:e,scope:"project"}),r.trim()==="")return{raw:r,entries:[]};let n=Le(r);if(n)throw new g(`History for ${t} contains merge conflict markers at line ${n.line} (${n.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 i=[];for(let[o,a]of r.split(/\r?\n/).entries()){let s=a.trim();if(s)try{i.push(JSON.parse(s))}catch{throw new g(`History for ${t} contains invalid JSON at line ${o+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:r,entries:i}}async function We(e,t){return(await md(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]="3c2c29c0-0034-54d4-9dbd-2e9af047784e")}catch{}})();var OO=["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","tests_update","update_audit","update_ownership_bypass"],xO=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],RO=new Set(OO),NO=new Set(xO),DO=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 PO(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 tn(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:RO.has(e.op)?"maintenance":NO.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let r=PO(t);return r!==void 0&&DO.has(r)})?"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]="812b558d-59f3-58d6-b04e-6a4f8689e866")}catch{}})();function pd(e){let t=process.emitWarning;process.emitWarning=(r,...n)=>{r==="SQLite is an experimental feature and might change at any time"&&n[0]==="ExperimentalWarning"||Reflect.apply(t,process,[r,...n])};try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}finally{process.emitWarning=t}}function es(e,t){let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>=22?pd(t):null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59e8ff0e-d2af-5f7a-a64b-1b86e075acdc")}catch{}})();var $O="history-event-index.sqlite",FO="5";var jO="history-event-index",_d=300,Ag=3e4,UO="history-event-index-invalidation",zO="history-event-index-invalidations",UV=_d*2*1e3;function gd(e){return Qt.join(e,"runtime",$O)}function HO(e){return Qt.join(e,"runtime",zO)}async function qO(e,t){let r=await ie(e,UO,_d,`history-event-index-invalidation:${process.pid}`,!1,!1,Ag);try{return await t()}finally{await r()}}async function GO(e){let t=HO(e);await Pt.mkdir(t,{recursive:!0});let r=LO(),n=await Jl(),i=Qt.join(t,`${n.pid}-${n.process_start_identity??"unknown"}-${Date.now()}-${r}.pending`);return await Pt.writeFile(i,`pending
17
+ `,{flag:"wx"}),{pendingPath:i,committedPath:Qt.join(t,`${r}.committed`)}}async function ts(e){try{await Pt.rm(gd(e),{force:!0})}catch{}}async function BO(e,t){let r=await ie(e,jO,_d,`history-event-index:${process.pid}`,!1,!1,Ag);try{return await t()}finally{await r()}}var fd;function WO(){return fd!==void 0||(fd=es(process.versions.node,MO(import.meta.url))),fd}function VO(e,t){let r={...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,r.ts,r.author,r.agent_harness??null,r.agent_instance??null,r.op,tn(r),JSON.stringify(r))}function KO(e,t,r){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,r)}async function Ig(e,t,r){let n=Qt.dirname(Qt.dirname(e)),i=WO();if(!i){await r();return}let o=!1;try{await BO(n,async()=>{let a=gd(n);try{await Dt.access(a)}catch{await r();return}let s;try{if(s=new i(a),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==FO)throw new TypeError("Unsupported history event index version")}catch{s?.close(),await Dt.rm(a,{force:!0}),await r();return}try{s.exec("PRAGMA busy_timeout = 5000"),s.exec("BEGIN IMMEDIATE")}catch(l){throw s.close(),l}let c=!1;try{await r(),c=!0,o=!0;let l=Qt.basename(e,".jsonl"),d=s.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(l);VO(s,{stream_id:l,stream_offset:Number(d.value),entry:t}),KO(s,l,(await Dt.stat(e)).size),s.exec("COMMIT"),s.close()}catch(l){if(s?.close(),!c)throw l;await ts(n)}})}catch(a){if(o){await ts(n);return}if(!(a instanceof g)||a.code!=="lock_conflict")throw a;let s;try{await qO(n,async()=>{let c=await GO(n);s=c.pendingPath;try{await r(),o=!0}catch(l){throw await Dt.rm(c.pendingPath,{force:!0}),l}await Dt.rename(c.pendingPath,c.committedPath),await ts(n)})}catch(c){if(o){await ts(n);try{await Dt.rm(s,{force:!0})}catch{}return}throw c}}}async function hd(e){await Dt.rm(gd(Qt.dirname(Qt.dirname(e))),{force:!0})}import xd from"node:fs/promises";import Bn 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]="71a40065-6b91-54bb-ad90-4a4b018de3b4")}catch{}})();import{AsyncLocalStorage as Bx}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]="177144db-ac15-59ef-84ab-708b4dd544cc")}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]="86412887-5659-5892-beaa-bdd15a02ff4c")}catch{}})();var Cg=e=>{let t='"',r=0;for(let n of e){if(n==="\\"){r+=1;continue}t+="\\".repeat(n==='"'?r*2+1:r),t+=n,r=0}return`${t}${"\\".repeat(r*2)}"`},yd=(e,t=process.platform)=>(t==="win32"?/^[A-Za-z0-9._:/\\@=-]+$/:/^[A-Za-z0-9._:/@=-]+$/).test(e)?e:t==="win32"?Cg(e):`"${e.replace(/(["\\$`])/g,"\\$1")}"`,Pt=(e,t=process.platform)=>{let r=e.map(n=>yd(n,t)).join(" ");return r.length>0?`pm ${r}`:"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]="98cde1d6-d5dd-56b9-89f9-51f5d08221d1")}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]="3a66ccfd-51fb-5d4a-b9cd-257c49997d52")}catch{}})();function Og(e,t,r){if(e&&t)throw new g(`${r} 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]="ddd492ec-2482-5047-8d7f-8c40e18b60e3")}catch{}})();var wd={include:"--output-include",amount:"--output-limit",cost:"--output-budget",encoding:"--output-format"},bd=Object.freeze(["--output-session","--output-cursor","--output-row-contract"]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d60ea0a7-96d4-5a22-92bd-ac64eece5a51")}catch{}})();var JO=1,YO=4096;var r4=Object.freeze({version:JO,max_length:YO});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="451b262c-a9b6-5f1c-b397-2686a5fd953a")}catch{}})();var rs=[["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"})),xg=[...["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"})),Rg=[["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"})),ns=[...xg,...Rg,...["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,r])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:r}))],vd=[{alias:"history-attest",canonical:"history attest",canonical_argv:["history","attest"],lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-3z0k"},...rs,...ns,...["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 Ng(e){let t=e.trim().replace(/\s+/gu," ");return vd.find(r=>r.canonical===t.replace(/^ctx /u,"context "))?.alias??t}function er(e){return Ng(e)}var is=[...vd,...[["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,r])=>({alias:e,canonical:t,canonical_argv:[t,r],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"}))],kd=Object.fromEntries(is.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]="b6db58d1-5d89-56b2-adee-13e985ebc675")}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]="11fbc131-03e8-5cea-948b-8bda15b11292")}catch{}})();import{createHash as Dg}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]="f675993f-c483-5751-baed-d968b4fd24c0")}catch{}})();var qn=["policies","policy-put","policy-remove","policy-mode","policy-check","policy-approve","policy-presets"],Ed=256,Hn=64;function Ye(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 tr(e,t,r){if(typeof e!="object"||e===null||Array.isArray(e))return Ye(`${r} must be an object`);let n=e;return Object.keys(n).some(i=>!t.includes(i))?Ye(`${r} contains an unknown key`):n}function rn(e,t,r=128){return typeof e!="string"||!e.trim()||e.length>r?Ye(`${t} must be nonempty text of at most ${r} characters`):e.trim()}function Ji(e,t){if(!Array.isArray(e)||e.length===0||e.length>Hn)return Ye(`${t} requires 1-${Hn} terms`);let r=e.map(n=>rn(n,t));return t==="fields"&&r.some(n=>!/^[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$/.test(n)||n.split(".").some(i=>["__proto__","constructor","prototype"].includes(i)))?Ye("fields must be safe metadata paths of at most eight segments"):[...new Set(r)]}function QO(e){let t=tr(e,["kind","fields","authors","allowed"],"rule");return t.kind==="transition"?(tr(t,["kind","allowed"],"transition rule"),!Array.isArray(t.allowed)||t.allowed.length>Hn?Ye("transition.allowed must be a bounded array"):{kind:"transition",allowed:t.allowed.map(r=>!Array.isArray(r)||r.length!==2?Ye("transition pairs need two statuses"):[rn(r[0],"from"),rn(r[1],"to")])}):t.kind==="authors"?(tr(t,["kind","authors"],"authors rule"),{kind:"authors",authors:Ji(t.authors,"authors")}):t.kind==="require_fields"?(tr(t,["kind","fields"],"require_fields rule"),{kind:"require_fields",fields:Ji(t.fields,"fields")}):t.kind==="field_writers"||t.kind==="approval"?(tr(t,["kind","fields","authors"],"field rule"),{kind:t.kind,fields:Ji(t.fields,"fields"),authors:Ji(t.authors,"authors")}):Ye("unknown rule kind")}function ex(e){let t={},r=tr(e,["types","tags","statuses","operations","parents","dependency"],"subject");for(let n of["types","tags","statuses","operations","parents"])r[n]!==void 0&&(t[n]=Ji(r[n],n));if(r.dependency!==void 0){let n=tr(r.dependency,["kind","id"],"dependency");t.dependency={kind:rn(n.kind,"dependency kind"),...n.id===void 0?{}:{id:rn(n.id,"dependency id")}}}return t}function Pg(e){let t=tr(e,["id","description","subject","effect","rule"],"policy"),r=rn(t.id,"id");return/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(r)?t.effect!==void 0&&(typeof t.effect!="string"||!["advise","warn","refuse"].includes(t.effect))?Ye("effect must be advise, warn, or refuse"):{id:r,rule:QO(t.rule),...t.subject===void 0?{}:{subject:ex(t.subject)},...t.description===void 0?{}:{description:rn(t.description,"description",500)},...t.effect===void 0?{}:{effect:t.effect}}:Ye("id must be a stable token")}function as(e){let t=tr(e,["version","enforcement","policies"],"document");if(t.version!==1)return Ye("unsupported version");if(t.enforcement!==void 0&&t.enforcement!=="advise"&&t.enforcement!=="refuse")return Ye("enforcement must be advise or refuse");if(!Array.isArray(t.policies)||t.policies.length>Ed)return Ye(`policies must contain at most ${Ed} declarations`);let r=t.policies.map(Pg);return new Set(r.map(n=>n.id)).size!==r.length?Ye("duplicate policy id"):{version:1,enforcement:t.enforcement??"advise",policies:r}}function os(e,t){let r=e;for(let n of t.split(".")){if(typeof r!="object"||r===null||!Object.hasOwn(r,n))return;r=r[n]}return r}function tx(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 Sd(e){return Dg("sha256").update(x(e)).digest("hex")}function Lg(e,t){let r=e.rule.kind==="approval"?e.rule.fields:[];return Dg("sha256").update(x({id:t.id,fields:r.map(n=>[n,os(t,n)])})).digest("hex")}function rx(e,t){return Array.isArray(t)&&t.some(r=>typeof r=="object"&&r!==null&&"kind"in r&&r.kind===e.kind&&(e.id===void 0||"id"in r&&r.id===e.id))}function nx(e,t,r){return!(e.types&&!e.types.some(n=>n.toLowerCase()===String(t.type).toLowerCase())||e.statuses&&!e.statuses.includes(String(t.status))||e.operations&&!e.operations.includes(r)||e.parents&&!e.parents.includes(String(t.parent))||e.tags&&(!Array.isArray(t.tags)||!e.tags.some(n=>t.tags.includes(n)))||e.dependency&&!rx(e.dependency,t.dependencies))}function Td(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 r=e.subject??{},n=t.after?.status??t.before?.status;return[t.before,t.after].some(i=>i!==null&&nx(r,{...i,status:n},t.operation))}function ix(e,t,r,n){let i=["type","tags","parent","dependencies"].some(o=>!Ne(t.before?.[o],t.after?.[o]));return t.after&&(t.completeness_only||r||n||i)?e.filter(o=>!tx(os(t.after,o))):[]}function ox(e,t,r,n){let i=t.after??t.before,o=Lg(e,i);return t.approvals?.some(a=>a.policy_fingerprint===n&&a.content_fingerprint===o&&a.author!==t.author&&r.includes(a.author))??!1}function ax(e,t,r){let n=e.rule,i=t.before?.status!==t.after?.status,o="fields"in n&&n.fields.some(a=>!Ne(os(t.before,a),os(t.after,a)));switch(n.kind){case"require_fields":{let a=ix(n.fields,t,i,o);return{satisfied:a.length===0,missing_fields:a,remediation:"Supply the declared required fields before this lifecycle transition."}}case"transition":return{satisfied:!i||n.allowed.some(([a,s])=>a===String(t.before?.status??"$create")&&s===String(t.after?.status??"$delete")),missing_fields:[],remediation:"Choose a declared allowed transition; inspect pm schema policies."};case"authors":return{satisfied:n.authors.includes(t.author),missing_fields:[],remediation:"Have a declared workflow actor perform this operation."};case"field_writers":return{satisfied:!o||n.authors.includes(t.author),missing_fields:[],remediation:"Have a declared field writer change the protected fields."};case"approval":return{satisfied:!i||ox(e,t,n.authors,r),missing_fields:[],remediation:`Record an independent approval with pm schema policy-approve <item-id> --policy ${e.id} after preparing the reviewed fields.`}}}function Mg(e,t,r){let n=e.policies.filter(i=>Td(i,t)).map(i=>{let o=i.effect??"advise",a=r(i);return{policy_id:i.id,policy_fingerprint:a,rule:i.rule.kind,effect:o==="refuse"&&e.enforcement!=="refuse"?"warn":o,...ax(i,t,a)}});return{allowed:!n.some(i=>!i.satisfied&&i.effect==="refuse"),decisions:n,warnings:n.filter(i=>!i.satisfied).map(i=>`workflow_policy:${i.effect}:${i.policy_id}:${i.rule}`)}}function $g(e,t){return Mg(e,t,Sd)}function Fg(e){let t=as(e),r=new Map(t.policies.map(n=>[n,Sd(n)]));return n=>Mg(t,n,i=>r.get(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]="432226a6-9df4-5de6-b9af-5c06ec2eed66")}catch{}})();var sx=[...rt],cx=[...Sn],lx=[...ia],dx=[...oa],ux=[...aa],mx=[...sa],Gn=["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 jg=["init","install","uninstall","explore","manage","describe","reload","doctor","catalog","adopt","adopt-all","activate","deactivate"],Ug=["upgrade"],zg=["reopen"],Hg={help:"Commander help rendering has no SDK operation result.",packages:"The plural package alias only renders package-oriented help."},Ar=Object.freeze(Gn.flatMap(e=>e in Hg?[]:e==="extension"||e==="package"?[...jg.map(t=>`${e}-${t}`),...e==="package"?Ug.map(t=>`package-${t}`):[],e]:e==="item"?zg.map(t=>`item-${t}`):[e])),qg=Object.freeze(is.filter(e=>e.lifecycle==="deprecated"&&e.registration==="commander"&&Ar.includes(e.alias)).map(e=>e.alias)),px=Object.freeze(Ar.filter(e=>!qg.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]="d956e747-cbca-5e3c-925f-e1aeb2ebbfa7")}catch{}})();var Gg=["full","compact","brief","summary","counts"];var Bg=["error","warning","validation_summary","recovery_bundle"],Wg=["full","omit_explanation","limit_collections","compact_recovery","action_only"],fx=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"]),_x=new Set(["contracts","extension","help","install","package","packages","profile","upgrade"]),gx=new Set(["gc","health","merge","stats","telemetry","test","test-all","validate"]),hx={mutation:2e3,read:4e3,discovery:3e3,governance:6e3},yx=3,wx=2,bx=192,vx={error:{text:768,json:2e3},warning:{text:768,json:2e3},validation_summary:{text:1500,json:3e3},recovery_bundle:{text:768,json:2e3}},Vg=Bg.map(e=>({diagnostic_class:e,default_max_estimated_tokens_by_format:vx[e],minimum_max_estimated_tokens:bx,degradation_ladder:Wg,corrective_action_paths:["required","recovery.suggested_retry","recovery.suggested_retry_args","recovery.next_best_command","next_steps[0]"],token_estimate:"ceil(utf8_bytes / 4)"})),v4=new Map(Vg.map(e=>[e.diagnostic_class,e]));function Kg(e){let[t=""]=er(e).split(/\s+/u);return fx.has(t)?"mutation":_x.has(t)?"discovery":gx.has(t)?"governance":"read"}function Jg(e,t=Kg(e)){let r=e.trim().replace(/\s+/gu," ");if(r.length===0)throw new TypeError("command must be a non-empty command path");let n=hx[t];return Yg({command:r,budget_class:t,default_max_estimated_tokens:n,default_max_estimated_tokens_by_format:{toon:n,json:Math.ceil(n*yx/wx)},degradation_ladder:Gg,allows_unbounded_opt_out:!0,token_estimate:"ceil(utf8_bytes / 4)"})}function Yg(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,r]of Object.entries(e.default_max_estimated_tokens_by_format))if(!Number.isSafeInteger(r)||r<=0)throw new RangeError(`default_max_estimated_tokens_by_format.${t} must be a positive safe integer`);return e}var Xg=Gn.map(e=>Jg(e)),k4=new Map(Xg.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]="ddc50fa6-a983-5d61-bc06-673c9b4a483e")}catch{}})();var Ex=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"]),Sx=Object.freeze({health:Object.freeze({version:3,paths:Object.freeze(["checks"]),ignored_detail_field_names_by_row:Object.freeze({telemetry:Ex}),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]="f7d00f9c-6e95-5426-971d-9b30e2ec1652")}catch{}})();var Zg=256,ss=1e4,Cx=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/u,Ox=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;var L4=[{valid:e=>e.version===1,reason:"version must equal 1."},{valid:e=>typeof e.id=="string"&&Cx.test(e.id),reason:"id must be 1-64 portable identifier characters."},{valid:e=>Number.isSafeInteger(e.token_budget)&&e.token_budget>=Zg,reason:`token_budget must be a safe integer of at least ${Zg}.`},{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<=ss&&e.seen_item_ids.every(t=>typeof t=="string"&&Ox.test(t)),reason:`seen_item_ids must contain at most ${ss} 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]="1cc0fcb7-2aaa-5233-bdfd-4b4d0fb3e9c1")}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]="7d98b4ee-f8a8-5207-a914-4cf80da27241")}catch{}})();var Qg=["include","amount","cost","encoding"],eh=["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"],Mx=["canonical","legacy","intent","default"],Ad=wd,th=Object.freeze(Qg.map(e=>Ad[e])),rh=bd,nh={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:{}},ih=new Set(["--collapse","--fields","--section"]),Id=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 oh(e){return e.slice(2).replaceAll("-","_")}function $x(e,t){let r=Id[e];if(r!==void 0)return r;let n=t==="include"?ih.has(e)?"<csv>":oh(e):t==="amount"?"<n>":t==="cost"?"<tokens>":"<toon|json>";return`${e} is a compatibility alias; prefer ${Ad[t]} ${n}.`}function Fx(e){let t=nh[e],r=Object.freeze(Object.fromEntries(Qg.map(n=>[n,Object.freeze({dimension:n,canonical_option:Ad[n],applicable:!0,inapplicable_reason:null,legacy_aliases:Object.freeze((t[n]??[]).map(i=>Object.freeze({flag:i,semantics:Id[i]===void 0?"replacement":"behavior_preserving",migration_hint:$x(i,n),visibility:"hidden_alias"})))})])));return Object.freeze({command:e,dimensions:r,precedence:Mx,budget_retention_policy:e==="assurance"?"verdict_priority":"ordered_prefix",projection_modes:Object.freeze([...Ux(e).keys()])})}var jx=Object.freeze(eh.map(Fx)),m8=new Map(jx.map(e=>[e.command,e]));function Yi(e,t={}){let r=er(e.trim().toLowerCase()),n=r==="package catalog"||r==="packages catalog"||r==="package-catalog"||(r==="package"||r==="packages"||r==="extension")&&(t.catalog===!0||t.target==="catalog"||t.action==="catalog")?"package-catalog":r==="package manage"||r==="package-manage"?"package-manage":r.split(" ")[0],i=n.startsWith("list-")?"list":n==="ctx"?"context":n;return eh.includes(i)?i:void 0}function Ux(e){let t=Yi(e);return t?new Map((nh[t].include??[]).filter(r=>!ih.has(r)&&Id[r]===void 0).map(r=>[oh(r),zx(r)])):new Map}function zx(e){return e.slice(2).replace(/-([a-z])/gu,(t,r)=>r.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]="71b65888-baa5-5c5f-a02c-4a0fd818fadb")}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]="e76b38ce-b2aa-589b-9d17-0952eca9e7a2")}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]="e834062a-97f7-51d7-b934-1e4b43e3d6b2")}catch{}})();var P8=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"}]),L8=new Bx;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb1266f3-8375-586f-87c6-356cf7843969")}catch{}})();import{encode as o6}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]="8936e93f-25bf-58cc-ba91-37cc2677c5d2")}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]="391a4170-d29a-5c61-a0db-05181ebb0239")}catch{}})();var s6=new Set(Object.values(_));var ah=!1;function Cd(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Vx(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.SUCCESS)}function Kx(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.GENERIC_FAILURE)}function Od(e){if(e==="stdout"){Vx();return}Kx()}function sh(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Jx(){ah||(ah=!0,process.stdout.on("error",e=>{if(Cd(e)){Od("stdout");return}sh(e)}),process.stderr.on("error",e=>{if(Cd(e)){Od("stderr");return}sh(e)}))}function Yx(e,t){Jx();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(r){if(Cd(r))return Od(e),!1;throw r}}function cs(e){return Yx("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]="687cbe24-6d5c-5322-962d-455048eb84b5")}catch{}})();var Xx=Bn.join("runtime","history-drift-cache.json"),lh={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 dh(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Rd(e){let t=Bn.join(e,Xx),r=!1,n="invalid_cache_path";try{r=(await xd.stat(await xd.realpath(e))).isDirectory()}catch(i){let o=dh(i);n=o===void 0?"unknown":lh[o]??"filesystem_error"}if(!r){cs(`[pm] warning: history_drift_cache_invalidation_failed:${n}
21
+ ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size`).run(t,r)}async function Ig(e,t,r){let n=Qt.dirname(Qt.dirname(e)),i=WO();if(!i){await r();return}let o=!1;try{await BO(n,async()=>{let a=gd(n);try{await Pt.access(a)}catch{await r();return}let s;try{if(s=new i(a),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==FO)throw new TypeError("Unsupported history event index version")}catch{s?.close(),await Pt.rm(a,{force:!0}),await r();return}try{s.exec("PRAGMA busy_timeout = 5000"),s.exec("BEGIN IMMEDIATE")}catch(l){throw s.close(),l}let c=!1;try{await r(),c=!0,o=!0;let l=Qt.basename(e,".jsonl"),d=s.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(l);VO(s,{stream_id:l,stream_offset:Number(d.value),entry:t}),KO(s,l,(await Pt.stat(e)).size),s.exec("COMMIT"),s.close()}catch(l){if(s?.close(),!c)throw l;await ts(n)}})}catch(a){if(o){await ts(n);return}if(!(a instanceof g)||a.code!=="lock_conflict")throw a;let s;try{await qO(n,async()=>{let c=await GO(n);s=c.pendingPath;try{await r(),o=!0}catch(l){throw await Pt.rm(c.pendingPath,{force:!0}),l}await Pt.rename(c.pendingPath,c.committedPath),await ts(n)})}catch(c){if(o){await ts(n);try{await Pt.rm(s,{force:!0})}catch{}return}throw c}}}async function hd(e){await Pt.rm(gd(Qt.dirname(Qt.dirname(e))),{force:!0})}import xd from"node:fs/promises";import Bn 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]="71a40065-6b91-54bb-ad90-4a4b018de3b4")}catch{}})();import{AsyncLocalStorage as Bx}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]="177144db-ac15-59ef-84ab-708b4dd544cc")}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]="86412887-5659-5892-beaa-bdd15a02ff4c")}catch{}})();var Cg=e=>{let t='"',r=0;for(let n of e){if(n==="\\"){r+=1;continue}t+="\\".repeat(n==='"'?r*2+1:r),t+=n,r=0}return`${t}${"\\".repeat(r*2)}"`},yd=(e,t=process.platform)=>(t==="win32"?/^[A-Za-z0-9._:/\\@=-]+$/:/^[A-Za-z0-9._:/@=-]+$/).test(e)?e:t==="win32"?Cg(e):`"${e.replace(/(["\\$`])/g,"\\$1")}"`,wt=(e,t=process.platform)=>{let r=e.map(n=>yd(n,t)).join(" ");return r.length>0?`pm ${r}`:"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]="98cde1d6-d5dd-56b9-89f9-51f5d08221d1")}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]="3a66ccfd-51fb-5d4a-b9cd-257c49997d52")}catch{}})();function Og(e,t,r){if(e&&t)throw new g(`${r} 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]="ddd492ec-2482-5047-8d7f-8c40e18b60e3")}catch{}})();var wd={include:"--output-include",amount:"--output-limit",cost:"--output-budget",encoding:"--output-format"},bd=Object.freeze(["--output-session","--output-cursor","--output-row-contract"]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d60ea0a7-96d4-5a22-92bd-ac64eece5a51")}catch{}})();var JO=1,YO=4096;var n4=Object.freeze({version:JO,max_length:YO});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="451b262c-a9b6-5f1c-b397-2686a5fd953a")}catch{}})();var rs=[["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"})),xg=[...["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"})),Rg=[["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"})),ns=[...xg,...Rg,...["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,r])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:r}))],vd=[{alias:"history-attest",canonical:"history attest",canonical_argv:["history","attest"],lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-3z0k"},...rs,...ns,...["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 Ng(e){let t=e.trim().replace(/\s+/gu," ");return vd.find(r=>r.canonical===t.replace(/^ctx /u,"context "))?.alias??t}function er(e){return Ng(e)}var is=[...vd,...[["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,r])=>({alias:e,canonical:t,canonical_argv:[t,r],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"}))],kd=Object.fromEntries(is.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]="b6db58d1-5d89-56b2-adee-13e985ebc675")}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]="11fbc131-03e8-5cea-948b-8bda15b11292")}catch{}})();import{createHash as Dg}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]="f675993f-c483-5751-baed-d968b4fd24c0")}catch{}})();var qn=["policies","policy-put","policy-remove","policy-mode","policy-check","policy-approve","policy-presets"],Ed=256,Hn=64;function Ye(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 tr(e,t,r){if(typeof e!="object"||e===null||Array.isArray(e))return Ye(`${r} must be an object`);let n=e;return Object.keys(n).some(i=>!t.includes(i))?Ye(`${r} contains an unknown key`):n}function rn(e,t,r=128){return typeof e!="string"||!e.trim()||e.length>r?Ye(`${t} must be nonempty text of at most ${r} characters`):e.trim()}function Ji(e,t){if(!Array.isArray(e)||e.length===0||e.length>Hn)return Ye(`${t} requires 1-${Hn} terms`);let r=e.map(n=>rn(n,t));return t==="fields"&&r.some(n=>!/^[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$/.test(n)||n.split(".").some(i=>["__proto__","constructor","prototype"].includes(i)))?Ye("fields must be safe metadata paths of at most eight segments"):[...new Set(r)]}function QO(e){let t=tr(e,["kind","fields","authors","allowed"],"rule");return t.kind==="transition"?(tr(t,["kind","allowed"],"transition rule"),!Array.isArray(t.allowed)||t.allowed.length>Hn?Ye("transition.allowed must be a bounded array"):{kind:"transition",allowed:t.allowed.map(r=>!Array.isArray(r)||r.length!==2?Ye("transition pairs need two statuses"):[rn(r[0],"from"),rn(r[1],"to")])}):t.kind==="authors"?(tr(t,["kind","authors"],"authors rule"),{kind:"authors",authors:Ji(t.authors,"authors")}):t.kind==="require_fields"?(tr(t,["kind","fields"],"require_fields rule"),{kind:"require_fields",fields:Ji(t.fields,"fields")}):t.kind==="field_writers"||t.kind==="approval"?(tr(t,["kind","fields","authors"],"field rule"),{kind:t.kind,fields:Ji(t.fields,"fields"),authors:Ji(t.authors,"authors")}):Ye("unknown rule kind")}function ex(e){let t={},r=tr(e,["types","tags","statuses","operations","parents","dependency"],"subject");for(let n of["types","tags","statuses","operations","parents"])r[n]!==void 0&&(t[n]=Ji(r[n],n));if(r.dependency!==void 0){let n=tr(r.dependency,["kind","id"],"dependency");t.dependency={kind:rn(n.kind,"dependency kind"),...n.id===void 0?{}:{id:rn(n.id,"dependency id")}}}return t}function Pg(e){let t=tr(e,["id","description","subject","effect","rule"],"policy"),r=rn(t.id,"id");return/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(r)?t.effect!==void 0&&(typeof t.effect!="string"||!["advise","warn","refuse"].includes(t.effect))?Ye("effect must be advise, warn, or refuse"):{id:r,rule:QO(t.rule),...t.subject===void 0?{}:{subject:ex(t.subject)},...t.description===void 0?{}:{description:rn(t.description,"description",500)},...t.effect===void 0?{}:{effect:t.effect}}:Ye("id must be a stable token")}function as(e){let t=tr(e,["version","enforcement","policies"],"document");if(t.version!==1)return Ye("unsupported version");if(t.enforcement!==void 0&&t.enforcement!=="advise"&&t.enforcement!=="refuse")return Ye("enforcement must be advise or refuse");if(!Array.isArray(t.policies)||t.policies.length>Ed)return Ye(`policies must contain at most ${Ed} declarations`);let r=t.policies.map(Pg);return new Set(r.map(n=>n.id)).size!==r.length?Ye("duplicate policy id"):{version:1,enforcement:t.enforcement??"advise",policies:r}}function os(e,t){let r=e;for(let n of t.split(".")){if(typeof r!="object"||r===null||!Object.hasOwn(r,n))return;r=r[n]}return r}function tx(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 Sd(e){return Dg("sha256").update(x(e)).digest("hex")}function Lg(e,t){let r=e.rule.kind==="approval"?e.rule.fields:[];return Dg("sha256").update(x({id:t.id,fields:r.map(n=>[n,os(t,n)])})).digest("hex")}function rx(e,t){return Array.isArray(t)&&t.some(r=>typeof r=="object"&&r!==null&&"kind"in r&&r.kind===e.kind&&(e.id===void 0||"id"in r&&r.id===e.id))}function nx(e,t,r){return!(e.types&&!e.types.some(n=>n.toLowerCase()===String(t.type).toLowerCase())||e.statuses&&!e.statuses.includes(String(t.status))||e.operations&&!e.operations.includes(r)||e.parents&&!e.parents.includes(String(t.parent))||e.tags&&(!Array.isArray(t.tags)||!e.tags.some(n=>t.tags.includes(n)))||e.dependency&&!rx(e.dependency,t.dependencies))}function Td(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 r=e.subject??{},n=t.after?.status??t.before?.status;return[t.before,t.after].some(i=>i!==null&&nx(r,{...i,status:n},t.operation))}function ix(e,t,r,n){let i=["type","tags","parent","dependencies"].some(o=>!Ne(t.before?.[o],t.after?.[o]));return t.after&&(t.completeness_only||r||n||i)?e.filter(o=>!tx(os(t.after,o))):[]}function ox(e,t,r,n){let i=t.after??t.before,o=Lg(e,i);return t.approvals?.some(a=>a.policy_fingerprint===n&&a.content_fingerprint===o&&a.author!==t.author&&r.includes(a.author))??!1}function ax(e,t,r){let n=e.rule,i=t.before?.status!==t.after?.status,o="fields"in n&&n.fields.some(a=>!Ne(os(t.before,a),os(t.after,a)));switch(n.kind){case"require_fields":{let a=ix(n.fields,t,i,o);return{satisfied:a.length===0,missing_fields:a,remediation:"Supply the declared required fields before this lifecycle transition."}}case"transition":return{satisfied:!i||n.allowed.some(([a,s])=>a===String(t.before?.status??"$create")&&s===String(t.after?.status??"$delete")),missing_fields:[],remediation:"Choose a declared allowed transition; inspect pm schema policies."};case"authors":return{satisfied:n.authors.includes(t.author),missing_fields:[],remediation:"Have a declared workflow actor perform this operation."};case"field_writers":return{satisfied:!o||n.authors.includes(t.author),missing_fields:[],remediation:"Have a declared field writer change the protected fields."};case"approval":return{satisfied:!i||ox(e,t,n.authors,r),missing_fields:[],remediation:`Record an independent approval with pm schema policy-approve <item-id> --policy ${e.id} after preparing the reviewed fields.`}}}function Mg(e,t,r){let n=e.policies.filter(i=>Td(i,t)).map(i=>{let o=i.effect??"advise",a=r(i);return{policy_id:i.id,policy_fingerprint:a,rule:i.rule.kind,effect:o==="refuse"&&e.enforcement!=="refuse"?"warn":o,...ax(i,t,a)}});return{allowed:!n.some(i=>!i.satisfied&&i.effect==="refuse"),decisions:n,warnings:n.filter(i=>!i.satisfied).map(i=>`workflow_policy:${i.effect}:${i.policy_id}:${i.rule}`)}}function $g(e,t){return Mg(e,t,Sd)}function Fg(e){let t=as(e),r=new Map(t.policies.map(n=>[n,Sd(n)]));return n=>Mg(t,n,i=>r.get(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]="432226a6-9df4-5de6-b9af-5c06ec2eed66")}catch{}})();var sx=[...rt],cx=[...Sn],lx=[...ia],dx=[...oa],ux=[...aa],mx=[...sa],Gn=["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 jg=["init","install","uninstall","explore","manage","describe","reload","doctor","catalog","adopt","adopt-all","activate","deactivate"],Ug=["upgrade"],zg=["reopen"],Hg={help:"Commander help rendering has no SDK operation result.",packages:"The plural package alias only renders package-oriented help."},Ar=Object.freeze(Gn.flatMap(e=>e in Hg?[]:e==="extension"||e==="package"?[...jg.map(t=>`${e}-${t}`),...e==="package"?Ug.map(t=>`package-${t}`):[],e]:e==="item"?zg.map(t=>`item-${t}`):[e])),qg=Object.freeze(is.filter(e=>e.lifecycle==="deprecated"&&e.registration==="commander"&&Ar.includes(e.alias)).map(e=>e.alias)),px=Object.freeze(Ar.filter(e=>!qg.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]="d956e747-cbca-5e3c-925f-e1aeb2ebbfa7")}catch{}})();var Gg=["full","compact","brief","summary","counts"];var Bg=["error","warning","validation_summary","recovery_bundle"],Wg=["full","omit_explanation","limit_collections","compact_recovery","action_only"],fx=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"]),_x=new Set(["contracts","extension","help","install","package","packages","profile","upgrade"]),gx=new Set(["gc","health","merge","stats","telemetry","test","test-all","validate"]),hx={mutation:2e3,read:4e3,discovery:3e3,governance:6e3},yx=3,wx=2,bx=192,vx={error:{text:768,json:2e3},warning:{text:768,json:2e3},validation_summary:{text:1500,json:3e3},recovery_bundle:{text:768,json:2e3}},Vg=Bg.map(e=>({diagnostic_class:e,default_max_estimated_tokens_by_format:vx[e],minimum_max_estimated_tokens:bx,degradation_ladder:Wg,corrective_action_paths:["required","recovery.suggested_retry","recovery.suggested_retry_args","recovery.next_best_command","next_steps[0]"],token_estimate:"ceil(utf8_bytes / 4)"})),k4=new Map(Vg.map(e=>[e.diagnostic_class,e]));function Kg(e){let[t=""]=er(e).split(/\s+/u);return fx.has(t)?"mutation":_x.has(t)?"discovery":gx.has(t)?"governance":"read"}function Jg(e,t=Kg(e)){let r=e.trim().replace(/\s+/gu," ");if(r.length===0)throw new TypeError("command must be a non-empty command path");let n=hx[t];return Yg({command:r,budget_class:t,default_max_estimated_tokens:n,default_max_estimated_tokens_by_format:{toon:n,json:Math.ceil(n*yx/wx)},degradation_ladder:Gg,allows_unbounded_opt_out:!0,token_estimate:"ceil(utf8_bytes / 4)"})}function Yg(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,r]of Object.entries(e.default_max_estimated_tokens_by_format))if(!Number.isSafeInteger(r)||r<=0)throw new RangeError(`default_max_estimated_tokens_by_format.${t} must be a positive safe integer`);return e}var Xg=Gn.map(e=>Jg(e)),E4=new Map(Xg.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]="ddc50fa6-a983-5d61-bc06-673c9b4a483e")}catch{}})();var Ex=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"]),Sx=Object.freeze({health:Object.freeze({version:3,paths:Object.freeze(["checks"]),ignored_detail_field_names_by_row:Object.freeze({telemetry:Ex}),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]="f7d00f9c-6e95-5426-971d-9b30e2ec1652")}catch{}})();var Zg=256,ss=1e4,Cx=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/u,Ox=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;var M4=[{valid:e=>e.version===1,reason:"version must equal 1."},{valid:e=>typeof e.id=="string"&&Cx.test(e.id),reason:"id must be 1-64 portable identifier characters."},{valid:e=>Number.isSafeInteger(e.token_budget)&&e.token_budget>=Zg,reason:`token_budget must be a safe integer of at least ${Zg}.`},{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<=ss&&e.seen_item_ids.every(t=>typeof t=="string"&&Ox.test(t)),reason:`seen_item_ids must contain at most ${ss} 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]="1cc0fcb7-2aaa-5233-bdfd-4b4d0fb3e9c1")}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]="7d98b4ee-f8a8-5207-a914-4cf80da27241")}catch{}})();var Qg=["include","amount","cost","encoding"],eh=["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"],Mx=["canonical","legacy","intent","default"],Ad=wd,th=Object.freeze(Qg.map(e=>Ad[e])),rh=bd,nh={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:{}},ih=new Set(["--collapse","--fields","--section"]),Id=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 oh(e){return e.slice(2).replaceAll("-","_")}function $x(e,t){let r=Id[e];if(r!==void 0)return r;let n=t==="include"?ih.has(e)?"<csv>":oh(e):t==="amount"?"<n>":t==="cost"?"<tokens>":"<toon|json>";return`${e} is a compatibility alias; prefer ${Ad[t]} ${n}.`}function Fx(e){let t=nh[e],r=Object.freeze(Object.fromEntries(Qg.map(n=>[n,Object.freeze({dimension:n,canonical_option:Ad[n],applicable:!0,inapplicable_reason:null,legacy_aliases:Object.freeze((t[n]??[]).map(i=>Object.freeze({flag:i,semantics:Id[i]===void 0?"replacement":"behavior_preserving",migration_hint:$x(i,n),visibility:"hidden_alias"})))})])));return Object.freeze({command:e,dimensions:r,precedence:Mx,budget_retention_policy:e==="assurance"?"verdict_priority":"ordered_prefix",projection_modes:Object.freeze([...Ux(e).keys()])})}var jx=Object.freeze(eh.map(Fx)),p8=new Map(jx.map(e=>[e.command,e]));function Yi(e,t={}){let r=er(e.trim().toLowerCase()),n=r==="package catalog"||r==="packages catalog"||r==="package-catalog"||(r==="package"||r==="packages"||r==="extension")&&(t.catalog===!0||t.target==="catalog"||t.action==="catalog")?"package-catalog":r==="package manage"||r==="package-manage"?"package-manage":r.split(" ")[0],i=n.startsWith("list-")?"list":n==="ctx"?"context":n;return eh.includes(i)?i:void 0}function Ux(e){let t=Yi(e);return t?new Map((nh[t].include??[]).filter(r=>!ih.has(r)&&Id[r]===void 0).map(r=>[oh(r),zx(r)])):new Map}function zx(e){return e.slice(2).replace(/-([a-z])/gu,(t,r)=>r.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]="71b65888-baa5-5c5f-a02c-4a0fd818fadb")}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]="e76b38ce-b2aa-589b-9d17-0952eca9e7a2")}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]="e834062a-97f7-51d7-b934-1e4b43e3d6b2")}catch{}})();var L8=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"}]),M8=new Bx;(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb1266f3-8375-586f-87c6-356cf7843969")}catch{}})();import{encode as a6}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]="8936e93f-25bf-58cc-ba91-37cc2677c5d2")}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]="391a4170-d29a-5c61-a0db-05181ebb0239")}catch{}})();var c6=new Set(Object.values(_));var ah=!1;function Cd(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Vx(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.SUCCESS)}function Kx(){(process.exitCode===void 0||process.exitCode===_.SUCCESS)&&(process.exitCode=_.GENERIC_FAILURE)}function Od(e){if(e==="stdout"){Vx();return}Kx()}function sh(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Jx(){ah||(ah=!0,process.stdout.on("error",e=>{if(Cd(e)){Od("stdout");return}sh(e)}),process.stderr.on("error",e=>{if(Cd(e)){Od("stderr");return}sh(e)}))}function Yx(e,t){Jx();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(r){if(Cd(r))return Od(e),!1;throw r}}function cs(e){return Yx("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]="687cbe24-6d5c-5322-962d-455048eb84b5")}catch{}})();var Xx=Bn.join("runtime","history-drift-cache.json"),lh={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 dh(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Rd(e){let t=Bn.join(e,Xx),r=!1,n="invalid_cache_path";try{r=(await xd.stat(await xd.realpath(e))).isDirectory()}catch(i){let o=dh(i);n=o===void 0?"unknown":lh[o]??"filesystem_error"}if(!r){cs(`[pm] warning: history_drift_cache_invalidation_failed:${n}
22
22
  `);return}try{await xd.rm(t,{force:!0})}catch(i){let o=dh(i);if($(i))return;let a=o===void 0?"unknown":lh[o]??"filesystem_error";cs(`[pm] warning: history_drift_cache_invalidation_failed:${a}
23
- `)}}async function nn(e){let t=Bn.dirname(Bn.resolve(e));Bn.basename(t)==="history"&&await Rd(Bn.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]="4a3c3c82-0398-549c-8910-fdc69d971cb2")}catch{}})();var Qx={front_matter:{},body:""},wt=3,_t=[1,2,3],hh=1,yh=[1];function Ld(e){return pr(x(e),e.hash_algorithm)}function on(e){return De(x(e))}function Cr(e){let t={...e,record_hash_version:hh},{record_hash:r,...n}=t;return{...t,record_hash:Ld(n)}}function sn(e){try{Re(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(!yh.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...r}=e;return Ld(r)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function eR(e,t){let r={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:on(e.patch)};return e.hash_algorithm!==void 0&&(r.hash_algorithm=e.hash_algorithm),e.item_hash_version!==void 0&&(r.item_hash_version=e.item_hash_version),t.retainOriginalPatch&&(r.patch=structuredClone(e.patch)),t.retainPriorRecordHash!==!1&&e.record_hash_version!==void 0&&e.record_hash!==void 0&&(r.record_hash_version=e.record_hash_version,r.record_hash=e.record_hash,r.record=structuredClone(e)),r}function Xi(e,t,r={}){let n=sn(e);if(!n.ok)throw new TypeError(n.error);let i=on(e.patch),o=r.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||i!==on(t.patch),a=Cr({...t,...o?{reanchor_evidence:[...t.reanchor_evidence??[],eR(e,r)]}:{}}),s=us(a);if(!s.ok)throw new TypeError(s.error);return a}function wh(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!an(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 tR(e){return an(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&wh(e.patch)}function rR(e){let t=e.record_hash_version!==void 0,r=e.record_hash!==void 0;return t===r}function nR(e){return!an(e)||!rR(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&&!wh(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||tR(e.record)}function iR(e){try{for(let t of e){if(!nR(t))return!1;Re(t.hash_algorithm)}return!0}catch{return!1}}function oR(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&&on(t.patch)===e.patch_hash}function aR(e,t,r){if(t.patch&&on(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return oR(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let n=t.patch??e.patch;if(on(n)!==t.patch_hash)return{kind:"digest_only"};let i={...e,before_hash:t.before_hash,after_hash:t.after_hash,patch:n,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},...r.length===0?{}:{reanchor_evidence:r}};return t.hash_algorithm===void 0&&delete i.hash_algorithm,r.length===0&&delete i.reanchor_evidence,t.item_hash_version===void 0&&delete i.item_hash_version,t.record_hash_version===void 0||t.record_hash===void 0?{kind:"legacy",entry:i}:{kind:"record",entry:i}}function us(e){let t=e.reanchor_evidence;if(t===void 0)return{ok:!0,coverage:"none"};if(!Array.isArray(t)||!iR(t))return{ok:!1,error:"rewrite_evidence_invalid"};if(t.length===0)return{ok:!0,coverage:"none"};let r=e;for(let n=t.length-1;n>=0;n-=1){let i=t[n],o=aR(r,i,t.slice(0,n));if(o.kind==="patch_hash_mismatch")return{ok:!1,error:"rewrite_evidence_patch_hash_mismatch"};if(o.kind==="record_hash_mismatch")return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};if(o.kind==="digest_only")return{ok:!0,coverage:"digest_only"};if(o.kind==="legacy")return{ok:!0,coverage:"legacy_anchor_only"};if(!sn(o.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};r=o.entry}return{ok:!0,coverage:"complete"}}function ls(e,t){return(e??"").localeCompare(t??"")}function mh(e,t){return(e??0)-(t??0)}function Ir(e,t,r){return JSON.stringify(e??r).localeCompare(JSON.stringify(t??r))}function sR(e,t){return[e.scope.localeCompare(t.scope),ls(e.path,t.path),ls(e.command,t.command),mh(e.timeout_seconds,t.timeout_seconds),ls(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,Ir(e.env_clear,t.env_clear,[]),Ir(e.env_set,t.env_set,{}),Ir(e.assert_stdout_contains,t.assert_stdout_contains,[]),Ir(e.assert_stdout_regex,t.assert_stdout_regex,[]),Ir(e.assert_stderr_contains,t.assert_stderr_contains,[]),Ir(e.assert_stderr_regex,t.assert_stderr_regex,[]),mh(e.assert_stdout_min_lines,t.assert_stdout_min_lines),Ir(e.assert_json_field_equals,t.assert_json_field_equals,{}),Ir(e.assert_json_field_gte,t.assert_json_field_gte,{}),ls(e.note,t.note)].find(r=>r!==0)??0}function cR(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function lR(e,t){let r=cR(t);if(r.length===0)return!0;let n=e;for(let i of r){let o=/^(0|[1-9]\d*)$/.test(i)?Number(i):-1,a=Array.isArray(n)?o>=0&&o<n.length?n[o]:void 0:an(n)&&Object.prototype.hasOwnProperty.call(n,i)?n[i]:void 0;if(a===void 0)return!1;n=a}return!0}function dR(e,t){let r=[],n=structuredClone(e);for(let i of t){let o=i.op==="replace"&&!lR(n,i.path)?{...i,op:"add"}:i;r.push(o),n=gh.applyPatch(n,[o],!0,!0).newDocument}return r}function ds(e,t,r=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let n=mt(e),i=t===1||t===2&&r?{...n.metadata,...n.metadata.dependencies===void 0?{}:{dependencies:n.metadata.dependencies.map(a=>({...a,id:a.id.toLowerCase()}))},...n.metadata.tests===void 0?{}:{tests:n.metadata.tests.map(({workspace_context_mode:a,provenance:s,provenance_invalid:c,...l})=>l)},...n.metadata.test_runs===void 0?{}:{test_runs:n.metadata.test_runs.map(({executions:a,...s})=>s)}}:n.metadata,o=t===1&&i.tests?{...i,tests:[...i.tests].sort(sR)}:i;return{front_matter:_r(o,Ve),body:n.body}}function ph(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let t=mt(e);return{metadata:_r(t.metadata,Ve),body:t.body}}function Md(e){return $d(e,wt)}function $d(e,t,r){if(!_t.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return pr(x(ds(e,t)),r)}function Wn(e,t,r){let n=$d(e,t,r);return t===2?[n,pr(x(ds(e,t,!0)),r)]:[n]}function Fd(){return De(x(Qx))}function cn(e){let t=Ca(e.op),r=ds(e.before,wt),n=ds(e.after,wt),i=ph(e.before),o=ph(e.after),a=gh.compare(i,o),s=dR(i,a),c=Tg(e.author),l=c.harness?Object.fromEntries(Object.entries(dd().provenance_outcomes).filter(([p,f])=>f.resolver!==void 0&&(f.status!=="resolved"||c.provenance?.[p]?.source==="probe"))):void 0,d=l===void 0||Object.keys(l).length===0?e.context:{...e.context,agent_provenance_outcomes:l},u=e.hashAlgorithm??zp,m={hash_algorithm:u,ts:e.nowIso,author:e.author,author_source:e.authorSource??Sg(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:s,before_hash:pr(x(r),u),after_hash:pr(x(n),u),item_hash_version:wt,message:e.message===void 0?void 0:e.message,...d===void 0?{}:{context:d}};return Cr({...m,event_class:tn(m)})}function an(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Nd(e){return new g(e,_.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function bh(e){let t=e.ts.trim();if(t.length===0)return j();if(!gr(t))throw Nd("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw Nd("History timestamp must not contain surrounding whitespace");return e.ts}function fh(e,t){let r=e.ts;if(typeof r=="string"&&r.trim().length>0){if(!gr(r))throw Nd("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function Dd(e,t){let r=bh(t);if(typeof e=="string"){let n;try{n=JSON.parse(e)}catch{return e}return an(n)?JSON.stringify(fh(n,r)):e}return an(e)?JSON.stringify(fh(e,r)):JSON.stringify(e)}async function uR(e,t,r){if(r===!1)return!0;if(typeof r=="string"){let a=Dd(r,t);return await Pd(e,a),await nn(e),await hd(e),!0}if(typeof r!="object"||r===null)return!1;let n=r;if(n.skip===!0)return!0;let i=typeof n.history_path=="string"?n.history_path:e,o=Dd(typeof n.line=="string"?n.line:n.entry??t,t);return await Pd(i,o),await nn(i),await hd(i),!0}async function Pd(e,t){let r;try{r=JSON.parse(t)}catch{r=null}if(!an(r)||r.op!=="create"){await jc(e,t);return}await uh.mkdir(Zx.dirname(e),{recursive:!0});try{await uh.writeFile(e,`${t}
24
- `,{encoding:"utf8",flag:"wx"})}catch(n){throw n.code!=="EEXIST"?n: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 Zi(e,t){let r=await Nt("history_append",{history_path:e,entry:t});if(r.handled&&await uR(e,t,r.result))return;let n=t.ts.trim().length>0?t:{...t,ts:bh(t)},i=Cr({...n,hash_algorithm:Re(n.hash_algorithm),event_class:tn(n)});await Ig(e,i,async()=>{await Pd(e,Dd(i,i))}),await nn(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]="3bf5f300-1829-5009-ae96-be7df309b589")}catch{}})();var Vn={metadata:{},body:""};function ln(){return structuredClone(Vn)}function Or(e,t,r){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Wn(Kn(e),t,r)}catch{}let n=pr(x({replay_fallback:!0,metadata:e.metadata,body:e.body}),r);return t===2?[n,n]:[n]}function Eh(e,t,r,n,i){let o=Re(n.hash_algorithm),a=`${r}:${o}`,s=i?.before.get(a)??Or(e,r,o),c=Or(t,r,o);return i?.after.set(a,c),{beforeHashes:s,afterHashes:c,pairIndex:s.findIndex((l,d)=>l===n.before_hash&&c[d]===n.after_hash),beforeIndex:s.indexOf(n.before_hash),afterIndex:c.indexOf(n.after_hash)}}function Kn(e){return{metadata:e.metadata,body:e.body}}function Ud(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=mt(e);return{metadata:_r(t.metadata,Ve),body:t.body}}function vh(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function mR(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Qi(e){return Array.isArray(e)?e.filter(mR).map(t=>({...t,path:vh(t.path),from:typeof t.from=="string"?vh(t.from):void 0})):[]}function pR(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 xr(e,t){try{let r=Qi(t),n=jd.applyPatch(structuredClone(e),r,!0,!0).newDocument;return pR(n)?{ok:!0,document:{metadata:n.metadata,body:n.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(r){return{ok:!1,error:r}}}function fR(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&_t.includes(t)))]}function Sh(e){return e!==void 0&&!_t.includes(e)}function _R(e,t){return e!==void 0?[e]:t===void 0?[..._t]:[t]}function Th(e){let t=sn(e);if(!t.ok)return t.error;let r=us(e);return r.ok?void 0:r.error}function gR(e,t){let r=Th(e);if(r)return{ok:!1,error:r};let n=xr(t,e.patch);return n.ok?{ok:!0,document:n.document}:{ok:!1,error:"patch_apply_failed"}}function hR(e,t){let r=Th(e);if(r)throw new TypeError(`${r}:entry_${t+1}`)}function yR(e,t,r,n,i){let o=[];for(let a of r){let s=Eh(e,t,a,n,i);if(o.push({version:a,match:s}),s.pairIndex>=0)break}return o}function at(e){let t=ln(),r=new Map,n,i,o=yi(e).map(a=>`verify_failed:duplicate_create:entry_${a.repeated_create_index}:prior_${a.prior_genesis_index}`);for(let a=0;a<e.length;a+=1){let s=e[a],c=s.item_hash_version,l=Sh(c);l&&o.push(`verify_failed:unsupported_item_hash_version:${String(c)}:entry_${a+1}`);let d=gR(s,t);if(!d.ok)return{ok:!1,errors:[...o,`verify_failed:${d.error}:entry_${a+1}`]};if(l){t=d.document,r=new Map,n=void 0,i=void 0;continue}let u=_R(c,i),m={before:r,after:new Map},p=yR(t,d.document,u,s,m),f=p.find(({match:h})=>h.pairIndex>=0);if(f===void 0){let h=p.some(({match:b})=>b.beforeIndex>=0);return{ok:!1,errors:[...o,`verify_failed:${h?"after":"before"}_hash_mismatch:entry_${a+1}`]}}let w=f.version;t=d.document,r=m.after,n=w,i=c??i}return o.length>0?{ok:!1,errors:o,...n===void 0?{}:{item_hash_version:n}}:{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function bt(e){let t=at(e);return{ok:t.ok,errors:t.errors}}function kh(e,t){try{return{ok:!0,document:jd.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function wR(e,t){let r=structuredClone(e),n=0,i=0;for(let a of Qi(t)){let s=kh(r,a);if(s.ok){r=s.document;continue}if(a.op==="replace"){let c=kh(r,{...a,op:"add"});if(c.ok){r=c.document,n+=1;continue}}i+=1}let o=r;return{document:{metadata:typeof o.metadata=="object"&&o.metadata!==null?o.metadata:{},body:typeof o.body=="string"?o.body:e.body},convertedReplaceToAdd:n,skippedOps:i}}function zd(e){let t=fR(e);if(t.length===1)return t[0];let r=at(e);return r.ok&&r.item_hash_version!==void 0?r.item_hash_version:t.length===0?1:wt}function bR(e,t){let r=xr(e,t.patch);if(r.ok)return{next:r.document,patch:t.patch,repaired:!1,converted:0,skipped:0};let n=wR(e,t.patch);return{next:n.document,patch:jd.compare(e,n.document),repaired:!0,converted:n.convertedReplaceToAdd,skipped:n.skippedOps}}function eo(e,t=zd(e),r={}){let n=e.findIndex(p=>Sh(p.item_hash_version));if(n>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[n]?.item_hash_version)}:entry_${n+1}`);let i=ln(),o=[],a=[],s=0,c=0,l=0,d=0,u,m=t!==1||e.some(p=>p.item_hash_version!==void 0);for(let p=0;p<e.length;p+=1){let f=e[p];hR(f,p);let w=bR(i,f),{next:h,patch:b,repaired:v,converted:I,skipped:A}=w;l+=I,d+=A,c+=Number(v);let C=Eh(i,h,t,f);u===void 0||r.continuousHashSurface!==!0?u=[C.pairIndex,C.beforeIndex,C.afterIndex,Math.min(u??0,C.beforeHashes.length-1)].find(O=>O>=0):u=Math.min(u,C.beforeHashes.length-1);let P=C.beforeHashes[u],S=C.afterHashes[u],D=P!==f.before_hash||S!==f.after_hash;D&&(s+=1);let z={...f,patch:b,before_hash:P,after_hash:S};m?z.item_hash_version=t:delete z.item_hash_version;let E=z.item_hash_version!==f.item_hash_version;(D||v||E)&&(z=Xi(f,z,{retainOriginalPatch:v})),o.push(z),a.push({index:p+1,rehashed:D,patch_repaired:v,converted_replace_to_add:I,skipped_ops:A}),i=h}return{entries:o,finalDocument:i,entriesRehashed:s,entriesPatchRepaired:c,convertedReplaceToAdd:l,skippedOps:d,details:a,itemHashVersion:t,explicitItemHashVersion:m}}function dn(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
23
+ `)}}async function nn(e){let t=Bn.dirname(Bn.resolve(e));Bn.basename(t)==="history"&&await Rd(Bn.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]="4a3c3c82-0398-549c-8910-fdc69d971cb2")}catch{}})();var Qx={front_matter:{},body:""},bt=3,_t=[1,2,3],hh=1,yh=[1];function Ld(e){return pr(x(e),e.hash_algorithm)}function on(e){return De(x(e))}function Cr(e){let t={...e,record_hash_version:hh},{record_hash:r,...n}=t;return{...t,record_hash:Ld(n)}}function sn(e){try{Re(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(!yh.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...r}=e;return Ld(r)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function eR(e,t){let r={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:on(e.patch)};return e.hash_algorithm!==void 0&&(r.hash_algorithm=e.hash_algorithm),e.item_hash_version!==void 0&&(r.item_hash_version=e.item_hash_version),t.retainOriginalPatch&&(r.patch=structuredClone(e.patch)),t.retainPriorRecordHash!==!1&&e.record_hash_version!==void 0&&e.record_hash!==void 0&&(r.record_hash_version=e.record_hash_version,r.record_hash=e.record_hash,r.record=structuredClone(e)),r}function Xi(e,t,r={}){let n=sn(e);if(!n.ok)throw new TypeError(n.error);let i=on(e.patch),o=r.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||i!==on(t.patch),a=Cr({...t,...o?{reanchor_evidence:[...t.reanchor_evidence??[],eR(e,r)]}:{}}),s=us(a);if(!s.ok)throw new TypeError(s.error);return a}function wh(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!an(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 tR(e){return an(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&wh(e.patch)}function rR(e){let t=e.record_hash_version!==void 0,r=e.record_hash!==void 0;return t===r}function nR(e){return!an(e)||!rR(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&&!wh(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||tR(e.record)}function iR(e){try{for(let t of e){if(!nR(t))return!1;Re(t.hash_algorithm)}return!0}catch{return!1}}function oR(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&&on(t.patch)===e.patch_hash}function aR(e,t,r){if(t.patch&&on(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return oR(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let n=t.patch??e.patch;if(on(n)!==t.patch_hash)return{kind:"digest_only"};let i={...e,before_hash:t.before_hash,after_hash:t.after_hash,patch:n,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},...r.length===0?{}:{reanchor_evidence:r}};return t.hash_algorithm===void 0&&delete i.hash_algorithm,r.length===0&&delete i.reanchor_evidence,t.item_hash_version===void 0&&delete i.item_hash_version,t.record_hash_version===void 0||t.record_hash===void 0?{kind:"legacy",entry:i}:{kind:"record",entry:i}}function us(e){let t=e.reanchor_evidence;if(t===void 0)return{ok:!0,coverage:"none"};if(!Array.isArray(t)||!iR(t))return{ok:!1,error:"rewrite_evidence_invalid"};if(t.length===0)return{ok:!0,coverage:"none"};let r=e;for(let n=t.length-1;n>=0;n-=1){let i=t[n],o=aR(r,i,t.slice(0,n));if(o.kind==="patch_hash_mismatch")return{ok:!1,error:"rewrite_evidence_patch_hash_mismatch"};if(o.kind==="record_hash_mismatch")return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};if(o.kind==="digest_only")return{ok:!0,coverage:"digest_only"};if(o.kind==="legacy")return{ok:!0,coverage:"legacy_anchor_only"};if(!sn(o.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};r=o.entry}return{ok:!0,coverage:"complete"}}function ls(e,t){return(e??"").localeCompare(t??"")}function mh(e,t){return(e??0)-(t??0)}function Ir(e,t,r){return JSON.stringify(e??r).localeCompare(JSON.stringify(t??r))}function sR(e,t){return[e.scope.localeCompare(t.scope),ls(e.path,t.path),ls(e.command,t.command),mh(e.timeout_seconds,t.timeout_seconds),ls(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,Ir(e.env_clear,t.env_clear,[]),Ir(e.env_set,t.env_set,{}),Ir(e.assert_stdout_contains,t.assert_stdout_contains,[]),Ir(e.assert_stdout_regex,t.assert_stdout_regex,[]),Ir(e.assert_stderr_contains,t.assert_stderr_contains,[]),Ir(e.assert_stderr_regex,t.assert_stderr_regex,[]),mh(e.assert_stdout_min_lines,t.assert_stdout_min_lines),Ir(e.assert_json_field_equals,t.assert_json_field_equals,{}),Ir(e.assert_json_field_gte,t.assert_json_field_gte,{}),ls(e.note,t.note)].find(r=>r!==0)??0}function cR(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function lR(e,t){let r=cR(t);if(r.length===0)return!0;let n=e;for(let i of r){let o=/^(0|[1-9]\d*)$/.test(i)?Number(i):-1,a=Array.isArray(n)?o>=0&&o<n.length?n[o]:void 0:an(n)&&Object.prototype.hasOwnProperty.call(n,i)?n[i]:void 0;if(a===void 0)return!1;n=a}return!0}function dR(e,t){let r=[],n=structuredClone(e);for(let i of t){let o=i.op==="replace"&&!lR(n,i.path)?{...i,op:"add"}:i;r.push(o),n=gh.applyPatch(n,[o],!0,!0).newDocument}return r}function ds(e,t,r=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let n=mt(e),i=t===1||t===2&&r?{...n.metadata,...n.metadata.dependencies===void 0?{}:{dependencies:n.metadata.dependencies.map(a=>({...a,id:a.id.toLowerCase()}))},...n.metadata.tests===void 0?{}:{tests:n.metadata.tests.map(({workspace_context_mode:a,provenance:s,provenance_invalid:c,...l})=>l)},...n.metadata.test_runs===void 0?{}:{test_runs:n.metadata.test_runs.map(({executions:a,...s})=>s)}}:n.metadata,o=t===1&&i.tests?{...i,tests:[...i.tests].sort(sR)}:i;return{front_matter:_r(o,Ve),body:n.body}}function ph(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let t=mt(e);return{metadata:_r(t.metadata,Ve),body:t.body}}function Md(e){return $d(e,bt)}function $d(e,t,r){if(!_t.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return pr(x(ds(e,t)),r)}function Wn(e,t,r){let n=$d(e,t,r);return t===2?[n,pr(x(ds(e,t,!0)),r)]:[n]}function Fd(){return De(x(Qx))}function cn(e){let t=Ca(e.op),r=ds(e.before,bt),n=ds(e.after,bt),i=ph(e.before),o=ph(e.after),a=gh.compare(i,o),s=dR(i,a),c=Tg(e.author),l=c.harness?Object.fromEntries(Object.entries(dd().provenance_outcomes).filter(([p,f])=>f.resolver!==void 0&&(f.status!=="resolved"||c.provenance?.[p]?.source==="probe"))):void 0,d=l===void 0||Object.keys(l).length===0?e.context:{...e.context,agent_provenance_outcomes:l},u=e.hashAlgorithm??zp,m={hash_algorithm:u,ts:e.nowIso,author:e.author,author_source:e.authorSource??Sg(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:s,before_hash:pr(x(r),u),after_hash:pr(x(n),u),item_hash_version:bt,message:e.message===void 0?void 0:e.message,...d===void 0?{}:{context:d}};return Cr({...m,event_class:tn(m)})}function an(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Nd(e){return new g(e,_.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function bh(e){let t=e.ts.trim();if(t.length===0)return j();if(!gr(t))throw Nd("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw Nd("History timestamp must not contain surrounding whitespace");return e.ts}function fh(e,t){let r=e.ts;if(typeof r=="string"&&r.trim().length>0){if(!gr(r))throw Nd("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function Dd(e,t){let r=bh(t);if(typeof e=="string"){let n;try{n=JSON.parse(e)}catch{return e}return an(n)?JSON.stringify(fh(n,r)):e}return an(e)?JSON.stringify(fh(e,r)):JSON.stringify(e)}async function uR(e,t,r){if(r===!1)return!0;if(typeof r=="string"){let a=Dd(r,t);return await Pd(e,a),await nn(e),await hd(e),!0}if(typeof r!="object"||r===null)return!1;let n=r;if(n.skip===!0)return!0;let i=typeof n.history_path=="string"?n.history_path:e,o=Dd(typeof n.line=="string"?n.line:n.entry??t,t);return await Pd(i,o),await nn(i),await hd(i),!0}async function Pd(e,t){let r;try{r=JSON.parse(t)}catch{r=null}if(!an(r)||r.op!=="create"){await jc(e,t);return}await uh.mkdir(Zx.dirname(e),{recursive:!0});try{await uh.writeFile(e,`${t}
24
+ `,{encoding:"utf8",flag:"wx"})}catch(n){throw n.code!=="EEXIST"?n: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 Zi(e,t){let r=await Dt("history_append",{history_path:e,entry:t});if(r.handled&&await uR(e,t,r.result))return;let n=t.ts.trim().length>0?t:{...t,ts:bh(t)},i=Cr({...n,hash_algorithm:Re(n.hash_algorithm),event_class:tn(n)});await Ig(e,i,async()=>{await Pd(e,Dd(i,i))}),await nn(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]="3bf5f300-1829-5009-ae96-be7df309b589")}catch{}})();var Vn={metadata:{},body:""};function ln(){return structuredClone(Vn)}function Or(e,t,r){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Wn(Kn(e),t,r)}catch{}let n=pr(x({replay_fallback:!0,metadata:e.metadata,body:e.body}),r);return t===2?[n,n]:[n]}function Eh(e,t,r,n,i){let o=Re(n.hash_algorithm),a=`${r}:${o}`,s=i?.before.get(a)??Or(e,r,o),c=Or(t,r,o);return i?.after.set(a,c),{beforeHashes:s,afterHashes:c,pairIndex:s.findIndex((l,d)=>l===n.before_hash&&c[d]===n.after_hash),beforeIndex:s.indexOf(n.before_hash),afterIndex:c.indexOf(n.after_hash)}}function Kn(e){return{metadata:e.metadata,body:e.body}}function Ud(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=mt(e);return{metadata:_r(t.metadata,Ve),body:t.body}}function vh(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function mR(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Qi(e){return Array.isArray(e)?e.filter(mR).map(t=>({...t,path:vh(t.path),from:typeof t.from=="string"?vh(t.from):void 0})):[]}function pR(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 xr(e,t){try{let r=Qi(t),n=jd.applyPatch(structuredClone(e),r,!0,!0).newDocument;return pR(n)?{ok:!0,document:{metadata:n.metadata,body:n.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(r){return{ok:!1,error:r}}}function fR(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&_t.includes(t)))]}function Sh(e){return e!==void 0&&!_t.includes(e)}function _R(e,t){return e!==void 0?[e]:t===void 0?[..._t]:[t]}function Th(e){let t=sn(e);if(!t.ok)return t.error;let r=us(e);return r.ok?void 0:r.error}function gR(e,t){let r=Th(e);if(r)return{ok:!1,error:r};let n=xr(t,e.patch);return n.ok?{ok:!0,document:n.document}:{ok:!1,error:"patch_apply_failed"}}function hR(e,t){let r=Th(e);if(r)throw new TypeError(`${r}:entry_${t+1}`)}function yR(e,t,r,n,i){let o=[];for(let a of r){let s=Eh(e,t,a,n,i);if(o.push({version:a,match:s}),s.pairIndex>=0)break}return o}function at(e){let t=ln(),r=new Map,n,i,o=yi(e).map(a=>`verify_failed:duplicate_create:entry_${a.repeated_create_index}:prior_${a.prior_genesis_index}`);for(let a=0;a<e.length;a+=1){let s=e[a],c=s.item_hash_version,l=Sh(c);l&&o.push(`verify_failed:unsupported_item_hash_version:${String(c)}:entry_${a+1}`);let d=gR(s,t);if(!d.ok)return{ok:!1,errors:[...o,`verify_failed:${d.error}:entry_${a+1}`]};if(l){t=d.document,r=new Map,n=void 0,i=void 0;continue}let u=_R(c,i),m={before:r,after:new Map},p=yR(t,d.document,u,s,m),f=p.find(({match:h})=>h.pairIndex>=0);if(f===void 0){let h=p.some(({match:b})=>b.beforeIndex>=0);return{ok:!1,errors:[...o,`verify_failed:${h?"after":"before"}_hash_mismatch:entry_${a+1}`]}}let w=f.version;t=d.document,r=m.after,n=w,i=c??i}return o.length>0?{ok:!1,errors:o,...n===void 0?{}:{item_hash_version:n}}:{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function vt(e){let t=at(e);return{ok:t.ok,errors:t.errors}}function kh(e,t){try{return{ok:!0,document:jd.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function wR(e,t){let r=structuredClone(e),n=0,i=0;for(let a of Qi(t)){let s=kh(r,a);if(s.ok){r=s.document;continue}if(a.op==="replace"){let c=kh(r,{...a,op:"add"});if(c.ok){r=c.document,n+=1;continue}}i+=1}let o=r;return{document:{metadata:typeof o.metadata=="object"&&o.metadata!==null?o.metadata:{},body:typeof o.body=="string"?o.body:e.body},convertedReplaceToAdd:n,skippedOps:i}}function zd(e){let t=fR(e);if(t.length===1)return t[0];let r=at(e);return r.ok&&r.item_hash_version!==void 0?r.item_hash_version:t.length===0?1:bt}function bR(e,t){let r=xr(e,t.patch);if(r.ok)return{next:r.document,patch:t.patch,repaired:!1,converted:0,skipped:0};let n=wR(e,t.patch);return{next:n.document,patch:jd.compare(e,n.document),repaired:!0,converted:n.convertedReplaceToAdd,skipped:n.skippedOps}}function eo(e,t=zd(e),r={}){let n=e.findIndex(p=>Sh(p.item_hash_version));if(n>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[n]?.item_hash_version)}:entry_${n+1}`);let i=ln(),o=[],a=[],s=0,c=0,l=0,d=0,u,m=t!==1||e.some(p=>p.item_hash_version!==void 0);for(let p=0;p<e.length;p+=1){let f=e[p];hR(f,p);let w=bR(i,f),{next:h,patch:b,repaired:v,converted:I,skipped:A}=w;l+=I,d+=A,c+=Number(v);let C=Eh(i,h,t,f);u===void 0||r.continuousHashSurface!==!0?u=[C.pairIndex,C.beforeIndex,C.afterIndex,Math.min(u??0,C.beforeHashes.length-1)].find(O=>O>=0):u=Math.min(u,C.beforeHashes.length-1);let P=C.beforeHashes[u],T=C.afterHashes[u],D=P!==f.before_hash||T!==f.after_hash;D&&(s+=1);let z={...f,patch:b,before_hash:P,after_hash:T};m?z.item_hash_version=t:delete z.item_hash_version;let E=z.item_hash_version!==f.item_hash_version;(D||v||E)&&(z=Xi(f,z,{retainOriginalPatch:v})),o.push(z),a.push({index:p+1,rehashed:D,patch_repaired:v,converted_replace_to_add:I,skipped_ops:A}),i=h}return{entries:o,finalDocument:i,entriesRehashed:s,entriesPatchRepaired:c,convertedReplaceToAdd:l,skippedOps:d,details:a,itemHashVersion:t,explicitItemHashVersion:m}}function dn(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
25
25
  `)}
26
26
  `}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4ce8635f-ea61-5443-abfc-092219a82396")}catch{}})();var Jn="-",Ih=new Set(["actual_result","body","cmd","command","customer_impact","description","environment","expected_result","impact","location","message","note","outcome","repro_steps","resolution","text","title","unblock_note","value","why_now"]);function to(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function Hd(e){return e.replace(/\r\n/g,`
27
27
  `)}function Ch(e){let t=Hd(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
@@ -29,20 +29,20 @@ ${o}
29
29
  `)}function vR(e){let t=[],r="",n=!1;for(let i=0;i<e.length;i+=1){let o=e[i];if(o==="\\"&&e[i+1]===","){r+=",",i+=1;continue}if(o==="\\"&&e[i+1]!==void 0){r+=`${o}${e[i+1]}`,i+=1;continue}if(o==='"'){n=!n,r+=o;continue}if(o===","&&!n){t.push(r),r="";continue}r+=o}return r.trim()&&t.push(r),t}function Oh(e){let t=e.trim();if(t.startsWith('"')&&t.endsWith('"')){try{let r=JSON.parse(t);if(typeof r=="string")return r}catch{}return t.slice(1,-1).replace(/\\"/g,'"')}return e}function kR(e){let t=e.indexOf("="),r=e.indexOf(":"),n=t>=0,i=r>=0;return n&&i?Math.min(t,r):n?t:i?r:-1}function ER(e,t){if((t==="--add"||t==="--add-glob")&&(/[./\\]/.test(e)||/\.[a-z]{1,6}$/i.test(e.trim())))return"For file/doc paths use: path=<file-path>[,scope=project|global]. The scope field is optional and defaults to project (example: path=src/api.ts or path=README.md,scope=project). ";if(t!=="--event")return"";let r=e.toLowerCase(),n=r.includes("recur_")||r.includes("recurrence")?' Recurrence list values must stay in one field and use "|" delimiters (for example recur_by_weekday=mon|wed or recur_by_month_day=1|15).':"",i=r.includes("recur_byweekday")?" Use recur_by_weekday (with underscores) for weekday recurrence filters.":"";return`${n}${i}`}function Ah(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,i=ER(e,t);return`Invalid ${t} value "${n}". Expected key=value entries separated by commas. `+i+`Also accepts markdown-style key/value lines (for example "- path: README.md"). Use ${t} ${Jn} to read piped stdin input.`}function SR(e){let t=Ch(e).trim();if(t.length===0||!t.includes(`
30
30
  `)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,i=Hd(t).split(`
31
31
  `).map(o=>o.trim()).filter(o=>o.length>0);for(let o of i){let a=o.match(/^(?:[-*+]\s+)?([a-zA-Z0-9_.-]+)\s*(=|:)\s*(.*)$/);if(a){let s=a[1].trim();r[s]=Oh(a[3].trim()),n=s;continue}if(n&&Ih.has(n.toLowerCase())){r[n]=`${r[n]}
32
- ${o}`;continue}return null}return r}function Yn(e,t){let r=Ch(e).trim();if(!r)throw new g(`${t} cannot be empty`,_.USAGE);let n=SR(r);if(n)return n;let i={},o,a=vR(r);for(let s of a){let c=kR(s);if(c>=0){let l=s.slice(0,c).trim();if(!l)throw new g(Ah(e,t),_.USAGE);let d=Oh(s.slice(c+1).trim());i[l]=d,o=l;continue}if(o&&Ih.has(o.toLowerCase())){i[o]=`${i[o]},${s}`;continue}throw new g(Ah(e,t),_.USAGE)}return i}var TR=/^[A-Za-z]:[\\/]/,AR=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function qd(e){let t=e.trim();return TR.test(t)?!1:AR.test(t)}function xh(e,t,r,n){if(!(n||!e.includes(",")))throw new g(`${t} received an ambiguous comma-bearing bare ${r}. Repeat ${t} for multiple values, or quote or escape literal commas in a structured key=<value> entry.`,_.USAGE,{code:"bare_comma_entry_ambiguous",required:`Use one ${t} per bare ${r}, or quote or escape literal commas in a structured key=<value> entry.`})}function Xn(e,t,r){let n=new Set(r.map(o=>o.toLowerCase())),i=Object.keys(e).filter(o=>!n.has(o.toLowerCase()));if(i.length>0)throw new g(`${t} does not recognize key${i.length>1?"s":""} ${i.map(o=>`"${o}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,_.USAGE);for(let o of Object.keys(e)){let a=o.toLowerCase();if(a!==o){if(Object.hasOwn(e,a))throw new g(`${t} provides key "${o}" more than once after case normalization.`,_.USAGE);e[a]=e[o],delete e[o]}}}async function IR(e){if(process.stdin.isTTY===!0)throw new g(`${e} value "${Jn}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,_.USAGE);return process.stdin.setEncoding("utf8"),await new Promise((t,r)=>{let n="";process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>{t(Hd(n))}),process.stdin.on("error",i=>{r(i)})})}function ro(){let e,t,r=async n=>{if(t&&t!==n)throw new g(`Only one option may use "${Jn}" stdin token per command invocation. Already used by ${t}.`,_.USAGE);return t=n,e||(e=IR(n)),await e};return{resolveValue:async(n,i,o=!0)=>{if(!o)return n;if(n!==void 0)return n.trim()!==Jn?n:await r(i)},resolveList:async(n,i,o=!0)=>{if(!o)return n;if(!n)return;let a=n.map((l,d)=>l.trim()===Jn?d:-1).filter(l=>l>=0);if(a.length===0)return n;if(a.length>1)throw new g(`${i} accepts "${Jn}" stdin token at most once per command invocation`,_.USAGE);let s=await r(i),c=[...n];return c[a[0]]=s,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]="5134bd12-d808-588f-af5d-fc71e5153e95")}catch{}})();var Nh=Object.freeze({pm_item_scalar_missing:!0});function mn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===1&&e.pm_item_scalar_missing===!0}function ee(e){return e===void 0?Nh:e}function vt(e){return De(x(e===void 0?{pm_item_scalar_presence:"missing"}:{pm_item_scalar_presence:"present",value:e}))}function Gd(e,t){let r=Le(e);if(r)throw new g(`History merge input (${t}) contains unresolved conflict markers at line ${r.line}. Merge drivers must receive clean per-side versions.`,_.GENERIC_FAILURE);let n=[];for(let[i,o]of e.split(/\r?\n/).entries()){let a=o.trim();if(a)try{let s=JSON.parse(a);if(typeof s!="object"||s===null||Array.isArray(s))throw new TypeError("history entry must be an object");n.push(s)}catch{throw new g(`History merge input (${t}) contains invalid JSON at line ${i+1}.`,_.GENERIC_FAILURE)}}return n}function rr(e){return x({ts:e.ts,author:e.author,op:e.op,patch:e.patch,message:e.message??null})}function CR(e,t){let r=Math.min(e.length,t.length),n=0;for(;n<r&&rr(e[n])===rr(t[n]);)n+=1;return n}function Yd(e,t,r){let n=Gd(e,"base"),i=Gd(t,"ours"),o=Gd(r,"theirs"),a=[n,i,o].map(p=>p.filter(f=>f.op==="create"));if(a[0].length===0&&a.slice(1).every(p=>p.length>0)||a.some(p=>p.length>1)||new Set(a.flat().map(rr)).size>1)throw new g("Duplicate item identity: history contains independent or unproven create events. Preserve both branches and assign distinct item ids before merging.",_.CONFLICT,{code:"item_identity_conflict"});let s=CR(i,o);if(s===i.length&&s===o.length)return{merged:dn(i),strategy:"identical",common_entries:s,entries_from_ours:0,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(s===o.length)return{merged:dn(i),strategy:"fast_forward_ours",common_entries:s,entries_from_ours:i.length-s,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(s===i.length)return{merged:dn(o),strategy:"fast_forward_theirs",common_entries:s,entries_from_ours:0,entries_from_theirs:o.length-s,entries_total:o.length,reanchored:!1};let c=i.slice(s),l=new Set(c.map(rr)),d=o.slice(s).filter(p=>!l.has(rr(p))),u=[...c,...d].sort((p,f)=>{let w=ye(p.ts,f.ts);if(w!==0)return w;let h=l.has(rr(p)),b=l.has(rr(f));return h!==b?Number(b)-Number(h):rr(p).localeCompare(rr(f))}),m=eo([...i.slice(0,s),...u],void 0,{continuousHashSurface:!0});if(m.skippedOps>0)throw new g(`History union cannot preserve ${m.skippedOps} patch operation(s) after deterministic suffix ordering; leave the file unresolved for manual recovery.`,_.GENERIC_FAILURE);return{merged:dn(m.entries),strategy:"union_reanchor",common_entries:s,entries_from_ours:c.length,entries_from_theirs:d.length,entries_total:m.entries.length,reanchored:!0}}function Bd(e,t){let r=Le(e);if(r)throw new g(`Relationship merge input (${t}) contains unresolved conflict markers at line ${r.line}. Merge drivers must receive clean per-side versions.`,_.GENERIC_FAILURE);let n=[];for(let[i,o]of e.split(/\r?\n/).entries()){let a=o.trim();if(!a)continue;let s;try{s=JSON.parse(a)}catch{throw new g(`Relationship merge input (${t}) contains invalid JSON at line ${i+1}.`,_.GENERIC_FAILURE)}if(typeof s!="object"||s===null||Array.isArray(s)||typeof s.eventId!="string"||typeof s.sequence!="number")throw new g(`Relationship merge input (${t}) line ${i+1} is not a relationship event (eventId + sequence required).`,_.GENERIC_FAILURE);n.push(s)}return n}function ms(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
32
+ ${o}`;continue}return null}return r}function Yn(e,t){let r=Ch(e).trim();if(!r)throw new g(`${t} cannot be empty`,_.USAGE);let n=SR(r);if(n)return n;let i={},o,a=vR(r);for(let s of a){let c=kR(s);if(c>=0){let l=s.slice(0,c).trim();if(!l)throw new g(Ah(e,t),_.USAGE);let d=Oh(s.slice(c+1).trim());i[l]=d,o=l;continue}if(o&&Ih.has(o.toLowerCase())){i[o]=`${i[o]},${s}`;continue}throw new g(Ah(e,t),_.USAGE)}return i}var TR=/^[A-Za-z]:[\\/]/,AR=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function qd(e){let t=e.trim();return TR.test(t)?!1:AR.test(t)}function xh(e,t,r,n){if(!(n||!e.includes(",")))throw new g(`${t} received an ambiguous comma-bearing bare ${r}. Repeat ${t} for multiple values, or quote or escape literal commas in a structured key=<value> entry.`,_.USAGE,{code:"bare_comma_entry_ambiguous",required:`Use one ${t} per bare ${r}, or quote or escape literal commas in a structured key=<value> entry.`})}function Xn(e,t,r){let n=new Set(r.map(o=>o.toLowerCase())),i=Object.keys(e).filter(o=>!n.has(o.toLowerCase()));if(i.length>0)throw new g(`${t} does not recognize key${i.length>1?"s":""} ${i.map(o=>`"${o}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,_.USAGE);for(let o of Object.keys(e)){let a=o.toLowerCase();if(a!==o){if(Object.hasOwn(e,a))throw new g(`${t} provides key "${o}" more than once after case normalization.`,_.USAGE);e[a]=e[o],delete e[o]}}}async function IR(e){if(process.stdin.isTTY===!0)throw new g(`${e} value "${Jn}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,_.USAGE);return process.stdin.setEncoding("utf8"),await new Promise((t,r)=>{let n="";process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>{t(Hd(n))}),process.stdin.on("error",i=>{r(i)})})}function ro(){let e,t,r=async n=>{if(t&&t!==n)throw new g(`Only one option may use "${Jn}" stdin token per command invocation. Already used by ${t}.`,_.USAGE);return t=n,e||(e=IR(n)),await e};return{resolveValue:async(n,i,o=!0)=>{if(!o)return n;if(n!==void 0)return n.trim()!==Jn?n:await r(i)},resolveList:async(n,i,o=!0)=>{if(!o)return n;if(!n)return;let a=n.map((l,d)=>l.trim()===Jn?d:-1).filter(l=>l>=0);if(a.length===0)return n;if(a.length>1)throw new g(`${i} accepts "${Jn}" stdin token at most once per command invocation`,_.USAGE);let s=await r(i),c=[...n];return c[a[0]]=s,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]="5134bd12-d808-588f-af5d-fc71e5153e95")}catch{}})();var Nh=Object.freeze({pm_item_scalar_missing:!0});function mn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===1&&e.pm_item_scalar_missing===!0}function ee(e){return e===void 0?Nh:e}function kt(e){return De(x(e===void 0?{pm_item_scalar_presence:"missing"}:{pm_item_scalar_presence:"present",value:e}))}function Gd(e,t){let r=Le(e);if(r)throw new g(`History merge input (${t}) contains unresolved conflict markers at line ${r.line}. Merge drivers must receive clean per-side versions.`,_.GENERIC_FAILURE);let n=[];for(let[i,o]of e.split(/\r?\n/).entries()){let a=o.trim();if(a)try{let s=JSON.parse(a);if(typeof s!="object"||s===null||Array.isArray(s))throw new TypeError("history entry must be an object");n.push(s)}catch{throw new g(`History merge input (${t}) contains invalid JSON at line ${i+1}.`,_.GENERIC_FAILURE)}}return n}function rr(e){return x({ts:e.ts,author:e.author,op:e.op,patch:e.patch,message:e.message??null})}function CR(e,t){let r=Math.min(e.length,t.length),n=0;for(;n<r&&rr(e[n])===rr(t[n]);)n+=1;return n}function Yd(e,t,r){let n=Gd(e,"base"),i=Gd(t,"ours"),o=Gd(r,"theirs"),a=[n,i,o].map(p=>p.filter(f=>f.op==="create"));if(a[0].length===0&&a.slice(1).every(p=>p.length>0)||a.some(p=>p.length>1)||new Set(a.flat().map(rr)).size>1)throw new g("Duplicate item identity: history contains independent or unproven create events. Preserve both branches and assign distinct item ids before merging.",_.CONFLICT,{code:"item_identity_conflict"});let s=CR(i,o);if(s===i.length&&s===o.length)return{merged:dn(i),strategy:"identical",common_entries:s,entries_from_ours:0,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(s===o.length)return{merged:dn(i),strategy:"fast_forward_ours",common_entries:s,entries_from_ours:i.length-s,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(s===i.length)return{merged:dn(o),strategy:"fast_forward_theirs",common_entries:s,entries_from_ours:0,entries_from_theirs:o.length-s,entries_total:o.length,reanchored:!1};let c=i.slice(s),l=new Set(c.map(rr)),d=o.slice(s).filter(p=>!l.has(rr(p))),u=[...c,...d].sort((p,f)=>{let w=ye(p.ts,f.ts);if(w!==0)return w;let h=l.has(rr(p)),b=l.has(rr(f));return h!==b?Number(b)-Number(h):rr(p).localeCompare(rr(f))}),m=eo([...i.slice(0,s),...u],void 0,{continuousHashSurface:!0});if(m.skippedOps>0)throw new g(`History union cannot preserve ${m.skippedOps} patch operation(s) after deterministic suffix ordering; leave the file unresolved for manual recovery.`,_.GENERIC_FAILURE);return{merged:dn(m.entries),strategy:"union_reanchor",common_entries:s,entries_from_ours:c.length,entries_from_theirs:d.length,entries_total:m.entries.length,reanchored:!0}}function Bd(e,t){let r=Le(e);if(r)throw new g(`Relationship merge input (${t}) contains unresolved conflict markers at line ${r.line}. Merge drivers must receive clean per-side versions.`,_.GENERIC_FAILURE);let n=[];for(let[i,o]of e.split(/\r?\n/).entries()){let a=o.trim();if(!a)continue;let s;try{s=JSON.parse(a)}catch{throw new g(`Relationship merge input (${t}) contains invalid JSON at line ${i+1}.`,_.GENERIC_FAILURE)}if(typeof s!="object"||s===null||Array.isArray(s)||typeof s.eventId!="string"||typeof s.sequence!="number")throw new g(`Relationship merge input (${t}) line ${i+1} is not a relationship event (eventId + sequence required).`,_.GENERIC_FAILURE);n.push(s)}return n}function ms(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
33
33
  `)}
34
34
  `}function OR(e){return e.map((t,r)=>({...t,sequence:r+1}))}function Xd(e,t,r){Bd(e,"base");let n=Bd(t,"ours"),i=Bd(r,"theirs"),o=Math.min(n.length,i.length),a=0;for(;a<o&&n[a].eventId===i[a].eventId;)a+=1;if(a===n.length&&a===i.length)return{merged:ms(n),strategy:"identical",common_entries:a,entries_from_ours:0,entries_from_theirs:0,entries_total:n.length,reanchored:!1};if(a===i.length)return{merged:ms(n),strategy:"fast_forward_ours",common_entries:a,entries_from_ours:n.length-a,entries_from_theirs:0,entries_total:n.length,reanchored:!1};if(a===n.length)return{merged:ms(i),strategy:"fast_forward_theirs",common_entries:a,entries_from_ours:0,entries_from_theirs:i.length-a,entries_total:i.length,reanchored:!1};let s=n.slice(a),c=new Set(s.map(m=>m.eventId)),l=i.slice(a).filter(m=>!c.has(m.eventId)),d=[...s,...l].sort((m,p)=>{if(m.timestamp!==void 0&&p.timestamp!==void 0){let h=ye(m.timestamp,p.timestamp);if(h!==0)return h}else{if(m.timestamp===void 0&&p.timestamp!==void 0)return 1;if(m.timestamp!==void 0)return-1}let f=c.has(m.eventId),w=c.has(p.eventId);return f!==w?Number(w)-Number(f):0}),u=OR([...n.slice(0,a),...d]);return{merged:ms(u),strategy:"union_reanchor",common_entries:a,entries_from_ours:s.length,entries_from_theirs:l.length,entries_total:u.length,reanchored:!0}}var Dh=["tags","dependencies","comments","notes","learnings","files","tests","test_runs","docs","reminders","events"],xR=["acceptance_criteria"],Ph=["updated_at"];function un(e,t){return e===void 0||t===void 0?e===void 0&&t===void 0:x(e)===x(t)}function Rh(e,t,r){let n=d=>Array.isArray(d)?d:[],i=new Set(n(e).map(d=>x(d))),o=n(t),a=new Set(o.map(d=>x(d))),s=n(r),c=new Set(s.map(d=>x(d))),l=o.filter(d=>{let u=x(d);return!i.has(u)||c.has(u)});for(let d of s){let u=x(d);!a.has(u)&&!i.has(u)&&l.push(d)}return l}function no(e){if(typeof e!="object"||e===null||Array.isArray(e))return x(e);let{provenance:t,...r}=e;return x(r)}function RR(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;let t=e;return t.provenance?{...t,provenance:{...t.provenance,source_kind:"merge_union"}}:{...t,provenance:{source_kind:"merge_union"}}}function NR(e,t,r){let n=d=>Array.isArray(d)?d:[],i=new Set(n(e).map(no)),o=n(t),a=new Set(o.map(no)),s=n(r),c=new Set(s.map(no)),l=o.filter(d=>{let u=no(d);return!i.has(u)||c.has(u)});for(let d of s){let u=no(d);!a.has(u)&&!i.has(u)&&l.push(RR(d))}return l}function DR(e,t){return ye(String(e),String(t))>=0?e:t}function Lh(e,t,r,n){return un(t,r)?{value:t,from_theirs:!1,conflict:!1}:un(e,t)?{value:r,from_theirs:!0,conflict:!1}:un(e,r)?{value:t,from_theirs:!1,conflict:!1}:{value:n==="theirs"?r:t,from_theirs:n==="theirs",conflict:!0}}function Mh(e,t,r,n,i,o,a){let s=Lh(e,t,r,n);if(!s.conflict)return{...s,conflict:!1};if(i==="preferred_side")return{...s,resolution_basis:"requested_preference",retained_side:s.from_theirs?"theirs":"ours"};let c=ye(o,a);if(i==="latest_document_update"&&c!==0){let d=c<0;return{value:d?r:t,from_theirs:d,conflict:!0,resolution_basis:"document_updated_at",retained_side:d?"theirs":"ours"}}let l=x(ee(r)).localeCompare(x(ee(t)))<0;return{value:l?r:t,from_theirs:l,conflict:!0,resolution_basis:"stable_value_tiebreak",retained_side:l?"theirs":"ours"}}function Wd(e){return{...e.metadata}}function Vd(e,t,r){try{let n=mt(Ke(e,r),r),i=Object.entries(n.metadata).find(([,o])=>mn(o))?.[0];if(i!==void 0)throw new TypeError(`metadata field ${i} uses the reserved missing-scalar evidence marker`);return n}catch(n){throw new g(`Item merge input (${t}) is not a readable item document: ${String(n)}`,_.GENERIC_FAILURE)}}function PR(e){if(!e.unionFieldSet.has(e.field))return!1;let t=e.field==="tests"?NR(e.baseValue,e.oursValue,e.theirsValue):e.field==="acceptance_criteria"?Rh(to(e.baseValue),to(e.oursValue),to(e.theirsValue)).join("; "):Rh(e.baseValue,e.oursValue,e.theirsValue);return e.accumulator.merged[e.field]=t,un(t,e.oursValue)||e.accumulator.unionFields.push(e.field),!0}function LR(e){let t=Mh(e.baseValue,e.oursValue,e.theirsValue,e.preferred,e.conflictResolution,e.oursUpdatedAt,e.theirsUpdatedAt);t.value!==void 0&&(e.accumulator.merged[e.field]=t.value),t.conflict?(e.accumulator.conflictFields.push(e.field),e.accumulator.conflictDecisions.push({field:e.field,base:ee(e.baseValue),ours:ee(e.oursValue),theirs:ee(e.theirsValue),retained:ee(t.value),discarded:ee(t.from_theirs?e.oursValue:e.theirsValue),retained_side:t.retained_side,resolution_basis:t.resolution_basis})):t.from_theirs&&e.accumulator.fieldsFromTheirs.push(e.field)}function MR(e,t,r,n,i,o,a){let s=new Set([...Dh,...xR]),c=new Set(Ph),l=[...new Set([...Object.keys(t),...Object.keys(r)])].sort((u,m)=>u.localeCompare(m)),d={merged:{},conflictFields:[],fieldsFromTheirs:[],unionFields:[],conflictDecisions:[]};for(let u of l){let m=e[u],p=t[u],f=r[u];if(!PR({field:u,baseValue:m,oursValue:p,theirsValue:f,unionFieldSet:s,accumulator:d})){if(c.has(u)){d.merged[u]=DR(p,f);continue}LR({field:u,baseValue:m,oursValue:p,theirsValue:f,preferred:n,conflictResolution:i,oursUpdatedAt:o,theirsUpdatedAt:a,accumulator:d})}}return d}function Zd(e,t,r,n={}){let i=n.preferred??"ours",o=n.conflictResolution??"preferred_side",a=Vd(t,"ours",n),s=Vd(r,"theirs",n);if(e.trim().length===0)throw new g("Duplicate item identity: add/add item documents have no common ancestor. Preserve both branches and assign distinct item ids before merging.",_.CONFLICT,{code:"item_identity_conflict",item_id:a.metadata.id});let c=Vd(e,"base",n);if(c.metadata.id!==a.metadata.id||c.metadata.id!==s.metadata.id)throw new g("Duplicate or mismatched item identity: all merge sides must address the common ancestor's item id.",_.CONFLICT,{code:"item_identity_conflict",item_id:c.metadata.id});let l=Wd(c),d=Wd(a),u=Wd(s),{merged:m,conflictFields:p,fieldsFromTheirs:f,unionFields:w,conflictDecisions:h}=MR(l,d,u,i,o,a.metadata.updated_at,s.metadata.updated_at),b=Mh(c.body,a.body,s.body,i,o,a.metadata.updated_at,s.metadata.updated_at);return b.conflict?(p.push("body"),h.push({field:"body",base:ee(c.body),ours:ee(a.body),theirs:ee(s.body),retained:ee(b.value),discarded:ee(b.from_theirs?a.body:s.body),retained_side:b.retained_side,resolution_basis:b.resolution_basis})):b.from_theirs&&f.push("body"),{merged:Mn({metadata:m,body:b.value},n),conflict_fields:p,fields_from_theirs:f,union_fields:w,conflict_decisions:h,requested_preference:i,requested_preference_applied:o==="preferred_side",conflict_resolution:o}}function Kd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Jd(e,t){let r=Le(e);if(r)throw new g(`JSON merge input (${t}) contains unresolved conflict markers at line ${r.line}.`,_.GENERIC_FAILURE);if(e.trim().length!==0)try{return JSON.parse(e)}catch{throw new g(`JSON merge input (${t}) is not valid JSON.`,_.GENERIC_FAILURE)}}function $R(e,t,r){if(!Array.isArray(e)||!Array.isArray(t)||!Array.isArray(r))return null;let n=l=>{let d=new Map;for(let u of l){let m=x(u);d.set(m,(d.get(m)??0)+1)}return d},i=n(e),o=n(t),a=n(r);for(let[l,d]of i)if((o.get(l)??0)<d||(a.get(l)??0)<d)return null;let s=new Map(o),c=[];for(let l of r){let d=x(l),u=s.get(d)??0;u>0?s.set(d,u-1):c.push(l)}return{merged:[...t,...c],acceptedTheirs:c.length>0}}function FR(e,t,r,n,i,o,a){if(!Kd(t)||!Kd(r))return null;let s=Kd(e)?e:{},c={},l=[...new Set([...Object.keys(t),...Object.keys(r)])].sort((d,u)=>d.localeCompare(u));for(let d of l){let u=i.length>0?`${i}.${d}`:d,m=jR(s,t,r,d,n,u,o,a);m!==void 0&&(c[d]=m)}return c}function $h(e,t,r,n,i,o,a){if(un(t,r))return t;let s=$R(e,t,r);if(s!==null)return s.acceptedTheirs&&a.push(i),s.merged;let c=FR(e,t,r,n,i,o,a);if(c!==null)return c;let l=Lh(e,t,r,n);return l.conflict?o.push(i):l.from_theirs&&a.push(i),l.value}function jR(e,t,r,n,i,o,a,s){let c=Object.prototype.hasOwnProperty.call(t,n),l=Object.prototype.hasOwnProperty.call(r,n),d=Object.prototype.hasOwnProperty.call(e,n);if(c&&l)return $h(e[n],t[n],r[n],i,o,a,s);if(c){if(d&&un(e[n],t[n])){s.push(o);return}return d?(a.push(o),i==="theirs"?void 0:t[n]):t[n]}if(!(d&&un(e[n],r[n])))return d?(a.push(o),i==="theirs"?r[n]:void 0):(s.push(o),r[n])}function Qd(e,t,r,n={}){let i=n.preferred??"ours",o=Jd(e,"base"),a=Jd(t,"ours"),s=Jd(r,"theirs"),c=[],l=[],d=$h(o,a,s,i,"",c,l);return{merged:`${JSON.stringify(d??null,null,2)}
35
- `,conflict_paths:c,paths_from_theirs:l,preferred:i}}import{execFile as uN}from"node:child_process";import{randomUUID as mN}from"node:crypto";import{readdir as pN,stat as fN}from"node:fs/promises";import Fe from"node:path";import{promisify as _N}from"node:util";import{constants as Fh}from"node:fs";import{lstat as UR,open as zR}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]="b063a672-991a-5251-a2f3-6a1c7bcafd2f")}catch{}})();var HR={lstat:UR,open:zR};function qR(e){return e.O_NOFOLLOW??0}async function io(e,t,r=HR){let n=await r.lstat(e);if(n.isSymbolicLink()||!n.isFile()||n.size>t)return null;let i=await r.open(e,Fh.O_RDONLY|qR(Fh));try{let o=await i.stat();if(!o.isFile()||o.size>t)return null;let a=Buffer.alloc(o.size),s=0;for(;s<a.length;){let{bytesRead:c}=await i.read(a,s,a.length-s,s);if(c===0)break;s+=c}return(await i.stat()).size===o.size&&s===o.size?a.toString("utf8",0,s):null}finally{await i.close()}}import _s from"node:path";import{execFile as GR}from"node:child_process";import{createHash as jh}from"node:crypto";import{readdir as BR}from"node:fs/promises";import WR from"node:path";import{promisify as VR}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]="af5442e7-c8af-5d81-8c89-7f1a98159cec")}catch{}})();var nr=VR(GR),ps=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function Uh(e,t,r){let n=t.trim(),i=/^(['"])(.*)\1$/su.exec(n)?.[2]??n;for(let o of["rebase-merge","rebase-apply"])try{let{stdout:a}=await nr("git",["rev-parse","--path-format=absolute","--git-path",`${o}/orig-head`],{cwd:e,timeout:1e4}),s=(await io(a.trim(),128))?.trim();if(s===void 0||!ps.test(s))continue;let{stdout:c}=await nr("git",["rev-parse","--verify",`${s}:${i}`],{cwd:e,timeout:1e4}),l=c.trim();return{kind:"rebase",original_head:s,original_blob:l}}catch{}if(r!==void 0&&Object.keys(process.env).some(o=>/^GITHEAD_[a-f0-9]{40}(?:[a-f0-9]{24})?$/u.test(o)))try{let{stdout:o}=await nr("git",["rev-parse","HEAD","ORIG_HEAD"],{cwd:e,timeout:1e4}),[a,s]=o.trim().split(/\r?\n/u);if(a!==s||!ps.test(a))return;let{stdout:c}=await nr("git",["rev-parse","--verify",`${a}:${i}`],{cwd:e,timeout:1e4}),l=c.trim(),d=jh(l.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(r)}\0`).update(r).digest("hex");return l!==d?void 0:{kind:"merge",original_head:a,original_blob:l}}catch{}}function zh(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return Object.keys(t).length===3&&(t.kind==="rebase"||t.kind==="merge")&&typeof t.original_head=="string"&&ps.test(t.original_head)&&typeof t.original_blob=="string"&&ps.test(t.original_blob)}async function fs(e,t,r,n){if(n!==void 0&&jh(r.original_blob.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(n)}\0`).update(n).digest("hex")!==r.original_blob)return!1;try{let{stdout:i}=await nr("git",["rev-parse","--absolute-git-dir"],{cwd:e,timeout:1e4}),o=new Set(["rebase-merge","rebase-apply","MERGE_HEAD","CHERRY_PICK_HEAD","REVERT_HEAD"]);if((await BR(i.trim())).some(l=>o.has(l)))return!1;let{stdout:a}=await nr("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4});if(a.trim()!==r.original_head)return!1;let{stdout:s}=await nr("git",["rev-parse","--verify",`HEAD:${t}`],{cwd:e,timeout:1e4});if(s.trim()!==r.original_blob)return!1;let{stdout:c}=await nr("git",["hash-object","--",WR.resolve(e,t)],{cwd:e,timeout:1e4});return c.trim()!==r.original_blob?!1:(await nr("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]="35c5d9a8-5ae0-5e97-9ea3-f8a70a5fd7d0")}catch{}})();var KR=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,JR=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,hs=2048,YR=64,XR=1e5,ZR=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 ir(e){return KR.test(e)}var QR=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),ys="bounded_non_sensitive_scalars_v1",eN=new Set(["open","in_progress","blocked","closed","canceled"]),tN=new Set(["risk","confidence","severity"]),rN=new Set(["low","medium","high","critical"]),qh=new Map([["priority",new Set([0,1,2,3,4].map(x))],["status",new Set([...eN].map(x))],...[...tN].map(e=>[e,new Set([...rN].map(x))])]);function Lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Gh(e,t){return Object.keys(e).every(r=>t.has(r))}function gs(e){return Array.isArray(e)&&e.length<=hs&&e.every(t=>typeof t=="string"&&t.length>0&&t.length<=256)}function oo(e){let t=[{value:e,depth:0}],r=0;for(;t.length>0;){let n=t.pop();if(r+=1,r>XR||n.depth>YR)return!1;if(Array.isArray(n.value))for(let i of n.value)t.push({value:i,depth:n.depth+1});else if(Lt(n.value))for(let i of Object.values(n.value))t.push({value:i,depth:n.depth+1})}return!0}function Bh(e){if(!Lt(e))return!1;let t=[void 0,"ours","theirs"],r=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[Gh(e,QR),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"),oo(e.base),oo(e.ours),oo(e.theirs),oo(e.retained),oo(e.discarded),t.includes(e.retained_side),r.includes(e.resolution_basis)].every(Boolean)}function nN(e){if(!Lt(e))return!1;let t=Object.entries(e);return t.length<=hs&&t.every(([r,n])=>r.length>0&&r.length<=256&&typeof n=="string"&&/^[a-f0-9]{64}$/u.test(n))}function iN(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||_s.posix.isAbsolute(e))return!1;let r=_s.posix.normalize(e);return r!==".."&&!r.startsWith("../")&&_s.posix.basename(r,_s.posix.extname(r))===t}function oN(e){return!gs(e.fields_from_theirs)||!gs(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>hs||!e.decisions.every(Bh)?!1:e.merged_field_hashes===void 0||nN(e.merged_field_hashes)}function aN(e){let t=[void 0,"ours","theirs"],r=[void 0,"preferred_side","stable_value_order","latest_document_update"],n=[void 0,"clone_local","hash_only","bounded_inline","mixed"],i=[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")&&r.includes(e.conflict_resolution)&&(e.state==="pending"||e.state==="reconciled")&&n.includes(e.value_availability)&&(e.value_policy===void 0||e.value_policy===ys)&&i.includes(e.evidence_source)}function sN(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 Hh(e,t){if(!Lt(t)||ws(t)===void 0)return!1;let r=Object.keys(t);if(!r.every(i=>i==="pm_value_hash"||i==="pm_value"))return!1;if(!Object.hasOwn(t,"pm_value"))return r.length===1;let n=t.pm_value;return(n===null||qh.get(e)?.has(x(n))===!0)&&vt(n)===t.pm_value_hash}function cN(e){if(!e.decisions.every(n=>n.base===null&&n.ours===null&&n.theirs===null&&Hh(n.field,n.retained)&&Hh(n.field,n.discarded)))return!1;let t=e.decisions.reduce((n,i)=>n+(Lt(i.retained)&&Object.hasOwn(i.retained,"pm_value")?1:0)+(Lt(i.discarded)&&Object.hasOwn(i.discarded,"pm_value")?1:0),0),r=t===0?"hash_only":t===e.decisions.length*2?"bounded_inline":"mixed";return e.value_availability===r&&(t===0||e.value_policy===ys)}function lN(e){return e.operation!==void 0&&!zh(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function dN(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||!Gh(e,ZR)?"required_fields":typeof e.id!="string"||!ir(e.id)?"receipt_id":typeof e.item_id!="string"||!JR.test(e.item_id)?"item_id":iN(e.item_path,e.item_id)?null:"item_path"}function eu(e,t){if(!Lt(e))return"required_fields";let r=dN(e);return r!==null?r:lN(e)?oN(e)?aN(e)?sN(e)?t==="durable"&&!cN(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function tu(e){if(!Lt(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,r=(e.requested_preference==="ours"||e.requested_preference==="theirs")&&e.value_availability==="clone_local";return!t&&!r?e:{...e,decisions:e.decisions.map(n=>!Lt(n)||!Object.hasOwn(n,"retained")||!Object.hasOwn(n,"discarded")?n:{base:ee(void 0),ours:ee(void 0),theirs:ee(void 0),...n})}}function Wh(e){if(!Lt(e))return;if(!gs(e.fields_from_theirs))return"fields_from_theirs";if(!gs(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>hs)return"decisions";let t=e.decisions.findIndex(r=>!Bh(r));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function ru(e,t){return eu(e,t)===null}function ws(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 nu(e,t){let r=mn(t),n=vt(r?void 0:t);return!r&&(t===null||qh.get(e)?.has(x(t))===!0)?{pm_value_hash:n,pm_value:t}:{pm_value_hash: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]="6e5e4691-4858-5a54-82b0-65b97d929b57")}catch{}})();var gN=_N(uN),Jh=16*1024*1024,bs=100;async function iu(e){try{let{stdout:t}=await gN("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 Yh(e,t){let r=Fe.dirname(Fe.resolve(e,t));for(let n=0;n<12;n+=1){if(await M(Fe.join(r,"settings.json")))return r;let i=Fe.dirname(r);if(i===r)break;r=i}return null}function ou(e){return Fe.join(e,"merge-receipts")}function Zn(e){return`${e}.json`}async function Vh(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await io(e.receiptPath,Jh)}catch(o){if(qe(o))return null;throw o}if(t===null)throw new Error(`Receipt ${e.receiptId} settlement source is not a bounded regular file.`);let r;try{r=tu(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!ru(r,e.evidenceSource)||r.id!==e.receiptId||e.settlement!==void 0&&r.operation===void 0||Fe.basename(e.receiptPath)!==Zn(r.id))throw new Error(`Receipt ${e.receiptId} settlement source failed schema or identity validation.`);let{evidence_source:n,...i}=r;return{path:e.receiptPath,fingerprints:au(r),modern:r.value_policy!==void 0,content:`${JSON.stringify({...i,state:"reconciled",reconciled_at:e.reconciledAt,...e.settlement?{settlement:e.settlement}:{}},null,2)}
36
- `}}function ao(e,t=!1){return De(x({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",requested_preference_applied:e.requested_preference_applied??(e.conflict_resolution??"preferred_side")==="preferred_side",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(r=>({field:r.field,retained_hash:De(x(ee(r.retained))),discarded_hash:De(x(ee(r.discarded)))})):gt(e).decisions}))}function au(e){let t=[ao(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(ao(e,!0)),t}function hN(e,t){let{reconciled_at:r,settlement:n,...i}=e;return t.state==="reconciled"?{...i,state:"reconciled",reconciled_at:t.reconciled_at,...t.settlement===void 0?{}:{settlement:t.settlement}}:{...i,state:"pending"}}async function yN(e,t,r){let n=new Map;for(let i of t){let o=e.get(i.id);if(i.state!=="reconciled"||o===void 0)continue;let a=n.get(o.item_id);if(a===void 0){try{a=await We(Fe.join(r,"history",`${o.item_id}.jsonl`),o.item_id),at(a).ok||(a=[])}catch{a=[]}n.set(o.item_id,a)}let s=o.settlement==="original_git_state_restored",c=x({...gt(o),...s?{reason:o.settlement,operation:o.operation}:{}});if(!a.some(l=>{if(l.op!=="merge_reconcile"||l.record_hash_version===void 0)return!1;let d=l.context?.merge;if(typeof d!="object"||d===null||Array.isArray(d))return!1;let u=d[s?"abandoned_receipts":"receipts"];return Array.isArray(u)&&u.some(m=>x(m)===c)})){let{reconciled_at:l,settlement:d,...u}=o;e.set(o.id,{...u,state:"pending"})}}}function gt(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:ws(t.retained)??vt(mn(t.retained)?void 0:t.retained),discarded_hash:ws(t.discarded)??vt(mn(t.discarded)?void 0:t.discarded)}))}}async function Xh(e){let t=await iu(e.cwd);if(t===null)return null;let r=e.itemPath.trim(),n=/^(['"])(.*)\1$/su.exec(r)?.[2]??r,i=Fe.basename(n,Fe.extname(n)),o={version:1,id:mN(),item_path:n.replaceAll("\\","/"),item_id:i,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(s=>({...s,base:ee(s.base),ours:ee(s.ours),theirs:ee(s.theirs),retained:ee(s.retained),discarded:ee(s.discarded)})),...e.operation?{operation:e.operation}:{},state:"pending",created_at:j(),value_availability:"clone_local"};await hr(t),await q(Fe.join(t,Zn(o.id)),`${JSON.stringify(o,null,2)}
35
+ `,conflict_paths:c,paths_from_theirs:l,preferred:i}}import{execFile as uN}from"node:child_process";import{randomUUID as mN}from"node:crypto";import{readdir as pN,stat as fN}from"node:fs/promises";import Fe from"node:path";import{promisify as _N}from"node:util";import{constants as Fh}from"node:fs";import{lstat as UR,open as zR}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]="b063a672-991a-5251-a2f3-6a1c7bcafd2f")}catch{}})();var HR={lstat:UR,open:zR};function qR(e){return e.O_NOFOLLOW??0}async function io(e,t,r=HR){let n=await r.lstat(e);if(n.isSymbolicLink()||!n.isFile()||n.size>t)return null;let i=await r.open(e,Fh.O_RDONLY|qR(Fh));try{let o=await i.stat();if(!o.isFile()||o.size>t)return null;let a=Buffer.alloc(o.size),s=0;for(;s<a.length;){let{bytesRead:c}=await i.read(a,s,a.length-s,s);if(c===0)break;s+=c}return(await i.stat()).size===o.size&&s===o.size?a.toString("utf8",0,s):null}finally{await i.close()}}import _s from"node:path";import{execFile as GR}from"node:child_process";import{createHash as jh}from"node:crypto";import{readdir as BR}from"node:fs/promises";import WR from"node:path";import{promisify as VR}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]="af5442e7-c8af-5d81-8c89-7f1a98159cec")}catch{}})();var nr=VR(GR),ps=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function Uh(e,t,r){let n=t.trim(),i=/^(['"])(.*)\1$/su.exec(n)?.[2]??n;for(let o of["rebase-merge","rebase-apply"])try{let{stdout:a}=await nr("git",["rev-parse","--path-format=absolute","--git-path",`${o}/orig-head`],{cwd:e,timeout:1e4}),s=(await io(a.trim(),128))?.trim();if(s===void 0||!ps.test(s))continue;let{stdout:c}=await nr("git",["rev-parse","--verify",`${s}:${i}`],{cwd:e,timeout:1e4}),l=c.trim();return{kind:"rebase",original_head:s,original_blob:l}}catch{}if(r!==void 0&&Object.keys(process.env).some(o=>/^GITHEAD_[a-f0-9]{40}(?:[a-f0-9]{24})?$/u.test(o)))try{let{stdout:o}=await nr("git",["rev-parse","HEAD","ORIG_HEAD"],{cwd:e,timeout:1e4}),[a,s]=o.trim().split(/\r?\n/u);if(a!==s||!ps.test(a))return;let{stdout:c}=await nr("git",["rev-parse","--verify",`${a}:${i}`],{cwd:e,timeout:1e4}),l=c.trim(),d=jh(l.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(r)}\0`).update(r).digest("hex");return l!==d?void 0:{kind:"merge",original_head:a,original_blob:l}}catch{}}function zh(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return Object.keys(t).length===3&&(t.kind==="rebase"||t.kind==="merge")&&typeof t.original_head=="string"&&ps.test(t.original_head)&&typeof t.original_blob=="string"&&ps.test(t.original_blob)}async function fs(e,t,r,n){if(n!==void 0&&jh(r.original_blob.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(n)}\0`).update(n).digest("hex")!==r.original_blob)return!1;try{let{stdout:i}=await nr("git",["rev-parse","--absolute-git-dir"],{cwd:e,timeout:1e4}),o=new Set(["rebase-merge","rebase-apply","MERGE_HEAD","CHERRY_PICK_HEAD","REVERT_HEAD"]);if((await BR(i.trim())).some(l=>o.has(l)))return!1;let{stdout:a}=await nr("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4});if(a.trim()!==r.original_head)return!1;let{stdout:s}=await nr("git",["rev-parse","--verify",`HEAD:${t}`],{cwd:e,timeout:1e4});if(s.trim()!==r.original_blob)return!1;let{stdout:c}=await nr("git",["hash-object","--",WR.resolve(e,t)],{cwd:e,timeout:1e4});return c.trim()!==r.original_blob?!1:(await nr("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]="35c5d9a8-5ae0-5e97-9ea3-f8a70a5fd7d0")}catch{}})();var KR=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,JR=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,hs=2048,YR=64,XR=1e5,ZR=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 ir(e){return KR.test(e)}var QR=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),ys="bounded_non_sensitive_scalars_v1",eN=new Set(["open","in_progress","blocked","closed","canceled"]),tN=new Set(["risk","confidence","severity"]),rN=new Set(["low","medium","high","critical"]),qh=new Map([["priority",new Set([0,1,2,3,4].map(x))],["status",new Set([...eN].map(x))],...[...tN].map(e=>[e,new Set([...rN].map(x))])]);function Lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Gh(e,t){return Object.keys(e).every(r=>t.has(r))}function gs(e){return Array.isArray(e)&&e.length<=hs&&e.every(t=>typeof t=="string"&&t.length>0&&t.length<=256)}function oo(e){let t=[{value:e,depth:0}],r=0;for(;t.length>0;){let n=t.pop();if(r+=1,r>XR||n.depth>YR)return!1;if(Array.isArray(n.value))for(let i of n.value)t.push({value:i,depth:n.depth+1});else if(Lt(n.value))for(let i of Object.values(n.value))t.push({value:i,depth:n.depth+1})}return!0}function Bh(e){if(!Lt(e))return!1;let t=[void 0,"ours","theirs"],r=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[Gh(e,QR),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"),oo(e.base),oo(e.ours),oo(e.theirs),oo(e.retained),oo(e.discarded),t.includes(e.retained_side),r.includes(e.resolution_basis)].every(Boolean)}function nN(e){if(!Lt(e))return!1;let t=Object.entries(e);return t.length<=hs&&t.every(([r,n])=>r.length>0&&r.length<=256&&typeof n=="string"&&/^[a-f0-9]{64}$/u.test(n))}function iN(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||_s.posix.isAbsolute(e))return!1;let r=_s.posix.normalize(e);return r!==".."&&!r.startsWith("../")&&_s.posix.basename(r,_s.posix.extname(r))===t}function oN(e){return!gs(e.fields_from_theirs)||!gs(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>hs||!e.decisions.every(Bh)?!1:e.merged_field_hashes===void 0||nN(e.merged_field_hashes)}function aN(e){let t=[void 0,"ours","theirs"],r=[void 0,"preferred_side","stable_value_order","latest_document_update"],n=[void 0,"clone_local","hash_only","bounded_inline","mixed"],i=[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")&&r.includes(e.conflict_resolution)&&(e.state==="pending"||e.state==="reconciled")&&n.includes(e.value_availability)&&(e.value_policy===void 0||e.value_policy===ys)&&i.includes(e.evidence_source)}function sN(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 Hh(e,t){if(!Lt(t)||ws(t)===void 0)return!1;let r=Object.keys(t);if(!r.every(i=>i==="pm_value_hash"||i==="pm_value"))return!1;if(!Object.hasOwn(t,"pm_value"))return r.length===1;let n=t.pm_value;return(n===null||qh.get(e)?.has(x(n))===!0)&&kt(n)===t.pm_value_hash}function cN(e){if(!e.decisions.every(n=>n.base===null&&n.ours===null&&n.theirs===null&&Hh(n.field,n.retained)&&Hh(n.field,n.discarded)))return!1;let t=e.decisions.reduce((n,i)=>n+(Lt(i.retained)&&Object.hasOwn(i.retained,"pm_value")?1:0)+(Lt(i.discarded)&&Object.hasOwn(i.discarded,"pm_value")?1:0),0),r=t===0?"hash_only":t===e.decisions.length*2?"bounded_inline":"mixed";return e.value_availability===r&&(t===0||e.value_policy===ys)}function lN(e){return e.operation!==void 0&&!zh(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function dN(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||!Gh(e,ZR)?"required_fields":typeof e.id!="string"||!ir(e.id)?"receipt_id":typeof e.item_id!="string"||!JR.test(e.item_id)?"item_id":iN(e.item_path,e.item_id)?null:"item_path"}function eu(e,t){if(!Lt(e))return"required_fields";let r=dN(e);return r!==null?r:lN(e)?oN(e)?aN(e)?sN(e)?t==="durable"&&!cN(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function tu(e){if(!Lt(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,r=(e.requested_preference==="ours"||e.requested_preference==="theirs")&&e.value_availability==="clone_local";return!t&&!r?e:{...e,decisions:e.decisions.map(n=>!Lt(n)||!Object.hasOwn(n,"retained")||!Object.hasOwn(n,"discarded")?n:{base:ee(void 0),ours:ee(void 0),theirs:ee(void 0),...n})}}function Wh(e){if(!Lt(e))return;if(!gs(e.fields_from_theirs))return"fields_from_theirs";if(!gs(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>hs)return"decisions";let t=e.decisions.findIndex(r=>!Bh(r));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function ru(e,t){return eu(e,t)===null}function ws(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 nu(e,t){let r=mn(t),n=kt(r?void 0:t);return!r&&(t===null||qh.get(e)?.has(x(t))===!0)?{pm_value_hash:n,pm_value:t}:{pm_value_hash: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]="6e5e4691-4858-5a54-82b0-65b97d929b57")}catch{}})();var gN=_N(uN),Jh=16*1024*1024,bs=100;async function iu(e){try{let{stdout:t}=await gN("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 Yh(e,t){let r=Fe.dirname(Fe.resolve(e,t));for(let n=0;n<12;n+=1){if(await M(Fe.join(r,"settings.json")))return r;let i=Fe.dirname(r);if(i===r)break;r=i}return null}function ou(e){return Fe.join(e,"merge-receipts")}function Zn(e){return`${e}.json`}async function Vh(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await io(e.receiptPath,Jh)}catch(o){if(qe(o))return null;throw o}if(t===null)throw new Error(`Receipt ${e.receiptId} settlement source is not a bounded regular file.`);let r;try{r=tu(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!ru(r,e.evidenceSource)||r.id!==e.receiptId||e.settlement!==void 0&&r.operation===void 0||Fe.basename(e.receiptPath)!==Zn(r.id))throw new Error(`Receipt ${e.receiptId} settlement source failed schema or identity validation.`);let{evidence_source:n,...i}=r;return{path:e.receiptPath,fingerprints:au(r),modern:r.value_policy!==void 0,content:`${JSON.stringify({...i,state:"reconciled",reconciled_at:e.reconciledAt,...e.settlement?{settlement:e.settlement}:{}},null,2)}
36
+ `}}function ao(e,t=!1){return De(x({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",requested_preference_applied:e.requested_preference_applied??(e.conflict_resolution??"preferred_side")==="preferred_side",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(r=>({field:r.field,retained_hash:De(x(ee(r.retained))),discarded_hash:De(x(ee(r.discarded)))})):gt(e).decisions}))}function au(e){let t=[ao(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(ao(e,!0)),t}function hN(e,t){let{reconciled_at:r,settlement:n,...i}=e;return t.state==="reconciled"?{...i,state:"reconciled",reconciled_at:t.reconciled_at,...t.settlement===void 0?{}:{settlement:t.settlement}}:{...i,state:"pending"}}async function yN(e,t,r){let n=new Map;for(let i of t){let o=e.get(i.id);if(i.state!=="reconciled"||o===void 0)continue;let a=n.get(o.item_id);if(a===void 0){try{a=await We(Fe.join(r,"history",`${o.item_id}.jsonl`),o.item_id),at(a).ok||(a=[])}catch{a=[]}n.set(o.item_id,a)}let s=o.settlement==="original_git_state_restored",c=x({...gt(o),...s?{reason:o.settlement,operation:o.operation}:{}});if(!a.some(l=>{if(l.op!=="merge_reconcile"||l.record_hash_version===void 0)return!1;let d=l.context?.merge;if(typeof d!="object"||d===null||Array.isArray(d))return!1;let u=d[s?"abandoned_receipts":"receipts"];return Array.isArray(u)&&u.some(m=>x(m)===c)})){let{reconciled_at:l,settlement:d,...u}=o;e.set(o.id,{...u,state:"pending"})}}}function gt(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:ws(t.retained)??kt(mn(t.retained)?void 0:t.retained),discarded_hash:ws(t.discarded)??kt(mn(t.discarded)?void 0:t.discarded)}))}}async function Xh(e){let t=await iu(e.cwd);if(t===null)return null;let r=e.itemPath.trim(),n=/^(['"])(.*)\1$/su.exec(r)?.[2]??r,i=Fe.basename(n,Fe.extname(n)),o={version:1,id:mN(),item_path:n.replaceAll("\\","/"),item_id:i,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(s=>({...s,base:ee(s.base),ours:ee(s.ours),theirs:ee(s.theirs),retained:ee(s.retained),discarded:ee(s.discarded)})),...e.operation?{operation:e.operation}:{},state:"pending",created_at:j(),value_availability:"clone_local"};await hr(t),await q(Fe.join(t,Zn(o.id)),`${JSON.stringify(o,null,2)}
37
37
  `);let a=await Yh(e.cwd,o.item_path);if(a!==null){let s=ou(a),c=o.decisions.map(u=>({field:u.field,base:null,ours:null,theirs:null,retained:nu(u.field,u.retained),discarded:nu(u.field,u.discarded),retained_side:u.retained_side,resolution_basis:u.resolution_basis})),l=c.reduce((u,m)=>u+(Object.hasOwn(m.retained,"pm_value")?1:0)+(Object.hasOwn(m.discarded,"pm_value")?1:0),0),d={...o,decisions:c,value_availability:l===0?"hash_only":l===c.length*2?"bounded_inline":"mixed",value_policy:ys};await hr(s),await q(Fe.join(s,Zn(o.id)),`${JSON.stringify(d,null,2)}
38
- `)}return o}async function Kh(e,t){let r;try{r=await pN(e)}catch(s){let c=await wN(e,s);return{receipts:[],invalid_evidence_count:c?0:1,invalid_evidence:c?[]:[{evidence_source:t,reason:"directory_unreadable"}],invalid_evidence_truncated:!1}}let n=[],i=0,o=[],a=(s,c)=>{if(i+=1,o.length>=bs)return;let l=s.slice(0,-5);o.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},...ir(l)?{receipt_id:l}:{candidate_name_hash:De(s)}})};for(let s of r.sort((c,l)=>c.localeCompare(l))){if(!s.endsWith(".json"))continue;let c=await bN(e,s,t);c.receipt!==void 0?n.push(c.receipt):a(s,c)}return{receipts:n,invalid_evidence_count:i,invalid_evidence:o,invalid_evidence_truncated:i>o.length}}async function wN(e,t,r=fN){if(!$(t))return!1;let n=e;for(;;)try{return(await r(n)).isDirectory()}catch(i){if(!$(i))return!1;let o=Fe.dirname(n);if(o===n)return!0;n=o}}async function bN(e,t,r){let n;try{n=await io(Fe.join(e,t),Jh)}catch{return{reason:"candidate_unreadable"}}if(n===null)return{reason:"candidate_not_bounded_regular_file"};let i;try{i=tu(JSON.parse(n))}catch{return{reason:"candidate_invalid_json"}}let o=eu(i,r);if(o!==null)return{reason:new Set(["receipt_id","item_id","item_path"]).has(o)?"identity_invalid":"schema_invalid",validation_error:o,...o==="collections"?{validation_path:Wh(i)}:{}};let a=i;if(t!==Zn(a.id))return{reason:"identity_invalid",validation_error:"filename"};let{preferred:s,evidence_source:c,...l}=a;return{receipt:{...l,requested_preference:a.requested_preference??s??"ours",requested_preference_applied:a.requested_preference_applied??(a.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:a.conflict_resolution??"preferred_side",evidence_source:r}}}async function kt(e,t={}){let r=await iu(e),n=r===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Kh(r,"clone_local"),i=t.pmRoot??Fe.join(e,".agents","pm"),o=await Kh(ou(i),"durable"),a=new Map(o.receipts.map(l=>[l.id,l])),s=0,c=[];for(let l of n.receipts){let d=a.get(l.id);if(d!==void 0&&!(d.value_policy===void 0?au(l):[ao(l)]).includes(ao(d))){a.delete(l.id),s+=1,n.invalid_evidence.length+o.invalid_evidence.length+c.length<bs&&c.push({evidence_source:"clone_local_and_durable",reason:"copy_provenance_mismatch",receipt_id:l.id});continue}a.set(l.id,d===void 0?l:hN(l,d))}return await yN(a,o.receipts,i),{receipts:[...a.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:n.invalid_evidence_count+o.invalid_evidence_count+s,invalid_evidence:[...n.invalid_evidence,...o.invalid_evidence,...c].slice(0,bs),invalid_evidence_truncated:n.invalid_evidence_truncated||o.invalid_evidence_truncated||n.invalid_evidence_count+o.invalid_evidence_count+s>bs,clone_local_evidence_resolved:r!==null}}async function Zh(e,t={}){return(await kt(e,t)).receipts}function vs(e){let t=[],r=[];for(let n of e)(Array.isArray(n.decisions)&&n.decisions.length>0?t:r).push(n);return{pendingDecisions:t,lossless:r}}async function so(e,t,r={}){let n=await iu(e);if(n===null){if(r.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}let i=t.evidence_source??"clone_local";if(!ru(t,i))throw new Error("Merge receipt trusted settlement input failed schema validation.");let o=j(),a=Fe.join(n,Zn(t.id)),s=await Yh(e,t.item_path),c=s===null?null:Fe.join(ou(s),Zn(t.id)),l=(await Promise.all([Vh({receiptPath:a,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:o,settlement:r.settlement}),...c===null?[]:[Vh({receiptPath:c,receiptId:t.id,evidenceSource:"durable",reconciledAt:o,settlement:r.settlement})]])).filter(d=>d!==null);if(l.length===0){if(r.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}if(!(l.some(d=>d.modern)?[ao(t)]:au(t)).some(d=>l.every(u=>u.fingerprints.includes(d))))throw new Error(`Receipt ${t.id} settlement copies disagree on immutable merge provenance.`);for(let d of l)await q(d.path,d.content)}async function vN(e){let t=await Zh(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:j()}}async function kN(e){let t=await kt(e.cwd??process.cwd(),{...e,includeLossless:!0}),r=t.clone_local_evidence_resolved===!0&&t.invalid_evidence_count===0;return{ok:r,complete:r,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 LD,writeFile as MD}from"node:fs/promises";import $D from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3b307f5a-3d23-5463-b90c-efbc4febe5dd")}catch{}})();var pn=new Set(Ve),EN=Object.freeze({get size(){return pn.size},has(e){return pn.has(e)},entries(){return pn.entries()},keys(){return pn.keys()},values(){return pn.values()},forEach(e,t){pn.forEach(r=>e.call(t,r,r,EN))},[Symbol.iterator](){return pn.values()}});function SN(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function TN(e){return typeof e!="string"?null:Ua(e)}function AN(e){let t=new Map;if(!e)return t;for(let r of e.item_fields)for(let n of r.fields){let i=SN(n.name),o=TN(n.type);if(!i||!o)continue;let a=t.get(i);if(a&&a.type!==o)throw new g(`Extension item field "${i}" is declared with conflicting types: ${a.type}, ${o}`,_.USAGE,{code:"extension_item_field_type_conflict",nextSteps:["Make every active extension declaration for this field use the same type."]});t.set(i,{name:i,type:o})}return t}function Et(e){return[...AN(e).keys()].sort((t,r)=>t.localeCompare(r))}import{AsyncLocalStorage as KN}from"node:async_hooks";import{lstat as JN,realpath as YN}from"node:fs/promises";import XN 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]="f4ae942c-f11f-5d24-95bf-a2abf3c226da")}catch{}})();var st={ok:!1},k=e=>typeof e=="string"?{ok:!0,value:e}:st,H=e=>typeof e=="boolean"?{ok:!0,value:e}:st;function te(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?st:{ok:!0,value:t}}function G(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:st}function R(e,t){return r=>{if(!Array.isArray(r)||t!==void 0&&r.length>t)return st;let n=[];for(let i of r){let o=e(i);if(!o.ok)return st;n.push(o.value)}return{ok:!0,value:n}}}function cu(e,t){return r=>typeof r=="string"&&r.length>0&&r.length<=e&&r===r.trim()&&(t===void 0||t.test(r))?{ok:!0,value:r}:st}function y(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function ks(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return st;let r={};for(let[n,i]of Object.entries(t)){let o=e(i);if(!o.ok)return st;r[n]=o.value}return{ok:!0,value:r}}}function F(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return st;let r=t,n={};for(let[i,o]of Object.entries(e)){let a=o(r[i]);if(!a.ok)return st;a.value!==void 0&&(n[i]=a.value)}return{ok:!0,value:n}}}var IN=F({key:k,values:R(k),required:y(H),aliases:y(R(k)),description:y(k)}),CN=F({command:G("create","update"),option:k,required:y(H),visible:y(H),enabled:y(H)}),ON=F({name:k,description:y(k),default_status:y(k),execution_role:y(G("agent","human","gate")),folder:y(k),aliases:y(R(k)),required_create_fields:y(R(k)),required_create_repeatables:y(R(k)),options:y(R(IN)),command_option_policies:y(R(CN))}),xN=F({id:k,aliases:y(R(k)),roles:y(R(G(...In))),description:y(k),order:y(te())}),RN=F({key:k,metadata_key:y(k),front_matter_key:y(k),cli_flag:y(k),cli_aliases:y(R(k)),description:y(k),type:y(G(...fr)),commands:y(R(G(...Cn))),repeatable:y(H),required:y(H),required_on_create:y(H),required_types:y(R(k)),allow_unset:y(H)}),NN=e=>{if(!Array.isArray(e)||e.length!==2)return st;let[t,r]=e;return typeof t!="string"||typeof r!="string"?st:{ok:!0,value:[t,r]}},DN=F({type:k,allowed_transitions:R(NN)}),PN=y(F({version:y(te({int:!0})),files:y(F({types:y(k),statuses:y(k),fields:y(k),workflows:y(k)})),statuses:y(R(xN)),fields:y(R(RN)),workflow:y(F({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(R(DN)),unknown_field_policy:y(G(...ua))})),LN=y(F({preset:y(G(...Wp)),ownership_enforcement:y(G("none","warn","strict")),create_mode_default:y(G("progressive","strict")),close_validation_default:y(G("off","warn","strict")),require_close_reason:y(H),parent_reference:y(G("warn","strict_error")),metadata_profile:y(G("core","strict","custom")),force_required_for_stale_lock:y(H),create_default_type:y(k),workflow_enforcement:y(G("off","warn","strict")),duplicate_detection_mode:y(G("off","advisory","strict")),duplicate_detection_threshold:y(te({min:0,max:1})),duplicate_detection_limit:y(te({int:!0,min:0,max:20}))})),MN=F({name:k,disabled:y(H),require_trusted:y(H),require_provenance:y(H),sandbox_profile:y(G("none","restricted","strict")),allowed_capabilities:y(R(k)),blocked_capabilities:y(R(k)),allowed_surfaces:y(R(k)),blocked_surfaces:y(R(k)),allowed_commands:y(R(k)),blocked_commands:y(R(k)),allowed_actions:y(R(k)),blocked_actions:y(R(k)),allowed_services:y(R(k)),blocked_services:y(R(k))}),su=G("block","warn"),$N=e=>typeof e=="string"?su(e):F({global:y(su),project:y(su)})(e),FN=y(F({mode:y(G("off","warn","enforce")),trust_mode:y(G("off","warn","enforce")),pm_max_version_exceeded_mode:y($N),require_provenance:y(H),trusted_extensions:y(R(k)),default_sandbox_profile:y(G("none","restricted","strict")),allowed_extensions:y(R(k)),blocked_extensions:y(R(k)),allowed_capabilities:y(R(k)),blocked_capabilities:y(R(k)),allowed_surfaces:y(R(k)),blocked_surfaces:y(R(k)),allowed_commands:y(R(k)),blocked_commands:y(R(k)),allowed_actions:y(R(k)),blocked_actions:y(R(k)),allowed_services:y(R(k)),blocked_services:y(R(k)),extension_overrides:y(R(MN))})),fn=cu(128),jN=F({harness:cu(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:y(R(fn,64)),model_environment_keys:y(R(fn,64)),session_environment_keys:y(R(fn,64)),provenance_environment_keys:y(ks(R(fn,64))),provenance_resolvers:y(ks(G("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:y(R(fn,64)),argv_markers:y(R(fn,64)),client_names:y(R(fn,64))}),UN=F({version:te({int:!0}),id_prefix:k,ids:y(F({token_length:y(te({int:!0,min:4,max:12}))})),author_default:k,agent_identity:y(F({probes_enabled:y(H),identity_vocabulary:y(F({version:te({int:!0,positive:!0}),aliases:ks(cu(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:R(jN)})),mutation_guard:y(F({require_attributed_author:y(H),secret_guard:y(G("off","advise","block")),stale_in_progress_hours:y(te({int:!0,positive:!0}))})),item_format:y(G("toon","json_markdown")),locks:F({ttl_seconds:te({int:!0}),wait_ms:y(te({int:!0,min:0}))}),checkpoints:y(F({retention_days:y(te({int:!0,positive:!0}))})),output:F({default_format:G("toon","json")}),ux:y(F({deprecation_hints:y(H)})),history:y(F({missing_stream:G("auto_create","strict_error"),compact_policy:y(F({enabled:y(H),max_entries:y(te({int:!0,positive:!0})),trigger:y(G("health_warn","auto"))}))})),validation:y(F({sprint_release_format:G("warn","strict_error"),parent_reference:y(G("warn","strict_error")),metadata_profile:y(G("core","strict","custom")),metadata_required_fields:y(R(k)),lifecycle_stale_blocker_reason_patterns:y(R(k)),lifecycle_closure_like_blocked_reason_patterns:y(R(k)),lifecycle_closure_like_resolution_patterns:y(R(k)),lifecycle_closure_like_actual_result_patterns:y(R(k)),estimate_defaults_by_type:y(ks(te({int:!0,positive:!0})))})),governance:LN,workflow:y(F({definition_of_done:R(k)})),testing:y(F({record_results_to_items:H,allow_untrusted_linked_tests:y(H)})),telemetry:y(F({enabled:H,first_run_prompt_completed:y(H),capture_level:y(G("minimal","redacted","max")),endpoint:y(k),installation_id:y(k),retention_days:y(te({int:!0,positive:!0}))})),agent_guidance:y(F({prompt_completed:y(H),declined:y(H),declined_at:y(k),template_version:y(te({int:!0,positive:!0})),last_checked_files:y(R(k))})),item_types:y(F({definitions:R(ON)})),schema:PN,context:y(F({default_depth:y(G("brief","standard","deep")),activity_limit:y(te({int:!0,positive:!0})),stale_threshold_days:y(te({int:!0,positive:!0})),sections:y(F({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:F({enabled:R(k),disabled:R(k),policy:FN}),search:F({score_threshold:te(),hybrid_semantic_weight:y(te()),max_results:te({int:!0}),embedding_model:k,embedding_corpus_max_characters:y(te()),embedding_batch_size:te({int:!0}),embedding_timeout_ms:y(te({int:!0})),scanner_max_batch_retries:te({int:!0}),provider:y(k),default_mode:y(G("auto","keyword","semantic","hybrid")),corpus_fields:y(R(k)),mutation_refresh_policy:y(G("cache_only","semantic_configured","semantic_auto")),query_expansion:y(F({enabled:y(H),provider:y(k)})),rerank:y(F({enabled:y(H),model:y(k),top_k:y(te({int:!0,positive:!0}))})),bm25:y(F({k1:y(te()),b:y(te())}))}),providers:F({openai:F({base_url:k,api_key:k,model:k}),ollama:F({base_url:k,model:k})}),vector_store:F({adapter:y(k),collection_name:y(k),qdrant:F({url:k,api_key:k}),lancedb:F({path:k})})});function lu(e){let t=UN(e);return t.ok?{success:!0,data:t.value}:{success:!1}}import co 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]="af606b47-d071-5724-b1e7-de4e1e5d7385")}catch{}})();var we="_workspace";function lo(e){return co.join(e,"history",`${we}.jsonl`)}function Qh(e,t=e.length){let r=ln();for(let n of e.slice(0,t))r=xr(r,n.patch).document;return Kn(r)}function zN(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function ey(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 HN(e,t){let r=co.resolve(t),n=co.relative(e,r).replaceAll("\\","/");if(n.length===0||n===".."||n.startsWith("../")||co.isAbsolute(n))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:n,absolutePath:r}}async function du(e){let t=await We(lo(e),we),r=bt(t);r.ok||ey(r.errors);let n=zN(t.length===0?da:Qh(t)),i=[],o=[],a=[],s=[];for(let c of Object.keys(n).sort()){let l;try{let d=HN(e,co.resolve(e,c));if(l=await K(d.absolutePath),l===null){a.push(c);continue}let u=JSON.parse(l);(x(u)===x(n[c])?i:o).push(c)}catch{s.push(c)}}return{ok:o.length===0&&a.length===0&&s.length===0,document_count:Object.keys(n).length,matching_documents:i,mismatched_documents:o,missing_documents:a,unreadable_documents:s}}async function Es(e){let t=await ie(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let r=lo(e.pmRoot),n=await We(r,we),i=bt(n);i.ok||ey(i.errors);let o=n.length===0?da:Qh(n),a=cn({nowIso:j(),author:e.author,op:e.op,before:o,after:o,message:e.message,context:e.context});return await Zi(r,a),{entry:a,historyPath:r}}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]="a0ca9902-540c-50fe-a4e2-9c234c4a01f3")}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]="de43e8e6-d7ef-53cc-94b0-ccdf1c4f94a3")}catch{}})();var qN={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},ty=120;function uu(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ny(e){let t=new Map;for(let[r,n]of Object.entries(e))t.set(r.toLowerCase(),n);return t}var GN=ny(qN),ry=new WeakMap;function BN(e){let t=ry.get(e);if(t)return t;let r=ny(e);return ry.set(e,r),r}function iy(e,t){let r=(e??"").trim().toLowerCase();if(r.length===0)return ty;if(t){let i=BN(t).get(r);if(uu(i))return Math.floor(i)}let n=GN.get(r);return uu(n)?Math.floor(n):ty}function oy(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[r,n]of Object.entries(e)){let i=r.trim();i.length===0||!uu(n)||(t[i]=Math.floor(n))}return t}import{stat as WN}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]="78c79deb-5cf0-54fe-b98c-a0d5b3671ab2")}catch{}})();var Ss=new Map;function ay(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}async function VN(e){try{let t=await WN(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Rr(e){let t=ay(e),r=await Promise.all(t.map(n=>VN(n)));return r.sort((n,i)=>n.path.localeCompare(i.path)),r}function uo(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let n=e[r],i=t[r];if(n.path!==i.path||n.mtime_ms!==i.mtime_ms||n.size!==i.size)return!1}return!0}function sy(e){return Ss.get(e)}function Ts(e,t){let r=ay(t.tracked_paths),n=[...t.signatures].map(i=>({path:i.path,mtime_ms:i.mtime_ms,size:i.size})).sort((i,o)=>i.path.localeCompare(o.path));Ss.set(e,{tracked_paths:r,signatures:n,value:t.value})}function Nr(e){if(e){Ss.delete(e);return}Ss.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]="bbb5e299-541d-5fff-8422-855c85cf7a31")}catch{}})();var ZN=new KN;function uy(e){let t=XN.resolve(e);return ZN.getStore()?.some(([r,n])=>r.has(t)&&n())??!1}var my=Symbol("pm.settings.persist_source"),QN=128,eD=new Set(["off","advisory","strict"]);function cy(e){return structuredClone(Nc[e])}function tD(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:_e.governance.preset}function rD(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,r={};t&&t.length>0&&(r.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(r.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(r.require_close_reason=e.require_close_reason),eD.has(String(e.duplicate_detection_mode))&&(r.duplicate_detection_mode=e.duplicate_detection_mode);let n=e.duplicate_detection_threshold;[typeof n=="number",Number.isFinite(n),Number(n)>=0,Number(n)<=1].every(Boolean)&&(r.duplicate_detection_threshold=n);let i=e.duplicate_detection_limit;return[typeof i=="number",Number.isSafeInteger(i),Number(i)>=0,Number(i)<=20].every(Boolean)&&(r.duplicate_detection_limit=i),r}function Dr(e){let t=e.governance??{},r=tD(t.preset),n=rD(t);if(r==="custom"){let a=cy("default"),s=n.require_close_reason??a.require_close_reason;return{preset:r,ownership_enforcement:t.ownership_enforcement??a.ownership_enforcement,create_mode_default:t.create_mode_default??a.create_mode_default,close_validation_default:t.close_validation_default??a.close_validation_default,parent_reference:t.parent_reference??a.parent_reference,metadata_profile:t.metadata_profile??a.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??a.force_required_for_stale_lock,...n,require_close_reason:s,duplicate_detection_mode:n.duplicate_detection_mode??a.duplicate_detection_mode,duplicate_detection_threshold:n.duplicate_detection_threshold??a.duplicate_detection_threshold,duplicate_detection_limit:n.duplicate_detection_limit??a.duplicate_detection_limit}}let i=cy(r),o=n.require_close_reason??i.require_close_reason;return{preset:r,...i,...n,require_close_reason:o}}function py(){return structuredClone(_e)}function nD(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:_e.search.mutation_refresh_policy}function iD(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function oD(e){return typeof e=="boolean"?e:_e.search.query_expansion.enabled}function aD(e){return typeof e!="string"?_e.search.query_expansion.provider:e.trim()}function sD(e){return typeof e=="boolean"?e:_e.search.rerank.enabled}function cD(e){return typeof e!="string"?_e.search.rerank.model:e.trim()}function lD(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:_e.search.rerank.top_k}function dD(e){if(typeof e!="string")return _e.vector_store.collection_name;let t=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,QN);return t.length>0?t:_e.vector_store.collection_name}function mu(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function uD(e,t){let r=e.schema,n=mu(r?.statuses),i=mu(r?.fields),o=mu(r?.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:Cs(e.item_types?.definitions),has_source_schema_statuses:n.present,source_schema_statuses:n.values,has_source_schema_fields:i.present,source_schema_fields:i.values,has_source_schema_type_workflows:o.present,source_schema_type_workflows:o.values,runtime_item_type_definitions:Cs(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 fy(e,t){Object.defineProperty(e,my,{value:t,writable:!0,configurable:!0,enumerable:!1})}function mD(e){let t=e[my];if(!(!t||typeof t!="object"))return t}function Is(e){let t=structuredClone(e.settings),r=mD(e.settings);return r&&fy(t,r),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function pD(e,t,r){let n=Ct(t);return[r,Ge(e,n.files.types,Pe.types),Ge(e,n.files.statuses,Pe.statuses),Ge(e,n.files.fields,Pe.fields),Ge(e,n.files.workflows,Pe.workflows)]}async function fD(e,t,r){let n=await Rr(t);Ts(e,{tracked_paths:t,signatures:n,value:Is(r)})}async function _D(e,t,r){try{await fD(e,t,r)}catch{Nr(e)}}function ly(e,t){return e.find(r=>r.path===t)}function gD(e,t,r){for(let n of r){let i=ly(e,n),o=ly(t,n);if(!i||!o||!uo([i],[o]))return!1}return!0}async function pu(e,t,r,n,i){try{let o=await Rr(t);if(!gD(n,o,i)){Nr(e);return}Ts(e,{tracked_paths:t,signatures:o,value:Is(r)})}catch{Nr(e)}}function Mt(e){return{settings:py(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function _y(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function hD(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function yD(e){let t=_e.agent_guidance,r=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 r=="number"&&Number.isInteger(r)&&r>0?r:t.template_version,last_checked_files:hD(e?.last_checked_files??t.last_checked_files)}}function St(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function wD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.mode}function bD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.trust_mode}function gy(e){return e==="none"||e==="restricted"||e==="strict"?e:_e.extensions.policy.default_sandbox_profile}function vD(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let r={name:t};e.disabled===!0&&(r.disabled=!0),e.require_trusted===!0&&(r.require_trusted=!0),e.require_provenance===!0&&(r.require_provenance=!0),e.sandbox_profile!==void 0&&(r.sandbox_profile=gy(e.sandbox_profile));let n=St(e.allowed_capabilities),i=St(e.blocked_capabilities),o=St(e.allowed_surfaces),a=St(e.blocked_surfaces),s=St(e.allowed_commands),c=St(e.blocked_commands),l=St(e.allowed_actions),d=St(e.blocked_actions),u=St(e.allowed_services),m=St(e.blocked_services);return n.length>0&&(r.allowed_capabilities=n),i.length>0&&(r.blocked_capabilities=i),o.length>0&&(r.allowed_surfaces=o),a.length>0&&(r.blocked_surfaces=a),s.length>0&&(r.allowed_commands=s),c.length>0&&(r.blocked_commands=c),l.length>0&&(r.allowed_actions=l),d.length>0&&(r.blocked_actions=d),u.length>0&&(r.allowed_services=u),m.length>0&&(r.blocked_services=m),r}function kD(e){let t=new Map;for(let r of e??[]){let n=vD(r);n&&t.set(n.name,n)}return[...t.values()].sort((r,n)=>r.name.localeCompare(n.name))}function fu(e){return e==="block"||e==="warn"?e:void 0}function ED(e){if(typeof e=="string")return fu(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=fu(e.global),r=fu(e.project);return t===void 0&&r===void 0?void 0:{...t!==void 0?{global:t}:{},...r!==void 0?{project:r}:{}}}}function ct(e,t){return St(e?.[t]??_e.extensions.policy[t])}function SD(e){let t=ED(e?.pm_max_version_exceeded_mode);return{mode:wD(e?.mode),trust_mode:bD(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:ct(e,"trusted_extensions"),default_sandbox_profile:gy(e?.default_sandbox_profile),allowed_extensions:ct(e,"allowed_extensions"),blocked_extensions:ct(e,"blocked_extensions"),allowed_capabilities:ct(e,"allowed_capabilities"),blocked_capabilities:ct(e,"blocked_capabilities"),allowed_surfaces:ct(e,"allowed_surfaces"),blocked_surfaces:ct(e,"blocked_surfaces"),allowed_commands:ct(e,"allowed_commands"),blocked_commands:ct(e,"blocked_commands"),allowed_actions:ct(e,"allowed_actions"),blocked_actions:ct(e,"blocked_actions"),allowed_services:ct(e,"allowed_services"),blocked_services:ct(e,"blocked_services"),extension_overrides:kD(e?.extension_overrides??_e.extensions.policy.extension_overrides)}}function TD(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase().replaceAll("-","_")))].filter(t=>t.length>0).sort((t,r)=>t.localeCompare(r)).filter(t=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(t))}function As(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function AD(e){return Array.isArray(e)?e:[]}function ID(e,t,r){return{...t.validation,...e.validation,parent_reference:r.parent_reference,metadata_profile:r.metadata_profile,metadata_required_fields:TD(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:As(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:As(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:As(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:As(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:oy(e.validation?.estimate_defaults_by_type)}}function CD(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 OD(e,t){return{...t.search,...e.search,default_mode:iD(e.search?.default_mode),mutation_refresh_policy:nD(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:oD(e.search?.query_expansion?.enabled),provider:aD(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:sD(e.search?.rerank?.enabled),model:cD(e.search?.rerank?.model),top_k:lD(e.search?.rerank?.top_k)}}}function xD(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:dD(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function RD(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function ND(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 DD(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function Cs(e){let t=(e??[]).map(n=>Ra(n)).filter(n=>n!==null),r=new Map;for(let n of t)r.set(n.name.toLowerCase(),n);return[...r.values()].sort((n,i)=>n.name.localeCompare(i.name))}function hy(e){let t=py(),r=Dr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:RD(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:ID(e,t,r),governance:r,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:CD(e,t),agent_guidance:yD(e.agent_guidance??t.agent_guidance),item_types:{definitions:Cs(e.item_types?.definitions)},schema:Ct(e.schema??t.schema),context:ND(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:SD(e.extensions.policy??t.extensions.policy)},search:OD(e,t),providers:DD(e,t),vector_store:xD(e,t)}}async function PD(e){let t;try{t=await YN(e)}catch(s){if(qe(s))return Mt();throw s}let r=ke(t),n;try{n=await JN(r)}catch(s){if(qe(s))return Mt();throw s}if(!n.isFile())throw Fc();let i;try{i=await Qp(r,Fc())}catch(s){if(qe(s))return Mt();throw s}let o;try{o=JSON.parse(i)}catch{return Mt("settings_read_invalid_json")}let a=lu(o);return a.success?{settings:hy(a.data),metadata:{has_explicit_item_format:_y(o)},warnings:a.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[]}:Mt("settings_read_invalid_schema")}async function Pr(e){if(uy(e))return PD(e);let t=ke(e),r=[t];await $e({path:t,scope:"project"});let n=sy(e);if(n){let l=await Rr(n.tracked_paths);if(uo(l,n.signatures))return Is(n.value)}let i=await Rr([t]),o;try{o=await K(t)}catch{return Mt("settings_read_fs_error")}if(o===null){let l=Mt();return await pu(e,[t],l,i,[t]),l}let a=await Rr([t]);if(!uo(i,a))return Nr(e),Pr(e);let s;try{s=JSON.parse(o)}catch{let l=Mt("settings_read_invalid_json");return await pu(e,[t],l,a,[t]),l}let c=lu(s);if(!c.success){let l=Mt("settings_read_invalid_schema");return await pu(e,[t],l,a,[t]),l}try{let l=hy(c.data),d=pD(e,l.schema,t);r=d;let u=await Rr(d),m=await lf(e,l.schema),p=await df(e,l.schema),f=await Rr(d),w={...l,item_types:{definitions:Cs([...l.item_types.definitions,...AD(p.type_definitions_from_file)])},schema:p.schema};fy(w,uD(c.data,w));let h={settings:w,metadata:{has_explicit_item_format:_y(s)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(b=>`runtime_schema_bootstrap_created:${b}`),...p.warnings]};return m.created_paths.length===0?uo(u,f)?Ts(e,{tracked_paths:d,signatures:f,value:Is(h)}):Nr(e):Nr(e),h}catch{let l=Mt("settings_read_merge_failed");return await _D(e,r,l),l}}async function X(e){return(await Pr(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]="932450d7-963b-566b-a5ad-1b577a895e8e")}catch{}})();var gu=["item","history","relationship","json"];function FD(e){let t=e.trim().toLowerCase();if(gu.includes(t))return t;throw new g(`Unknown merge artifact "${e}". Supported values: ${gu.join(", ")}.`,_.USAGE)}function jD(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 _u(e,t){try{return await LD(e,"utf8")}catch{throw new g(`Cannot read merge ${t} file at ${e}.`,_.NOT_FOUND)}}async function UD(e){let t=Z(process.cwd(),e.path);return await M(ke(t))?X(t):null}function zD(e,t){return e.endsWith(".md")?"json_markdown":e.endsWith(".toon")?"toon":t?.item_format??"toon"}async function HD(e,t){let r=FD(e.artifact),n=jD(e.prefer),i=$D.resolve(e.outputPath??e.oursPath),[o,a,s]=await Promise.all([_u(e.basePath,"base"),_u(e.oursPath,"ours"),_u(e.theirsPath,"theirs")]),c,l,d=[],u={};if(r==="history"){let p=Yd(o,a,s);c=p.merged,u.history={strategy:p.strategy,common_entries:p.common_entries,entries_from_ours:p.entries_from_ours,entries_from_theirs:p.entries_from_theirs,entries_total:p.entries_total,reanchored:p.reanchored}}else if(r==="relationship"){let p=Xd(o,a,s);c=p.merged,u.relationship={strategy:p.strategy,common_entries:p.common_entries,entries_from_ours:p.entries_from_ours,entries_from_theirs:p.entries_from_theirs,entries_total:p.entries_total,reanchored:p.reanchored}}else if(r==="item"){let p=await UD(t),f=zD(e.itemPath??i,p),w=Et(V()),h=Zd(o,a,s,{format:f,schema:p?.schema,extensionFieldNames:w,preferred:n,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=Ke(c,{format:f,schema:p?.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:n,conflictResolution:"latest_document_update",fieldsFromTheirs:h.fields_from_theirs,unionFields:h.union_fields,mergedFieldHashes:Object.fromEntries(I.map(A=>[A,vt(A==="body"?b.body:v[A])])),decisions:h.conflict_decisions,operation:await Uh(process.cwd(),e.itemPath,a)}}}else{let p=Qd(o,a,s,{preferred:n});c=p.merged,d.push(...p.conflict_paths),u.json={paths_from_theirs:p.paths_from_theirs}}if(await MD(i,c,"utf8"),l!==void 0){let p=await Xh(l);p!==null&&(u.receipt=gt(p))}let m=[];if(d.length>0){let p=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.`;m.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. ${p} Review the merged file, re-apply the discarded change if needed, then "git add" it.`)}return r==="history"&&u.history?.reanchored&&m.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:r,output_path:i,requested_preference:n,conflicts:d,...u,guidance:m,generated_at:j()}}import yu from"node:fs/promises";import Os 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]="658ab1c3-da92-5af6-a170-85ed7befaad6")}catch{}})();function Lr(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function wu(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:Pt(t),suggested_retry_args:t}}function xs(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 hu(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 qD(e){let t=Os.resolve(e),r=Os.parse(t).root,n=Os.dirname(t);for(;n!==r;){let i;try{i=await yu.stat(n)}catch(o){if(Lr(o,"ENOTDIR"))throw xs(e);if(!Lr(o,"ENOENT"))throw o;n=Os.dirname(n);continue}if(!i.isDirectory())throw xs(e);return}}async function Qn(e){let t;try{t=await yu.stat(e)}catch(r){throw Lr(r,"ENOENT")?(await qD(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:wu(e)})):Lr(r,"ENOTDIR")?xs(e):Lr(r,"EACCES")||Lr(r,"EPERM")?hu(e):r}if(!t.isDirectory())throw xs(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw hu(e);try{await(await yu.opendir(e)).close()}catch(r){throw Lr(r,"EACCES")||Lr(r,"EPERM")?hu(e):r}}async function je(e){if(await Qn(e),!await M(ke(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:wu(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 rP,readFile as Iu,realpath as Mr}from"node:fs/promises";import{constants as nP}from"node:fs";import{execFile as iP}from"node:child_process";import re from"node:path";import{promisify as oP}from"node:util";import GD 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]="1de99e25-e132-5071-833e-37361b4cc7e6")}catch{}})();var yy=["runtime/","search/","locks/","transactions/","checkpoints/"];function wy(e){let t=e.replaceAll("\\","/");return GD.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]="6d1f8e03-97b4-5d83-b85c-e47f39c07d48")}catch{}})();var BD="PM_SOURCE_CONTEXT_ACCESS",WD="PM_ALLOW_SOURCE_CONTEXT_WRITES";function by(e){let t=e[BD],r=t===void 0||t.trim().toLowerCase()==="write"?"write":"read_only",n=r==="read_only"&&e[WD]?.trim()==="1";return{access:r,write_override_applied:n,source_writes_allowed:r==="write"||n}}import{execFile as VD}from"node:child_process";import KD from"node:path";import{promisify as JD}from"node:util";import{setTimeout as YD}from"node:timers/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]="f8f33f3d-854e-5cb4-b0bf-8d2d89da27e8")}catch{}})();var vu=JD(VD);async function ei(e,t){let r=performance.now()+5e3,n=25;for(;;)try{await vu("git",["config",...t],{cwd:e,env:{...$t(),LC_ALL:"C"},timeout:1e4});return}catch(i){let o=r-performance.now();if(typeof i!="object"||i===null||!("stderr"in i)||typeof i.stderr!="string"||!/could not lock config file [^\r\n]+: File exists/u.test(i.stderr)||o<=0)throw i;await YD(Math.min(n,o)),n=Math.min(n*2,200)}}function $t(){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 bu(e,t){try{return(await vu("git",["config","--local",...t==="core.bare"||t==="extensions.worktreeConfig"?["--type=bool"]:[],"--get",t],{cwd:e,env:$t(),timeout:1e4})).stdout.trim()}catch(r){if(typeof r=="object"&&r!==null&&"code"in r&&r.code===1)return;throw r}}async function vy(e){if(await bu(e,"extensions.worktreeConfig")==="true")return"--worktree";let{stdout:t}=await vu("git",["rev-parse","--path-format=absolute","--git-dir","--git-common-dir"],{cwd:e,env:$t(),timeout:1e4}),[r,n]=t.trim().split(/\r?\n/);if(r===n)return"--local";let i=KD.join(n,"config.worktree");for(let o of["core.bare","core.worktree"]){let a=await bu(e,o);a===void 0||o==="core.bare"&&a!=="true"||(await ei(e,["--file",i,o,a]),await ei(e,["--local","--unset-all",o]))}for(let o of["pm-item-toon","pm-item-markdown","pm-history","pm-relationship","pm-json"])for(let a of["name","driver"]){let s=`merge.${o}.${a}`,c=await bu(e,s);c!==void 0&&await ei(e,["--file",i,s,c])}return await ei(e,["--local","extensions.worktreeConfig","true"]),"--worktree"}import ky from"node:fs";import Rs 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]="2d40ac36-0627-5636-9679-5669dbacf06b")}catch{}})();var Ey="@unbrained/pm-cli";var Su=/\b(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-(\d+))?\b/u,Tu="2026.8.31";function Ns(e){let t=e.match(Su);return t?[Number(t[1]),Number(t[2]),Number(t[3]),Number(t[4]??0)]:null}function Au(e,t){let r=Ns(e),n=Ns(t);if(!r||!n)return null;for(let i=0;i<r.length;i+=1){let o=r[i]-n[i];if(o!==0)return Math.sign(o)}return 0}function ku(e){return Au(e,Tu)!==-1?3:2}function Eu(e){try{let t=JSON.parse(ky.readFileSync(e,"utf8"));return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function XD(e){let t=[...e.matchAll(/(<=|<)\s*v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/gu)].map(n=>({inclusive:n[1]==="<=",version:n[2]})),r=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 r?[...t,{inclusive:!0,version:r[1]}]:t}function ZD(e){let t=e.split("||").map(r=>XD(r));return{bounded:t.some(r=>r.length>0),compatible:t.some(r=>r.every(n=>{let i=Au(Tu,n.version);return i!==null&&(n.inclusive?i!==1:i===-1)}))}}function QD(e){return["dependencies","devDependencies","optionalDependencies","peerDependencies"].flatMap(t=>{let r=e[t];if(typeof r!="object"||r===null)return[];let n=r[Ey],i=typeof n=="string"?n.trim():"",o=/^[<!]/u.test(i)?void 0:i.match(Su)?.[0];if(!o)return[];let a=/^(?:=|v)?\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?$/u.test(i),s=ZD(i);return[{version:o,constraint:a?"exact":s.bounded?"range":"minimum",...a?{}:{declaration:i},history_epoch_compatible:a?Au(o,Tu)!==-1:s.compatible}]})}function eP(e){let t=Eu(Rs.join(e,"package-lock.json"))?.packages;if(typeof t!="object"||t===null)return;let r=t["node_modules/@unbrained/pm-cli"];if(typeof r!="object"||r===null)return;let n=r.version;return typeof n=="string"?n:void 0}function tP(e,t){try{let r=ky.readFileSync(Rs.join(e,t),"utf8").split(/\r?\n/u),n=r.findIndex(a=>a.includes(Ey));if(n<0)return;let i=r[n].match(/^\s*/u)[0].length,o=[r[n]];for(let a=n+1;a<r.length;a+=1){let s=r[a],c=s.trim(),l=s.match(/^\s*/u)[0].length;if(c.length>0&&l<=i)break;o.push(s)}return o.join(`
39
- `).match(/^\s*version(?::\s*|\s+)["']?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/mu)?.[1]??o[0].match(Su)?.[0]}catch{return}}function Sy(e){let t=[],r=Eu(Rs.join(e,"package.json"));r&&t.push(...QD(r).map(o=>({...o,source:"package.json"})));let n=Eu(Rs.join(e,"node_modules","@unbrained","pm-cli","package.json"))?.version;typeof n=="string"&&Ns(n)&&t.push({version:n,source:"installed-package",constraint:"exact",history_epoch_compatible:ku(n)===3});let i=eP(e);i&&Ns(i)&&t.push({version:i,source:"package-lock.json",constraint:"exact",history_epoch_compatible:ku(i)===3});for(let o of["pnpm-lock.yaml","yarn.lock"]){let a=tP(e,o);a&&t.push({version:a,source:o,constraint:"exact",history_epoch_compatible:ku(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]="36ccb98d-6645-52fe-aac2-be11f3a63c25")}catch{}})();var _n=oP(iP),mo="# pm-cli:merge-drivers:start",Iy="# pm-cli:merge-drivers:end",ti="# pm-cli:merge-drivers:v2:start",Cu="# pm-cli:merge-drivers:v2:end",aP="merge-fence",sP="merge-attributes";function Ty(e){return`'${e.replaceAll("'",`'"'"'`)}'`}async function cP(e,t){let r=await Mr(e);if(/(?:^|[\\/])bun-node-[^\\/]+[\\/]bun(?:\.exe)?$/iu.test(r))return;let{stdout:n}=await _n(e,["--version"],{encoding:"utf8",windowsHide:!0,timeout:1e4});return n.trim()===t?r:void 0}async function lP(){let e=it(import.meta.url,["../../.."]),t=process.execPath,r=!1,n=await Mr(process.execPath),i=process.versions.bun,o=(process.env.PATH??"").split(re.delimiter).filter(s=>re.isAbsolute(s)).map(s=>re.join(s,i===void 0?re.basename(process.execPath):process.platform==="win32"?"bun.exe":"bun")),a=i===void 0?o:[process.env.npm_execpath??"",...o,n].filter(s=>re.isAbsolute(s)&&/^(?:bun|bun\.exe)$/iu.test(re.basename(s)));for(let s of a)try{if(await rP(s,nP.X_OK),i!==void 0){let c=await cP(s,i);if(c!==void 0){t=c,r=!0;break}continue}if(s!==n&&await Mr(s)===n){t=s;break}}catch{}if(i!==void 0&&!r)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`${Ty(t)} ${Ty(re.join(e,"dist","cli.js"))}`}var Cy=[{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 Oy(e){let t=e.explicitPath?.trim(),r=e.environment.PM_SOURCE_WORKSPACE_ROOT?.trim(),n=e.environment.PM_SOURCE_PM_PATH?.trim(),i=by(e.environment),o=!!(r&&n),a=t===void 0&&o&&(e.dryRun||i.source_writes_allowed);if(t!==void 0){let s=Z(e.cwd,t);return{pm_root:s,workspace_start:s,source_coordinates_available:o,source_context_selected:!1,source_policy:i}}return a?{pm_root:re.resolve(n),workspace_start:re.resolve(r),source_coordinates_available:!0,source_context_selected:!0,source_policy:i}:{pm_root:o?Z(e.cwd,".agents/pm"):Z(e.cwd),workspace_start:e.cwd,source_coordinates_available:o,source_context_selected:!1,source_policy:i}}async function At(e){try{let{stdout:t}=await _n("git",["rev-parse","--show-toplevel"],{cwd:e,env:$t(),encoding:"utf8",windowsHide:!0,timeout:1e4});return await Mr(t.trim())}catch{return null}}async function xy(e){let t=await At(e);if(t===null)throw new g("pm merge install requires a git repository (merge drivers are git configuration).",_.USAGE);return t}function Ou(e,t){return re.relative(e,t).replaceAll("\\","/")}function Tt(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function Ay(e,t){if(e[t]!=="'")return null;let r="";for(let n=t+1;n<e.length;n+=1){if(e.startsWith(`'"'"'`,n)){r+="'",n+=4;continue}if(e[n]==="'")return{value:r,nextOffset:n+1};r+=e[n]}return null}async function dP(e,t,r){if(Sy(t).filter(i=>i.constraint==="exact").some(i=>i.version!==r))return!1;let n=await At(e);if(n!==null&&n!==await Mr(t)){let i=await Promise.all([n,t].map(async o=>{let a=await _n("git",["rev-parse","--path-format=absolute","--git-common-dir"],{cwd:o,env:$t(),timeout:1e4});return Mr(a.stdout.trim())}));if(i[0]===i[1])return!1}return!0}async function uP(e,t,r){let n=Ay(e,0);if(n===null||e[n.nextOffset]!==" ")return!1;let i=Ay(e,n.nextOffset+1);if(i===null||e.slice(i.nextOffset)!==t||!/^(?:node|bun)(?:\.exe)?$/iu.test(re.basename(n.value))||re.basename(i.value)!=="cli.js"||re.basename(re.dirname(i.value))!=="dist"||!await M(n.value)||!await M(i.value))return!1;try{let o=re.dirname(re.dirname(i.value)),a=JSON.parse(await Iu(re.join(o,"package.json"),"utf8")),s=typeof a.bin=="string"?a.bin:a.bin?.pm;return await dP(o,r,a.version)?a.name==="@unbrained/pm-cli"&&s==="dist/cli.js":!1}catch{return!1}}function Ds(e,t){let r=e.length>0?`${e}/`:"",n=[`${Tt(`${r}**/*.toon`)} merge=pm-item-toon`,`${Tt(`${r}**/*.md`)} merge=pm-item-markdown`];for(let i of t)n.push(`${Tt(`${r}${i}/*.toon`)} merge=pm-item-toon`),n.push(`${Tt(`${r}${i}/*.md`)} merge=pm-item-markdown`);return n.push(`${Tt(`${r}**/*.jsonl`)} merge=pm-relationship`),n.push(`${Tt(`${r}history/*.jsonl`)} merge=pm-history`),n.push(`${Tt(`${r}settings.json`)} merge=pm-json`),n.push(`${Tt(`${r}**/*.json`)} merge=pm-json`),n.push(`${Tt(`${r}extensions/**`)} -merge`),n.push(`${Tt(`${r}extensions/.managed-extensions.json`)} merge=pm-json`),n}function Ry(e){let t=[],r=0;for(;r<e.length;){let n=e.indexOf(mo,r),i=e.indexOf(ti,r),o=n===-1?i:i===-1?n:Math.min(n,i);if(o===-1)break;let a=o===i,s=a?ti:mo,c=a?Cu:Iy,l=e.indexOf(c,o+s.length),d=l===-1?e.length:l+c.length;t.push({start:o,end:d,closed:l!==-1,lines:e.slice(o+s.length,l===-1?d:l).split(`
40
- `).map(u=>u.trim()).filter(Boolean)}),r=d}return t}function Ny(e,t,r){let n=new Set(t),i=Tt(r.length>0?`${r}/`:"").slice(0,-1);return e.some(o=>n.has(o)||o.startsWith(i)&&/^[^/]+\/\*\.(?:toon|md)" merge=pm-item-(?:toon|markdown)$/u.test(o.slice(i.length)))}async function Dy(e,t,r,n){let i=re.join(e,".gitattributes"),o=n?null:(await _n("git",["rev-parse","--absolute-git-dir"],{cwd:e,env:$t(),encoding:"utf8",windowsHide:!0,timeout:1e4})).stdout.trim(),a=o===null?null:await ie(o,sP,120,"merge-fence",!1,!0,5e3);try{let s=await K(i)??"",c=[ti,...r,Cu].join(`
38
+ `)}return o}async function Kh(e,t){let r;try{r=await pN(e)}catch(s){let c=await wN(e,s);return{receipts:[],invalid_evidence_count:c?0:1,invalid_evidence:c?[]:[{evidence_source:t,reason:"directory_unreadable"}],invalid_evidence_truncated:!1}}let n=[],i=0,o=[],a=(s,c)=>{if(i+=1,o.length>=bs)return;let l=s.slice(0,-5);o.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},...ir(l)?{receipt_id:l}:{candidate_name_hash:De(s)}})};for(let s of r.sort((c,l)=>c.localeCompare(l))){if(!s.endsWith(".json"))continue;let c=await bN(e,s,t);c.receipt!==void 0?n.push(c.receipt):a(s,c)}return{receipts:n,invalid_evidence_count:i,invalid_evidence:o,invalid_evidence_truncated:i>o.length}}async function wN(e,t,r=fN){if(!$(t))return!1;let n=e;for(;;)try{return(await r(n)).isDirectory()}catch(i){if(!$(i))return!1;let o=Fe.dirname(n);if(o===n)return!0;n=o}}async function bN(e,t,r){let n;try{n=await io(Fe.join(e,t),Jh)}catch{return{reason:"candidate_unreadable"}}if(n===null)return{reason:"candidate_not_bounded_regular_file"};let i;try{i=tu(JSON.parse(n))}catch{return{reason:"candidate_invalid_json"}}let o=eu(i,r);if(o!==null)return{reason:new Set(["receipt_id","item_id","item_path"]).has(o)?"identity_invalid":"schema_invalid",validation_error:o,...o==="collections"?{validation_path:Wh(i)}:{}};let a=i;if(t!==Zn(a.id))return{reason:"identity_invalid",validation_error:"filename"};let{preferred:s,evidence_source:c,...l}=a;return{receipt:{...l,requested_preference:a.requested_preference??s??"ours",requested_preference_applied:a.requested_preference_applied??(a.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:a.conflict_resolution??"preferred_side",evidence_source:r}}}async function Et(e,t={}){let r=await iu(e),n=r===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Kh(r,"clone_local"),i=t.pmRoot??Fe.join(e,".agents","pm"),o=await Kh(ou(i),"durable"),a=new Map(o.receipts.map(l=>[l.id,l])),s=0,c=[];for(let l of n.receipts){let d=a.get(l.id);if(d!==void 0&&!(d.value_policy===void 0?au(l):[ao(l)]).includes(ao(d))){a.delete(l.id),s+=1,n.invalid_evidence.length+o.invalid_evidence.length+c.length<bs&&c.push({evidence_source:"clone_local_and_durable",reason:"copy_provenance_mismatch",receipt_id:l.id});continue}a.set(l.id,d===void 0?l:hN(l,d))}return await yN(a,o.receipts,i),{receipts:[...a.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:n.invalid_evidence_count+o.invalid_evidence_count+s,invalid_evidence:[...n.invalid_evidence,...o.invalid_evidence,...c].slice(0,bs),invalid_evidence_truncated:n.invalid_evidence_truncated||o.invalid_evidence_truncated||n.invalid_evidence_count+o.invalid_evidence_count+s>bs,clone_local_evidence_resolved:r!==null}}async function Zh(e,t={}){return(await Et(e,t)).receipts}function vs(e){let t=[],r=[];for(let n of e)(Array.isArray(n.decisions)&&n.decisions.length>0?t:r).push(n);return{pendingDecisions:t,lossless:r}}async function so(e,t,r={}){let n=await iu(e);if(n===null){if(r.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}let i=t.evidence_source??"clone_local";if(!ru(t,i))throw new Error("Merge receipt trusted settlement input failed schema validation.");let o=j(),a=Fe.join(n,Zn(t.id)),s=await Yh(e,t.item_path),c=s===null?null:Fe.join(ou(s),Zn(t.id)),l=(await Promise.all([Vh({receiptPath:a,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:o,settlement:r.settlement}),...c===null?[]:[Vh({receiptPath:c,receiptId:t.id,evidenceSource:"durable",reconciledAt:o,settlement:r.settlement})]])).filter(d=>d!==null);if(l.length===0){if(r.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}if(!(l.some(d=>d.modern)?[ao(t)]:au(t)).some(d=>l.every(u=>u.fingerprints.includes(d))))throw new Error(`Receipt ${t.id} settlement copies disagree on immutable merge provenance.`);for(let d of l)await q(d.path,d.content)}async function vN(e){let t=await Zh(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:j()}}async function kN(e){let t=await Et(e.cwd??process.cwd(),{...e,includeLossless:!0}),r=t.clone_local_evidence_resolved===!0&&t.invalid_evidence_count===0;return{ok:r,complete:r,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 LD,writeFile as MD}from"node:fs/promises";import $D from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3b307f5a-3d23-5463-b90c-efbc4febe5dd")}catch{}})();var pn=new Set(Ve),EN=Object.freeze({get size(){return pn.size},has(e){return pn.has(e)},entries(){return pn.entries()},keys(){return pn.keys()},values(){return pn.values()},forEach(e,t){pn.forEach(r=>e.call(t,r,r,EN))},[Symbol.iterator](){return pn.values()}});function SN(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function TN(e){return typeof e!="string"?null:Ua(e)}function AN(e){let t=new Map;if(!e)return t;for(let r of e.item_fields)for(let n of r.fields){let i=SN(n.name),o=TN(n.type);if(!i||!o)continue;let a=t.get(i);if(a&&a.type!==o)throw new g(`Extension item field "${i}" is declared with conflicting types: ${a.type}, ${o}`,_.USAGE,{code:"extension_item_field_type_conflict",nextSteps:["Make every active extension declaration for this field use the same type."]});t.set(i,{name:i,type:o})}return t}function St(e){return[...AN(e).keys()].sort((t,r)=>t.localeCompare(r))}import{AsyncLocalStorage as KN}from"node:async_hooks";import{lstat as JN,realpath as YN}from"node:fs/promises";import XN 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]="f4ae942c-f11f-5d24-95bf-a2abf3c226da")}catch{}})();var st={ok:!1},k=e=>typeof e=="string"?{ok:!0,value:e}:st,H=e=>typeof e=="boolean"?{ok:!0,value:e}:st;function te(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?st:{ok:!0,value:t}}function G(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:st}function N(e,t){return r=>{if(!Array.isArray(r)||t!==void 0&&r.length>t)return st;let n=[];for(let i of r){let o=e(i);if(!o.ok)return st;n.push(o.value)}return{ok:!0,value:n}}}function cu(e,t){return r=>typeof r=="string"&&r.length>0&&r.length<=e&&r===r.trim()&&(t===void 0||t.test(r))?{ok:!0,value:r}:st}function y(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function ks(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return st;let r={};for(let[n,i]of Object.entries(t)){let o=e(i);if(!o.ok)return st;r[n]=o.value}return{ok:!0,value:r}}}function F(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return st;let r=t,n={};for(let[i,o]of Object.entries(e)){let a=o(r[i]);if(!a.ok)return st;a.value!==void 0&&(n[i]=a.value)}return{ok:!0,value:n}}}var IN=F({key:k,values:N(k),required:y(H),aliases:y(N(k)),description:y(k)}),CN=F({command:G("create","update"),option:k,required:y(H),visible:y(H),enabled:y(H)}),ON=F({name:k,description:y(k),default_status:y(k),execution_role:y(G("agent","human","gate")),folder:y(k),aliases:y(N(k)),required_create_fields:y(N(k)),required_create_repeatables:y(N(k)),options:y(N(IN)),command_option_policies:y(N(CN))}),xN=F({id:k,aliases:y(N(k)),roles:y(N(G(...In))),description:y(k),order:y(te())}),RN=F({key:k,metadata_key:y(k),front_matter_key:y(k),cli_flag:y(k),cli_aliases:y(N(k)),description:y(k),type:y(G(...fr)),commands:y(N(G(...Cn))),repeatable:y(H),required:y(H),required_on_create:y(H),required_types:y(N(k)),allow_unset:y(H)}),NN=e=>{if(!Array.isArray(e)||e.length!==2)return st;let[t,r]=e;return typeof t!="string"||typeof r!="string"?st:{ok:!0,value:[t,r]}},DN=F({type:k,allowed_transitions:N(NN)}),PN=y(F({version:y(te({int:!0})),files:y(F({types:y(k),statuses:y(k),fields:y(k),workflows:y(k)})),statuses:y(N(xN)),fields:y(N(RN)),workflow:y(F({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(N(DN)),unknown_field_policy:y(G(...ua))})),LN=y(F({preset:y(G(...Wp)),ownership_enforcement:y(G("none","warn","strict")),create_mode_default:y(G("progressive","strict")),close_validation_default:y(G("off","warn","strict")),require_close_reason:y(H),parent_reference:y(G("warn","strict_error")),metadata_profile:y(G("core","strict","custom")),force_required_for_stale_lock:y(H),create_default_type:y(k),workflow_enforcement:y(G("off","warn","strict")),duplicate_detection_mode:y(G("off","advisory","strict")),duplicate_detection_threshold:y(te({min:0,max:1})),duplicate_detection_limit:y(te({int:!0,min:0,max:20}))})),MN=F({name:k,disabled:y(H),require_trusted:y(H),require_provenance:y(H),sandbox_profile:y(G("none","restricted","strict")),allowed_capabilities:y(N(k)),blocked_capabilities:y(N(k)),allowed_surfaces:y(N(k)),blocked_surfaces:y(N(k)),allowed_commands:y(N(k)),blocked_commands:y(N(k)),allowed_actions:y(N(k)),blocked_actions:y(N(k)),allowed_services:y(N(k)),blocked_services:y(N(k))}),su=G("block","warn"),$N=e=>typeof e=="string"?su(e):F({global:y(su),project:y(su)})(e),FN=y(F({mode:y(G("off","warn","enforce")),trust_mode:y(G("off","warn","enforce")),pm_max_version_exceeded_mode:y($N),require_provenance:y(H),trusted_extensions:y(N(k)),default_sandbox_profile:y(G("none","restricted","strict")),allowed_extensions:y(N(k)),blocked_extensions:y(N(k)),allowed_capabilities:y(N(k)),blocked_capabilities:y(N(k)),allowed_surfaces:y(N(k)),blocked_surfaces:y(N(k)),allowed_commands:y(N(k)),blocked_commands:y(N(k)),allowed_actions:y(N(k)),blocked_actions:y(N(k)),allowed_services:y(N(k)),blocked_services:y(N(k)),extension_overrides:y(N(MN))})),fn=cu(128),jN=F({harness:cu(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:y(N(fn,64)),model_environment_keys:y(N(fn,64)),session_environment_keys:y(N(fn,64)),provenance_environment_keys:y(ks(N(fn,64))),provenance_resolvers:y(ks(G("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:y(N(fn,64)),argv_markers:y(N(fn,64)),client_names:y(N(fn,64))}),UN=F({version:te({int:!0}),id_prefix:k,ids:y(F({token_length:y(te({int:!0,min:4,max:12}))})),author_default:k,agent_identity:y(F({probes_enabled:y(H),identity_vocabulary:y(F({version:te({int:!0,positive:!0}),aliases:ks(cu(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:N(jN)})),mutation_guard:y(F({require_attributed_author:y(H),secret_guard:y(G("off","advise","block")),stale_in_progress_hours:y(te({int:!0,positive:!0}))})),item_format:y(G("toon","json_markdown")),locks:F({ttl_seconds:te({int:!0}),wait_ms:y(te({int:!0,min:0}))}),checkpoints:y(F({retention_days:y(te({int:!0,positive:!0}))})),output:F({default_format:G("toon","json")}),ux:y(F({deprecation_hints:y(H)})),history:y(F({missing_stream:G("auto_create","strict_error"),compact_policy:y(F({enabled:y(H),max_entries:y(te({int:!0,positive:!0})),trigger:y(G("health_warn","auto"))}))})),validation:y(F({sprint_release_format:G("warn","strict_error"),parent_reference:y(G("warn","strict_error")),metadata_profile:y(G("core","strict","custom")),metadata_required_fields:y(N(k)),lifecycle_stale_blocker_reason_patterns:y(N(k)),lifecycle_closure_like_blocked_reason_patterns:y(N(k)),lifecycle_closure_like_resolution_patterns:y(N(k)),lifecycle_closure_like_actual_result_patterns:y(N(k)),estimate_defaults_by_type:y(ks(te({int:!0,positive:!0})))})),governance:LN,workflow:y(F({definition_of_done:N(k)})),testing:y(F({record_results_to_items:H,allow_untrusted_linked_tests:y(H)})),telemetry:y(F({enabled:H,first_run_prompt_completed:y(H),capture_level:y(G("minimal","redacted","max")),endpoint:y(k),installation_id:y(k),retention_days:y(te({int:!0,positive:!0}))})),agent_guidance:y(F({prompt_completed:y(H),declined:y(H),declined_at:y(k),template_version:y(te({int:!0,positive:!0})),last_checked_files:y(N(k))})),item_types:y(F({definitions:N(ON)})),schema:PN,context:y(F({default_depth:y(G("brief","standard","deep")),activity_limit:y(te({int:!0,positive:!0})),stale_threshold_days:y(te({int:!0,positive:!0})),sections:y(F({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:F({enabled:N(k),disabled:N(k),policy:FN}),search:F({score_threshold:te(),hybrid_semantic_weight:y(te()),max_results:te({int:!0}),embedding_model:k,embedding_corpus_max_characters:y(te()),embedding_batch_size:te({int:!0}),embedding_timeout_ms:y(te({int:!0})),scanner_max_batch_retries:te({int:!0}),provider:y(k),default_mode:y(G("auto","keyword","semantic","hybrid")),corpus_fields:y(N(k)),mutation_refresh_policy:y(G("cache_only","semantic_configured","semantic_auto")),query_expansion:y(F({enabled:y(H),provider:y(k)})),rerank:y(F({enabled:y(H),model:y(k),top_k:y(te({int:!0,positive:!0}))})),bm25:y(F({k1:y(te()),b:y(te())}))}),providers:F({openai:F({base_url:k,api_key:k,model:k}),ollama:F({base_url:k,model:k})}),vector_store:F({adapter:y(k),collection_name:y(k),qdrant:F({url:k,api_key:k}),lancedb:F({path:k})})});function lu(e){let t=UN(e);return t.ok?{success:!0,data:t.value}:{success:!1}}import co 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]="af606b47-d071-5724-b1e7-de4e1e5d7385")}catch{}})();var we="_workspace";function lo(e){return co.join(e,"history",`${we}.jsonl`)}function Qh(e,t=e.length){let r=ln();for(let n of e.slice(0,t))r=xr(r,n.patch).document;return Kn(r)}function zN(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function ey(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 HN(e,t){let r=co.resolve(t),n=co.relative(e,r).replaceAll("\\","/");if(n.length===0||n===".."||n.startsWith("../")||co.isAbsolute(n))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:n,absolutePath:r}}async function du(e){let t=await We(lo(e),we),r=vt(t);r.ok||ey(r.errors);let n=zN(t.length===0?da:Qh(t)),i=[],o=[],a=[],s=[];for(let c of Object.keys(n).sort()){let l;try{let d=HN(e,co.resolve(e,c));if(l=await K(d.absolutePath),l===null){a.push(c);continue}let u=JSON.parse(l);(x(u)===x(n[c])?i:o).push(c)}catch{s.push(c)}}return{ok:o.length===0&&a.length===0&&s.length===0,document_count:Object.keys(n).length,matching_documents:i,mismatched_documents:o,missing_documents:a,unreadable_documents:s}}async function Es(e){let t=await ie(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let r=lo(e.pmRoot),n=await We(r,we),i=vt(n);i.ok||ey(i.errors);let o=n.length===0?da:Qh(n),a=cn({nowIso:j(),author:e.author,op:e.op,before:o,after:o,message:e.message,context:e.context});return await Zi(r,a),{entry:a,historyPath:r}}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]="a0ca9902-540c-50fe-a4e2-9c234c4a01f3")}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]="de43e8e6-d7ef-53cc-94b0-ccdf1c4f94a3")}catch{}})();var qN={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},ty=120;function uu(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ny(e){let t=new Map;for(let[r,n]of Object.entries(e))t.set(r.toLowerCase(),n);return t}var GN=ny(qN),ry=new WeakMap;function BN(e){let t=ry.get(e);if(t)return t;let r=ny(e);return ry.set(e,r),r}function iy(e,t){let r=(e??"").trim().toLowerCase();if(r.length===0)return ty;if(t){let i=BN(t).get(r);if(uu(i))return Math.floor(i)}let n=GN.get(r);return uu(n)?Math.floor(n):ty}function oy(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[r,n]of Object.entries(e)){let i=r.trim();i.length===0||!uu(n)||(t[i]=Math.floor(n))}return t}import{stat as WN}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]="78c79deb-5cf0-54fe-b98c-a0d5b3671ab2")}catch{}})();var Ss=new Map;function ay(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}async function VN(e){try{let t=await WN(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Rr(e){let t=ay(e),r=await Promise.all(t.map(n=>VN(n)));return r.sort((n,i)=>n.path.localeCompare(i.path)),r}function uo(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let n=e[r],i=t[r];if(n.path!==i.path||n.mtime_ms!==i.mtime_ms||n.size!==i.size)return!1}return!0}function sy(e){return Ss.get(e)}function Ts(e,t){let r=ay(t.tracked_paths),n=[...t.signatures].map(i=>({path:i.path,mtime_ms:i.mtime_ms,size:i.size})).sort((i,o)=>i.path.localeCompare(o.path));Ss.set(e,{tracked_paths:r,signatures:n,value:t.value})}function Nr(e){if(e){Ss.delete(e);return}Ss.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]="bbb5e299-541d-5fff-8422-855c85cf7a31")}catch{}})();var ZN=new KN;function uy(e){let t=XN.resolve(e);return ZN.getStore()?.some(([r,n])=>r.has(t)&&n())??!1}var my=Symbol("pm.settings.persist_source"),QN=128,eD=new Set(["off","advisory","strict"]);function cy(e){return structuredClone(Nc[e])}function tD(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:_e.governance.preset}function rD(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,r={};t&&t.length>0&&(r.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(r.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(r.require_close_reason=e.require_close_reason),eD.has(String(e.duplicate_detection_mode))&&(r.duplicate_detection_mode=e.duplicate_detection_mode);let n=e.duplicate_detection_threshold;[typeof n=="number",Number.isFinite(n),Number(n)>=0,Number(n)<=1].every(Boolean)&&(r.duplicate_detection_threshold=n);let i=e.duplicate_detection_limit;return[typeof i=="number",Number.isSafeInteger(i),Number(i)>=0,Number(i)<=20].every(Boolean)&&(r.duplicate_detection_limit=i),r}function Dr(e){let t=e.governance??{},r=tD(t.preset),n=rD(t);if(r==="custom"){let a=cy("default"),s=n.require_close_reason??a.require_close_reason;return{preset:r,ownership_enforcement:t.ownership_enforcement??a.ownership_enforcement,create_mode_default:t.create_mode_default??a.create_mode_default,close_validation_default:t.close_validation_default??a.close_validation_default,parent_reference:t.parent_reference??a.parent_reference,metadata_profile:t.metadata_profile??a.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??a.force_required_for_stale_lock,...n,require_close_reason:s,duplicate_detection_mode:n.duplicate_detection_mode??a.duplicate_detection_mode,duplicate_detection_threshold:n.duplicate_detection_threshold??a.duplicate_detection_threshold,duplicate_detection_limit:n.duplicate_detection_limit??a.duplicate_detection_limit}}let i=cy(r),o=n.require_close_reason??i.require_close_reason;return{preset:r,...i,...n,require_close_reason:o}}function py(){return structuredClone(_e)}function nD(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:_e.search.mutation_refresh_policy}function iD(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function oD(e){return typeof e=="boolean"?e:_e.search.query_expansion.enabled}function aD(e){return typeof e!="string"?_e.search.query_expansion.provider:e.trim()}function sD(e){return typeof e=="boolean"?e:_e.search.rerank.enabled}function cD(e){return typeof e!="string"?_e.search.rerank.model:e.trim()}function lD(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:_e.search.rerank.top_k}function dD(e){if(typeof e!="string")return _e.vector_store.collection_name;let t=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,QN);return t.length>0?t:_e.vector_store.collection_name}function mu(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function uD(e,t){let r=e.schema,n=mu(r?.statuses),i=mu(r?.fields),o=mu(r?.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:Cs(e.item_types?.definitions),has_source_schema_statuses:n.present,source_schema_statuses:n.values,has_source_schema_fields:i.present,source_schema_fields:i.values,has_source_schema_type_workflows:o.present,source_schema_type_workflows:o.values,runtime_item_type_definitions:Cs(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 fy(e,t){Object.defineProperty(e,my,{value:t,writable:!0,configurable:!0,enumerable:!1})}function mD(e){let t=e[my];if(!(!t||typeof t!="object"))return t}function Is(e){let t=structuredClone(e.settings),r=mD(e.settings);return r&&fy(t,r),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function pD(e,t,r){let n=Ot(t);return[r,Ge(e,n.files.types,Pe.types),Ge(e,n.files.statuses,Pe.statuses),Ge(e,n.files.fields,Pe.fields),Ge(e,n.files.workflows,Pe.workflows)]}async function fD(e,t,r){let n=await Rr(t);Ts(e,{tracked_paths:t,signatures:n,value:Is(r)})}async function _D(e,t,r){try{await fD(e,t,r)}catch{Nr(e)}}function ly(e,t){return e.find(r=>r.path===t)}function gD(e,t,r){for(let n of r){let i=ly(e,n),o=ly(t,n);if(!i||!o||!uo([i],[o]))return!1}return!0}async function pu(e,t,r,n,i){try{let o=await Rr(t);if(!gD(n,o,i)){Nr(e);return}Ts(e,{tracked_paths:t,signatures:o,value:Is(r)})}catch{Nr(e)}}function Mt(e){return{settings:py(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function _y(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function hD(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function yD(e){let t=_e.agent_guidance,r=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 r=="number"&&Number.isInteger(r)&&r>0?r:t.template_version,last_checked_files:hD(e?.last_checked_files??t.last_checked_files)}}function Tt(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function wD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.mode}function bD(e){return e==="off"||e==="warn"||e==="enforce"?e:_e.extensions.policy.trust_mode}function gy(e){return e==="none"||e==="restricted"||e==="strict"?e:_e.extensions.policy.default_sandbox_profile}function vD(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let r={name:t};e.disabled===!0&&(r.disabled=!0),e.require_trusted===!0&&(r.require_trusted=!0),e.require_provenance===!0&&(r.require_provenance=!0),e.sandbox_profile!==void 0&&(r.sandbox_profile=gy(e.sandbox_profile));let n=Tt(e.allowed_capabilities),i=Tt(e.blocked_capabilities),o=Tt(e.allowed_surfaces),a=Tt(e.blocked_surfaces),s=Tt(e.allowed_commands),c=Tt(e.blocked_commands),l=Tt(e.allowed_actions),d=Tt(e.blocked_actions),u=Tt(e.allowed_services),m=Tt(e.blocked_services);return n.length>0&&(r.allowed_capabilities=n),i.length>0&&(r.blocked_capabilities=i),o.length>0&&(r.allowed_surfaces=o),a.length>0&&(r.blocked_surfaces=a),s.length>0&&(r.allowed_commands=s),c.length>0&&(r.blocked_commands=c),l.length>0&&(r.allowed_actions=l),d.length>0&&(r.blocked_actions=d),u.length>0&&(r.allowed_services=u),m.length>0&&(r.blocked_services=m),r}function kD(e){let t=new Map;for(let r of e??[]){let n=vD(r);n&&t.set(n.name,n)}return[...t.values()].sort((r,n)=>r.name.localeCompare(n.name))}function fu(e){return e==="block"||e==="warn"?e:void 0}function ED(e){if(typeof e=="string")return fu(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=fu(e.global),r=fu(e.project);return t===void 0&&r===void 0?void 0:{...t!==void 0?{global:t}:{},...r!==void 0?{project:r}:{}}}}function ct(e,t){return Tt(e?.[t]??_e.extensions.policy[t])}function SD(e){let t=ED(e?.pm_max_version_exceeded_mode);return{mode:wD(e?.mode),trust_mode:bD(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:ct(e,"trusted_extensions"),default_sandbox_profile:gy(e?.default_sandbox_profile),allowed_extensions:ct(e,"allowed_extensions"),blocked_extensions:ct(e,"blocked_extensions"),allowed_capabilities:ct(e,"allowed_capabilities"),blocked_capabilities:ct(e,"blocked_capabilities"),allowed_surfaces:ct(e,"allowed_surfaces"),blocked_surfaces:ct(e,"blocked_surfaces"),allowed_commands:ct(e,"allowed_commands"),blocked_commands:ct(e,"blocked_commands"),allowed_actions:ct(e,"allowed_actions"),blocked_actions:ct(e,"blocked_actions"),allowed_services:ct(e,"allowed_services"),blocked_services:ct(e,"blocked_services"),extension_overrides:kD(e?.extension_overrides??_e.extensions.policy.extension_overrides)}}function TD(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase().replaceAll("-","_")))].filter(t=>t.length>0).sort((t,r)=>t.localeCompare(r)).filter(t=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(t))}function As(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function AD(e){return Array.isArray(e)?e:[]}function ID(e,t,r){return{...t.validation,...e.validation,parent_reference:r.parent_reference,metadata_profile:r.metadata_profile,metadata_required_fields:TD(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:As(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:As(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:As(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:As(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:oy(e.validation?.estimate_defaults_by_type)}}function CD(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 OD(e,t){return{...t.search,...e.search,default_mode:iD(e.search?.default_mode),mutation_refresh_policy:nD(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:oD(e.search?.query_expansion?.enabled),provider:aD(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:sD(e.search?.rerank?.enabled),model:cD(e.search?.rerank?.model),top_k:lD(e.search?.rerank?.top_k)}}}function xD(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:dD(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function RD(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function ND(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 DD(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function Cs(e){let t=(e??[]).map(n=>Ra(n)).filter(n=>n!==null),r=new Map;for(let n of t)r.set(n.name.toLowerCase(),n);return[...r.values()].sort((n,i)=>n.name.localeCompare(i.name))}function hy(e){let t=py(),r=Dr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:RD(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:ID(e,t,r),governance:r,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:CD(e,t),agent_guidance:yD(e.agent_guidance??t.agent_guidance),item_types:{definitions:Cs(e.item_types?.definitions)},schema:Ot(e.schema??t.schema),context:ND(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:SD(e.extensions.policy??t.extensions.policy)},search:OD(e,t),providers:DD(e,t),vector_store:xD(e,t)}}async function PD(e){let t;try{t=await YN(e)}catch(s){if(qe(s))return Mt();throw s}let r=ke(t),n;try{n=await JN(r)}catch(s){if(qe(s))return Mt();throw s}if(!n.isFile())throw Fc();let i;try{i=await Qp(r,Fc())}catch(s){if(qe(s))return Mt();throw s}let o;try{o=JSON.parse(i)}catch{return Mt("settings_read_invalid_json")}let a=lu(o);return a.success?{settings:hy(a.data),metadata:{has_explicit_item_format:_y(o)},warnings:a.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[]}:Mt("settings_read_invalid_schema")}async function Pr(e){if(uy(e))return PD(e);let t=ke(e),r=[t];await $e({path:t,scope:"project"});let n=sy(e);if(n){let l=await Rr(n.tracked_paths);if(uo(l,n.signatures))return Is(n.value)}let i=await Rr([t]),o;try{o=await K(t)}catch{return Mt("settings_read_fs_error")}if(o===null){let l=Mt();return await pu(e,[t],l,i,[t]),l}let a=await Rr([t]);if(!uo(i,a))return Nr(e),Pr(e);let s;try{s=JSON.parse(o)}catch{let l=Mt("settings_read_invalid_json");return await pu(e,[t],l,a,[t]),l}let c=lu(s);if(!c.success){let l=Mt("settings_read_invalid_schema");return await pu(e,[t],l,a,[t]),l}try{let l=hy(c.data),d=pD(e,l.schema,t);r=d;let u=await Rr(d),m=await lf(e,l.schema),p=await df(e,l.schema),f=await Rr(d),w={...l,item_types:{definitions:Cs([...l.item_types.definitions,...AD(p.type_definitions_from_file)])},schema:p.schema};fy(w,uD(c.data,w));let h={settings:w,metadata:{has_explicit_item_format:_y(s)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(b=>`runtime_schema_bootstrap_created:${b}`),...p.warnings]};return m.created_paths.length===0?uo(u,f)?Ts(e,{tracked_paths:d,signatures:f,value:Is(h)}):Nr(e):Nr(e),h}catch{let l=Mt("settings_read_merge_failed");return await _D(e,r,l),l}}async function X(e){return(await Pr(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]="932450d7-963b-566b-a5ad-1b577a895e8e")}catch{}})();var gu=["item","history","relationship","json"];function FD(e){let t=e.trim().toLowerCase();if(gu.includes(t))return t;throw new g(`Unknown merge artifact "${e}". Supported values: ${gu.join(", ")}.`,_.USAGE)}function jD(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 _u(e,t){try{return await LD(e,"utf8")}catch{throw new g(`Cannot read merge ${t} file at ${e}.`,_.NOT_FOUND)}}async function UD(e){let t=Z(process.cwd(),e.path);return await M(ke(t))?X(t):null}function zD(e,t){return e.endsWith(".md")?"json_markdown":e.endsWith(".toon")?"toon":t?.item_format??"toon"}async function HD(e,t){let r=FD(e.artifact),n=jD(e.prefer),i=$D.resolve(e.outputPath??e.oursPath),[o,a,s]=await Promise.all([_u(e.basePath,"base"),_u(e.oursPath,"ours"),_u(e.theirsPath,"theirs")]),c,l,d=[],u={};if(r==="history"){let p=Yd(o,a,s);c=p.merged,u.history={strategy:p.strategy,common_entries:p.common_entries,entries_from_ours:p.entries_from_ours,entries_from_theirs:p.entries_from_theirs,entries_total:p.entries_total,reanchored:p.reanchored}}else if(r==="relationship"){let p=Xd(o,a,s);c=p.merged,u.relationship={strategy:p.strategy,common_entries:p.common_entries,entries_from_ours:p.entries_from_ours,entries_from_theirs:p.entries_from_theirs,entries_total:p.entries_total,reanchored:p.reanchored}}else if(r==="item"){let p=await UD(t),f=zD(e.itemPath??i,p),w=St(V()),h=Zd(o,a,s,{format:f,schema:p?.schema,extensionFieldNames:w,preferred:n,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=Ke(c,{format:f,schema:p?.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:n,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 Uh(process.cwd(),e.itemPath,a)}}}else{let p=Qd(o,a,s,{preferred:n});c=p.merged,d.push(...p.conflict_paths),u.json={paths_from_theirs:p.paths_from_theirs}}if(await MD(i,c,"utf8"),l!==void 0){let p=await Xh(l);p!==null&&(u.receipt=gt(p))}let m=[];if(d.length>0){let p=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.`;m.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. ${p} Review the merged file, re-apply the discarded change if needed, then "git add" it.`)}return r==="history"&&u.history?.reanchored&&m.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:r,output_path:i,requested_preference:n,conflicts:d,...u,guidance:m,generated_at:j()}}import yu from"node:fs/promises";import Os 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]="658ab1c3-da92-5af6-a170-85ed7befaad6")}catch{}})();function Lr(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function wu(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:wt(t),suggested_retry_args:t}}function xs(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 hu(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 qD(e){let t=Os.resolve(e),r=Os.parse(t).root,n=Os.dirname(t);for(;n!==r;){let i;try{i=await yu.stat(n)}catch(o){if(Lr(o,"ENOTDIR"))throw xs(e);if(!Lr(o,"ENOENT"))throw o;n=Os.dirname(n);continue}if(!i.isDirectory())throw xs(e);return}}async function Qn(e){let t;try{t=await yu.stat(e)}catch(r){throw Lr(r,"ENOENT")?(await qD(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:wu(e)})):Lr(r,"ENOTDIR")?xs(e):Lr(r,"EACCES")||Lr(r,"EPERM")?hu(e):r}if(!t.isDirectory())throw xs(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw hu(e);try{await(await yu.opendir(e)).close()}catch(r){throw Lr(r,"EACCES")||Lr(r,"EPERM")?hu(e):r}}async function je(e){if(await Qn(e),!await M(ke(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:wu(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 rP,readFile as Iu,realpath as Mr}from"node:fs/promises";import{constants as nP}from"node:fs";import{execFile as iP}from"node:child_process";import re from"node:path";import{promisify as oP}from"node:util";import GD 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]="1de99e25-e132-5071-833e-37361b4cc7e6")}catch{}})();var yy=["runtime/","search/","locks/","transactions/","checkpoints/"];function wy(e){let t=e.replaceAll("\\","/");return GD.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]="6d1f8e03-97b4-5d83-b85c-e47f39c07d48")}catch{}})();var BD="PM_SOURCE_CONTEXT_ACCESS",WD="PM_ALLOW_SOURCE_CONTEXT_WRITES";function by(e){let t=e[BD],r=t===void 0||t.trim().toLowerCase()==="write"?"write":"read_only",n=r==="read_only"&&e[WD]?.trim()==="1";return{access:r,write_override_applied:n,source_writes_allowed:r==="write"||n}}import{execFile as VD}from"node:child_process";import KD from"node:path";import{promisify as JD}from"node:util";import{setTimeout as YD}from"node:timers/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]="f8f33f3d-854e-5cb4-b0bf-8d2d89da27e8")}catch{}})();var vu=JD(VD);async function ei(e,t){let r=performance.now()+5e3,n=25;for(;;)try{await vu("git",["config",...t],{cwd:e,env:{...$t(),LC_ALL:"C"},timeout:1e4});return}catch(i){let o=r-performance.now();if(typeof i!="object"||i===null||!("stderr"in i)||typeof i.stderr!="string"||!/could not lock config file [^\r\n]+: File exists/u.test(i.stderr)||o<=0)throw i;await YD(Math.min(n,o)),n=Math.min(n*2,200)}}function $t(){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 bu(e,t){try{return(await vu("git",["config","--local",...t==="core.bare"||t==="extensions.worktreeConfig"?["--type=bool"]:[],"--get",t],{cwd:e,env:$t(),timeout:1e4})).stdout.trim()}catch(r){if(typeof r=="object"&&r!==null&&"code"in r&&r.code===1)return;throw r}}async function vy(e){if(await bu(e,"extensions.worktreeConfig")==="true")return"--worktree";let{stdout:t}=await vu("git",["rev-parse","--path-format=absolute","--git-dir","--git-common-dir"],{cwd:e,env:$t(),timeout:1e4}),[r,n]=t.trim().split(/\r?\n/);if(r===n)return"--local";let i=KD.join(n,"config.worktree");for(let o of["core.bare","core.worktree"]){let a=await bu(e,o);a===void 0||o==="core.bare"&&a!=="true"||(await ei(e,["--file",i,o,a]),await ei(e,["--local","--unset-all",o]))}for(let o of["pm-item-toon","pm-item-markdown","pm-history","pm-relationship","pm-json"])for(let a of["name","driver"]){let s=`merge.${o}.${a}`,c=await bu(e,s);c!==void 0&&await ei(e,["--file",i,s,c])}return await ei(e,["--local","extensions.worktreeConfig","true"]),"--worktree"}import ky from"node:fs";import Rs 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]="2d40ac36-0627-5636-9679-5669dbacf06b")}catch{}})();var Ey="@unbrained/pm-cli";var Su=/\b(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-(\d+))?\b/u,Tu="2026.8.31";function Ns(e){let t=e.match(Su);return t?[Number(t[1]),Number(t[2]),Number(t[3]),Number(t[4]??0)]:null}function Au(e,t){let r=Ns(e),n=Ns(t);if(!r||!n)return null;for(let i=0;i<r.length;i+=1){let o=r[i]-n[i];if(o!==0)return Math.sign(o)}return 0}function ku(e){return Au(e,Tu)!==-1?3:2}function Eu(e){try{let t=JSON.parse(ky.readFileSync(e,"utf8"));return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function XD(e){let t=[...e.matchAll(/(<=|<)\s*v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/gu)].map(n=>({inclusive:n[1]==="<=",version:n[2]})),r=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 r?[...t,{inclusive:!0,version:r[1]}]:t}function ZD(e){let t=e.split("||").map(r=>XD(r));return{bounded:t.some(r=>r.length>0),compatible:t.some(r=>r.every(n=>{let i=Au(Tu,n.version);return i!==null&&(n.inclusive?i!==1:i===-1)}))}}function QD(e){return["dependencies","devDependencies","optionalDependencies","peerDependencies"].flatMap(t=>{let r=e[t];if(typeof r!="object"||r===null)return[];let n=r[Ey],i=typeof n=="string"?n.trim():"",o=/^[<!]/u.test(i)?void 0:i.match(Su)?.[0];if(!o)return[];let a=/^(?:=|v)?\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?$/u.test(i),s=ZD(i);return[{version:o,constraint:a?"exact":s.bounded?"range":"minimum",...a?{}:{declaration:i},history_epoch_compatible:a?Au(o,Tu)!==-1:s.compatible}]})}function eP(e){let t=Eu(Rs.join(e,"package-lock.json"))?.packages;if(typeof t!="object"||t===null)return;let r=t["node_modules/@unbrained/pm-cli"];if(typeof r!="object"||r===null)return;let n=r.version;return typeof n=="string"?n:void 0}function tP(e,t){try{let r=ky.readFileSync(Rs.join(e,t),"utf8").split(/\r?\n/u),n=r.findIndex(a=>a.includes(Ey));if(n<0)return;let i=r[n].match(/^\s*/u)[0].length,o=[r[n]];for(let a=n+1;a<r.length;a+=1){let s=r[a],c=s.trim(),l=s.match(/^\s*/u)[0].length;if(c.length>0&&l<=i)break;o.push(s)}return o.join(`
39
+ `).match(/^\s*version(?::\s*|\s+)["']?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/mu)?.[1]??o[0].match(Su)?.[0]}catch{return}}function Sy(e){let t=[],r=Eu(Rs.join(e,"package.json"));r&&t.push(...QD(r).map(o=>({...o,source:"package.json"})));let n=Eu(Rs.join(e,"node_modules","@unbrained","pm-cli","package.json"))?.version;typeof n=="string"&&Ns(n)&&t.push({version:n,source:"installed-package",constraint:"exact",history_epoch_compatible:ku(n)===3});let i=eP(e);i&&Ns(i)&&t.push({version:i,source:"package-lock.json",constraint:"exact",history_epoch_compatible:ku(i)===3});for(let o of["pnpm-lock.yaml","yarn.lock"]){let a=tP(e,o);a&&t.push({version:a,source:o,constraint:"exact",history_epoch_compatible:ku(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]="36ccb98d-6645-52fe-aac2-be11f3a63c25")}catch{}})();var _n=oP(iP),mo="# pm-cli:merge-drivers:start",Iy="# pm-cli:merge-drivers:end",ti="# pm-cli:merge-drivers:v2:start",Cu="# pm-cli:merge-drivers:v2:end",aP="merge-fence",sP="merge-attributes";function Ty(e){return`'${e.replaceAll("'",`'"'"'`)}'`}async function cP(e,t){let r=await Mr(e);if(/(?:^|[\\/])bun-node-[^\\/]+[\\/]bun(?:\.exe)?$/iu.test(r))return;let{stdout:n}=await _n(e,["--version"],{encoding:"utf8",windowsHide:!0,timeout:1e4});return n.trim()===t?r:void 0}async function lP(){let e=it(import.meta.url,["../../.."]),t=process.execPath,r=!1,n=await Mr(process.execPath),i=process.versions.bun,o=(process.env.PATH??"").split(re.delimiter).filter(s=>re.isAbsolute(s)).map(s=>re.join(s,i===void 0?re.basename(process.execPath):process.platform==="win32"?"bun.exe":"bun")),a=i===void 0?o:[process.env.npm_execpath??"",...o,n].filter(s=>re.isAbsolute(s)&&/^(?:bun|bun\.exe)$/iu.test(re.basename(s)));for(let s of a)try{if(await rP(s,nP.X_OK),i!==void 0){let c=await cP(s,i);if(c!==void 0){t=c,r=!0;break}continue}if(s!==n&&await Mr(s)===n){t=s;break}}catch{}if(i!==void 0&&!r)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`${Ty(t)} ${Ty(re.join(e,"dist","cli.js"))}`}var Cy=[{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 Oy(e){let t=e.explicitPath?.trim(),r=e.environment.PM_SOURCE_WORKSPACE_ROOT?.trim(),n=e.environment.PM_SOURCE_PM_PATH?.trim(),i=by(e.environment),o=!!(r&&n),a=t===void 0&&o&&(e.dryRun||i.source_writes_allowed);if(t!==void 0){let s=Z(e.cwd,t);return{pm_root:s,workspace_start:s,source_coordinates_available:o,source_context_selected:!1,source_policy:i}}return a?{pm_root:re.resolve(n),workspace_start:re.resolve(r),source_coordinates_available:!0,source_context_selected:!0,source_policy:i}:{pm_root:o?Z(e.cwd,".agents/pm"):Z(e.cwd),workspace_start:e.cwd,source_coordinates_available:o,source_context_selected:!1,source_policy:i}}async function It(e){try{let{stdout:t}=await _n("git",["rev-parse","--show-toplevel"],{cwd:e,env:$t(),encoding:"utf8",windowsHide:!0,timeout:1e4});return await Mr(t.trim())}catch{return null}}async function xy(e){let t=await It(e);if(t===null)throw new g("pm merge install requires a git repository (merge drivers are git configuration).",_.USAGE);return t}function Ou(e,t){return re.relative(e,t).replaceAll("\\","/")}function At(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function Ay(e,t){if(e[t]!=="'")return null;let r="";for(let n=t+1;n<e.length;n+=1){if(e.startsWith(`'"'"'`,n)){r+="'",n+=4;continue}if(e[n]==="'")return{value:r,nextOffset:n+1};r+=e[n]}return null}async function dP(e,t,r){if(Sy(t).filter(i=>i.constraint==="exact").some(i=>i.version!==r))return!1;let n=await It(e);if(n!==null&&n!==await Mr(t)){let i=await Promise.all([n,t].map(async o=>{let a=await _n("git",["rev-parse","--path-format=absolute","--git-common-dir"],{cwd:o,env:$t(),timeout:1e4});return Mr(a.stdout.trim())}));if(i[0]===i[1])return!1}return!0}async function uP(e,t,r){let n=Ay(e,0);if(n===null||e[n.nextOffset]!==" ")return!1;let i=Ay(e,n.nextOffset+1);if(i===null||e.slice(i.nextOffset)!==t||!/^(?:node|bun)(?:\.exe)?$/iu.test(re.basename(n.value))||re.basename(i.value)!=="cli.js"||re.basename(re.dirname(i.value))!=="dist"||!await M(n.value)||!await M(i.value))return!1;try{let o=re.dirname(re.dirname(i.value)),a=JSON.parse(await Iu(re.join(o,"package.json"),"utf8")),s=typeof a.bin=="string"?a.bin:a.bin?.pm;return await dP(o,r,a.version)?a.name==="@unbrained/pm-cli"&&s==="dist/cli.js":!1}catch{return!1}}function Ds(e,t){let r=e.length>0?`${e}/`:"",n=[`${At(`${r}**/*.toon`)} merge=pm-item-toon`,`${At(`${r}**/*.md`)} merge=pm-item-markdown`];for(let i of t)n.push(`${At(`${r}${i}/*.toon`)} merge=pm-item-toon`),n.push(`${At(`${r}${i}/*.md`)} merge=pm-item-markdown`);return n.push(`${At(`${r}**/*.jsonl`)} merge=pm-relationship`),n.push(`${At(`${r}history/*.jsonl`)} merge=pm-history`),n.push(`${At(`${r}settings.json`)} merge=pm-json`),n.push(`${At(`${r}**/*.json`)} merge=pm-json`),n.push(`${At(`${r}extensions/**`)} -merge`),n.push(`${At(`${r}extensions/.managed-extensions.json`)} merge=pm-json`),n}function Ry(e){let t=[],r=0;for(;r<e.length;){let n=e.indexOf(mo,r),i=e.indexOf(ti,r),o=n===-1?i:i===-1?n:Math.min(n,i);if(o===-1)break;let a=o===i,s=a?ti:mo,c=a?Cu:Iy,l=e.indexOf(c,o+s.length),d=l===-1?e.length:l+c.length;t.push({start:o,end:d,closed:l!==-1,lines:e.slice(o+s.length,l===-1?d:l).split(`
40
+ `).map(u=>u.trim()).filter(Boolean)}),r=d}return t}function Ny(e,t,r){let n=new Set(t),i=At(r.length>0?`${r}/`:"").slice(0,-1);return e.some(o=>n.has(o)||o.startsWith(i)&&/^[^/]+\/\*\.(?:toon|md)" merge=pm-item-(?:toon|markdown)$/u.test(o.slice(i.length)))}async function Dy(e,t,r,n){let i=re.join(e,".gitattributes"),o=n?null:(await _n("git",["rev-parse","--absolute-git-dir"],{cwd:e,env:$t(),encoding:"utf8",windowsHide:!0,timeout:1e4})).stdout.trim(),a=o===null?null:await ie(o,sP,120,"merge-fence",!1,!0,5e3);try{let s=await K(i)??"",c=[ti,...r,Cu].join(`
41
41
  `),l=Ry(s),d=l.filter(m=>Ny(m.lines,r,t));d.length===0&&t===".agents/pm"&&l.length===1&&l[0].lines.every(m=>!m.includes(".agents/pm/"))&&d.push(l[0]);let u;if(d.length>0){let m=d[0];u=s;for(let p of d.slice(1).reverse())u=`${u.slice(0,p.start)}${u.slice(p.end)}`;u=`${u.slice(0,m.start)}${c}${u.slice(m.end)}`}else{let m=s.trimEnd();u=`${m.length>0?`${m}
42
42
 
43
43
  `:""}${c}
44
44
  `}return u===s?{path:i,changed:!1}:(n||await q(i,u),{path:i,changed:!0})}finally{await a?.()}}function ri(e){let t=ce(e,null);return[...new Set(Object.values(t.type_to_folder))].sort((r,n)=>r.localeCompare(n))}async function po(e,t){let r=re.resolve(e),n=null,i="",o=r;for(let h=0;h<8;h+=1){let b=re.join(o,".gitattributes");try{let I=await Iu(b,"utf8");if(I.includes(ti)||I.includes(mo)){n=o,i=I;break}}catch{}let v=re.dirname(o);if(v===o)break;o=v}if(n===null)return{status:"not_installed",missing_patterns:[],stale_patterns:[],schema_scope:"project"};let a=re.join(n,".gitattributes"),s=Ou(n,r),c=Ry(i),l=Ds(s,t),d=c.filter(h=>Ny(h.lines,l,s)),u=d.flatMap(h=>h.closed?h.lines:[]),m=new Set(u),p=new Set(l),f=l.filter(h=>!m.has(h)),w=u.filter(h=>!p.has(h));return{status:d.length!==1||!d[0].closed||f.length>0||w.length>0?"drift":"ok",path:a,missing_patterns:f,stale_patterns:w,schema_scope:"project"}}async function fo(e){let t=[],r=[];for(let n of Cy){let i=`merge.${n.key}.driver`,o=` merge driver ${n.artifact} "%O" "%A" "%B"${n.itemPath===void 0?"":` --item-path ${n.itemPath}`}`;try{let{stdout:a}=await _n("git",["config","--get",i],{cwd:e,env:$t(),encoding:"utf8",windowsHide:!0,timeout:1e4}),s=a.trim();await uP(s,o,e)||r.push(i)}catch{t.push(i)}}return{status:t.length>0?"missing":r.length>0?"drift":"ok",missing_keys:t,drifted_keys:r}}async function Py(e){let t;try{t=await xy(re.resolve(e))}catch{return{status:"no_git"}}let r=Ou(t,re.resolve(e)),n=await X(e),i=Ce(void 0,n.author_default),o=await ie(e,aP,n.locks.ttl_seconds,i,!1,Dr(n).force_required_for_stale_lock,n.locks.wait_ms);try{let a=re.join(t,".gitattributes"),s;try{s=await Iu(a,"utf8")}catch(u){if(u instanceof Error&&"code"in u&&$(u))return{status:"not_installed",path:a};throw u}if(!s.includes(ti)&&!s.includes(mo))return{status:"not_installed",path:a};let c=await X(e),l=ri(c),d=await Dy(t,r,Ds(r,l),!1);return{status:d.changed?"refreshed":"unchanged",path:d.path}}finally{await o()}}async function mP(e,t){let r=Oy({cwd:process.cwd(),explicitPath:t.path,dryRun:e.dryRun===!0,environment:process.env}),n=r.pm_root;await je(n);let i=await xy(r.workspace_start);return fP({pmRoot:n,workspaceRoot:i,dryRun:e.dryRun===!0})}async function pP(e,t){let r=(await _n("git",["rev-parse","--path-format=absolute","--git-common-dir"],{cwd:e,env:$t(),timeout:1e4})).stdout.trim(),n=await ie(r,"merge-driver-config",120,"merge-install",!1,!0,5e3);try{let i=await vy(e),o;try{o=(await _n("git",["config",i,"--null","--get-regexp","."],{cwd:e,env:$t(),timeout:1e4})).stdout}catch(s){if(typeof s!="object"||s===null||!("code"in s)||s.code!==1)throw s;o=""}let a=new Map(o.split("\0").filter(Boolean).map(s=>{let c=s.indexOf(`
45
- `);return[s.slice(0,c),s.slice(c+1)]}));for(let s of t)a.get(s.key)!==s.value&&await ei(e,[i,s.key,s.value])}finally{await n()}}async function fP(e){let t=re.resolve(e.pmRoot),r=re.resolve(e.workspaceRoot),n=e.dryRun===!0,i,o;try{[i,o]=await Promise.all([Mr(t),Mr(r)])}catch(p){throw new g(`Cannot resolve tracker root ${t} or workspace root ${r}: ${String(p)}`,_.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 a=Ou(o,i);if(wy(a))throw new g(`Tracker root ${t} is outside the git repository ${r}; there is nothing to configure for this repository.`,_.USAGE);let s=await X(i),c=ri(s),l=Ds(a,c),d=[],u=await lP();for(let p of Cy)d.push({key:`merge.${p.key}.name`,value:p.name}),d.push({key:`merge.${p.key}.driver`,value:`${u} merge driver ${p.artifact} "%O" "%A" "%B"${p.itemPath===void 0?"":` --item-path ${p.itemPath}`}`});if(!n)try{await pP(o,d)}catch{throw new g(`Cannot install repository-local merge drivers in ${o}. 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 m=await Dy(o,a,l,n);return{ok:!0,dry_run:n,workspace_root:o,pm_root:i,gitattributes:{path:m.path,changed:m.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 PL}from"node:buffer";import{readFile as LL}from"node:fs/promises";import NL from"node:fs/promises";import Eo from"node:fs/promises";import{statSync as yP}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]="664124e5-715d-5f86-ae69-89f203db76c3")}catch{}})();function _P(e){let t=[],r=!1;for(let n of(e??"").toLowerCase()){let i=n.charCodeAt(0),o=i>=48&&i<=57,a=i>=97&&i<=122;if(!o&&!a){r=t.length>0;continue}r&&(t.push("-"),r=!1),t.push(n)}return t.length===0?"pm-":`${t.join("")}-`}function or(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Ft(e,t){let r=_P(t),n=or(e);return n.startsWith(r)?n:`${r}${n}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5db05e2f-4742-526b-b1c8-b97ff302b40e")}catch{}})();function ni(e,t=!1){let r=e[0];if(r?.op!=="history_compact_baseline")return 0;let n=r.context?.history_compaction,i=typeof n=="object"&&n!==null&&"version_offset"in n?n.version_offset:void 0;if(typeof i=="number"&&Number.isSafeInteger(i)&&i>=0&&Number.isSafeInteger(i+e.length))return i;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]="ddc5bb8f-83bc-5121-a628-a501e7ed5a73")}catch{}})();function gP(e,t){let r=-1;return e.forEach((n,i)=>{let o=Date.parse(n.ts);if(!Number.isFinite(o))throw new g(`History for this item contains invalid timestamp at entry ${i+1}.`,_.GENERIC_FAILURE);o<=t&&(r=i)}),r}function hP(e,t){let r=e[0]?.ts??null,n=e.at(-1)?.ts??null,i={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:r,last_timestamp:n}};return n!==null&&(i.examples=[n],t!==null&&(i.examples.unshift(String(t+1),String(t+e.length)),i.valid_range.first_version=t+1,i.valid_range.last_version=t+e.length)),{guidance:i,lastTimestamp:n}}function Ly(e,t){let r={};if(t instanceof Error&&t.message.trim().length>0&&(r.reason=t.message.trim()),typeof t!="object"||t===null)return r;let n=t;if(typeof n.index=="number"&&Number.isInteger(n.index)&&n.index>=0&&(r.patchIndex=n.index),typeof n.operation=="object"&&n.operation!==null){let i=n.operation;Object.assign(r,Object.fromEntries(["op","path","from"].flatMap(o=>{let a=i[o];return typeof a=="string"?[[o,a]]:[]})))}if(r.patchIndex!==void 0){let i=e[r.patchIndex];i&&(r.op??=i.op,r.path??=i.path,r.from??=i.from)}return r}function xu(e,t,r={}){let n=e.trim(),i=r.errorSubject??"history",o=i==="restore"?"Restore":"History",{guidance:a,lastTimestamp:s}=hP(t,ni(t,!0));if(!n)throw new g(`Missing ${i} target. Use a timestamp or version number.`,_.USAGE,a);if(/^\d+$/.test(n)){let d=ni(t),u=Number(n);if(u>=1&&u<=d)throw new g(`History version ${u} was pruned by compaction.`,_.USAGE,{...a,code:"history_version_pruned"});if(!Number.isSafeInteger(u)||u<1||u>d+t.length)throw new g(`${o} version must be between ${d+1} and ${d+t.length} for this item.`,_.USAGE,a);return{kind:"version",raw:n,historyIndex:u-d-1}}let c=Date.parse(n);if(!Number.isFinite(c))throw new g(`Invalid ${i} target "${e}". Use a positive version number or ISO timestamp.`,_.USAGE,a);let l=gP(t,c);if(l<0||r.allowFutureTimestamp!==!0&&c>Date.parse(s))throw new g(i==="restore"?`No history entries exist at or before timestamp ${n}.`:`No history entry exists at timestamp ${n}.`,_.USAGE,a);return{kind:"timestamp",raw:n,historyIndex:l}}function ii(e,t,r,n){let i=xr(e,t);if(i.ok)return i.document;let o=Ly(t,i.error),a=[`history_op=${n}`,o.patchIndex===void 0?null:`patch_index=${o.patchIndex}`,o.op?`op=${o.op}`:null,o.path?`path=${o.path}`:null,o.from?`from=${o.from}`:null].filter(s=>s!==null);throw new g(`Failed to apply history patch at entry ${r} (${a.join(", ")}). ${o.reason??String(i.error)}`,_.GENERIC_FAILURE)}function _o(e,t){let r=e[0];if(r&&r.op!=="create"&&r.op!=="history_compact_baseline"){let a=xr(Vn,r.patch);if(!a.ok||typeof a.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 n=e.slice(0,t+1),i=bt([...n]),o=structuredClone(Vn);for(let a=0;a<=t;a+=1){let s=e[a];if(!s)throw new g(`History target entry ${a+1} does not exist.`,_.USAGE);o=ii(o,s.patch,a+1,s.op)}if(!i.ok)throw new g(`History cannot be replayed: ${i.errors.join(", ")}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:i.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return o}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="be69f1e8-4543-5cf5-abb0-9d38ca1d0cc6")}catch{}})();function wP(e,t){let r=-1,n=structuredClone(Vn);for(let[s,c]of e.entries()){if(n=ii(n,c.patch,s+1,c.op),n.metadata.id!==void 0&&n.metadata.id!==t)throw new g(`History belongs to item ${String(n.metadata.id)}, expected ${t}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});n.metadata.id===t&&Array.isArray(n.metadata.tags)&&(r=s)}let i=ni(e,!0),o=r<0||i===null?null:i+r+1,a=o===null?void 0:String(o);if(r>=0&&a===void 0){let s=e[r].ts;xu(s,e).historyIndex===r&&(a=s)}return{version:o,target:a}}async function My(e,t,r){let n=new Set([Ft(t,r),or(t)]);for(let i of n){let o=Ee(e,i);if(!yP(o,{throwIfNoEntry:!1})?.isFile())continue;let a=await We(o,i),s=-1;if(a.forEach((p,f)=>{p.op==="delete"&&(s=f)}),s<0)continue;let c=_o(a,a.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:l,target:d}=wP(a,i),u=d===void 0?["history",i,"--verify"]:["get",i,"--at",d],m=Pt(u);return new g(`Item ${i} was deleted at ${a[s].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:i,tombstone:{deleted:!0,deleted_at:a[s].ts,recoverable:d!==void 0,last_materialized_version:l},nextSteps:[m,...d===void 0?["Recover the pre-compaction history from version control."]:[Pt(["restore",i,d])]],recovery:{suggested_retry:m,suggested_retry_args:u}})}}import $y from"node:fs/promises";import go from"node:path";import{isUtf8 as bP}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]="7db1d069-0038-57f8-8c3e-0b0ba66579ca")}catch{}})();var Fy=1048576,vP=4194304;async function jy(e,t){let r=go.dirname(e);for(;r!==go.parse(e).root;){let i=await $y.stat(r).catch(o=>{if($(o))return null;throw o});if(i!==null){if(!i.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}r=go.dirname(r)}let n=await $y.open(e,"r").catch(i=>{if($(i))return null;throw i});if(n===null)return null;try{let i=(await n.stat()).size,o=Buffer.alloc(Math.min(t,i)+1),a=0;for(;a<o.length;){let s=await n.read(o,a,o.length-a,a);if(s.bytesRead===0)break;a+=s.bytesRead}if(a===o.length||!bP(o.subarray(0,a)))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 o.toString("utf8",0,a)}finally{await n.close()}}function Uy(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 as(t)}async function ho(e){return Uy(await jy(go.join(e,"schema","policies.json"),Fy))}async function zy(e,t){let r=await jy(Ee(e,t),vP);if(r===null)return[];let n;try{if(n=r.split(/\r?\n/).filter(i=>i.trim()).map(i=>JSON.parse(i)),!bt(n).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 n.flatMap(i=>{let o=i.context?.workflow_approval;if(i.op!=="policy_approve"||i.record_hash_version!==1||typeof i.record_hash!="string"||typeof o!="object"||o===null)return[];let a=o;return typeof a.policy_fingerprint!="string"||typeof a.content_fingerprint!="string"?[]:[{policy_fingerprint:a.policy_fingerprint,content_fingerprint:a.content_fingerprint,author:i.author}]})}async function Hy(e,t,r){let n=r.before?.status!==r.after?.status&&t.policies.some(a=>a.rule.kind==="approval"&&Td(a,r)),i=r.before?.id??r.after?.id,o=n&&typeof i=="string"?await zy(e,i):[];return $g(t,{...r,approvals:o})}async function qy(e){let t=await ho(e.pmRoot),r=await Hy(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(r.allowed)return r;let n=r.decisions.filter(d=>!d.satisfied&&d.effect==="refuse");if(!e.dryRun)try{await Es({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:r.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 i=n.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})),o=[...new Set(i.flatMap(d=>d.missing_fields))],a=i.map(d=>`${d.policy_id} (${d.rule})`).join(", "),s=n.length>3?` and ${n.length-3} more`:"",c=e.after?.metadata.id??e.before.metadata.id,l=o.map(d=>{if(e.before===null)return`Supply ${d} in the original ${e.operation} request, then retry; the item was not created.`;let u=ul("update",d);return u===void 0?`Supply ${d} using its declared SDK or package mutation contract, then retry.`:Pt(["update",c,ml("update",u),`<${d}>`,"--pm-path",go.resolve(e.pmRoot)])});throw new g(`Workflow policy refused ${e.operation}: ${a}${s}.${o.length?` Missing: ${o.join(", ")}.`:""}`,_.CONFLICT,{code:"workflow_policy_refused",reason:i.map(d=>d.policy_id).join(","),policy_violations:i,policy_violation_count:n.length,required:o.length?`Supply missing fields: ${o.join(", ")}, then retry the refused mutation.`:"Satisfy the declared workflow policy before retrying.",why:i.map(d=>d.description).filter(Boolean).join(" ")||void 0,recovery:{missing_required_fields:o},nextSteps:[...l,...new Set(n.slice(0,3).filter(d=>d.missing_fields.length===0).map(d=>d.remediation)),...n.length>3?[`Inspect all policies with pm schema policies before retrying ${e.operation}.`]:[]]})}import{AsyncLocalStorage as kP}from"node:async_hooks";import{channel as EP}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]="b2b2d49a-bb8c-54d7-89d2-1dbe76879129")}catch{}})();var pJ=new kP,SP=EP("@unbrained/pm-cli/item-metadata-enumeration/v1");function Ps(e){SP.publish(e)}import Hu from"node:path";import TP from"node:fs/promises";import AP 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]="1d746e4d-ff6c-54ec-a94f-4ec4cb8f77b5")}catch{}})();function IP(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,r)=>t.localeCompare(r))}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 OP(e,t){return await hr(AP.dirname(e)),await(await TP.open(e,"a")).close(),Ie({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Ru(e){return Ls({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function Ls(e){let t=IP(e.itemIds),r=[],n=[];for(let i of t){let o=Ee(e.pmRoot,i);if(!await M(o)){if(e.settings.history.missing_stream==="strict_error")throw CP(i,e.commandLabel);n.push(...await OP(o,e.commandLabel)),n.push(`history_stream_auto_created:${i}`),r.push(i)}}return{auto_created_ids:r,warnings:n}}import{isUtf8 as bL}from"node:buffer";import Ue from"node:fs/promises";import se from"node:path";import{createHash as LP,randomUUID as ew}from"node:crypto";import gn from"node:fs/promises";import Gy from"node:path";import{randomUUID as xP}from"node:crypto";import{createRequire as RP}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]="84a3dae8-69b6-589d-a8ec-11f77c1d103a")}catch{}})();var NP="metadata-query-index.sqlite",By="5",Nu;function Wy(){return Nu!==void 0||(Nu=es(process.versions.node,RP(import.meta.url))),Nu}function Du(e){return Gy.join(e,"runtime",NP)}function DP(e){e.exec(`
45
+ `);return[s.slice(0,c),s.slice(c+1)]}));for(let s of t)a.get(s.key)!==s.value&&await ei(e,[i,s.key,s.value])}finally{await n()}}async function fP(e){let t=re.resolve(e.pmRoot),r=re.resolve(e.workspaceRoot),n=e.dryRun===!0,i,o;try{[i,o]=await Promise.all([Mr(t),Mr(r)])}catch(p){throw new g(`Cannot resolve tracker root ${t} or workspace root ${r}: ${String(p)}`,_.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 a=Ou(o,i);if(wy(a))throw new g(`Tracker root ${t} is outside the git repository ${r}; there is nothing to configure for this repository.`,_.USAGE);let s=await X(i),c=ri(s),l=Ds(a,c),d=[],u=await lP();for(let p of Cy)d.push({key:`merge.${p.key}.name`,value:p.name}),d.push({key:`merge.${p.key}.driver`,value:`${u} merge driver ${p.artifact} "%O" "%A" "%B"${p.itemPath===void 0?"":` --item-path ${p.itemPath}`}`});if(!n)try{await pP(o,d)}catch{throw new g(`Cannot install repository-local merge drivers in ${o}. 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 m=await Dy(o,a,l,n);return{ok:!0,dry_run:n,workspace_root:o,pm_root:i,gitattributes:{path:m.path,changed:m.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 PL}from"node:buffer";import{readFile as LL}from"node:fs/promises";import NL from"node:fs/promises";import Eo from"node:fs/promises";import{statSync as yP}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]="664124e5-715d-5f86-ae69-89f203db76c3")}catch{}})();function _P(e){let t=[],r=!1;for(let n of(e??"").toLowerCase()){let i=n.charCodeAt(0),o=i>=48&&i<=57,a=i>=97&&i<=122;if(!o&&!a){r=t.length>0;continue}r&&(t.push("-"),r=!1),t.push(n)}return t.length===0?"pm-":`${t.join("")}-`}function or(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Ft(e,t){let r=_P(t),n=or(e);return n.startsWith(r)?n:`${r}${n}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5db05e2f-4742-526b-b1c8-b97ff302b40e")}catch{}})();function ni(e,t=!1){let r=e[0];if(r?.op!=="history_compact_baseline")return 0;let n=r.context?.history_compaction,i=typeof n=="object"&&n!==null&&"version_offset"in n?n.version_offset:void 0;if(typeof i=="number"&&Number.isSafeInteger(i)&&i>=0&&Number.isSafeInteger(i+e.length))return i;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]="ddc5bb8f-83bc-5121-a628-a501e7ed5a73")}catch{}})();function gP(e,t){let r=-1;return e.forEach((n,i)=>{let o=Date.parse(n.ts);if(!Number.isFinite(o))throw new g(`History for this item contains invalid timestamp at entry ${i+1}.`,_.GENERIC_FAILURE);o<=t&&(r=i)}),r}function hP(e,t){let r=e[0]?.ts??null,n=e.at(-1)?.ts??null,i={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:r,last_timestamp:n}};return n!==null&&(i.examples=[n],t!==null&&(i.examples.unshift(String(t+1),String(t+e.length)),i.valid_range.first_version=t+1,i.valid_range.last_version=t+e.length)),{guidance:i,lastTimestamp:n}}function Ly(e,t){let r={};if(t instanceof Error&&t.message.trim().length>0&&(r.reason=t.message.trim()),typeof t!="object"||t===null)return r;let n=t;if(typeof n.index=="number"&&Number.isInteger(n.index)&&n.index>=0&&(r.patchIndex=n.index),typeof n.operation=="object"&&n.operation!==null){let i=n.operation;Object.assign(r,Object.fromEntries(["op","path","from"].flatMap(o=>{let a=i[o];return typeof a=="string"?[[o,a]]:[]})))}if(r.patchIndex!==void 0){let i=e[r.patchIndex];i&&(r.op??=i.op,r.path??=i.path,r.from??=i.from)}return r}function xu(e,t,r={}){let n=e.trim(),i=r.errorSubject??"history",o=i==="restore"?"Restore":"History",{guidance:a,lastTimestamp:s}=hP(t,ni(t,!0));if(!n)throw new g(`Missing ${i} target. Use a timestamp or version number.`,_.USAGE,a);if(/^\d+$/.test(n)){let d=ni(t),u=Number(n);if(u>=1&&u<=d)throw new g(`History version ${u} was pruned by compaction.`,_.USAGE,{...a,code:"history_version_pruned"});if(!Number.isSafeInteger(u)||u<1||u>d+t.length)throw new g(`${o} version must be between ${d+1} and ${d+t.length} for this item.`,_.USAGE,a);return{kind:"version",raw:n,historyIndex:u-d-1}}let c=Date.parse(n);if(!Number.isFinite(c))throw new g(`Invalid ${i} target "${e}". Use a positive version number or ISO timestamp.`,_.USAGE,a);let l=gP(t,c);if(l<0||r.allowFutureTimestamp!==!0&&c>Date.parse(s))throw new g(i==="restore"?`No history entries exist at or before timestamp ${n}.`:`No history entry exists at timestamp ${n}.`,_.USAGE,a);return{kind:"timestamp",raw:n,historyIndex:l}}function ii(e,t,r,n){let i=xr(e,t);if(i.ok)return i.document;let o=Ly(t,i.error),a=[`history_op=${n}`,o.patchIndex===void 0?null:`patch_index=${o.patchIndex}`,o.op?`op=${o.op}`:null,o.path?`path=${o.path}`:null,o.from?`from=${o.from}`:null].filter(s=>s!==null);throw new g(`Failed to apply history patch at entry ${r} (${a.join(", ")}). ${o.reason??String(i.error)}`,_.GENERIC_FAILURE)}function _o(e,t){let r=e[0];if(r&&r.op!=="create"&&r.op!=="history_compact_baseline"){let a=xr(Vn,r.patch);if(!a.ok||typeof a.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 n=e.slice(0,t+1),i=vt([...n]),o=structuredClone(Vn);for(let a=0;a<=t;a+=1){let s=e[a];if(!s)throw new g(`History target entry ${a+1} does not exist.`,_.USAGE);o=ii(o,s.patch,a+1,s.op)}if(!i.ok)throw new g(`History cannot be replayed: ${i.errors.join(", ")}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:i.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return o}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="be69f1e8-4543-5cf5-abb0-9d38ca1d0cc6")}catch{}})();function wP(e,t){let r=-1,n=structuredClone(Vn);for(let[s,c]of e.entries()){if(n=ii(n,c.patch,s+1,c.op),n.metadata.id!==void 0&&n.metadata.id!==t)throw new g(`History belongs to item ${String(n.metadata.id)}, expected ${t}.`,_.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});n.metadata.id===t&&Array.isArray(n.metadata.tags)&&(r=s)}let i=ni(e,!0),o=r<0||i===null?null:i+r+1,a=o===null?void 0:String(o);if(r>=0&&a===void 0){let s=e[r].ts;xu(s,e).historyIndex===r&&(a=s)}return{version:o,target:a}}async function My(e,t,r){let n=new Set([Ft(t,r),or(t)]);for(let i of n){let o=Ee(e,i);if(!yP(o,{throwIfNoEntry:!1})?.isFile())continue;let a=await We(o,i),s=-1;if(a.forEach((p,f)=>{p.op==="delete"&&(s=f)}),s<0)continue;let c=_o(a,a.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:l,target:d}=wP(a,i),u=d===void 0?["history",i,"--verify"]:["get",i,"--at",d],m=wt(u);return new g(`Item ${i} was deleted at ${a[s].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:i,tombstone:{deleted:!0,deleted_at:a[s].ts,recoverable:d!==void 0,last_materialized_version:l},nextSteps:[m,...d===void 0?["Recover the pre-compaction history from version control."]:[wt(["restore",i,d])]],recovery:{suggested_retry:m,suggested_retry_args:u}})}}import $y from"node:fs/promises";import go from"node:path";import{isUtf8 as bP}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]="7db1d069-0038-57f8-8c3e-0b0ba66579ca")}catch{}})();var Fy=1048576,vP=4194304;async function jy(e,t){let r=go.dirname(e);for(;r!==go.parse(e).root;){let i=await $y.stat(r).catch(o=>{if($(o))return null;throw o});if(i!==null){if(!i.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}r=go.dirname(r)}let n=await $y.open(e,"r").catch(i=>{if($(i))return null;throw i});if(n===null)return null;try{let i=(await n.stat()).size,o=Buffer.alloc(Math.min(t,i)+1),a=0;for(;a<o.length;){let s=await n.read(o,a,o.length-a,a);if(s.bytesRead===0)break;a+=s.bytesRead}if(a===o.length||!bP(o.subarray(0,a)))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 o.toString("utf8",0,a)}finally{await n.close()}}function Uy(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 as(t)}async function ho(e){return Uy(await jy(go.join(e,"schema","policies.json"),Fy))}async function zy(e,t){let r=await jy(Ee(e,t),vP);if(r===null)return[];let n;try{if(n=r.split(/\r?\n/).filter(i=>i.trim()).map(i=>JSON.parse(i)),!vt(n).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 n.flatMap(i=>{let o=i.context?.workflow_approval;if(i.op!=="policy_approve"||i.record_hash_version!==1||typeof i.record_hash!="string"||typeof o!="object"||o===null)return[];let a=o;return typeof a.policy_fingerprint!="string"||typeof a.content_fingerprint!="string"?[]:[{policy_fingerprint:a.policy_fingerprint,content_fingerprint:a.content_fingerprint,author:i.author}]})}async function Hy(e,t,r){let n=r.before?.status!==r.after?.status&&t.policies.some(a=>a.rule.kind==="approval"&&Td(a,r)),i=r.before?.id??r.after?.id,o=n&&typeof i=="string"?await zy(e,i):[];return $g(t,{...r,approvals:o})}async function qy(e){let t=await ho(e.pmRoot),r=await Hy(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(r.allowed)return r;let n=r.decisions.filter(d=>!d.satisfied&&d.effect==="refuse");if(!e.dryRun)try{await Es({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:r.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 i=n.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})),o=[...new Set(i.flatMap(d=>d.missing_fields))],a=i.map(d=>`${d.policy_id} (${d.rule})`).join(", "),s=n.length>3?` and ${n.length-3} more`:"",c=e.after?.metadata.id??e.before.metadata.id,l=o.map(d=>{if(e.before===null)return`Supply ${d} in the original ${e.operation} request, then retry; the item was not created.`;let u=ul("update",d);return u===void 0?`Supply ${d} using its declared SDK or package mutation contract, then retry.`:wt(["update",c,ml("update",u),`<${d}>`,"--pm-path",go.resolve(e.pmRoot)])});throw new g(`Workflow policy refused ${e.operation}: ${a}${s}.${o.length?` Missing: ${o.join(", ")}.`:""}`,_.CONFLICT,{code:"workflow_policy_refused",reason:i.map(d=>d.policy_id).join(","),policy_violations:i,policy_violation_count:n.length,required:o.length?`Supply missing fields: ${o.join(", ")}, then retry the refused mutation.`:"Satisfy the declared workflow policy before retrying.",why:i.map(d=>d.description).filter(Boolean).join(" ")||void 0,recovery:{missing_required_fields:o},nextSteps:[...l,...new Set(n.slice(0,3).filter(d=>d.missing_fields.length===0).map(d=>d.remediation)),...n.length>3?[`Inspect all policies with pm schema policies before retrying ${e.operation}.`]:[]]})}import{AsyncLocalStorage as kP}from"node:async_hooks";import{channel as EP}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]="b2b2d49a-bb8c-54d7-89d2-1dbe76879129")}catch{}})();var fJ=new kP,SP=EP("@unbrained/pm-cli/item-metadata-enumeration/v1");function Ps(e){SP.publish(e)}import Hu from"node:path";import TP from"node:fs/promises";import AP 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]="1d746e4d-ff6c-54ec-a94f-4ec4cb8f77b5")}catch{}})();function IP(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,r)=>t.localeCompare(r))}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 OP(e,t){return await hr(AP.dirname(e)),await(await TP.open(e,"a")).close(),Ie({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Ru(e){return Ls({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function Ls(e){let t=IP(e.itemIds),r=[],n=[];for(let i of t){let o=Ee(e.pmRoot,i);if(!await M(o)){if(e.settings.history.missing_stream==="strict_error")throw CP(i,e.commandLabel);n.push(...await OP(o,e.commandLabel)),n.push(`history_stream_auto_created:${i}`),r.push(i)}}return{auto_created_ids:r,warnings:n}}import{isUtf8 as bL}from"node:buffer";import Ue from"node:fs/promises";import se from"node:path";import{createHash as LP,randomUUID as ew}from"node:crypto";import gn from"node:fs/promises";import Gy from"node:path";import{randomUUID as xP}from"node:crypto";import{createRequire as RP}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]="84a3dae8-69b6-589d-a8ec-11f77c1d103a")}catch{}})();var NP="metadata-query-index.sqlite",By="5",Nu;function Wy(){return Nu!==void 0||(Nu=es(process.versions.node,RP(import.meta.url))),Nu}function Du(e){return Gy.join(e,"runtime",NP)}function DP(e){e.exec(`
46
46
  PRAGMA foreign_keys = ON;
47
47
  PRAGMA journal_mode = OFF;
48
48
  PRAGMA synchronous = OFF;
@@ -112,12 +112,12 @@ ${o}`;continue}return null}return r}function Yn(e,t){let r=Ch(e).trim();if(!r)th
112
112
  parent = excluded.parent,
113
113
  assignee = excluded.assignee,
114
114
  sprint = excluded.sprint,
115
- release = excluded.release`).run(r.id,t.relativePath,JSON.stringify(r),r.status,r.type,r.priority,r.updated_at,r.created_at,r.parent??null,r.assignee??null,r.sprint??null,r.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(r.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(r.id),e.prepare("DELETE FROM item_search WHERE rowid = (SELECT rowid FROM items WHERE id = ?)").run(r.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(r.id,r.title,r.description,r.tags.join(" "),r.id);let n=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let o of Object.keys(r))n.run(r.id,o);let i=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let o of t.linkedFiles??[])i.run(r.id,o.path,o.scope,o.note??null)}async function Ky(e){let t=Du(e.pmRoot),r=Wy();if(!r){await gn.rm(t,{force:!0});return}await gn.mkdir(Gy.dirname(t),{recursive:!0});let n=`${t}.${xP()}.tmp`,i;try{i=new r(n),DP(i),i.exec("BEGIN IMMEDIATE"),Ms(i,"version",By),Ms(i,"context_fingerprint",e.contextFingerprint),Ms(i,"source_cursor",e.sourceCursor);for(let o of e.rows)Vy(i,o);i.exec("COMMIT"),i.close(),i=void 0,await gn.rm(t,{force:!0}),await gn.rename(n,t)}catch(o){throw i?.close(),await Promise.allSettled([gn.rm(n,{force:!0})]),o}}function PP(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function Jy(e){let t=Wy();if(!t)return!1;let r=Du(e.pmRoot),n;try{await gn.access(r),n=new t(r),n.exec("PRAGMA foreign_keys = ON");let i=PP(n);if(i.version!==By||i.context_fingerprint!==e.contextFingerprint||i.source_cursor!==e.expectedSourceCursor)return n.close(),!1;n.exec("BEGIN IMMEDIATE");let o=n.prepare("DELETE FROM items WHERE relative_path = ?"),a=n.prepare("SELECT rowid FROM items WHERE relative_path = ?"),s=n.prepare("DELETE FROM item_search WHERE rowid = ?");for(let c of e.deletedRelativePaths??[]){let l=a.get(c);o.run(c),l&&s.run(l.rowid)}return e.row&&Vy(n,e.row),Ms(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}async function $s(e){await gn.rm(Du(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]="846c1c5d-8a5c-56ee-832a-bfc780283e70")}catch{}})();var jt=8,Mu=500,MP="metadata-derived-index",$P="metadata-cache.json",FP="metadata-cache-bodies.json",jP="metadata-cache-collections.json",UP="metadata-cache-delta.json",zP="metadata-cache-manifest.json",Yy=4,HP=["comments","notes","learnings","files","tests","test_runs","docs"];function tw(){return Et(V())}function js(e){let t={...e},r={};for(let n of HP)n in t&&(r[n]=t[n],delete t[n]);return{light:t,heavy:r}}function rw(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function nw(e,t,r,n){let i=LP("sha256");i.update(`format:${e??"default"}`);let o=Object.entries(t).sort(([a],[s])=>a.localeCompare(s)).map(([a,s])=>`${a}=${s}`).join(",");return i.update(`|types:${o}`),r&&i.update(`|schema:${JSON.stringify(r)}`),n.length>0&&i.update(`|extension_fields:${n.join(",")}`),i.digest("hex").slice(0,16)}function Us(e){return se.join(e,"runtime",$P)}function zs(e){return se.join(e,"runtime",FP)}function Hs(e){return se.join(e,"runtime",jP)}function $u(e){return se.join(e,"runtime",UP)}function Fu(e){return se.join(e,"runtime",zP)}function qs(e,t){let r=se.extname(e);return`${e.slice(0,-r.length)}.${t}${r}`}var qP=24,ht=new Map,Gs=new WeakMap;function ju(e){return Gs.get(e)??e.source_cursor}function GP(e,t){let r=ju(e);if(!(t.base_source_cursor!==r||e.source_cursor===t.source_cursor)){Gs.set(e,r);for(let[n,i]of Object.entries(t.changes))i.entry?e.entries[n]=i.entry:delete e.entries[n];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function BP(e,t){if(!e)return;let r=ju(e);if(!(t.base_source_cursor!==r||e.source_cursor===t.source_cursor)){Gs.set(e,r);for(let[n,i]of Object.entries(t.changes))i.body?e.bodies[n]=i.body:delete e.bodies[n];e.source_cursor=t.source_cursor}}function WP(e,t){if(!e)return;let r=ju(e);if(!(t.base_source_cursor!==r||e.source_cursor===t.source_cursor)){Gs.set(e,r);for(let[n,i]of Object.entries(t.changes))i.collections?e.collections[n]=i.collections:delete e.collections[n];e.source_cursor=t.source_cursor}}function VP(e,t,r,n){!e||!n||e.context_fingerprint!==n.context_fingerprint||(GP(e,n),BP(t,n),WP(r,n))}function Pu(e,t){ht.size>=qP&&!ht.has(e)&&On(ht),ht.set(e,t)}async function $r(e,t){let r;try{r=await Ue.stat(e)}catch{return ht.delete(e),null}let n=ht.get(e);if(n&&yo(n.signature,r.mtimeMs,r.ctimeMs,r.size))return ht.delete(e),ht.set(e,n),n.envelope;let i;try{i=t(await Ue.readFile(e,"utf8"))}catch{i=null}return Pu(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:i}),i}async function KP(e,t,r){let n=s=>{let c=JSON.parse(s);return c.version!==jt||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},i=Us(e),o=await $r(i,n);if(!t||o===null||o.context_fingerprint===t)return o;let a=await $r(qs(i,t),n);return a===null&&vo(r,`metadata_cache_context_changed:${o.context_fingerprint}->${t}`),a}async function JP(e,t){let r=o=>{let a=JSON.parse(o);return a.version!==jt||typeof a.source_cursor!="string"||typeof a.bodies!="object"||a.bodies===null?null:a},n=zs(e),i=await $r(n,r);return t&&i?.context_fingerprint!==t?await $r(qs(n,t),r):i}async function YP(e,t){let r=o=>{let a=JSON.parse(o);return a.version!==jt||typeof a.source_cursor!="string"||typeof a.collections!="object"||a.collections===null?null:a},n=Hs(e),i=await $r(n,r);return t&&i?.context_fingerprint!==t?await $r(qs(n,t),r):i}async function iw(e){let t=$u(e),r=await $r(t,n=>{let i=JSON.parse(n);return i.version!==jt||typeof i.base_source_cursor!="string"||typeof i.source_cursor!="string"||typeof i.changes!="object"||i.changes===null?null:i});if(r)return{envelope:r,invalid:!1};try{return await Ue.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function ow(e){let t=Fu(e),r=await $r(t,n=>{let i=JSON.parse(n);return i.version!==jt||typeof i.context_fingerprint!="string"||typeof i.source_cursor!="string"||!Number.isInteger(i.entry_count)||i.entry_count<0||typeof i.directory_signatures!="object"||i.directory_signatures===null?null:i});if(r)return r;try{await Ue.stat(t),await wo(e)}catch{}return null}async function bo(e,t){await Ue.mkdir(se.dirname(e),{recursive:!0}),await q(e,JSON.stringify(t));try{let n=await Ue.stat(e);Pu(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:t})}catch{ht.delete(e)}let r=se.dirname(se.dirname(e));if(e===Us(r)||e===zs(r)||e===Hs(r)){let n=qs(e,t.context_fingerprint);await q(n,JSON.stringify(t));try{let c=await Ue.stat(n);Pu(n,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{ht.delete(n)}let i=se.dirname(e),o=se.extname(e),a=se.basename(e,o),s=(await Ue.readdir(i,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==se.basename(e)&&c.name.startsWith(`${a}.`)&&c.name.endsWith(o)).map(c=>se.join(i,c.name));if(s.length>Yy){let c=(await Promise.all(s.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-Yy)))await Ue.rm(l.path,{force:!0}),ht.delete(l.path)}}}function XP(e,t,r){return r?t===r&&e!==r:t==="toon"&&e!=="toon"}function aw(e,t,r){return e===void 0||XP(e,t,r)}function vo(e,t){e&&!e.includes(t)&&e.push(t)}function yo(e,t,r,n){return e.mtime_ms===t&&e.ctime_ms===r&&e.size===n}async function ZP(e,t,r){let n=se.join(e,t);try{let i=await Ue.readdir(n);return{folder:t,dirPath:n,files:i}}catch(i){return typeof i=="object"&&i!==null&&"code"in i&&!$(i)&&vo(r,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:n,files:[]}}}async function QP(e,t){try{let r=await Ue.stat(se.join(e,t));return[t,{exists:!0,mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Lu(e,t){return Object.fromEntries(await Promise.all(t.map(async r=>await QP(e,r))))}function Fs(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([r,n])=>{let i=e[r];return i!==void 0&&i.exists===n.exists&&yo(i,n.mtime_ms,n.ctime_ms,n.size)})}function eL(e){return Jt.some(t=>e.toLowerCase().endsWith(t))}function tL(e,t,r,n,i,o){n||(e.metadata=!0),t&&!i&&(e.body=!0),r&&!o&&(e.collections=!0)}async function rL(e,t,r){if(r)for(let n of await $e({path:e,scope:"project"}))vo(t,n)}function Xy(e,t,r,n){if(e)return t&&r?r.collections:n}async function nL(e,t,r){let n=await Ue.stat(e),i=n.mtimeMs,o=n.ctimeMs,{size:a}=n,s=$n(e);await rL(e,r.warnings,r.dispatchReadHooks);let c=r.previousEntries[t],l=!r.forceSourceRead&&c!==void 0&&yo(c,i,o,a),d=r.previousBodies[t],u=!r.forceSourceRead&&d!==void 0&&yo(d,i,o,a),m=r.previousCollections[t],p=!r.forceSourceRead&&m!==void 0&&yo(m,i,o,a);if(!(!l||r.includeBody&&!u||r.includeCollections&&!p))return{mtimeMs:i,ctimeMs:o,size:a,itemFormat:s,lightMetadata:c.metadata,heavyMetadata:Xy(r.includeCollections,p,m,void 0),bodyLength:c.body_length,body:r.includeBody?d.body:void 0};let f=await Ue.readFile(e,"utf8"),w=Ke(f,{format:s,schema:r.schema,extensionFieldNames:r.extensionFieldNames,onWarning:b=>vo(r.warnings,b)}),h=js(w.metadata);return tL(r.state.misses,r.includeBody,r.includeCollections,l,u,p),{mtimeMs:i,ctimeMs:o,size:a,itemFormat:s,lightMetadata:l?c.metadata:h.light,heavyMetadata:Xy(r.includeCollections,p,m,h.heavy),bodyLength:l?c.body_length:w.body.length,body:r.includeBody?w.body:void 0}}function iL(e,t,r,n){r.state.newEntries[t]={mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size,metadata:n.lightMetadata,body_length:n.bodyLength},r.includeBody&&n.body!==void 0&&(r.state.newBodies[t]={mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size,body:n.body}),r.includeCollections&&n.heavyMetadata!==void 0&&(r.state.newCollections[t]={mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size,collections:n.heavyMetadata});let i=r.includeCollections?rw(n.lightMetadata,n.heavyMetadata):n.lightMetadata,o=r.state.documentsById.get(i.id),a={metadata:i,body:n.body,item_format:n.itemFormat,item_path:e};aw(o?.itemFormat,n.itemFormat,r.preferredFormat)&&r.state.documentsById.set(i.id,{candidate:a,itemFormat:n.itemFormat})}async function oL(e,t,r,n){try{let i=await nL(t,r,n);iL(t,r,n,i)}catch{vo(n.warnings,`item_list_item_read_failed:${e}/${se.basename(t)}`)}}function aL(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function sL(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function cL(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function lL(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function dL(e,t){let r=[];for(let{folder:n,dirPath:i,files:o}of e)for(let a of o){if(!eL(a))continue;let s=se.join(i,a),c=se.relative(t.pmRoot,s);r.push(oL(n,s,c,t)),r.length===32&&(await Promise.all(r),r.length=0)}await Promise.all(r)}async function uL(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Fs(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await bo(Us(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await bo(Fu(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 t=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:se.relative(e.pmRoot,r.item_path),metadata:js(r.metadata).light,linkedFiles:r.metadata.files??[]}));t.length>=e.minimumIndexedItems?await Ky({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:t}):await $s(e.pmRoot)}catch{}}async function mL(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 bo(zs(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function pL(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 bo(Hs(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Uu(e,t,r={}){let n=await ow(e);return r.required!==!0&&(n===null||n.entry_count<Mu)?async()=>{}:ie(e,MP,30,t,!1,!1,3e3)}function Zy(e,t){let r=se.relative(e,t);return r===""||r===".."||r.startsWith(`..${se.sep}`)||se.isAbsolute(r)?null:r}async function wo(e){await Promise.all([Us(e),zs(e),Hs(e),$u(e),Fu(e)].map(async t=>{await Ue.rm(t,{force:!0}),ht.delete(t)})),await $s(e)}async function fL(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await Ue.stat(e.mutation.itemPath),r=js(e.mutation.document.metadata),n={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...n,metadata:r.light,body_length:e.mutation.document.body.length},body:{...n,body:e.mutation.document.body},collections:{...n,collections:r.heavy}}}function _L(e,t,r){return e?.context_fingerprint===t&&e.base_source_cursor===r?structuredClone(e.changes):{}}async function zu(e){let t=Zy(e.pmRoot,e.itemPath),r=e.previousItemPath?Zy(e.pmRoot,e.previousItemPath):void 0;if(t===null||r===null)return await wo(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let n=nw(e.preferredFormat,e.typeToFolder,e.schema,tw()),i=await ow(e.pmRoot);if(i===null||i.context_fingerprint!==n)return[];let o=i.source_cursor,a=await iw(e.pmRoot);if(a.invalid)return await wo(e.pmRoot),["metadata_derived_index_refresh_failed"];let s=_L(a.envelope,n,o),c=a.envelope?.context_fingerprint===n&&a.envelope.base_source_cursor===o?a.envelope.source_cursor:o;r!==void 0&&(s[r]={entry:null,body:null,collections:null}),s[t]=await fL({mutation:e});let l=ew();return await bo($u(e.pmRoot),{version:jt,context_fingerprint:n,base_source_cursor:o,source_cursor:l,directory_signatures:await Lu(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:s}),await Jy({pmRoot:e.pmRoot,contextFingerprint:n,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:js(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...r===void 0?[]:[r],...e.document===null?[t]:[]]})||await $s(e.pmRoot),[]}catch{return await wo(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function gL(e){return[...e.documentsById.values()].sort((t,r)=>t.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(t=>t.candidate)}function Qy(e,t,r){return e?.context_fingerprint===t&&e.source_cursor===r}function hL(e,t,r,n,i){return e.every(o=>(!t||n[o]!==void 0)&&(!r||i[o]!==void 0))}function yL(e){let t=new Map;for(let[r,n]of Object.entries(e.previousEntries)){let i=$n(r);if(!i)continue;let o=e.includeCollections?rw(n.metadata,e.previousCollections[r]?.collections):n.metadata,a=t.get(o.id);aw(a?.itemFormat,i,e.preferredFormat)&&t.set(o.id,{itemFormat:i,candidate:{metadata:o,body:e.includeBody?e.previousBodies[r]?.body:void 0,item_format:i,item_path:se.join(e.pmRoot,r)}})}return[...t.values()].sort((r,n)=>r.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(r=>r.candidate)}function wL(e){return e.forceSourceScan||Va()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Fs(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Qy(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Qy(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&hL(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function ko(e,t,r,n,i,o={}){let a=o.includeBody!==!1,s=o.includeCollections!==!1,c=tw(),l=nw(t,r,i,c),d=await iw(e);d.invalid&&await wo(e);let u=await KP(e,l,o.cacheDiagnostics),m=a?await JP(e,l):null,p=s?await YP(e,l):null;VP(u,m,p,d.envelope);let f=aL(u,l),w=sL(m,l),h=cL(p,l),b=[...new Set(Object.values(r))],v=await Lu(e,b),I=Object.keys(f),A=Math.max(1,Math.floor(o.derivedIndexMinimumItems??Mu));if(wL({forceSourceScan:o.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:v,entryKeys:I,minimumIndexedItems:A,includeBody:a,includeCollections:s,previousBodies:w,previousCollections:h}))return yL({pmRoot:e,preferredFormat:t,includeBody:a,includeCollections:s,previousEntries:f,previousBodies:w,previousCollections:h});let C=await Promise.all(b.map(de=>ZP(e,de,n))),P=Va(),S=lL(),D={pmRoot:e,preferredFormat:t,warnings:n,schema:i,extensionFieldNames:c,includeBody:a,includeCollections:s,forceSourceRead:o.forceSourceScan===!0,dispatchReadHooks:P,previousEntries:f,previousBodies:w,previousCollections:h,state:S};await dL(C,D);let z=await Lu(e,b),E=Fs(v,z)?z:{},O=S.misses.metadata||Object.keys(f).length!==Object.keys(S.newEntries).length||!Fs(u?.directory_signatures,E)||u===null?ew():u.source_cursor;return await uL({pmRoot:e,contextFingerprint:l,sourceCursor:O,existingCache:u,previousEntries:f,directorySignatures:E,state:S,minimumIndexedItems:A}),a&&await mL({pmRoot:e,contextFingerprint:l,sourceCursor:O,existingBodyCache:m,previousBodies:w,state:S}),s&&await pL({pmRoot:e,contextFingerprint:l,sourceCursor:O,existingCollectionsCache:p,previousCollections:h,state:S}),gL(S)}async function sw(e,t,r,n,i){return(await ko(e,t,r,n,i,{includeBody:!1})).map(o=>({metadata:o.metadata,body:o.body??""}))}async function cw(e,t,r,n,i){return(await ko(e,t,r,n,i,{includeBody:!1,includeCollections:!1})).map(o=>({metadata:o.metadata,body:o.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]="ce5fc177-192a-5efe-a65f-59f0fc0bea42")}catch{}})();async function vL(e){try{return await Eo.access(e),!0}catch{return!1}}function kL(e,t){e&&(e.includes(t)||e.push(t))}function EL(e){return e??Et(V())}function SL(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function Se(e,t,r="pm-",n,i=He){let o=t.trim(),a=o.startsWith("#")?o.slice(1):o;if(a.length===0)return null;let s=Ft(t,r),c=or(t),l=[...new Set([a,s,c])].filter(m=>m.length>0),d=Object.entries(i),u=SL(n);for(let m of l){let p=new Map;for(let[f]of d)for(let w of u){let h=Ni(e,f,m,w,i);await vL(h)&&p.set(h,p.get(h)??{id:m,type:f,itemPath:h,item_format:w})}if(p.size>1){let f=[...p.keys()].map(w=>Hu.relative(e,w).split(Hu.sep).join("/")).sort();throw new g(`Item ${m} has ambiguous identity across ${f.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,_.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:f})}for(let f of p.values())return f}return null}async function ze(e,t={}){let r=await qu(e,t);if(r.error!==null)throw r.error;return{raw:r.raw,document:r.document}}async function qu(e,t={}){let r=await Eo.readFile(e.itemPath);if(!bL(r))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:r.length,empty:!1});let n=r.toString("utf8");await $e({path:e.itemPath,scope:"project"});let i;try{i=Ke(n,{format:e.item_format,requireSupportedFormat:!0,schema:t.schema,extensionFieldNames:EL(t.extensionFieldNames),onWarning:o=>kL(t.warnings,o)})}catch(o){if(o instanceof g&&o.code==="item_format_version_unsupported")throw new g(`Item ${e.id}: ${o.message}`,o.exitCode,{...o.context,item_id:e.id,item_path:e.itemPath});if(o instanceof g&&o.code==="item_document_invalid")return{raw:n,document:null,error:new g(`Cannot read ${e.id} at ${e.itemPath}${r.length===0?" (zero-length file)":""}: ${o.message}`,o.exitCode,{...o.context,item_id:e.id,item_path:e.itemPath,byte_length:r.length,empty:r.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw o}return{raw:n,document:i,error:null}}async function So(e,t,r=He,n,i){await Qn(e);let o=await sw(e,t,r,n,i);return Ps(o.length),o.map(a=>a.metadata)}async function To(e,t,r=He,n,i){await Qn(e);let o=await cw(e,t,r,n,i);return Ps(o.length),o.map(a=>a.metadata)}async function hn(e,t,r=He,n,i,o={}){await Qn(e);let a=await ko(e,t,r,n,i,{includeBody:!0,forceSourceScan:o.forceSourceScan});return Ps(a.length),a.map(s=>({...s.metadata,body:s.body}))}function lw(e){return{async get(t){let r=await Se(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!r)return null;let{document:n}=await ze(r,{schema:e.settings.schema});return{item:n.metadata,body:n.body}},list:()=>So(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function TL(e,t){let r=new Set(Object.values(t)),n=[];return await Promise.all([...r].map(async i=>{try{let o=await Eo.readdir(Hu.join(e,i));for(let a of o)for(let s of Jt)if(a.toLowerCase().endsWith(s)){n.push(a.slice(0,-s.length));break}}catch{}})),n}async function AL(e,t,r,n){let i=Ft(t,r),o=await TL(e,n);if(o.length===0)return[];let a=Math.max(3,Math.floor(i.length/2));return o.map(s=>({id:s,distance:Rt(s,i,a)})).filter(s=>s.distance!==null).sort((s,c)=>s.distance-c.distance).slice(0,3).map(s=>s.id)}async function dw(e,t,r,n){let i=await My(e,t,r);if(i)return i;let o=await AL(e,t,r,n),a=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&a.unshift(`Did you mean one of: ${o.join(", ")}?`),new g(`Item ${t} not found`,_.NOT_FOUND,{nextSteps:a})}function IL(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 CL(e){let t=e.typeToFolder??ce(e.settings,V()).type_to_folder,r=await Se(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!r)throw await dw(e.pmRoot,e.id,e.settings.id_prefix,t);let n=await ie(e.pmRoot,r.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 i=[],{raw:o,document:a}=await ze(r,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:i}),s=a.metadata.assignee?.trim(),c=a.metadata.claim_principal?.trim()||s,l=ud(e.author),d=Dr(e.settings);if(s&&c!==l&&!e.force&&!IL(e.op,e.bypassAssigneeConflict)){if(d.ownership_enforcement==="strict")throw new g(`Item ${r.id} is assigned to ${s}. Use --force to override.`,_.CONFLICT);d.ownership_enforcement==="warn"&&i.push(`ownership_warning:assignee_conflict:${r.id}:${s}`)}return{typeToFolder:t,located:r,originalRaw:o,document:a,warnings:i,releaseLock:n}}catch(i){throw await n(),i}}function OL(e,t,r){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:r,skipItemWrite:!1};let n=e.result;return{effectiveTargetItemPath:typeof n.target_item_path=="string"&&n.target_item_path.trim().length>0?n.target_item_path:t,effectiveSerializedAfter:typeof n.contents=="string"?n.contents:r,skipItemWrite:n.skip_write===!0}}async function xL(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await q(e.originalItemPath,e.originalRaw),await Eo.rm(e.effectiveTargetItemPath,{force:!0});return}await q(e.originalItemPath,e.originalRaw)}}async function RL(e){Ca(e.op);let t=await CL({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:r,located:n,originalRaw:i,document:o,warnings:a,releaseLock:s}=t;try{let c=mt(o,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=mt(structuredClone(o),{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:[...a,...d.warnings??[]]};let u=e.resolveHistoryContext?.();l.metadata.updated_at=j();let m=mt(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await qy({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await Gl({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:d.changedFields,sdk:lw({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:r})});let f=await Ru({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:e.op}),w="toon",h=Mn(m,{format:w,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),b=Ni(e.pmRoot,m.metadata.type,n.id,w,r),v=Ee(e.pmRoot,n.id),I=await Nt("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:n.id,source_item_path:n.itemPath,target_item_path:b,history_path:v,item_format:w,before:c,after:m,contents:h}),{effectiveTargetItemPath:A,effectiveSerializedAfter:C,skipItemWrite:P}=OL(I,b,h),S=await Uu(e.pmRoot,e.author),D=[];try{P||await q(A,C),!P&&A!==n.itemPath&&await Eo.rm(n.itemPath);let E=cn({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?u:{...u,workflow_policies:p.decisions}});try{await Zi(v,E)}catch(O){throw await xL({skipItemWrite:P,effectiveTargetItemPath:A,originalItemPath:n.itemPath,originalRaw:i}),O}P||(D=await zu({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:r,schema:e.settings.schema,itemPath:A,previousItemPath:n.itemPath,document:m}))}finally{await S()}let z=[...await Ie({path:A,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:d.changedFields}),...await Ie({path:v,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:d.changedFields})];return ql({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:Wa(c.metadata,d.changedFields),current:Wa(m.metadata,d.changedFields),changed_fields:d.changedFields}),{item:m.metadata,body:m.body,changedFields:d.changedFields,warnings:[...a,...d.warnings??[],...p.warnings,...f.warnings,...I.warnings,...D,...z]}}finally{await s()}}async function yn(e){return RL(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]="eeaf2318-5964-5d98-ad90-9faa7fc69975")}catch{}})();function Gu(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let r=Dr(e.settings);if(r.ownership_enforcement==="strict")throw new g(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,_.CONFLICT);return r.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function DL(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 r=await Se(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),n=r?e.readItem?await e.readItem(r):await ze(r,{schema:e.settings.schema}):null;if((n?.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:r,loadedItemUnderLock:n}}async function Bs(e){let t=e.writeHistoryRaw??q;try{await t(e.historyPath,e.nextHistoryRaw),await nn(e.historyPath)}catch(r){try{e.historyRawUnderLock===null?await NL.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await nn(e.historyPath)}catch(n){throw new AggregateError([r,n],`History rewrite failed and rollback also failed: ${String(r)}`)}throw r}}async function uw(e){let t=[...Gu({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],r=await ie(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 n=await DL({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(n),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(n)),t}finally{await 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]="cca38e64-dd53-5086-8825-dc1c8f1cc587")}catch{}})();function ML(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 r=t;if(!Array.isArray(r.patch)||![r.ts,r.author,r.op,r.before_hash,r.after_hash].every(n=>typeof n=="string"))throw new g("History salvage requires complete history records before the invalid tail.",_.CONFLICT,{code:"history_salvage_refused"});return r}function $L(e){if(Le(e))throw new g("Resolve history merge conflicts before salvage.",_.CONFLICT,{code:"history_salvage_refused"});let t=[],r=0,n,i=0;for(let[a,s]of e.split(`
115
+ release = excluded.release`).run(r.id,t.relativePath,JSON.stringify(r),r.status,r.type,r.priority,r.updated_at,r.created_at,r.parent??null,r.assignee??null,r.sprint??null,r.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(r.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(r.id),e.prepare("DELETE FROM item_search WHERE rowid = (SELECT rowid FROM items WHERE id = ?)").run(r.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(r.id,r.title,r.description,r.tags.join(" "),r.id);let n=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let o of Object.keys(r))n.run(r.id,o);let i=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let o of t.linkedFiles??[])i.run(r.id,o.path,o.scope,o.note??null)}async function Ky(e){let t=Du(e.pmRoot),r=Wy();if(!r){await gn.rm(t,{force:!0});return}await gn.mkdir(Gy.dirname(t),{recursive:!0});let n=`${t}.${xP()}.tmp`,i;try{i=new r(n),DP(i),i.exec("BEGIN IMMEDIATE"),Ms(i,"version",By),Ms(i,"context_fingerprint",e.contextFingerprint),Ms(i,"source_cursor",e.sourceCursor);for(let o of e.rows)Vy(i,o);i.exec("COMMIT"),i.close(),i=void 0,await gn.rm(t,{force:!0}),await gn.rename(n,t)}catch(o){throw i?.close(),await Promise.allSettled([gn.rm(n,{force:!0})]),o}}function PP(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function Jy(e){let t=Wy();if(!t)return!1;let r=Du(e.pmRoot),n;try{await gn.access(r),n=new t(r),n.exec("PRAGMA foreign_keys = ON");let i=PP(n);if(i.version!==By||i.context_fingerprint!==e.contextFingerprint||i.source_cursor!==e.expectedSourceCursor)return n.close(),!1;n.exec("BEGIN IMMEDIATE");let o=n.prepare("DELETE FROM items WHERE relative_path = ?"),a=n.prepare("SELECT rowid FROM items WHERE relative_path = ?"),s=n.prepare("DELETE FROM item_search WHERE rowid = ?");for(let c of e.deletedRelativePaths??[]){let l=a.get(c);o.run(c),l&&s.run(l.rowid)}return e.row&&Vy(n,e.row),Ms(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}async function $s(e){await gn.rm(Du(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]="846c1c5d-8a5c-56ee-832a-bfc780283e70")}catch{}})();var jt=8,Mu=500,MP="metadata-derived-index",$P="metadata-cache.json",FP="metadata-cache-bodies.json",jP="metadata-cache-collections.json",UP="metadata-cache-delta.json",zP="metadata-cache-manifest.json",Yy=4,HP=["comments","notes","learnings","files","tests","test_runs","docs"];function tw(){return St(V())}function js(e){let t={...e},r={};for(let n of HP)n in t&&(r[n]=t[n],delete t[n]);return{light:t,heavy:r}}function rw(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function nw(e,t,r,n){let i=LP("sha256");i.update(`format:${e??"default"}`);let o=Object.entries(t).sort(([a],[s])=>a.localeCompare(s)).map(([a,s])=>`${a}=${s}`).join(",");return i.update(`|types:${o}`),r&&i.update(`|schema:${JSON.stringify(r)}`),n.length>0&&i.update(`|extension_fields:${n.join(",")}`),i.digest("hex").slice(0,16)}function Us(e){return se.join(e,"runtime",$P)}function zs(e){return se.join(e,"runtime",FP)}function Hs(e){return se.join(e,"runtime",jP)}function $u(e){return se.join(e,"runtime",UP)}function Fu(e){return se.join(e,"runtime",zP)}function qs(e,t){let r=se.extname(e);return`${e.slice(0,-r.length)}.${t}${r}`}var qP=24,ht=new Map,Gs=new WeakMap;function ju(e){return Gs.get(e)??e.source_cursor}function GP(e,t){let r=ju(e);if(!(t.base_source_cursor!==r||e.source_cursor===t.source_cursor)){Gs.set(e,r);for(let[n,i]of Object.entries(t.changes))i.entry?e.entries[n]=i.entry:delete e.entries[n];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function BP(e,t){if(!e)return;let r=ju(e);if(!(t.base_source_cursor!==r||e.source_cursor===t.source_cursor)){Gs.set(e,r);for(let[n,i]of Object.entries(t.changes))i.body?e.bodies[n]=i.body:delete e.bodies[n];e.source_cursor=t.source_cursor}}function WP(e,t){if(!e)return;let r=ju(e);if(!(t.base_source_cursor!==r||e.source_cursor===t.source_cursor)){Gs.set(e,r);for(let[n,i]of Object.entries(t.changes))i.collections?e.collections[n]=i.collections:delete e.collections[n];e.source_cursor=t.source_cursor}}function VP(e,t,r,n){!e||!n||e.context_fingerprint!==n.context_fingerprint||(GP(e,n),BP(t,n),WP(r,n))}function Pu(e,t){ht.size>=qP&&!ht.has(e)&&On(ht),ht.set(e,t)}async function $r(e,t){let r;try{r=await Ue.stat(e)}catch{return ht.delete(e),null}let n=ht.get(e);if(n&&yo(n.signature,r.mtimeMs,r.ctimeMs,r.size))return ht.delete(e),ht.set(e,n),n.envelope;let i;try{i=t(await Ue.readFile(e,"utf8"))}catch{i=null}return Pu(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:i}),i}async function KP(e,t,r){let n=s=>{let c=JSON.parse(s);return c.version!==jt||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},i=Us(e),o=await $r(i,n);if(!t||o===null||o.context_fingerprint===t)return o;let a=await $r(qs(i,t),n);return a===null&&vo(r,`metadata_cache_context_changed:${o.context_fingerprint}->${t}`),a}async function JP(e,t){let r=o=>{let a=JSON.parse(o);return a.version!==jt||typeof a.source_cursor!="string"||typeof a.bodies!="object"||a.bodies===null?null:a},n=zs(e),i=await $r(n,r);return t&&i?.context_fingerprint!==t?await $r(qs(n,t),r):i}async function YP(e,t){let r=o=>{let a=JSON.parse(o);return a.version!==jt||typeof a.source_cursor!="string"||typeof a.collections!="object"||a.collections===null?null:a},n=Hs(e),i=await $r(n,r);return t&&i?.context_fingerprint!==t?await $r(qs(n,t),r):i}async function iw(e){let t=$u(e),r=await $r(t,n=>{let i=JSON.parse(n);return i.version!==jt||typeof i.base_source_cursor!="string"||typeof i.source_cursor!="string"||typeof i.changes!="object"||i.changes===null?null:i});if(r)return{envelope:r,invalid:!1};try{return await Ue.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function ow(e){let t=Fu(e),r=await $r(t,n=>{let i=JSON.parse(n);return i.version!==jt||typeof i.context_fingerprint!="string"||typeof i.source_cursor!="string"||!Number.isInteger(i.entry_count)||i.entry_count<0||typeof i.directory_signatures!="object"||i.directory_signatures===null?null:i});if(r)return r;try{await Ue.stat(t),await wo(e)}catch{}return null}async function bo(e,t){await Ue.mkdir(se.dirname(e),{recursive:!0}),await q(e,JSON.stringify(t));try{let n=await Ue.stat(e);Pu(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:t})}catch{ht.delete(e)}let r=se.dirname(se.dirname(e));if(e===Us(r)||e===zs(r)||e===Hs(r)){let n=qs(e,t.context_fingerprint);await q(n,JSON.stringify(t));try{let c=await Ue.stat(n);Pu(n,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{ht.delete(n)}let i=se.dirname(e),o=se.extname(e),a=se.basename(e,o),s=(await Ue.readdir(i,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==se.basename(e)&&c.name.startsWith(`${a}.`)&&c.name.endsWith(o)).map(c=>se.join(i,c.name));if(s.length>Yy){let c=(await Promise.all(s.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-Yy)))await Ue.rm(l.path,{force:!0}),ht.delete(l.path)}}}function XP(e,t,r){return r?t===r&&e!==r:t==="toon"&&e!=="toon"}function aw(e,t,r){return e===void 0||XP(e,t,r)}function vo(e,t){e&&!e.includes(t)&&e.push(t)}function yo(e,t,r,n){return e.mtime_ms===t&&e.ctime_ms===r&&e.size===n}async function ZP(e,t,r){let n=se.join(e,t);try{let i=await Ue.readdir(n);return{folder:t,dirPath:n,files:i}}catch(i){return typeof i=="object"&&i!==null&&"code"in i&&!$(i)&&vo(r,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:n,files:[]}}}async function QP(e,t){try{let r=await Ue.stat(se.join(e,t));return[t,{exists:!0,mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Lu(e,t){return Object.fromEntries(await Promise.all(t.map(async r=>await QP(e,r))))}function Fs(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([r,n])=>{let i=e[r];return i!==void 0&&i.exists===n.exists&&yo(i,n.mtime_ms,n.ctime_ms,n.size)})}function eL(e){return Jt.some(t=>e.toLowerCase().endsWith(t))}function tL(e,t,r,n,i,o){n||(e.metadata=!0),t&&!i&&(e.body=!0),r&&!o&&(e.collections=!0)}async function rL(e,t,r){if(r)for(let n of await $e({path:e,scope:"project"}))vo(t,n)}function Xy(e,t,r,n){if(e)return t&&r?r.collections:n}async function nL(e,t,r){let n=await Ue.stat(e),i=n.mtimeMs,o=n.ctimeMs,{size:a}=n,s=$n(e);await rL(e,r.warnings,r.dispatchReadHooks);let c=r.previousEntries[t],l=!r.forceSourceRead&&c!==void 0&&yo(c,i,o,a),d=r.previousBodies[t],u=!r.forceSourceRead&&d!==void 0&&yo(d,i,o,a),m=r.previousCollections[t],p=!r.forceSourceRead&&m!==void 0&&yo(m,i,o,a);if(!(!l||r.includeBody&&!u||r.includeCollections&&!p))return{mtimeMs:i,ctimeMs:o,size:a,itemFormat:s,lightMetadata:c.metadata,heavyMetadata:Xy(r.includeCollections,p,m,void 0),bodyLength:c.body_length,body:r.includeBody?d.body:void 0};let f=await Ue.readFile(e,"utf8"),w=Ke(f,{format:s,schema:r.schema,extensionFieldNames:r.extensionFieldNames,onWarning:b=>vo(r.warnings,b)}),h=js(w.metadata);return tL(r.state.misses,r.includeBody,r.includeCollections,l,u,p),{mtimeMs:i,ctimeMs:o,size:a,itemFormat:s,lightMetadata:l?c.metadata:h.light,heavyMetadata:Xy(r.includeCollections,p,m,h.heavy),bodyLength:l?c.body_length:w.body.length,body:r.includeBody?w.body:void 0}}function iL(e,t,r,n){r.state.newEntries[t]={mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size,metadata:n.lightMetadata,body_length:n.bodyLength},r.includeBody&&n.body!==void 0&&(r.state.newBodies[t]={mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size,body:n.body}),r.includeCollections&&n.heavyMetadata!==void 0&&(r.state.newCollections[t]={mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size,collections:n.heavyMetadata});let i=r.includeCollections?rw(n.lightMetadata,n.heavyMetadata):n.lightMetadata,o=r.state.documentsById.get(i.id),a={metadata:i,body:n.body,item_format:n.itemFormat,item_path:e};aw(o?.itemFormat,n.itemFormat,r.preferredFormat)&&r.state.documentsById.set(i.id,{candidate:a,itemFormat:n.itemFormat})}async function oL(e,t,r,n){try{let i=await nL(t,r,n);iL(t,r,n,i)}catch{vo(n.warnings,`item_list_item_read_failed:${e}/${se.basename(t)}`)}}function aL(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function sL(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function cL(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function lL(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function dL(e,t){let r=[];for(let{folder:n,dirPath:i,files:o}of e)for(let a of o){if(!eL(a))continue;let s=se.join(i,a),c=se.relative(t.pmRoot,s);r.push(oL(n,s,c,t)),r.length===32&&(await Promise.all(r),r.length=0)}await Promise.all(r)}async function uL(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Fs(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await bo(Us(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await bo(Fu(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 t=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:se.relative(e.pmRoot,r.item_path),metadata:js(r.metadata).light,linkedFiles:r.metadata.files??[]}));t.length>=e.minimumIndexedItems?await Ky({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:t}):await $s(e.pmRoot)}catch{}}async function mL(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 bo(zs(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function pL(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 bo(Hs(e.pmRoot),{version:jt,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Uu(e,t,r={}){let n=await ow(e);return r.required!==!0&&(n===null||n.entry_count<Mu)?async()=>{}:ie(e,MP,30,t,!1,!1,3e3)}function Zy(e,t){let r=se.relative(e,t);return r===""||r===".."||r.startsWith(`..${se.sep}`)||se.isAbsolute(r)?null:r}async function wo(e){await Promise.all([Us(e),zs(e),Hs(e),$u(e),Fu(e)].map(async t=>{await Ue.rm(t,{force:!0}),ht.delete(t)})),await $s(e)}async function fL(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await Ue.stat(e.mutation.itemPath),r=js(e.mutation.document.metadata),n={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...n,metadata:r.light,body_length:e.mutation.document.body.length},body:{...n,body:e.mutation.document.body},collections:{...n,collections:r.heavy}}}function _L(e,t,r){return e?.context_fingerprint===t&&e.base_source_cursor===r?structuredClone(e.changes):{}}async function zu(e){let t=Zy(e.pmRoot,e.itemPath),r=e.previousItemPath?Zy(e.pmRoot,e.previousItemPath):void 0;if(t===null||r===null)return await wo(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let n=nw(e.preferredFormat,e.typeToFolder,e.schema,tw()),i=await ow(e.pmRoot);if(i===null||i.context_fingerprint!==n)return[];let o=i.source_cursor,a=await iw(e.pmRoot);if(a.invalid)return await wo(e.pmRoot),["metadata_derived_index_refresh_failed"];let s=_L(a.envelope,n,o),c=a.envelope?.context_fingerprint===n&&a.envelope.base_source_cursor===o?a.envelope.source_cursor:o;r!==void 0&&(s[r]={entry:null,body:null,collections:null}),s[t]=await fL({mutation:e});let l=ew();return await bo($u(e.pmRoot),{version:jt,context_fingerprint:n,base_source_cursor:o,source_cursor:l,directory_signatures:await Lu(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:s}),await Jy({pmRoot:e.pmRoot,contextFingerprint:n,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:js(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...r===void 0?[]:[r],...e.document===null?[t]:[]]})||await $s(e.pmRoot),[]}catch{return await wo(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function gL(e){return[...e.documentsById.values()].sort((t,r)=>t.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(t=>t.candidate)}function Qy(e,t,r){return e?.context_fingerprint===t&&e.source_cursor===r}function hL(e,t,r,n,i){return e.every(o=>(!t||n[o]!==void 0)&&(!r||i[o]!==void 0))}function yL(e){let t=new Map;for(let[r,n]of Object.entries(e.previousEntries)){let i=$n(r);if(!i)continue;let o=e.includeCollections?rw(n.metadata,e.previousCollections[r]?.collections):n.metadata,a=t.get(o.id);aw(a?.itemFormat,i,e.preferredFormat)&&t.set(o.id,{itemFormat:i,candidate:{metadata:o,body:e.includeBody?e.previousBodies[r]?.body:void 0,item_format:i,item_path:se.join(e.pmRoot,r)}})}return[...t.values()].sort((r,n)=>r.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(r=>r.candidate)}function wL(e){return e.forceSourceScan||Va()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Fs(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Qy(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Qy(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&hL(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function ko(e,t,r,n,i,o={}){let a=o.includeBody!==!1,s=o.includeCollections!==!1,c=tw(),l=nw(t,r,i,c),d=await iw(e);d.invalid&&await wo(e);let u=await KP(e,l,o.cacheDiagnostics),m=a?await JP(e,l):null,p=s?await YP(e,l):null;VP(u,m,p,d.envelope);let f=aL(u,l),w=sL(m,l),h=cL(p,l),b=[...new Set(Object.values(r))],v=await Lu(e,b),I=Object.keys(f),A=Math.max(1,Math.floor(o.derivedIndexMinimumItems??Mu));if(wL({forceSourceScan:o.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:v,entryKeys:I,minimumIndexedItems:A,includeBody:a,includeCollections:s,previousBodies:w,previousCollections:h}))return yL({pmRoot:e,preferredFormat:t,includeBody:a,includeCollections:s,previousEntries:f,previousBodies:w,previousCollections:h});let C=await Promise.all(b.map(de=>ZP(e,de,n))),P=Va(),T=lL(),D={pmRoot:e,preferredFormat:t,warnings:n,schema:i,extensionFieldNames:c,includeBody:a,includeCollections:s,forceSourceRead:o.forceSourceScan===!0,dispatchReadHooks:P,previousEntries:f,previousBodies:w,previousCollections:h,state:T};await dL(C,D);let z=await Lu(e,b),E=Fs(v,z)?z:{},O=T.misses.metadata||Object.keys(f).length!==Object.keys(T.newEntries).length||!Fs(u?.directory_signatures,E)||u===null?ew():u.source_cursor;return await uL({pmRoot:e,contextFingerprint:l,sourceCursor:O,existingCache:u,previousEntries:f,directorySignatures:E,state:T,minimumIndexedItems:A}),a&&await mL({pmRoot:e,contextFingerprint:l,sourceCursor:O,existingBodyCache:m,previousBodies:w,state:T}),s&&await pL({pmRoot:e,contextFingerprint:l,sourceCursor:O,existingCollectionsCache:p,previousCollections:h,state:T}),gL(T)}async function sw(e,t,r,n,i){return(await ko(e,t,r,n,i,{includeBody:!1})).map(o=>({metadata:o.metadata,body:o.body??""}))}async function cw(e,t,r,n,i){return(await ko(e,t,r,n,i,{includeBody:!1,includeCollections:!1})).map(o=>({metadata:o.metadata,body:o.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]="ce5fc177-192a-5efe-a65f-59f0fc0bea42")}catch{}})();async function vL(e){try{return await Eo.access(e),!0}catch{return!1}}function kL(e,t){e&&(e.includes(t)||e.push(t))}function EL(e){return e??St(V())}function SL(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function Se(e,t,r="pm-",n,i=He){let o=t.trim(),a=o.startsWith("#")?o.slice(1):o;if(a.length===0)return null;let s=Ft(t,r),c=or(t),l=[...new Set([a,s,c])].filter(m=>m.length>0),d=Object.entries(i),u=SL(n);for(let m of l){let p=new Map;for(let[f]of d)for(let w of u){let h=Ni(e,f,m,w,i);await vL(h)&&p.set(h,p.get(h)??{id:m,type:f,itemPath:h,item_format:w})}if(p.size>1){let f=[...p.keys()].map(w=>Hu.relative(e,w).split(Hu.sep).join("/")).sort();throw new g(`Item ${m} has ambiguous identity across ${f.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,_.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:f})}for(let f of p.values())return f}return null}async function ze(e,t={}){let r=await qu(e,t);if(r.error!==null)throw r.error;return{raw:r.raw,document:r.document}}async function qu(e,t={}){let r=await Eo.readFile(e.itemPath);if(!bL(r))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:r.length,empty:!1});let n=r.toString("utf8");await $e({path:e.itemPath,scope:"project"});let i;try{i=Ke(n,{format:e.item_format,requireSupportedFormat:!0,schema:t.schema,extensionFieldNames:EL(t.extensionFieldNames),onWarning:o=>kL(t.warnings,o)})}catch(o){if(o instanceof g&&o.code==="item_format_version_unsupported")throw new g(`Item ${e.id}: ${o.message}`,o.exitCode,{...o.context,item_id:e.id,item_path:e.itemPath});if(o instanceof g&&o.code==="item_document_invalid")return{raw:n,document:null,error:new g(`Cannot read ${e.id} at ${e.itemPath}${r.length===0?" (zero-length file)":""}: ${o.message}`,o.exitCode,{...o.context,item_id:e.id,item_path:e.itemPath,byte_length:r.length,empty:r.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw o}return{raw:n,document:i,error:null}}async function So(e,t,r=He,n,i){await Qn(e);let o=await sw(e,t,r,n,i);return Ps(o.length),o.map(a=>a.metadata)}async function To(e,t,r=He,n,i){await Qn(e);let o=await cw(e,t,r,n,i);return Ps(o.length),o.map(a=>a.metadata)}async function hn(e,t,r=He,n,i,o={}){await Qn(e);let a=await ko(e,t,r,n,i,{includeBody:!0,forceSourceScan:o.forceSourceScan});return Ps(a.length),a.map(s=>({...s.metadata,body:s.body}))}function lw(e){return{async get(t){let r=await Se(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!r)return null;let{document:n}=await ze(r,{schema:e.settings.schema});return{item:n.metadata,body:n.body}},list:()=>So(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function TL(e,t){let r=new Set(Object.values(t)),n=[];return await Promise.all([...r].map(async i=>{try{let o=await Eo.readdir(Hu.join(e,i));for(let a of o)for(let s of Jt)if(a.toLowerCase().endsWith(s)){n.push(a.slice(0,-s.length));break}}catch{}})),n}async function AL(e,t,r,n){let i=Ft(t,r),o=await TL(e,n);if(o.length===0)return[];let a=Math.max(3,Math.floor(i.length/2));return o.map(s=>({id:s,distance:Nt(s,i,a)})).filter(s=>s.distance!==null).sort((s,c)=>s.distance-c.distance).slice(0,3).map(s=>s.id)}async function dw(e,t,r,n){let i=await My(e,t,r);if(i)return i;let o=await AL(e,t,r,n),a=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&a.unshift(`Did you mean one of: ${o.join(", ")}?`),new g(`Item ${t} not found`,_.NOT_FOUND,{nextSteps:a})}function IL(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 CL(e){let t=e.typeToFolder??ce(e.settings,V()).type_to_folder,r=await Se(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!r)throw await dw(e.pmRoot,e.id,e.settings.id_prefix,t);let n=await ie(e.pmRoot,r.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 i=[],{raw:o,document:a}=await ze(r,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:i}),s=a.metadata.assignee?.trim(),c=a.metadata.claim_principal?.trim()||s,l=ud(e.author),d=Dr(e.settings);if(s&&c!==l&&!e.force&&!IL(e.op,e.bypassAssigneeConflict)){if(d.ownership_enforcement==="strict")throw new g(`Item ${r.id} is assigned to ${s}. Use --force to override.`,_.CONFLICT);d.ownership_enforcement==="warn"&&i.push(`ownership_warning:assignee_conflict:${r.id}:${s}`)}return{typeToFolder:t,located:r,originalRaw:o,document:a,warnings:i,releaseLock:n}}catch(i){throw await n(),i}}function OL(e,t,r){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:r,skipItemWrite:!1};let n=e.result;return{effectiveTargetItemPath:typeof n.target_item_path=="string"&&n.target_item_path.trim().length>0?n.target_item_path:t,effectiveSerializedAfter:typeof n.contents=="string"?n.contents:r,skipItemWrite:n.skip_write===!0}}async function xL(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await q(e.originalItemPath,e.originalRaw),await Eo.rm(e.effectiveTargetItemPath,{force:!0});return}await q(e.originalItemPath,e.originalRaw)}}async function RL(e){Ca(e.op);let t=await CL({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:r,located:n,originalRaw:i,document:o,warnings:a,releaseLock:s}=t;try{let c=mt(o,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=mt(structuredClone(o),{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:[...a,...d.warnings??[]]};let u=e.resolveHistoryContext?.();l.metadata.updated_at=j();let m=mt(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await qy({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await Gl({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:d.changedFields,sdk:lw({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:r})});let f=await Ru({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:e.op}),w="toon",h=Mn(m,{format:w,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),b=Ni(e.pmRoot,m.metadata.type,n.id,w,r),v=Ee(e.pmRoot,n.id),I=await Dt("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:n.id,source_item_path:n.itemPath,target_item_path:b,history_path:v,item_format:w,before:c,after:m,contents:h}),{effectiveTargetItemPath:A,effectiveSerializedAfter:C,skipItemWrite:P}=OL(I,b,h),T=await Uu(e.pmRoot,e.author),D=[];try{P||await q(A,C),!P&&A!==n.itemPath&&await Eo.rm(n.itemPath);let E=cn({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?u:{...u,workflow_policies:p.decisions}});try{await Zi(v,E)}catch(O){throw await xL({skipItemWrite:P,effectiveTargetItemPath:A,originalItemPath:n.itemPath,originalRaw:i}),O}P||(D=await zu({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:r,schema:e.settings.schema,itemPath:A,previousItemPath:n.itemPath,document:m}))}finally{await T()}let z=[...await Ie({path:A,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:d.changedFields}),...await Ie({path:v,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:d.changedFields})];return ql({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:Wa(c.metadata,d.changedFields),current:Wa(m.metadata,d.changedFields),changed_fields:d.changedFields}),{item:m.metadata,body:m.body,changedFields:d.changedFields,warnings:[...a,...d.warnings??[],...p.warnings,...f.warnings,...I.warnings,...D,...z]}}finally{await s()}}async function yn(e){return RL(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]="eeaf2318-5964-5d98-ad90-9faa7fc69975")}catch{}})();function Gu(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let r=Dr(e.settings);if(r.ownership_enforcement==="strict")throw new g(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,_.CONFLICT);return r.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function DL(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 r=await Se(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),n=r?e.readItem?await e.readItem(r):await ze(r,{schema:e.settings.schema}):null;if((n?.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:r,loadedItemUnderLock:n}}async function Bs(e){let t=e.writeHistoryRaw??q;try{await t(e.historyPath,e.nextHistoryRaw),await nn(e.historyPath)}catch(r){try{e.historyRawUnderLock===null?await NL.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await nn(e.historyPath)}catch(n){throw new AggregateError([r,n],`History rewrite failed and rollback also failed: ${String(r)}`)}throw r}}async function uw(e){let t=[...Gu({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],r=await ie(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 n=await DL({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(n),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(n)),t}finally{await 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]="cca38e64-dd53-5086-8825-dc1c8f1cc587")}catch{}})();function ML(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 r=t;if(!Array.isArray(r.patch)||![r.ts,r.author,r.op,r.before_hash,r.after_hash].every(n=>typeof n=="string"))throw new g("History salvage requires complete history records before the invalid tail.",_.CONFLICT,{code:"history_salvage_refused"});return r}function $L(e){if(Le(e))throw new g("Resolve history merge conflicts before salvage.",_.CONFLICT,{code:"history_salvage_refused"});let t=[],r=0,n,i=0;for(let[a,s]of e.split(`
116
116
  `).entries()){if(!s.trim()){r+=s.length+1;continue}let c=ML(s);if(c===null){n===void 0&&(n=r,i=a+1),r+=s.length+1;continue}if(n!==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),r+=s.length+1}let o=at(t);if(!o.ok||o.item_hash_version===void 0)throw new g("History salvage requires a nonempty verified prefix.",_.CONFLICT,{code:"history_salvage_refused",verification_errors:o.errors,required:"Recover an intact history prefix from version control or a backup."});return{entries:t,itemHashVersion:o.item_hash_version,prefix:n===void 0?e:e.slice(0,n),receipt:n===void 0?null:{first_invalid_line:i,discarded_bytes:Buffer.byteLength(e.slice(n)),discarded_sha256:De(e.slice(n)),retained_entries:t.length}}}async function FL(e,t,r){if(!e.located)return{itemRaw:null,document:r};let n=await qu(e.located,{schema:t.schema});return{itemRaw:n.raw,document:n.document??r}}async function mw(e){let t;try{t=await LL(e)}catch(r){if($(r))return null;throw r}if(!PL(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 pw(e){let{subject:t,settings:r,options:n,author:i}=e;if([n.normalizeProvenance,n.auditOperation,n.auditContext,n.auditContextById,n.forceAuditEntry,n.mergeReceiptProof,n.mergeReceiptProofById].some(Boolean))throw new g("Tail salvage cannot be combined with other repair modes.",_.USAGE);let o=await mw(t.historyPath);if(o===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);await $e({path:t.historyPath,scope:"project"});let a=$L(o),s=_o(a.entries,a.entries.length-1),c=Kn(s);if(typeof s.metadata.id=="string"&&s.metadata.id!==t.id)throw new g("History belongs to another item; salvage refused.",_.CONFLICT,{code:"history_salvage_refused"});let l=await FL(t,r,c),d=Gu({itemDocument:l.document,subjectId:t.id,author:i,force:n.force,settings:r}),u=a.itemHashVersion,m=n.dryRun===!0,p=a.receipt!==null;if(p&&!m){let f=await ie(e.pmRoot,t.id,r.locks.ttl_seconds,i,!!n.force,r.governance.force_required_for_stale_lock,r.locks.wait_ms);try{let w=await mw(t.historyPath),h=await Se(e.pmRoot,t.id,r.id_prefix,r.item_format,e.typeRegistry.type_to_folder),b=h?await K(h.itemPath):null;if(w!==o||b!==l.itemRaw)throw new g("History or item changed while waiting for salvage lock; retry.",_.CONFLICT);let v=Cr({...cn({hashAlgorithm:Re(a.entries.at(-1).hash_algorithm),nowIso:j(),author:i,op:"history_salvage",before:c,after:c,message:n.message,context:{history_salvage:a.receipt}}),before_hash:a.entries.at(-1).after_hash,after_hash:a.entries.at(-1).after_hash,item_hash_version:u});await Bs({historyPath:t.historyPath,historyRawUnderLock:o,nextHistoryRaw:`${a.prefix}${JSON.stringify(v)}
117
- `}),d.push(...await Ie({path:t.historyPath,scope:"project",op:"history_salvage:history"}))}finally{await f()}}return{id:t.id,dry_run:m,changed:p,history:{path:t.historyPath,entries_scanned:a.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:p&&!m,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:[]},...a.receipt?{salvage:a.receipt}:{},warnings:d,generated_at:j()}}import{realpath as Pw}from"node:fs/promises";import Xu from"node:path";import Lw 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]="1dcf0d72-10da-51b6-b9f6-ab47bebcbf64")}catch{}})();function fw(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function Ao(e){if(e==="/body"||e.startsWith("/body/"))return"body";if(e==="/metadata"||e.startsWith("/metadata/")||e==="/front_matter"||e.startsWith("/front_matter/")){let r=e.replace(/^\/(?:metadata|front_matter)\/?/,"").split("/")[0];return r?fw(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?fw(t):"root"}import Io from"node:fs/promises";import{createHash as jL}from"node:crypto";import gw 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]="97537e2a-b8cb-559e-82bc-3c98b0c51db1")}catch{}})();var Bu=new Set([void 0,...Up]),hw=11,UL="history-drift-cache.json";function yw(e){return gw.join(e,"runtime",UL)}async function zL(e){try{let t=await Io.readFile(yw(e),"utf8"),r=JSON.parse(t);return r.version!==hw||r.history_item_hash_version!==wt||typeof r.entries!="object"||r.entries===null||Object.values(r.entries).some(n=>typeof n.chain_ok!="boolean"||typeof n.latest_hash_comparable!="boolean"||!Bu.has(n.hash_algorithm)||!_t.includes(n.item_hash_version)&&n.version_skew!==!0||n.chain_ok&&n.version_skew!==!0&&_t.includes(n.item_hash_version)&&!n.latest_hash_comparable)?null:r}catch{return null}}function ww(){return{missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]}}function bw(e){let t=[...new Set([...e.missingStreams,...e.unreadableStreams,...e.hashMismatches,...e.chainMismatches,...e.versionSkews,...e.workspaceStateMismatches.length>0||e.workspaceStateMissing.length>0||e.workspaceStateUnreadable.length>0?[we]:[]])].sort((r,n)=>r.localeCompare(n));return{...e,driftedItems:t}}async function HL(e,t,r,n,i){let o=lo(e),a;try{a=await Io.stat(o)}catch(l){return $(l)||i.unreadableStreams.push(we),!1}let s=i.missingStreams.length,c=await vw({itemId:we,historyPath:o,stat:a,cached:t[we],verifyCacheHitByContent:n,accumulator:i});return c.verification?(c.verification.versionSkew&&i.versionSkews.push(we),c.verification.chainOk||i.chainMismatches.push(we),r[we]={mtime_ms:a.mtimeMs,ctime_ms:a.ctimeMs,size:a.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):(i.missingStreams.splice(s),c.cacheDirty)}function qL(e){return!Bu.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!_t.includes(e.item_hash_version)}async function GL(e){let t=await Io.readFile(e,"utf8"),r=jL("sha256").update(t).digest("hex");if(t.trim().length===0)return null;let n=[],i=null;for(let m of t.split(/\r?\n/)){let p=m.trim();if(p.length===0)continue;let f=JSON.parse(p);if(typeof f.after_hash!="string"||f.after_hash.trim().length===0)throw new Error("missing after_hash");n.push(f),i=f.after_hash}if(!i)return null;let o=at(n),a=n.some(qL),s=n[n.length-1],c=Bu.has(s.hash_algorithm),l=s.item_hash_version,d=l!==void 0&&_t.includes(l),u=d?l:o.item_hash_version;return{latestAfterHash:i,hashAlgorithm:c?Re(s.hash_algorithm):void 0,identityDiscontinuities:yi(n),chainOk:o.ok,versionSkew:a,latestHashComparable:c&&u!==void 0&&(!a||d||l===void 0),contentHash:r,itemHashVersion:u??wt}}function BL(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function _w(e,t,r){try{return await GL(t)||(r.missingStreams.push(e),null)}catch{return r.unreadableStreams.push(e),null}}function WL(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 vw(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(BL(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await _w(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let r=await _w(e.itemId,e.historyPath,e.accumulator);return{verification:r,cacheDirty:!WL(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&&_t.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function kw(e,t,r,n){let i,o;try{i=Ee(e,t.id),o=await Io.stat(i)}catch(l){return($(l)?n.missingStreams:n.unreadableStreams).push(t.id),!1}let a=await vw({itemId:t.id,historyPath:i,stat:o,cached:r.previousEntries[t.id],verifyCacheHitByContent:r.verifyCacheHitByContent,accumulator:n});if(!a.verification)return a.cacheDirty;a.verification.identityDiscontinuities.length>0&&(n.identityDiscontinuities??=[]).push(...a.verification.identityDiscontinuities.map(l=>({...l,item_id:t.id}))),a.verification.versionSkew&&n.versionSkews.push(t.id),a.verification.chainOk||n.chainMismatches.push(t.id),r.nextEntries[t.id]={mtime_ms:o.mtimeMs,ctime_ms:o.ctimeMs,size:o.size,content_hash:a.verification.contentHash,latest_after_hash:a.verification.latestAfterHash,chain_ok:a.verification.chainOk,version_skew:a.verification.versionSkew,latest_hash_comparable:a.verification.latestHashComparable,item_hash_version:a.verification.itemHashVersion,hash_algorithm:a.verification.hashAlgorithm};let{body:s,...c}=t;return a.verification.latestHashComparable&&(Wn({metadata:c,body:s},a.verification.itemHashVersion,a.verification.hashAlgorithm).includes(a.verification.latestAfterHash)||n.hashMismatches.push(t.id)),a.cacheDirty}async function VL(e,t){if(!(t.unreadableStreams.includes(we)||t.chainMismatches.includes(we)||t.versionSkews.includes(we)))try{let r=await du(e);t.workspaceStateMismatches.push(...r.mismatched_documents),t.workspaceStateMissing.push(...r.missing_documents),t.workspaceStateUnreadable.push(...r.unreadable_documents)}catch{t.unreadableStreams.push(we)}}async function Ew(e,t){let r=ww();return await kw(e,t,{previousEntries:{},nextEntries:{},verifyCacheHitByContent:!0},r),bw(r)}async function wn(e,t,r={}){let n=ww(),i=(await zL(e))?.entries??{},o={},a=!1,s=r.cacheHitVerification!=="metadata",c={previousEntries:i,nextEntries:o,verifyCacheHitByContent:s};for(let d of t)await kw(e,d,c,n)&&(a=!0);let l=await HL(e,i,o,s,n);if(a||=l,await VL(e,n),a||Object.keys(i).length!==Object.keys(o).length){let d=yw(e);try{await Io.mkdir(gw.dirname(d),{recursive:!0}),await q(d,JSON.stringify({version:hw,history_item_hash_version:wt,entries:o}))}catch{}}return bw(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]="59842825-3a81-53f4-845d-db2257ec6286")}catch{}})();async function Wu(e){let t=Z(process.cwd(),e);await je(t);let r=await X(t),n=ce(r,V());return{pmRoot:t,settings:r,typeRegistry:n}}async function Vu(e,t,r,n){Ee(e,or(t));let i=await Se(e,t,r.id_prefix,r.item_format,n);if(i)return{id:i.id,historyPath:Ee(e,i.id),located:i};let o=Ft(t,r.id_prefix),a=or(t),s=o===a?[o]:[o,a];for(let c of s){let l=Ee(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]="6283ef18-f75e-5e8c-a65f-0ba05858bc2b")}catch{}})();async function Sw(e){let{subject:t,settings:r,operation:n,options:i}=e,o=await md(t.historyPath,t.id);if(o.raw===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);if(o.entries.length===0)throw new g(`No history entries exist for ${t.id}; nothing to ${n.slice(8)}.`,_.USAGE);let a=t.located?await ze(t.located,{schema:r.schema}):null,s=Ce(i.author,r.author_default),c=await e.transform({raw:o.raw,entries:o.entries,verification:bt(o.entries),loadedItem:a,author:s}),l=bt(c.rewrittenEntries);if(!l.ok)throw new g(`${n} produced an invalid rewritten chain (${l.errors.join(", ")}).`,_.GENERIC_FAILURE);let d=c.changed&&!i.dryRun?await uw({pmRoot:e.pmRoot,subject:t,settings:r,typeRegistry:e.typeRegistry,historyRawBeforeLock:o.raw,currentItemRawBeforeLock:a?.raw??null,operation:n,author:s,force:i.force,itemDocument:a?.document??null,applyRewrite:async u=>{await c.beforeWrite?.(),c.applyRewrite?await c.applyRewrite(u):await Bs({historyPath:t.historyPath,nextHistoryRaw:dn(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>Ie({path:t.historyPath,scope:"project",op:`${n.replace("-","_")}:history`}))}):[];return c.report({verification:l,warnings:d})}import Ku from"node:fs/promises";import Ju 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]="069e2e60-11d9-5a37-a966-9073944d32a2")}catch{}})();var Tw=8388608,KL=new Set(["resolved","failed"]),JL=[{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 Yu(e){return JL.find(t=>t.matches(e))?.kind}function Aw(e){let t=new Map,r=0,n=0;return{entries:e.map(i=>{let o=Ut(i.agent_provenance)?i.agent_provenance:void 0;if(o===void 0||!sn(i).ok)return i;let a={},s=!1;for(let[l,d]of Object.entries(o)){let u=Ut(d)?Yu(d.value):void 0;if(u===void 0){a[l]=d;continue}s=!0,n+=1;let m=i.agent_harness??"unknown",p=`${m}\0${l}\0${u}`,f=t.get(p)??{harness:m,dimension:l,kind:u,count:0};f.count+=1,t.set(p,f)}if(!s)return i;r+=1;let c={...i};return Object.keys(a).length===0?delete c.agent_provenance:c.agent_provenance=a,Xi(i,c,{retainPriorRecord:!0,retainPriorRecordHash:!1})}),receipt:{changed:r>0,events_changed:r,observations_removed:n,invalid_values:[...t.values()].sort((i,o)=>i.harness.localeCompare(o.harness)||i.dimension.localeCompare(o.dimension)||i.kind.localeCompare(o.kind))}}}async function Iw(e){let t=[];for(let r of await Cw(e)??[])try{let n=await Ku.readFile(Ju.join(e,"history",r),"utf8");for(let i of n.split(`
117
+ `}),d.push(...await Ie({path:t.historyPath,scope:"project",op:"history_salvage:history"}))}finally{await f()}}return{id:t.id,dry_run:m,changed:p,history:{path:t.historyPath,entries_scanned:a.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:p&&!m,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:[]},...a.receipt?{salvage:a.receipt}:{},warnings:d,generated_at:j()}}import{realpath as Pw}from"node:fs/promises";import Xu from"node:path";import Lw 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]="1dcf0d72-10da-51b6-b9f6-ab47bebcbf64")}catch{}})();function fw(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function Ao(e){if(e==="/body"||e.startsWith("/body/"))return"body";if(e==="/metadata"||e.startsWith("/metadata/")||e==="/front_matter"||e.startsWith("/front_matter/")){let r=e.replace(/^\/(?:metadata|front_matter)\/?/,"").split("/")[0];return r?fw(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?fw(t):"root"}import Io from"node:fs/promises";import{createHash as jL}from"node:crypto";import gw 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]="97537e2a-b8cb-559e-82bc-3c98b0c51db1")}catch{}})();var Bu=new Set([void 0,...Up]),hw=11,UL="history-drift-cache.json";function yw(e){return gw.join(e,"runtime",UL)}async function zL(e){try{let t=await Io.readFile(yw(e),"utf8"),r=JSON.parse(t);return r.version!==hw||r.history_item_hash_version!==bt||typeof r.entries!="object"||r.entries===null||Object.values(r.entries).some(n=>typeof n.chain_ok!="boolean"||typeof n.latest_hash_comparable!="boolean"||!Bu.has(n.hash_algorithm)||!_t.includes(n.item_hash_version)&&n.version_skew!==!0||n.chain_ok&&n.version_skew!==!0&&_t.includes(n.item_hash_version)&&!n.latest_hash_comparable)?null:r}catch{return null}}function ww(){return{missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]}}function bw(e){let t=[...new Set([...e.missingStreams,...e.unreadableStreams,...e.hashMismatches,...e.chainMismatches,...e.versionSkews,...e.workspaceStateMismatches.length>0||e.workspaceStateMissing.length>0||e.workspaceStateUnreadable.length>0?[we]:[]])].sort((r,n)=>r.localeCompare(n));return{...e,driftedItems:t}}async function HL(e,t,r,n,i){let o=lo(e),a;try{a=await Io.stat(o)}catch(l){return $(l)||i.unreadableStreams.push(we),!1}let s=i.missingStreams.length,c=await vw({itemId:we,historyPath:o,stat:a,cached:t[we],verifyCacheHitByContent:n,accumulator:i});return c.verification?(c.verification.versionSkew&&i.versionSkews.push(we),c.verification.chainOk||i.chainMismatches.push(we),r[we]={mtime_ms:a.mtimeMs,ctime_ms:a.ctimeMs,size:a.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):(i.missingStreams.splice(s),c.cacheDirty)}function qL(e){return!Bu.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!_t.includes(e.item_hash_version)}async function GL(e){let t=await Io.readFile(e,"utf8"),r=jL("sha256").update(t).digest("hex");if(t.trim().length===0)return null;let n=[],i=null;for(let m of t.split(/\r?\n/)){let p=m.trim();if(p.length===0)continue;let f=JSON.parse(p);if(typeof f.after_hash!="string"||f.after_hash.trim().length===0)throw new Error("missing after_hash");n.push(f),i=f.after_hash}if(!i)return null;let o=at(n),a=n.some(qL),s=n[n.length-1],c=Bu.has(s.hash_algorithm),l=s.item_hash_version,d=l!==void 0&&_t.includes(l),u=d?l:o.item_hash_version;return{latestAfterHash:i,hashAlgorithm:c?Re(s.hash_algorithm):void 0,identityDiscontinuities:yi(n),chainOk:o.ok,versionSkew:a,latestHashComparable:c&&u!==void 0&&(!a||d||l===void 0),contentHash:r,itemHashVersion:u??bt}}function BL(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function _w(e,t,r){try{return await GL(t)||(r.missingStreams.push(e),null)}catch{return r.unreadableStreams.push(e),null}}function WL(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 vw(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(BL(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await _w(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let r=await _w(e.itemId,e.historyPath,e.accumulator);return{verification:r,cacheDirty:!WL(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&&_t.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function kw(e,t,r,n){let i,o;try{i=Ee(e,t.id),o=await Io.stat(i)}catch(l){return($(l)?n.missingStreams:n.unreadableStreams).push(t.id),!1}let a=await vw({itemId:t.id,historyPath:i,stat:o,cached:r.previousEntries[t.id],verifyCacheHitByContent:r.verifyCacheHitByContent,accumulator:n});if(!a.verification)return a.cacheDirty;a.verification.identityDiscontinuities.length>0&&(n.identityDiscontinuities??=[]).push(...a.verification.identityDiscontinuities.map(l=>({...l,item_id:t.id}))),a.verification.versionSkew&&n.versionSkews.push(t.id),a.verification.chainOk||n.chainMismatches.push(t.id),r.nextEntries[t.id]={mtime_ms:o.mtimeMs,ctime_ms:o.ctimeMs,size:o.size,content_hash:a.verification.contentHash,latest_after_hash:a.verification.latestAfterHash,chain_ok:a.verification.chainOk,version_skew:a.verification.versionSkew,latest_hash_comparable:a.verification.latestHashComparable,item_hash_version:a.verification.itemHashVersion,hash_algorithm:a.verification.hashAlgorithm};let{body:s,...c}=t;return a.verification.latestHashComparable&&(Wn({metadata:c,body:s},a.verification.itemHashVersion,a.verification.hashAlgorithm).includes(a.verification.latestAfterHash)||n.hashMismatches.push(t.id)),a.cacheDirty}async function VL(e,t){if(!(t.unreadableStreams.includes(we)||t.chainMismatches.includes(we)||t.versionSkews.includes(we)))try{let r=await du(e);t.workspaceStateMismatches.push(...r.mismatched_documents),t.workspaceStateMissing.push(...r.missing_documents),t.workspaceStateUnreadable.push(...r.unreadable_documents)}catch{t.unreadableStreams.push(we)}}async function Ew(e,t){let r=ww();return await kw(e,t,{previousEntries:{},nextEntries:{},verifyCacheHitByContent:!0},r),bw(r)}async function wn(e,t,r={}){let n=ww(),i=(await zL(e))?.entries??{},o={},a=!1,s=r.cacheHitVerification!=="metadata",c={previousEntries:i,nextEntries:o,verifyCacheHitByContent:s};for(let d of t)await kw(e,d,c,n)&&(a=!0);let l=await HL(e,i,o,s,n);if(a||=l,await VL(e,n),a||Object.keys(i).length!==Object.keys(o).length){let d=yw(e);try{await Io.mkdir(gw.dirname(d),{recursive:!0}),await q(d,JSON.stringify({version:hw,history_item_hash_version:bt,entries:o}))}catch{}}return bw(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]="59842825-3a81-53f4-845d-db2257ec6286")}catch{}})();async function Wu(e){let t=Z(process.cwd(),e);await je(t);let r=await X(t),n=ce(r,V());return{pmRoot:t,settings:r,typeRegistry:n}}async function Vu(e,t,r,n){Ee(e,or(t));let i=await Se(e,t,r.id_prefix,r.item_format,n);if(i)return{id:i.id,historyPath:Ee(e,i.id),located:i};let o=Ft(t,r.id_prefix),a=or(t),s=o===a?[o]:[o,a];for(let c of s){let l=Ee(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]="6283ef18-f75e-5e8c-a65f-0ba05858bc2b")}catch{}})();async function Sw(e){let{subject:t,settings:r,operation:n,options:i}=e,o=await md(t.historyPath,t.id);if(o.raw===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);if(o.entries.length===0)throw new g(`No history entries exist for ${t.id}; nothing to ${n.slice(8)}.`,_.USAGE);let a=t.located?await ze(t.located,{schema:r.schema}):null,s=Ce(i.author,r.author_default),c=await e.transform({raw:o.raw,entries:o.entries,verification:vt(o.entries),loadedItem:a,author:s}),l=vt(c.rewrittenEntries);if(!l.ok)throw new g(`${n} produced an invalid rewritten chain (${l.errors.join(", ")}).`,_.GENERIC_FAILURE);let d=c.changed&&!i.dryRun?await uw({pmRoot:e.pmRoot,subject:t,settings:r,typeRegistry:e.typeRegistry,historyRawBeforeLock:o.raw,currentItemRawBeforeLock:a?.raw??null,operation:n,author:s,force:i.force,itemDocument:a?.document??null,applyRewrite:async u=>{await c.beforeWrite?.(),c.applyRewrite?await c.applyRewrite(u):await Bs({historyPath:t.historyPath,nextHistoryRaw:dn(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>Ie({path:t.historyPath,scope:"project",op:`${n.replace("-","_")}:history`}))}):[];return c.report({verification:l,warnings:d})}import Ku from"node:fs/promises";import Ju 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]="069e2e60-11d9-5a37-a966-9073944d32a2")}catch{}})();var Tw=8388608,KL=new Set(["resolved","failed"]),JL=[{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 Yu(e){return JL.find(t=>t.matches(e))?.kind}function Aw(e){let t=new Map,r=0,n=0;return{entries:e.map(i=>{let o=Ut(i.agent_provenance)?i.agent_provenance:void 0;if(o===void 0||!sn(i).ok)return i;let a={},s=!1;for(let[l,d]of Object.entries(o)){let u=Ut(d)?Yu(d.value):void 0;if(u===void 0){a[l]=d;continue}s=!0,n+=1;let m=i.agent_harness??"unknown",p=`${m}\0${l}\0${u}`,f=t.get(p)??{harness:m,dimension:l,kind:u,count:0};f.count+=1,t.set(p,f)}if(!s)return i;r+=1;let c={...i};return Object.keys(a).length===0?delete c.agent_provenance:c.agent_provenance=a,Xi(i,c,{retainPriorRecord:!0,retainPriorRecordHash:!1})}),receipt:{changed:r>0,events_changed:r,observations_removed:n,invalid_values:[...t.values()].sort((i,o)=>i.harness.localeCompare(o.harness)||i.dimension.localeCompare(o.dimension)||i.kind.localeCompare(o.kind))}}}async function Iw(e){let t=[];for(let r of await Cw(e)??[])try{let n=await Ku.readFile(Ju.join(e,"history",r),"utf8");for(let i of n.split(`
118
118
  `)){if(i.trim().length===0)continue;let o=Ow(i);if(!(o===null||!Ut(o.agent_provenance))&&Object.values(o.agent_provenance).some(a=>Ut(a)&&Yu(a.value)!==void 0)){t.push(r.slice(0,-6));break}}}catch{}return t}async function Cw(e){try{return(await Ku.readdir(Ju.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function YL(e,t,r){let n;try{n=await Ku.open(Ju.join(e,"history",t),"r");let i=(await n.stat()).size,o=Math.min(i,Math.max(0,r)),a=Buffer.alloc(o),{bytesRead:s}=await n.read(a,0,o,0),c=a.subarray(0,s).toString("utf8"),l=s>=i,d=c.lastIndexOf(`
119
119
  `),u=c;return l||(u=d===-1?"":c.slice(0,d+1)),{content:u,bytesRead:s,complete:l}}catch{return null}finally{await n?.close()}}function Ow(e){try{let t=JSON.parse(e);return Ut(t)?t:null}catch{return null}}function XL(e,t,r){let n=typeof e.agent_harness=="string"?e.agent_harness:void 0;if(n===void 0)return;let i=Ut(e.agent_provenance)?e.agent_provenance:{};if(Object.entries(i).forEach(([a,s])=>{if(!Ut(s))return;let c=Yu(s.value);if(!c)return;let l=`${n}\0${a}\0${c}`,d=r.get(l)??{harness:n,dimension:a,kind:c,count:0};d.count+=1,r.set(l,d)}),!Ut(e.context))return;let o=e.context.agent_provenance_outcomes;Ut(o)&&Object.entries(o).forEach(([a,s])=>{if(!Ut(s)||typeof s.resolver!="string"||!KL.has(String(s.status)))return;let c=`${n}\0${a}\0${s.resolver}`,l=t.get(c)??{harness:n,dimension:a,resolver:s.resolver,attempts:0,successes:0};l.attempts+=1,s.status==="resolved"&&(l.successes+=1),t.set(c,l)})}function ZL(e,t,r,n,i,o){let a=i;for(let s of e.split(`
120
- `)){if(s.trim().length===0)continue;if(a>=n)return{eventsRead:a,truncated:!0};a+=1;let c=Ow(s);if(c===null){o.malformed_events+=1;continue}if(typeof c.ts=="string"&&gr(c.ts)){let l=new Date(c.ts).toISOString();(o.earliest_event_at===null||l<o.earliest_event_at)&&(o.earliest_event_at=l),(o.latest_event_at===null||l>o.latest_event_at)&&(o.latest_event_at=l)}XL(c,t,r)}return{eventsRead:a,truncated:!1}}function QL(e,t,r){return r?[...e.filter(n=>n.attempts>0&&n.successes===0).map(n=>`provenance_resolver_zero_success:${n.harness}:${n.dimension}:${n.resolver}:${String(n.attempts)}`),...t.map(n=>`provenance_value_domain_invalid:${n.harness}:${n.dimension}:${n.kind}:${String(n.count)}`)]:[]}async function xw(e,t=1e4){if(!Number.isSafeInteger(t)||t<0)throw new RangeError("Provenance event limit must be a non-negative safe integer.");let r={scope:"history_prefix",event_limit:t,byte_limit:Tw,bytes_read:0,events_read:0,truncated:!1,unreadable_sources:0,malformed_events:0,earliest_event_at:null,latest_event_at:null,complete:!1},n=new Map,i=new Map,o=0,a=0,s=!1,c=await Cw(e);c===null&&(r.unreadable_sources+=1);for(let u of c??[]){let m=await YL(e,u,Math.max(0,Tw-a));if(m===null){r.unreadable_sources+=1;continue}a+=m.bytesRead;let p=ZL(m.content,n,i,t,o,r);if(o=p.eventsRead,p.truncated){s=!0;break}if(!m.complete){s=!0;break}}let l=[...n.values()].sort((u,m)=>u.harness.localeCompare(m.harness)||u.dimension.localeCompare(m.dimension)||u.resolver.localeCompare(m.resolver)),d=[...i.values()].sort((u,m)=>u.harness.localeCompare(m.harness)||u.dimension.localeCompare(m.dimension)||u.kind.localeCompare(m.kind));return r.bytes_read=a,r.events_read=o,r.truncated=s,r.complete=!s&&r.unreadable_sources===0&&r.malformed_events===0,{outcomes:l,sample:r,invalid_values:d,warnings:QL(l,d,r.complete),events_read:o,truncated: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]="289c841a-1355-54a5-a3e3-f59de2abd58c")}catch{}})();function Rw(e,t){return t==="body"?e.body:e.metadata[t]}function Zu(e,t){if(e===void 0||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let n=new Set;return e.every(i=>{let o=t.findIndex((a,s)=>!n.has(s)&&Zu(i,a));return o<0?!1:(n.add(o),!0)})}if(e===null||t===null||typeof e!="object"||typeof t!="object"||Array.isArray(t))return!1;let r=t;return Object.entries(e).every(([n,i])=>Object.hasOwn(r,n)&&Zu(i,r[n]))}function Nw(e,t){let r=new Set(t),n=[];for(let i=e.length-1;i>=0&&r.size>0;i-=1){let o=e[i],a=new Set;for(let c of Qi(o.patch))a.add(Ao(c.path)),c.from&&a.add(Ao(c.from));let s=[...r].filter(c=>a.has(c));if(s.length!==0){for(let c of s)r.delete(c);n.push({index:i+1,ts:o.ts,author:o.author,op:o.op,fields:s.sort((c,l)=>c.localeCompare(l))})}}return n.reverse()}function eM(e,t,r){let n=Lw.compare(t,r);if(n.length===0)return;let i=new Set;for(let f of n)i.add(Ao(f.path));let o=new Set([...i].filter(f=>Zu(Rw(t,f),Rw(r,f)))),a=new Set([...i].filter(f=>!o.has(f))),s=Nw(e,a),c=Nw(e,o),l=[...i].sort((f,w)=>f.localeCompare(w)),d=[...a].sort((f,w)=>f.localeCompare(w)),u=[...o].sort((f,w)=>f.localeCompare(w)),m=[...new Set(s.map(f=>f.author))].sort((f,w)=>f.localeCompare(w)),p=[...new Set(c.map(f=>f.author))].sort((f,w)=>f.localeCompare(w));return{reconciled_field_count:i.size,reconciled_fields:l,reverted_field_count:a.size,reverted_fields:d,discarded_events:s,discarded_authors:m,preserved_field_count:o.size,preserved_fields:u,preserved_events:c,preserved_authors:p,recovery_hint:s.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 tM(e){try{return await Pw(e)}catch{return null}}async function rM(e){if(await tM(Xu.resolve(e.gitWorkspaceRoot,e.receipt.item_path))!==e.currentPath)return null;let t=[...new Set([...e.receipt.fields_from_theirs,...e.receipt.union_fields,...e.receipt.decisions.map(o=>o.field)])].sort(),r=e.receipt.merged_field_hashes;if(!r||t.length===0)return null;let n=Object.keys(r).sort();if(t.length!==n.length||t.some((o,a)=>o!==n[a]))return null;let i=e.currentItemReplay.metadata;return t.every(o=>{let a=o==="body"?e.currentItemReplay.body:i[o];return[vt(a),De(x(ee(a)))].includes(r[o])})?{receipt:e.receipt,declaredFields:t}:null}async function nM(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(a=>a.item_id===e.id);if(t.length===0)return{trusted:!1,reason:"no_item_receipts",receipt_ids:[]};let r=await Pw(e.itemPath),n=[];for(let a of t){let s=await rM({receipt:a,gitWorkspaceRoot:e.proof.gitWorkspaceRoot,currentPath:r,currentItemReplay:e.currentItemReplay});s&&n.push(s)}let i=new Set(n.flatMap(({declaredFields:a})=>a)),o=e.reconciliation?.reconciled_fields;return n.length>0&&(o===void 0||o.length>0&&o.every(a=>i.has(a)))?{trusted:!0,reason:"trusted_merge_driver_hash_evidence",receipt_ids:n.map(({receipt:a})=>a.id)}:{trusted:!1,reason:"no_receipt_set_proves_snapshot",receipt_ids:[]}}async function Dw(e,t,r,n){if(e===void 0)return;let{receipt:i,gitWorkspaceRoot:o}=e,a=t.currentItemPath===null?null:Xu.relative(o,t.currentItemPath).split(Xu.sep).join("/");if(!r||n.entriesRehashed!==0||n.entriesPatchRepaired!==0||t.matchedChainBefore!==!0||t.currentItemRawBeforeLock===null||a!==i.item_path||i.operation===void 0||!await fs(o,i.item_path,i.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 iM(e){let t=new Set(e.options.mergeReceiptProof?.receipts.filter(o=>o.item_id===e.subjectId).map(o=>o.id)??[]),r=(e.options.mergeReceiptProof?await kt(e.options.mergeReceiptProof.gitWorkspaceRoot??process.cwd(),{includeReconciled:!0,includeLossless:!0,pmRoot:e.pmRoot}):void 0)?.receipts.filter(o=>o.item_id===e.subjectId&&t.has(o.id))??[],n=e.options.mergeReceiptProof?await nM({proof:{...e.options.mergeReceiptProof,receipts:r},id:e.subjectId,itemPath:e.itemReplayContext.currentItemPath,currentItemReplay:e.itemReplayContext.currentItemReplay,reconciliation:e.reconciliation}):void 0;if(n&&!n.trusted&&e.options.force!==!0)throw new g(`Merge receipt evidence for ${e.subjectId} does not prove the exact item snapshot (${n.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=n?.trusted?r.filter(o=>n.receipt_ids.includes(o.id)):[];return{mergeReceiptProof:n,effectiveAuditContext:i.length>0&&e.options.force!==!0?{...e.options.auditContext,merge:{receipts:i.map(gt)}}:e.options.auditContext}}function oM(e,t,r){let n=e.located?.itemPath??null,i=t.loadedItem,o=t.entries;if(!i)return{currentItemReplay:null,currentItemPath:n,matchedChainBefore:null,currentItemRawBeforeLock:null,loadedItem:null};let a=Ud(i.document),s=o[o.length-1].after_hash;return{currentItemReplay:a,currentItemPath:n,matchedChainBefore:Or(a,r,Re(o.at(-1)?.hash_algorithm)).includes(s),currentItemRawBeforeLock:i.raw,loadedItem:i}}function aM(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 sM(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let r=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,n=Re(e.reanchorEntries.at(-1)?.hash_algorithm),i=Or(e.finalReplay,e.itemHashVersion,n),o=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,a=i.indexOf(o),s=Or(r,e.itemHashVersion,n),c={hash_algorithm:n,ts:j(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?Lw.compare(e.finalReplay,e.currentItemReplay):[],before_hash:i[a],after_hash:s[a],message:e.message,...e.explicitItemHashVersion?{item_hash_version:e.itemHashVersion}:{},...e.auditContext===void 0?{}:{context:e.auditContext}};return t.push(Cr({...c,event_class:tn(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function cM(e,t,r){let n=[];return e||n.push("history_repair_no_changes"),t>0&&n.push(`history_repair_skipped_unresolvable_ops:${t}`),r&&r.discarded_events.length>0&&n.push(`history_repair_reconcile_discards_events:${r.discarded_events.length}`,`history_repair_discarded_authors:${r.discarded_authors.join(",")}`),n}async function ar(e,t,r){let{pmRoot:n,settings:i,typeRegistry:o}=await Wu(r.path),a=await Vu(n,e,i,o.type_to_folder);return t.salvageTail===!0?pw({pmRoot:n,subject:a,settings:i,typeRegistry:o,options:t,author:Ce(t.author,i.author_default)}):Sw({pmRoot:n,subject:a,settings:i,typeRegistry:o,operation:"history-repair",options:t,transform:s=>dM({pmRoot:n,subject:a,options:t},s)})}function lM(e,t,r){let n=(e.mergeAbandonmentProof!==void 0||e.mergeReceiptProof!==void 0&&e.force!==!0)&&r!==void 0&&t.some(i=>i.record_hash_version!==void 0&&i.op==="merge_reconcile"&&x(i.context)===x(r));return e.forceAuditEntry===!0&&!n}async function dM(e,t){let{pmRoot:r,subject:n,options:i}=e,o=t.entries,a=t.verification,s=at(o),c=i.normalizeProvenance?Aw(o):{entries:o,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},l=zd(c.entries),d=new Set(c.entries.map(E=>E.item_hash_version).filter(E=>E!==void 0)),u=eo(c.entries,l),m=oM(n,t,l);await Dw(i.mergeAbandonmentProof,m,a.ok,u);let p=u.finalDocument,f=Or(p,l),w=!1;if(m.currentItemReplay!==null){let E=Or(m.currentItemReplay,l);w=!f.some((O,de)=>O===E[de])}let h=w&&m.currentItemReplay?eM(u.entries,p,m.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await iM({options:i,pmRoot:r,subjectId:n.id,itemReplayContext:m,reconciliation:h}),I=[u.entriesRehashed>0,u.entriesPatchRepaired>0,w,lM(i,u.entries,v),c.receipt.changed].some(Boolean),A=t.author,C=!!i.dryRun,P=aM({message:i.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:w}),{rewrittenEntries:S,auditEntryAdded:D}=sM({reanchorEntries:u.entries,changed:I,reconcileNeeded:w,currentItemReplay:m.currentItemReplay,finalReplay:p,author:A,message:P,auditOperation:i.auditOperation??"history_repair",auditContext:c.receipt.changed?{...v,provenance_normalization:c.receipt}:v,itemHashVersion:l,explicitItemHashVersion:u.explicitItemHashVersion}),z=cM(I,u.skippedOps,h);return{changed:I,rewrittenEntries:S,beforeWrite:async()=>Dw(i.mergeAbandonmentProof,m,a.ok,u),report:({verification:E,warnings:O})=>({id:n.id,dry_run:C,changed:I,history:{path:n.historyPath,entries_scanned:o.length,chain_drift_before:!a.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:D,verify_ok:E.ok,verify_errors:E.errors,item_hash_version_before:s.item_hash_version??null,item_hash_version_after:l,version_disposition:d.size>1?"selected_for_ambiguous_stream":"preserved"},item:{exists:m.currentItemPath!==null,path:m.currentItemPath,matched_chain_before:m.matchedChainBefore},provenance_normalization:{requested:i.normalizeProvenance===!0,...c.receipt},...h?{reconciliation:h}:{},...b?{merge_receipt_proof:b}:{},warnings:[...new Set([...z,...O])].sort((de,Wt)=>de.localeCompare(Wt)),generated_at:j()})}}async function Mw(e,t){if(e.salvageTail===!0)throw new g("Tail salvage requires one explicit item ID; --all is not supported.",_.USAGE);let{pmRoot:r,settings:n,typeRegistry:i}=await Wu(t.path),o=[],a=await hn(r,n.item_format,i.type_to_folder,o,n.schema,{forceSourceScan:!0}),s=await wn(r,a),c=e.normalizeProvenance?await Iw(r):[],l=[...new Set([...s.driftedItems,...c])].sort((p,f)=>p.localeCompare(f)),d=[],u=[],m={repaired:0,skipped_clean:0,failed:0};for(let p of l)try{let f=await ar(p,{...e,auditContext:e.auditContextById?.[p],auditContextById:void 0,mergeReceiptProof:e.mergeReceiptProofById?.[p]??e.mergeReceiptProof,mergeReceiptProofById:void 0},t),w=f.changed?"repaired":"skipped_clean";m[w]+=1,u.push(...f.warnings.map(h=>`${p}:${h}`)),d.push({id:p,outcome:w,entries_rehashed:f.history.entries_rehashed,entries_patch_repaired:f.history.entries_patch_repaired,reconciled_with_item:f.history.reconciled_with_item,...f.reconciliation?{reconciliation:f.reconciliation}:{},...f.merge_receipt_proof?{merge_receipt_proof:f.merge_receipt_proof}:{},warnings:f.warnings})}catch(f){m.failed+=1,d.push({id:p,outcome:"failed",error:f instanceof Error?f.message:String(f)})}return e.dryRun||await Rd(r),{all:!0,dry_run:!!e.dryRun,scanned_streams:a.length,drifted_streams:s.driftedItems.length,provenance_invalid_streams:c.length,streams:d,totals:m,warnings:[...new Set([...o,...u])].sort((p,f)=>p.localeCompare(f)),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]="3fe6f853-6742-5305-b722-0cc74547f367")}catch{}})();async function $w(e){if(e.cwd===null)return[];let t=[];for(let r of e.receipts){if(r.operation===void 0||!await fs(e.cwd,r.item_path,r.operation))continue;let n={gitWorkspaceRoot:e.cwd,receipt:r};await ar(r.item_id,{dryRun:!0,mergeAbandonmentProof:n},e.global),e.dryRun||(await ar(r.item_id,{author:e.author??e.global.author,mergeAbandonmentProof:n,message:e.message??`Settle ${r.operation.kind} receipt after exact original Git state restoration`,auditOperation:"merge_reconcile",forceAuditEntry:!0,auditContext:{merge:{abandoned_receipts:[{...gt(r),reason:"original_git_state_restored",operation:r.operation}]}}},e.global),await so(e.cwd,r,{requireExisting:!0,settlement:"original_git_state_restored"})),t.push(r.id)}return t}import{readFile as Lq}from"node:fs/promises";import Mq 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]="eb830963-f036-5f98-ab26-786240b3e0fd")}catch{}})();var Ws=async(e,t,r)=>{if(!Number.isInteger(t)||t<1)throw new RangeError("concurrency must be a positive integer");let n=new Array(e.length),i=0,o=Array.from({length:Math.min(t,e.length)},async()=>{for(;i<e.length;){let a=i;i+=1,n[a]=await r(e[a])}});return await Promise.all(o),n};import em from"node:fs/promises";import Te from"node:path";import uM from"node:readline/promises";import{stdin as mM,stdout as Vs}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]="f3a0706e-7162-5cde-9f48-c5de9b2fbd8e")}catch{}})();var pM=["AGENTS.md","CLAUDE.md"],fM=["pm init","pm context","pm search","pm create","pm claim","pm files","pm docs","pm test --run","pm close","pm release","pm_author"],_M=8,tm=1,gM="<!-- pm-cli:agent-guidance:start:",hM=`<!-- pm-cli:agent-guidance:start:v${tm} -->`,Qu="<!-- pm-cli:agent-guidance:end -->",Oo="Add workflow guidance later: pm init --agent-guidance add";var yM=()=>uM.createInterface({input:mM,output:Vs});function oi(e,t){let r=Te.relative(e,t);return r.length===0?Te.basename(t):r.split(Te.sep).join("/")}function Fw(e){return e.endsWith(`
120
+ `)){if(s.trim().length===0)continue;if(a>=n)return{eventsRead:a,truncated:!0};a+=1;let c=Ow(s);if(c===null){o.malformed_events+=1;continue}if(typeof c.ts=="string"&&gr(c.ts)){let l=new Date(c.ts).toISOString();(o.earliest_event_at===null||l<o.earliest_event_at)&&(o.earliest_event_at=l),(o.latest_event_at===null||l>o.latest_event_at)&&(o.latest_event_at=l)}XL(c,t,r)}return{eventsRead:a,truncated:!1}}function QL(e,t,r){return r?[...e.filter(n=>n.attempts>0&&n.successes===0).map(n=>`provenance_resolver_zero_success:${n.harness}:${n.dimension}:${n.resolver}:${String(n.attempts)}`),...t.map(n=>`provenance_value_domain_invalid:${n.harness}:${n.dimension}:${n.kind}:${String(n.count)}`)]:[]}async function xw(e,t=1e4){if(!Number.isSafeInteger(t)||t<0)throw new RangeError("Provenance event limit must be a non-negative safe integer.");let r={scope:"history_prefix",event_limit:t,byte_limit:Tw,bytes_read:0,events_read:0,truncated:!1,unreadable_sources:0,malformed_events:0,earliest_event_at:null,latest_event_at:null,complete:!1},n=new Map,i=new Map,o=0,a=0,s=!1,c=await Cw(e);c===null&&(r.unreadable_sources+=1);for(let u of c??[]){let m=await YL(e,u,Math.max(0,Tw-a));if(m===null){r.unreadable_sources+=1;continue}a+=m.bytesRead;let p=ZL(m.content,n,i,t,o,r);if(o=p.eventsRead,p.truncated){s=!0;break}if(!m.complete){s=!0;break}}let l=[...n.values()].sort((u,m)=>u.harness.localeCompare(m.harness)||u.dimension.localeCompare(m.dimension)||u.resolver.localeCompare(m.resolver)),d=[...i.values()].sort((u,m)=>u.harness.localeCompare(m.harness)||u.dimension.localeCompare(m.dimension)||u.kind.localeCompare(m.kind));return r.bytes_read=a,r.events_read=o,r.truncated=s,r.complete=!s&&r.unreadable_sources===0&&r.malformed_events===0,{outcomes:l,sample:r,invalid_values:d,warnings:QL(l,d,r.complete),events_read:o,truncated: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]="289c841a-1355-54a5-a3e3-f59de2abd58c")}catch{}})();function Rw(e,t){return t==="body"?e.body:e.metadata[t]}function Zu(e,t){if(e===void 0||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let n=new Set;return e.every(i=>{let o=t.findIndex((a,s)=>!n.has(s)&&Zu(i,a));return o<0?!1:(n.add(o),!0)})}if(e===null||t===null||typeof e!="object"||typeof t!="object"||Array.isArray(t))return!1;let r=t;return Object.entries(e).every(([n,i])=>Object.hasOwn(r,n)&&Zu(i,r[n]))}function Nw(e,t){let r=new Set(t),n=[];for(let i=e.length-1;i>=0&&r.size>0;i-=1){let o=e[i],a=new Set;for(let c of Qi(o.patch))a.add(Ao(c.path)),c.from&&a.add(Ao(c.from));let s=[...r].filter(c=>a.has(c));if(s.length!==0){for(let c of s)r.delete(c);n.push({index:i+1,ts:o.ts,author:o.author,op:o.op,fields:s.sort((c,l)=>c.localeCompare(l))})}}return n.reverse()}function eM(e,t,r){let n=Lw.compare(t,r);if(n.length===0)return;let i=new Set;for(let f of n)i.add(Ao(f.path));let o=new Set([...i].filter(f=>Zu(Rw(t,f),Rw(r,f)))),a=new Set([...i].filter(f=>!o.has(f))),s=Nw(e,a),c=Nw(e,o),l=[...i].sort((f,w)=>f.localeCompare(w)),d=[...a].sort((f,w)=>f.localeCompare(w)),u=[...o].sort((f,w)=>f.localeCompare(w)),m=[...new Set(s.map(f=>f.author))].sort((f,w)=>f.localeCompare(w)),p=[...new Set(c.map(f=>f.author))].sort((f,w)=>f.localeCompare(w));return{reconciled_field_count:i.size,reconciled_fields:l,reverted_field_count:a.size,reverted_fields:d,discarded_events:s,discarded_authors:m,preserved_field_count:o.size,preserved_fields:u,preserved_events:c,preserved_authors:p,recovery_hint:s.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 tM(e){try{return await Pw(e)}catch{return null}}async function rM(e){if(await tM(Xu.resolve(e.gitWorkspaceRoot,e.receipt.item_path))!==e.currentPath)return null;let t=[...new Set([...e.receipt.fields_from_theirs,...e.receipt.union_fields,...e.receipt.decisions.map(o=>o.field)])].sort(),r=e.receipt.merged_field_hashes;if(!r||t.length===0)return null;let n=Object.keys(r).sort();if(t.length!==n.length||t.some((o,a)=>o!==n[a]))return null;let i=e.currentItemReplay.metadata;return t.every(o=>{let a=o==="body"?e.currentItemReplay.body:i[o];return[kt(a),De(x(ee(a)))].includes(r[o])})?{receipt:e.receipt,declaredFields:t}:null}async function nM(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(a=>a.item_id===e.id);if(t.length===0)return{trusted:!1,reason:"no_item_receipts",receipt_ids:[]};let r=await Pw(e.itemPath),n=[];for(let a of t){let s=await rM({receipt:a,gitWorkspaceRoot:e.proof.gitWorkspaceRoot,currentPath:r,currentItemReplay:e.currentItemReplay});s&&n.push(s)}let i=new Set(n.flatMap(({declaredFields:a})=>a)),o=e.reconciliation?.reconciled_fields;return n.length>0&&(o===void 0||o.length>0&&o.every(a=>i.has(a)))?{trusted:!0,reason:"trusted_merge_driver_hash_evidence",receipt_ids:n.map(({receipt:a})=>a.id)}:{trusted:!1,reason:"no_receipt_set_proves_snapshot",receipt_ids:[]}}async function Dw(e,t,r,n){if(e===void 0)return;let{receipt:i,gitWorkspaceRoot:o}=e,a=t.currentItemPath===null?null:Xu.relative(o,t.currentItemPath).split(Xu.sep).join("/");if(!r||n.entriesRehashed!==0||n.entriesPatchRepaired!==0||t.matchedChainBefore!==!0||t.currentItemRawBeforeLock===null||a!==i.item_path||i.operation===void 0||!await fs(o,i.item_path,i.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 iM(e){let t=new Set(e.options.mergeReceiptProof?.receipts.filter(o=>o.item_id===e.subjectId).map(o=>o.id)??[]),r=(e.options.mergeReceiptProof?await Et(e.options.mergeReceiptProof.gitWorkspaceRoot??process.cwd(),{includeReconciled:!0,includeLossless:!0,pmRoot:e.pmRoot}):void 0)?.receipts.filter(o=>o.item_id===e.subjectId&&t.has(o.id))??[],n=e.options.mergeReceiptProof?await nM({proof:{...e.options.mergeReceiptProof,receipts:r},id:e.subjectId,itemPath:e.itemReplayContext.currentItemPath,currentItemReplay:e.itemReplayContext.currentItemReplay,reconciliation:e.reconciliation}):void 0;if(n&&!n.trusted&&e.options.force!==!0)throw new g(`Merge receipt evidence for ${e.subjectId} does not prove the exact item snapshot (${n.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=n?.trusted?r.filter(o=>n.receipt_ids.includes(o.id)):[];return{mergeReceiptProof:n,effectiveAuditContext:i.length>0&&e.options.force!==!0?{...e.options.auditContext,merge:{receipts:i.map(gt)}}:e.options.auditContext}}function oM(e,t,r){let n=e.located?.itemPath??null,i=t.loadedItem,o=t.entries;if(!i)return{currentItemReplay:null,currentItemPath:n,matchedChainBefore:null,currentItemRawBeforeLock:null,loadedItem:null};let a=Ud(i.document),s=o[o.length-1].after_hash;return{currentItemReplay:a,currentItemPath:n,matchedChainBefore:Or(a,r,Re(o.at(-1)?.hash_algorithm)).includes(s),currentItemRawBeforeLock:i.raw,loadedItem:i}}function aM(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 sM(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let r=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,n=Re(e.reanchorEntries.at(-1)?.hash_algorithm),i=Or(e.finalReplay,e.itemHashVersion,n),o=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,a=i.indexOf(o),s=Or(r,e.itemHashVersion,n),c={hash_algorithm:n,ts:j(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?Lw.compare(e.finalReplay,e.currentItemReplay):[],before_hash:i[a],after_hash:s[a],message:e.message,...e.explicitItemHashVersion?{item_hash_version:e.itemHashVersion}:{},...e.auditContext===void 0?{}:{context:e.auditContext}};return t.push(Cr({...c,event_class:tn(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function cM(e,t,r){let n=[];return e||n.push("history_repair_no_changes"),t>0&&n.push(`history_repair_skipped_unresolvable_ops:${t}`),r&&r.discarded_events.length>0&&n.push(`history_repair_reconcile_discards_events:${r.discarded_events.length}`,`history_repair_discarded_authors:${r.discarded_authors.join(",")}`),n}async function ar(e,t,r){let{pmRoot:n,settings:i,typeRegistry:o}=await Wu(r.path),a=await Vu(n,e,i,o.type_to_folder);return t.salvageTail===!0?pw({pmRoot:n,subject:a,settings:i,typeRegistry:o,options:t,author:Ce(t.author,i.author_default)}):Sw({pmRoot:n,subject:a,settings:i,typeRegistry:o,operation:"history-repair",options:t,transform:s=>dM({pmRoot:n,subject:a,options:t},s)})}function lM(e,t,r){let n=(e.mergeAbandonmentProof!==void 0||e.mergeReceiptProof!==void 0&&e.force!==!0)&&r!==void 0&&t.some(i=>i.record_hash_version!==void 0&&i.op==="merge_reconcile"&&x(i.context)===x(r));return e.forceAuditEntry===!0&&!n}async function dM(e,t){let{pmRoot:r,subject:n,options:i}=e,o=t.entries,a=t.verification,s=at(o),c=i.normalizeProvenance?Aw(o):{entries:o,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},l=zd(c.entries),d=new Set(c.entries.map(E=>E.item_hash_version).filter(E=>E!==void 0)),u=eo(c.entries,l),m=oM(n,t,l);await Dw(i.mergeAbandonmentProof,m,a.ok,u);let p=u.finalDocument,f=Or(p,l),w=!1;if(m.currentItemReplay!==null){let E=Or(m.currentItemReplay,l);w=!f.some((O,de)=>O===E[de])}let h=w&&m.currentItemReplay?eM(u.entries,p,m.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await iM({options:i,pmRoot:r,subjectId:n.id,itemReplayContext:m,reconciliation:h}),I=[u.entriesRehashed>0,u.entriesPatchRepaired>0,w,lM(i,u.entries,v),c.receipt.changed].some(Boolean),A=t.author,C=!!i.dryRun,P=aM({message:i.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:w}),{rewrittenEntries:T,auditEntryAdded:D}=sM({reanchorEntries:u.entries,changed:I,reconcileNeeded:w,currentItemReplay:m.currentItemReplay,finalReplay:p,author:A,message:P,auditOperation:i.auditOperation??"history_repair",auditContext:c.receipt.changed?{...v,provenance_normalization:c.receipt}:v,itemHashVersion:l,explicitItemHashVersion:u.explicitItemHashVersion}),z=cM(I,u.skippedOps,h);return{changed:I,rewrittenEntries:T,beforeWrite:async()=>Dw(i.mergeAbandonmentProof,m,a.ok,u),report:({verification:E,warnings:O})=>({id:n.id,dry_run:C,changed:I,history:{path:n.historyPath,entries_scanned:o.length,chain_drift_before:!a.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:D,verify_ok:E.ok,verify_errors:E.errors,item_hash_version_before:s.item_hash_version??null,item_hash_version_after:l,version_disposition:d.size>1?"selected_for_ambiguous_stream":"preserved"},item:{exists:m.currentItemPath!==null,path:m.currentItemPath,matched_chain_before:m.matchedChainBefore},provenance_normalization:{requested:i.normalizeProvenance===!0,...c.receipt},...h?{reconciliation:h}:{},...b?{merge_receipt_proof:b}:{},warnings:[...new Set([...z,...O])].sort((de,Wt)=>de.localeCompare(Wt)),generated_at:j()})}}async function Mw(e,t){if(e.salvageTail===!0)throw new g("Tail salvage requires one explicit item ID; --all is not supported.",_.USAGE);let{pmRoot:r,settings:n,typeRegistry:i}=await Wu(t.path),o=[],a=await hn(r,n.item_format,i.type_to_folder,o,n.schema,{forceSourceScan:!0}),s=await wn(r,a),c=e.normalizeProvenance?await Iw(r):[],l=[...new Set([...s.driftedItems,...c])].sort((p,f)=>p.localeCompare(f)),d=[],u=[],m={repaired:0,skipped_clean:0,failed:0};for(let p of l)try{let f=await ar(p,{...e,auditContext:e.auditContextById?.[p],auditContextById:void 0,mergeReceiptProof:e.mergeReceiptProofById?.[p]??e.mergeReceiptProof,mergeReceiptProofById:void 0},t),w=f.changed?"repaired":"skipped_clean";m[w]+=1,u.push(...f.warnings.map(h=>`${p}:${h}`)),d.push({id:p,outcome:w,entries_rehashed:f.history.entries_rehashed,entries_patch_repaired:f.history.entries_patch_repaired,reconciled_with_item:f.history.reconciled_with_item,...f.reconciliation?{reconciliation:f.reconciliation}:{},...f.merge_receipt_proof?{merge_receipt_proof:f.merge_receipt_proof}:{},warnings:f.warnings})}catch(f){m.failed+=1,d.push({id:p,outcome:"failed",error:f instanceof Error?f.message:String(f)})}return e.dryRun||await Rd(r),{all:!0,dry_run:!!e.dryRun,scanned_streams:a.length,drifted_streams:s.driftedItems.length,provenance_invalid_streams:c.length,streams:d,totals:m,warnings:[...new Set([...o,...u])].sort((p,f)=>p.localeCompare(f)),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]="3fe6f853-6742-5305-b722-0cc74547f367")}catch{}})();async function $w(e){if(e.cwd===null)return[];let t=[];for(let r of e.receipts){if(r.operation===void 0||!await fs(e.cwd,r.item_path,r.operation))continue;let n={gitWorkspaceRoot:e.cwd,receipt:r};await ar(r.item_id,{dryRun:!0,mergeAbandonmentProof:n},e.global),e.dryRun||(await ar(r.item_id,{author:e.author??e.global.author,mergeAbandonmentProof:n,message:e.message??`Settle ${r.operation.kind} receipt after exact original Git state restoration`,auditOperation:"merge_reconcile",forceAuditEntry:!0,auditContext:{merge:{abandoned_receipts:[{...gt(r),reason:"original_git_state_restored",operation:r.operation}]}}},e.global),await so(e.cwd,r,{requireExisting:!0,settlement:"original_git_state_restored"})),t.push(r.id)}return t}import{readFile as Mq}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]="eb830963-f036-5f98-ab26-786240b3e0fd")}catch{}})();var Ws=async(e,t,r)=>{if(!Number.isInteger(t)||t<1)throw new RangeError("concurrency must be a positive integer");let n=new Array(e.length),i=0,o=Array.from({length:Math.min(t,e.length)},async()=>{for(;i<e.length;){let a=i;i+=1,n[a]=await r(e[a])}});return await Promise.all(o),n};import em from"node:fs/promises";import Te from"node:path";import uM from"node:readline/promises";import{stdin as mM,stdout as Vs}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]="f3a0706e-7162-5cde-9f48-c5de9b2fbd8e")}catch{}})();var pM=["AGENTS.md","CLAUDE.md"],fM=["pm init","pm context","pm search","pm create","pm claim","pm files","pm docs","pm test --run","pm close","pm release","pm_author"],_M=8,tm=1,gM="<!-- pm-cli:agent-guidance:start:",hM=`<!-- pm-cli:agent-guidance:start:v${tm} -->`,Qu="<!-- pm-cli:agent-guidance:end -->",Oo="Add workflow guidance later: pm init --agent-guidance add";var yM=()=>uM.createInterface({input:mM,output:Vs});function oi(e,t){let r=Te.relative(e,t);return r.length===0?Te.basename(t):r.split(Te.sep).join("/")}function Fw(e){return e.endsWith(`
121
121
  `)?e:`${e}
122
122
  `}function wM(e){return e.includes(`\r
123
123
  `)?`\r
@@ -134,7 +134,7 @@ Agent guidance check
134
134
  `);let r=await t.question(`Add a compact pm workflow section to ${e}? [Y/n] `);return Vs.write(`
135
135
  `),TM(r,!0)}finally{t.close()}}function Hw(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:tm,last_checked_files:Array.isArray(t?.last_checked_files)?[...new Set(t.last_checked_files.map(r=>r.trim()).filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n)):[]}}async function qw(e){let t=[],r=await zw(e);for(let n of pM){let i=Te.join(e,n),o=await M(i);if(!o){t.push({file_path:i,exists:o,has_guidance:!1,has_marker:!1});continue}let a=await em.readFile(i,"utf8"),s=a.toLowerCase(),c=fM.filter(d=>s.includes(d)),l=bM(a);t.push({file_path:i,exists:o,has_guidance:l||c.length>=_M,has_marker:l,outdated:l&&Uw(a,r).changed})}return t}function bn(e,t){e.includes(t)||e.push(t)}function IM(e,t){let r=Hw(e),n=JSON.stringify(r)!==JSON.stringify(t);return n&&(e.agent_guidance=t),{changed:n,state:t}}async function Gw(e,t=Te.dirname(e)){let r=await M(e)?await em.readFile(e,"utf8"):"",n=Uw(r,await zw(t));return n.changed?(await q(e,n.next_content),{changed:!0,warnings:await Ie({path:e,scope:"project",op:"init:agent_guidance_file"})}):{changed:!1,warnings:[]}}function CM(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=>oi(e.projectRoot,t.file_path)),files_with_guidance:e.scans.filter(t=>t.has_guidance).map(t=>oi(e.projectRoot,t.file_path)),missing_files:e.scans.filter(t=>!t.exists).map(t=>oi(e.projectRoot,t.file_path))}}async function OM(e,t,r){return e?await qw(r):t}function Co(e,t,r){e.state={...e.state,...r,template_version:tm,last_checked_files:t}}async function Bw(e,t){if(t.presentBefore)return;let r=await Gw(t.targetPath,t.projectRoot);e.warnings.push(...r.warnings),r.changed&&(e.applied=!0,e.warnings.push(`agent_guidance:added:${t.targetRelativePath}`))}function xM(e,t){t||(e.warnings.push("agent_guidance:missing"),bn(e.nextSteps,Oo))}function RM(e,t){e.skipped=!0,Co(e,t,{prompt_completed:!0,declined:!0,declined_at:e.state.declined_at||new Date().toISOString()}),e.warnings.push("agent_guidance:explicit_skip"),bn(e.nextSteps,Oo)}async function NM(e,t){await Bw(e,t),Co(e,t.checkedFiles,{prompt_completed:!0,declined:!1,declined_at:""})}function DM(e,t){e.state.declined&&Co(e,t,{prompt_completed:!0,declined:!1,declined_at:""})}function PM(e){e.skipped=!0,e.warnings.push("agent_guidance:skipped_declined"),bn(e.nextSteps,Oo)}async function LM(e,t){if(e.prompted=!0,await AM(t.targetRelativePath)){await Bw(e,t),Co(e,t.checkedFiles,{prompt_completed:!0,declined:!1,declined_at:""});return}e.skipped=!0,Co(e,t.checkedFiles,{prompt_completed:!0,declined:!0,declined_at:new Date().toISOString()}),e.warnings.push("agent_guidance:declined"),bn(e.nextSteps,Oo)}function MM(e){e.warnings.push("agent_guidance:missing_non_interactive"),bn(e.nextSteps,"Inspect workflow guidance: pm init --agent-guidance status"),bn(e.nextSteps,Oo)}async function $M(e,t){let r={warnings:[],nextSteps:[],prompted:!1,applied:!1,skipped:!1,state:e};return t.mode==="status"?(xM(r,t.presentBefore),r):t.mode==="skip"?(RM(r,t.checkedFiles),r):t.mode==="add"?(await NM(r,t),r):t.presentBefore?(DM(r,t.checkedFiles),r):r.state.prompt_completed&&r.state.declined?(PM(r),r):t.interactive?(await LM(r,t),r):(MM(r),r)}async function Ww(e){let t=EM(e.pm_root,e.cwd),r=await qw(t),n=SM(r,t),i=oi(t,n),o=r.map(d=>oi(t,d.file_path)),a=r.some(d=>d.has_guidance),s=await $M(Hw(e.settings),{mode:e.mode,interactive:e.interactive,targetPath:n,targetRelativePath:i,checkedFiles:o,presentBefore:a,projectRoot:t});if(e.mode==="add")for(let d of r.filter(u=>u.outdated)){let u=await Gw(d.file_path,t);s.applied||=u.changed,s.warnings.push(...u.warnings)}let c=IM(e.settings,s.state);r=await OM(s.applied,r,t);let l=r.filter(d=>d.outdated).map(d=>oi(t,d.file_path));return l.length>0&&(s.warnings.push(`agent_guidance_outdated:${l.join(",")}`),bn(s.nextSteps,"pm init --agent-guidance add")),{summary:CM({mode:e.mode,scans:r,projectRoot:t,targetRelativePath:i,prompted:s.prompted,applied:s.applied,skipped:s.skipped,state:s.state}),warnings:s.warnings,next_steps:s.nextSteps,settings_changed:c.changed}}import mr from"node:fs/promises";import Qe 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]="34c9ab81-0465-51bb-9cf6-b27db1905e4c")}catch{}})();var FM=new Set(["1","true","yes","on"]),ai=["user","automation","test","dogfood"],jM=new Set(ai);function Ks(e,t){return FM.has((t[e]??"").trim().toLowerCase())}function si(e=process.env){let t=Ks("DO_NOT_TRACK",e),r=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),n=(typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test")&&!jM.has(r)&&!Ks("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||n||Ks("PM_TELEMETRY_DISABLED",e)||Ks("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed:n}}import Vw from"node:fs/promises";import Kw 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]="b5974276-3b45-5ad6-a7aa-e05a33807ee7")}catch{}})();function UM(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let r=t,{id:n,owner:i,created_at:o,ttl_seconds:a}=r;return typeof n!="string"||typeof i!="string"||typeof o!="string"||typeof a!="number"||!Number.isFinite(a)?null:{id:n,owner:i,created_at:o,ttl_seconds:a}}function zM(e,t,r){let n=UM(t);if(n===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 i=Date.parse(n.created_at);if(!Number.isFinite(i))return{detail:"invalid_timestamp",entry:{file:e,id:n.id,owner:n.owner,created_at:n.created_at,ttl_seconds:n.ttl_seconds,age_seconds:null,stale:!1,reason:"unparseable"}};let o=r-i,a=Math.floor(o/1e3),s=o>n.ttl_seconds*1e3;return{detail:s?"expired":"active",entry:{file:e,id:n.id,owner:n.owner,created_at:n.created_at,ttl_seconds:n.ttl_seconds,age_seconds:a,stale:s,reason:s?"expired":"active"}}}async function Jw(e,t){let r=t??Date.now(),n=Kw.join(e,"locks"),i={scanned:0,active_lock_count:0,stale_lock_count:0,unreadable_lock_count:0,unparseable_lock_count:0},o;try{o=(await Vw.readdir(n)).filter(a=>a.endsWith(".lock")).sort()}catch(a){if($(a))return i;throw a}for(let a of o){let s;try{s=await Vw.readFile(Kw.join(n,a),"utf8")}catch(l){if($(l))continue;i.scanned+=1,i.unreadable_lock_count+=1;continue}i.scanned+=1;let{detail:c}=zM(a,s,r);c==="active"?i.active_lock_count+=1:c==="expired"?i.stale_lock_count+=1:i.unparseable_lock_count+=1}return i}import fb 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]="9b58b44d-819c-5115-b011-f9dfa8e2ab41")}catch{}})();var HM=3e4,xo=class extends Error{status;constructor(t,r){super(t),this.name="SearchHttpError",this.status=r}};function Ro(e,t,r=HM){let n=e??r;if(!Number.isFinite(n)||n<=0)throw new Error(`${t} timeout must be a positive finite number`);return Math.floor(n)}function No(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 qM(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${oe(t)})`}}async function Js(e){let t=new AbortController,r=setTimeout(()=>{t.abort()},e.timeoutMs);try{let n;try{n=await e.fetcher(e.endpoint,{method:e.method,headers:e.headers,body:JSON.stringify(e.body),signal:t.signal})}catch(i){throw i instanceof Error&&i.name==="AbortError"?new Error(`${e.requestLabel} timed out after ${e.timeoutMs}ms`):new Error(`${e.requestLabel} execution failed: ${oe(i)}`)}if(!n.ok){let i=await qM(n),o=i.length>0?`: ${i}`:"";throw new xo(`${e.requestLabel} failed with status ${n.status} ${n.statusText}${o}`,n.status)}try{return await n.json()}catch(i){throw new Error(`${e.responseLabel} JSON parse failed: ${oe(i)}`)}}finally{clearTimeout(r)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8e3bb919-c8f9-50b5-8e41-b6719d17bd21")}catch{}})();function rm(e,t){let r=B(e);if(!r)return"unconfigured";let n=B(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function GM(e){let t=Si(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function Xw(e){let t=e.search?.embedding_model;return B(t)||null}function BM(e){let t=B(e.providers?.openai?.base_url),r=B(e.providers?.openai?.model);if(!t||!r)return null;let n=Xw(e),i=B(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...i?{api_key:i}:{}}}function WM(e){let t=B(e.providers?.ollama?.base_url),r=B(e.providers?.ollama?.model);if(!t||!r)return null;let n=Xw(e);return{name:"ollama",base_url:t,model:n??r}}function Zw(e){let t=(Array.isArray(e)?e:[e]).map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new Error("Embedding input must include at least one non-empty string");return t}function VM(e){let t=[],r=[],n=new Map;for(let i of e){let o=n.get(i);if(o===void 0){let a=t.length;t.push(i),n.set(i,a),r.push(a);continue}r.push(o)}return{uniqueInputs:t,originalToUniqueIndex:r}}function KM(e){let t=e.map((r,n)=>({embedding:r.embedding,index:r.index,position:n}));if(t.some(r=>r.index!==void 0)){for(let r of t)if(!Number.isInteger(r.index))throw new TypeError(`OpenAI embedding response entry at position ${r.position} is missing a valid integer index`);return[...t].sort((r,n)=>{let i=r.index-n.index;return i!==0?i:r.position-n.position})}return t}function Do(e){let t=BM(e),r=WM(e),n=[t,r].filter(a=>a!==null),i=B(e.search?.provider),o=i?i.toLowerCase():null;return{active:(o?n.find(a=>a.name===o):void 0)??n[0]??null,available:n}}function Yw(e){let t=Si(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:GM(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function JM(e,t){let r=Zw(t);return e.name==="openai"?{target:Yw(e),method:"POST",headers:{"content-type":"application/json",...e.api_key?{authorization:`Bearer ${e.api_key}`}:{}},body:{model:e.model,input:r.length===1?r[0]:r}}:{target:Yw(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function YM(e,t){if(e.name==="openai"){let i=t.data;if(!Array.isArray(i)||i.length===0)throw new Error("OpenAI embedding response must include a non-empty data array");return KM(i).map((o,a)=>{let s=o.embedding;if(!Nn(s))throw new Error(`OpenAI embedding response entry at index ${a} is missing a numeric embedding vector`);return[...s]})}let r=t.embedding;if(Nn(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((i,o)=>{if(!Nn(i))throw new Error(`Ollama embedding response entry at index ${o} is missing a numeric embedding vector`);return[...i]});throw new Error("Ollama embedding response must include embedding or embeddings vectors")}async function Qw(e,t,r={}){let n=Ro(r.timeout_ms,"Embedding request"),i=No(r.fetcher,"Embedding request"),o=Zw(t),a=VM(o),s=JM(e,a.uniqueInputs),c=await Js({endpoint:s.target.endpoint,method:s.method,headers:s.headers,body:s.body,timeoutMs:n,fetcher:i,requestLabel:"Embedding request",responseLabel:"Embedding response"}),l=YM(e,c);if(l.length!==a.uniqueInputs.length)throw new Error(`Embedding response cardinality mismatch: expected ${a.uniqueInputs.length} vector(s), received ${l.length}`);return a.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]="5c86afdf-6d8d-5851-82c1-ae5bcc9f0196")}catch{}})();var Ys=["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 nm(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...Ys];let r=new Set(Ys),n=Array.from(new Set(t.filter(i=>typeof i=="string").map(i=>i.trim()).filter(i=>i.length>0&&r.has(i))));return n.length>0?n:[...Ys]}var XM=8e3,ZM=3200,vn="...[semantic corpus truncated]",QM="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 e$(e){return(e.reminders??[]).map(t=>Ht([t.at,t.text]))}function t$(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 r$(e){let t=(e.plan_steps??[]).map(o=>Ht([o.order,o.id,o.title,o.body,o.status,o.owner,o.evidence,o.blocked_reason,o.superseded_by,(o.linked_items??[]).map(a=>Ht([a.kind,a.id,a.note])).join(" "),(o.files??[]).map(a=>Ht([a.path,a.note])).join(" "),(o.tests??[]).map(a=>Ht([a.command,a.path,a.note])).join(" "),(o.docs??[]).map(a=>Ht([a.path,a.note])).join(" ")])),r=(e.plan_decisions??[]).map(o=>Ht([o.decision,o.rationale,o.evidence,o.step_id])),n=(e.plan_discoveries??[]).map(o=>Ht([o.text,o.step_id])),i=(e.plan_validation??[]).map(o=>Ht([o.text,o.command,o.expected]));if([e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context,...t,...r,...n,...i].some(o=>o!==void 0))return{mode:e.plan_mode,scope:e.plan_scope,harness:e.plan_harness,resume_context:e.plan_resume_context,steps:t,decisions:r,discoveries:n,validation:i}}function zt(e){return typeof e=="string"&&e.trim().length>0}var n$={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=>e$(e.metadata),events:e=>t$(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>r$(e.metadata)};function eb(e,t={}){let r=t.fields??Ys,n={};for(let i of r){let o=n$[i];if(!o)continue;let a=o(e);a!==void 0&&(n[i]=a)}return n}function i$(e){return e?.trim().toLowerCase()==="ollama"?ZM:XM}function ci(e,t){let r=i$(e),n=hf(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:QM}}function im(e,t={}){let r=JSON.stringify(eb(e,{fields:t.fields})),n=ci(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=vn.length)return vn.slice(0,n);let i=Math.max(0,n-vn.length);return`${r.slice(0,i)}${vn}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="67bae1a1-19d1-50ea-816f-4b68e6bb69d9")}catch{}})();function o$(e,t,r){let n=e.search.embedding_batch_size,i=e.search.embedding_timeout_ms,o=e.search.scanner_max_batch_retries,a=Number.isFinite(n)&&n>0?Math.max(1,Math.floor(n)):1,s=Number.isFinite(i)&&i>0?Math.max(1,Math.floor(i)):3e4,c=Number.isFinite(o)&&o>=0?Math.floor(o):0;return{batchSize:a,timeoutMs:s,maxRetries:c,maxRequestBytes:r,maxInputCharacters:t}}function a$(e,t,r,n){let i=[],o=[],a=Buffer.byteLength(JSON.stringify({model:e.model,input:[]})),s=a;for(let c of t){let l=Buffer.byteLength(JSON.stringify(c.trim()));if(a+l>n)throw new RangeError(`Embedding input exceeds request byte ceiling ${n}; lower search.embedding_corpus_max_characters or raise maxRequestBytes`);let d=o.length>0?1:0;(o.length>=r||s+d+l>n)&&(i.push(o),o=[],s=a),s+=l+(o.length>0?1:0),o.push(c)}return i.push(o),i}function s$(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-vn.length);return`${e.slice(0,r)}${vn}`.slice(0,t)}function tb(e){let t=oe(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function c$(e,t,r,n,i,o){let a=`Embedding batch ${t} failed after ${i} attempt(s): ${oe(o)}`,s=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return tb(o)?`${a} (${s}; guidance=check provider availability or lower search.embedding_batch_size, raise search.embedding_timeout_ms, or run keyword search while semantic indexing catches up)`:`${a} (${s})`}function l$(e){return e instanceof xo?e.status===413?"payload_too_large":null:tb(e)?"timeout":null}async function om(e,t,r,n,i,o,a){let s=null;for(let c=0;c<=i;c+=1)try{a.requests+=1;let l=await Qw(e,t,{timeout_ms:n});return c>0&&o.push(`search_embedding_batch_retry_succeeded:batch=${r}:attempt=${c+1}:size=${t.length}`),a.successful_batches+=1,a.batch_size_histogram[t.length]=(a.batch_size_histogram[t.length]??0)+1,l}catch(l){s=l;let d=l$(l);if(d!==null&&t.length>1){a.split_batches+=1;let u=Math.ceil(t.length/2),m=t.slice(0,u),p=t.slice(u);return o.push(`search_embedding_batch_split_after_${d}:batch=${r}:size=${t.length}:parts=${m.length}|${p.length}`),[...await om(e,m,`${r}.1`,n,i,o,a),...await om(e,p,`${r}.2`,n,i,o,a)]}if(c<i){a.retries+=1;let u=Math.min(1e3*2**c,8e3);await new Promise(m=>setTimeout(m,u))}}throw new Error(c$(e,r,t.length,n,i+1,s))}async function am(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let i=performance.now(),o=n.maxRequestBytes??262144;if(!Number.isSafeInteger(o)||o<=0)throw new RangeError("maxRequestBytes must be a positive safe integer");let a={provider:e.name,model:e.model,max_request_bytes:o,limit_source:n.maxRequestBytes===void 0?"default":"caller",planned_batches:0,requests:0,successful_batches:0,split_batches:0,retries:0,batch_size_histogram:{},elapsed_ms:0,inputs_per_second:0},s=[],c=ci(e.name,t.search.embedding_corpus_max_characters);c.warning&&s.push(c.warning);let l=o$(t,c.maxCharacters,o),d=0,u=r.map(w=>{if(w.trim().length===0)throw new TypeError("Embedding inputs must be non-empty strings");let h=s$(w,l.maxInputCharacters);return h.length<w.length&&(d+=1),h});d>0&&s.push(`search_embedding_input_truncated:count=${d}:max_characters=${l.maxInputCharacters}`);let m=a$(e,u,l.batchSize,l.maxRequestBytes);a.planned_batches=m.length;let p=[],f=0;for(let w=0;w<m.length;w+=1){let h=m[w];n.onProgress?.({batch_index:w+1,batch_total:m.length,batch_size:h.length,completed_inputs:f,total_inputs:u.length,phase:"start"}),p.push(...await om(e,h,String(w+1),l.timeoutMs,l.maxRetries,s,a)),f+=h.length,n.onProgress?.({batch_index:w+1,batch_total:m.length,batch_size:h.length,completed_inputs:f,total_inputs:u.length,phase:"complete"})}return a.elapsed_ms=Math.max(1,performance.now()-i),a.inputs_per_second=r.length*1e3/a.elapsed_ms,{vectors:p,warnings:s,receipt:a}}import{spawnSync as nb}from"node:child_process";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7889f11f-36f9-5384-8429-58d951c342da")}catch{}})();var d$="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",u$="PM_OLLAMA_MODEL",m$="http://localhost:11434",p$="qwen3-embedding:0.6b",f$=".agents/pm/search/lancedb/",_$=1500,g$=2500,h$=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,y$=/embed|embedding/i,qt=B;function w$(){let e=qt(process.env[d$]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function rb(e){return e.some(t=>qt(t)!==null)}function b$(e){let t=qt(e);return!!(t&&t.toLowerCase()!=="ollama")}function v$(e){let t=qt(e);return!!(t&&t.toLowerCase()!=="lancedb")}function k$(e){return b$(e.search?.provider)||v$(e.vector_store?.adapter)||rb([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:rb([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function E$(){let e=nb("ollama",["--version"],{encoding:"utf8",timeout:_$});return e.error?!1:e.status===0}function S$(e){let t=e.split(/\r?\n/).map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)return null;let r=t.map(n=>n.split(/\s+/)[0]?.trim()).filter(n=>!!(n&&n.length>0)).filter(n=>n.toUpperCase()!=="NAME");return r.length===0?null:r.find(n=>h$.test(n))||(r.find(n=>y$.test(n))??null)}function T$(e){let t=qt(e.providers?.ollama?.model);if(t)return t;let r=qt(process.env[u$]);if(r)return r;let n=nb("ollama",["list"],{encoding:"utf8",timeout:g$});if(!n.error&&n.status===0){let i=S$(typeof n.stdout=="string"?n.stdout:"");if(i)return i}return null}function A$(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 I$(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function C$(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},i=n.ollama??={};t.baseUrl&&(i.base_url=m$),t.model&&(i.model=r)}function O$(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=f$}function x$(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function li(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(w$()||k$(e))return t;let r=A$(e);if(!I$(r)||r.model&&!E$())return t;let n=structuredClone(e),i=T$(n);return i?(C$(n,r,i),O$(n,r),x$(n,r,i),{settings:n,auto_ollama_defaults_applied:!0}):{...t,auto_ollama_defaults_skipped_reason:"no_installed_embedding_model",auto_ollama_defaults_remediation:`Run ollama pull ${p$} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9ecff496-8afa-5cfc-9178-2be8bd403978")}catch{}})();import{mkdir as R$,readFile as N$,stat as lm,unlink as D$}from"node:fs/promises";import{basename as ib,dirname as sm,isAbsolute as P$,join as L$,resolve as dm}from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b5f2e49a-fb72-554b-b0a8-dca0adee71f4")}catch{}})();var um="pm_items",M$=/[^a-zA-Z0-9_-]/g,$$=128,F$=".pm-cli-local-vectors",cm=1,di=new Map;function mm(e){return(B(e.collection_name)??um).replaceAll(M$,"_").slice(0,$$)}function ob(e){if(!Nn(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function ab(e){let t=B(e.result?.status);if(t)return{status:t};let r=B(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function sb(e,t,r,n,i){return await Js({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${i} request`,responseLabel:`Vector ${i} response`})}function j$(e){let t=B(e.vector_store?.qdrant?.url);if(!t)return null;let r=B(e.vector_store?.collection_name),n=B(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==um?{collection_name:r}:{},...n?{api_key:n}:{}}}function U$(e){let t=dm(e),r=sm(t);return ib(t)==="pm"&&ib(r)===".agents"?sm(r):t}function z$(e,t){return!t||P$(e)?e:dm(U$(t),e)}function H$(e,t){let r=B(e.vector_store?.lancedb?.path);if(!r)return null;let n=B(e.vector_store?.collection_name);return{name:"lancedb",path:z$(r,t),...n&&n!==um?{collection_name:n}:{}}}function q$(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,r)=>{let n=B(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let i=ob(t.vector),o=t.payload;if(o!==void 0&&(typeof o!="object"||o===null||Array.isArray(o)))throw new Error(`Vector upsert record at index ${r} must provide payload as an object when set`);return{id:n,vector:i,...o?{payload:o}:{}}})}function G$(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((n,i)=>{let o=B(n);if(!o)throw new Error(`Vector delete id at index ${i} is missing a non-empty value`);return o}).sort((n,i)=>n.localeCompare(i)),r=[];for(let n of t)r.at(-1)!==n&&r.push(n);return r}function B$(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function cb(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function pm(e,t){return Po(e,t)}function Po(e,t){return L$(dm(e),F$,`${t}.json`)}function W$(e,t,r){let n=B(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let i=ob(e.vector),o=e.payload;if(o!==void 0&&(typeof o!="object"||o===null||Array.isArray(o)))throw new Error(`LanceDB local snapshot '${r}' record '${n}' must provide payload as an object when set`);return{id:n,vector:i,...o?{payload:o}:{}}}function V$(e,t,r){let n;try{n=JSON.parse(r)}catch(s){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${oe(s)}`)}if(typeof n!="object"||n===null||Array.isArray(n))throw new Error(`LanceDB local snapshot at '${e}' must be a JSON object`);if(n.version!==cm)throw new Error(`LanceDB local snapshot at '${e}' must include version=${cm}`);let i=B(n.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 o=n.records;if(!Array.isArray(o))throw new TypeError(`LanceDB local snapshot at '${e}' must include a records array`);let a=new Map;for(let s=0;s<o.length;s+=1){let c=W$(o[s],s,e);a.set(c.id,c)}return a}async function K$(e){try{let t=await lm(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!$(t))throw t;return null}}function J$(e,t){if(!t)return null;if(t.mtimeMs===null&&t.size===null&&t.records.size===0)return t.records;let r=new Map;return di.set(e,{records:r,mtimeMs:null,size:null}),r}function Y$(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function lb(e,t){let r=pm(e,t),n=Po(e,t),i=await K$(n),o=di.get(r);if(!i){let s=J$(r,o);if(s)return s}if(Y$(o,i))return o.records;let a=new Map;try{let s=await N$(n,"utf8");a=V$(n,t,s)}catch(s){if(!$(s))throw s}return di.set(r,{records:a,mtimeMs:i?.mtimeMs??null,size:i?.size??null}),a}function X$(e){let t=[...e.values()];return t.sort((r,n)=>r.id.localeCompare(n.id)),t.map(r=>({id:r.id,vector:[...r.vector],...r.payload?{payload:r.payload}:{}}))}async function Z$(e){try{await D$(e)}catch(t){if(!$(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${oe(t)}`)}}async function db(e,t,r){let n=Po(e,t);if(r.size===0){await Z$(n);return}let i=sm(n);try{await R$(i,{recursive:!0})}catch(a){throw new Error(`LanceDB local snapshot directory create failed at '${i}': ${oe(a)}`)}let o=`${JSON.stringify({version:cm,table:t,records:X$(r)})}
136
136
  `;try{await q(n,o)}catch(a){throw new Error(`LanceDB local snapshot write failed at '${n}': ${oe(a)}`)}}function Lo(e,t){let r=j$(e),n=H$(e,t),i=[r,n].filter(s=>s!==null),o=B(e.vector_store?.adapter),a=o?o.toLowerCase():null;return{active:(a?i.find(s=>s.name===a):void 0)??i[0]??null,available:i}}function ub(e){let t=mm(e);if(e.name==="qdrant"){let i=Si(e.url),o=encodeURIComponent(t);return{store:"qdrant",query_target:`${i}/collections/${o}/points/search`,upsert_target:`${i}/collections/${o}/points?wait=true`}}let r=encodeURIComponent(e.path),n=encodeURIComponent(t);return{store:"lancedb",query_target:`lancedb://${r}#${n}`,upsert_target:`lancedb://${r}#${n}`}}function Q$(e,t){let r=ub(e),n=q$(t);return e.name==="qdrant"?{target:r,method:"POST",headers:cb(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:mm(e),records:n}}}function e1(e,t){let r=ub(e),n=G$(t);return e.name==="qdrant"?{target:r,method:"POST",headers:cb(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:mm(e),ids:n}}}async function fm(e,t,r={}){let n=Q$(e,t);if(n.method==="LOCAL"){let s=e,c=n.body,l=pm(s.path,c.table),d=await lb(s.path,c.table);for(let p of c.records)d.set(p.id,p);await db(s.path,c.table,d);let u=Po(s.path,c.table),m=await lm(u);return di.set(l,{records:d,mtimeMs:m.mtimeMs,size:m.size}),{status:"ok"}}let i=Ro(r.timeout_ms,"Vector request"),o=No(r.fetcher,"Vector request"),a=await sb(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},i,o,"upsert");return ab(a)}async function _m(e,t,r={}){let n=e1(e,t);if(n.method==="LOCAL"){let s=e,c=n.body,l=pm(s.path,c.table),d=await lb(s.path,c.table);if(d.size===0)return{status:"ok"};for(let u of c.ids)d.delete(u);if(await db(s.path,c.table,d),d.size===0)di.delete(l);else{let u=Po(s.path,c.table),m=await lm(u);di.set(l,{records:d,mtimeMs:m.mtimeMs,size:m.size})}return{status:"ok"}}let i=Ro(r.timeout_ms,"Vector request"),o=No(r.fetcher,"Vector request"),a=await sb(B$(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},i,o,"delete");return ab(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]="f8acaac5-64f7-5e22-987e-4eb12a1aa1cf")}catch{}})();function ui(e,t){let r=B(e),n=B(t);return!r||!n?null:{provider:r,model:n}}function mb(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=ui(e.provider,e.model),r=e.vector_dimension;if(!t||typeof r!="number"||!Number.isInteger(r)||r<=0)throw new Error("Vectorization embedding metadata must include provider, model, and positive vector_dimension");return{...t,vector_dimension:r}}function gm(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 Mo(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function hm(e,t){return!!(e&&e.vector_dimension!==t)}function ym(e,t){if(e.length===0)throw new Error(`${t} returned no vectors`);let r=e[0].length;if(!Number.isInteger(r)||r<=0)throw new Error(`${t} returned an empty vector`);for(let n=1;n<e.length;n+=1)if(e[n]?.length!==r)throw new Error(`${t} returned mixed vector dimensions`);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7113dff5-c8e0-5ba6-b0ae-2ff849ed94df")}catch{}})();var _b="search/vectorization-status.json";function Fo(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function gb(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function hb(e){let t=new Map;for(let[r,n]of Object.entries(e)){let i=r.trim();i.length===0||!gb(n)||t.set(i,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function jo(e){let t=fb.join(e,_b),r=await K(t);if(r===null||r.trim().length===0)return{entries:{},embedding:null,warnings:[]};let n;try{n=JSON.parse(r)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}if(typeof n!="object"||n===null||n.version!==1||!Array.isArray(n.items))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let i=new Map;for(let a of n.items){if(typeof a!="object"||a===null)return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let s=a.id,c=a.updated_at;if(typeof s!="string"||s.trim().length===0||!gb(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};i.set(s.trim(),c)}let o=null;try{o=mb(n.embedding)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}return{entries:Object.fromEntries([...i.entries()].sort((a,s)=>a[0].localeCompare(s[0]))),embedding:o,warnings:[]}}async function yb(e,t,r){let n=hb(t),i=fb.join(e,_b),o=`${JSON.stringify({version:1,generated_at:j(),...r?{embedding:r}:{},items:Object.entries(n).map(([a,s])=>({id:a,updated_at:s}))},null,2)}
137
- `;await q(i,o)}function r1(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function n1(e){let t=ui(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function $o(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function i1(e,t,r){if(!r.settings&&!await M(ke(e)))return $o(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let s=await Pr(e),c=s.warnings.find(l=>l.startsWith("settings_read_"));if(c)return $o(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=s.settings}}catch(s){return $o(t,`search_semantic_refresh_skipped:settings_read_failed:${oe(s)}`)}let i=r.apply_runtime_defaults?li(n).settings:n,o=Do(i).active;if(!o)return $o(t,"search_semantic_refresh_skipped:provider_unconfigured");let a=Lo(i,e).active;return a?{settings:i,provider:o,vectorStore:a}:$o(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function o1(e,t,r,n,i,o){let a=[],s=new Set,c=new Set,l=[];for(let d of n){let u=await Se(e,d,t,r,i);if(!u){c.add(d);continue}try{let m=await ze(u,{schema:o});l.push({id:m.document.metadata.id,document:m.document})}catch(m){s.add(u.id),a.push(`search_semantic_refresh_item_read_failed:${u.id}:${oe(m)}`)}}return l.sort((d,u)=>d.id.localeCompare(u.id)),{documents:l,missingIds:Fo(c),skippedIds:Fo(s),warnings:a}}async function a1(e,t,r){let n=ci(t.name,e.search.embedding_corpus_max_characters).maxCharacters,i=nm(e),o=r.map(s=>im(s.document,{providerName:t.name,maxCharacters:n,fields:i})),a=await am(t,e,o);return{vectors:a.vectors,vector_dimension:ym(a.vectors,"Semantic refresh embedding"),warnings:a.warnings}}async function s1(e,t,r){return await fm(e,t.map((n,i)=>({id:n.id,vector:r[i],payload:r1(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function c1(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await _m(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${oe(r)}`]}}}async function wb(e,t,r={}){let n=Fo(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let i=await i1(e,n,r);if(!("settings"in i))return i;let o=ce(i.settings,V()),a=await o1(e,i.settings.id_prefix,i.settings.item_format,n,o.type_to_folder,i.settings.schema),s=a.documents.length>0||a.missingIds.length>0?await jo(e):{entries:{},embedding:null,warnings:[]},c=n1(i.provider),l=s.entries,d={refreshed:[],skipped:[],warnings:[]},u=s.embedding;if(a.documents.length>0)if(s.embedding&&Mo(s.embedding,c))d={refreshed:[],skipped:a.documents.map(h=>h.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let h=await a1(i.settings,i.provider,a.documents);if(hm(s.embedding,h.vector_dimension))d={refreshed:[],skipped:a.documents.map(b=>b.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=gm(c,h.vector_dimension);let b=await s1(i.vectorStore,a.documents,h.vectors);d={refreshed:b.refreshed,skipped:b.skipped,warnings:[...h.warnings,...b.warnings]}}}catch(h){d={refreshed:[],skipped:a.documents.map(b=>b.id),warnings:[`search_semantic_refresh_failed:${oe(h)}`]}}let m=await c1(i.vectorStore,a.missingIds),p=new Set(d.refreshed),f=Object.fromEntries(a.documents.filter(h=>p.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),w=[];if(Object.keys(f).length>0||a.missingIds.length>0){let h={...l,...hb(f)};for(let b of a.missingIds)delete h[b];try{await yb(e,h,u)}catch(b){w.push(`search_vectorization_status_ledger_write_failed:${oe(b)}`)}w.push(...s.warnings)}return{refreshed:Fo([...d.refreshed,...m.refreshed]),skipped:Fo([...a.skippedIds,...d.skipped,...m.skipped]),warnings:[...a.warnings,...d.warnings,...m.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]="f091d0c3-f2a7-5d76-8656-4aebe82e9798")}catch{}})();function wm(e,t){let r=t??{};return e.filter(n=>r[n.id]!==n.updated_at).map(n=>n.id).sort((n,i)=>n.localeCompare(i))}import p1 from"node:crypto";import vm from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4f455b67-536a-59be-8f25-1dc9c9c0b917")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bd65294f-dfa5-53d2-9691-c630884f2a5f")}catch{}})();var pZ=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]="b138e8a7-abfe-5961-a337-bb3a9506770c")}catch{}})();var PZ=vm.join("runtime","telemetry","events.jsonl"),LZ=vm.join("runtime","telemetry","state.json"),MZ=vm.join("runtime","telemetry","otel-spans.jsonl");var vb=1;var kb=15;var $Z=3600*1e3;var FZ=globalThis.fetch;var UZ=Promise.resolve(),zZ=Promise.resolve();var HZ=new Set(ai);var qZ=p1.randomUUID();var Eb="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",GZ=new RegExp(`\\b(${Eb})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),BZ=new RegExp(`(--${Eb})(=|\\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]="3d7db45e-123f-596b-afc7-b698f2b2f45c")}catch{}})();var f1=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 km(e){if(typeof e!="string")return;let t=e.trim();for(let r of f1)if(t===r.code||t.startsWith(`${r.code}:`))return r}function Em(e){let t={};for(let r of e){let n=km(r);n!==void 0&&!Object.prototype.hasOwnProperty.call(t,n.code)&&(t[n.code]=n.command)}return t}function Sb(e){return Object.values(Em(e))}import Ib from"node:fs/promises";import{createRequire as _1}from"node:module";import lt from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="32adaa7c-f0aa-5aff-8d88-d7c0ccfbd971")}catch{}})();function Tb(e,t){let r=lt.relative(t,e);if(r.length>0&&r!==".."&&!r.startsWith(`..${lt.sep}`)&&!lt.isAbsolute(r))return r.split(lt.sep).join("/");let n=lt.resolve(e),i=0xcbf29ce484222325n;for(let o=0;o<n.length;o+=1)i^=BigInt(n.charCodeAt(o)),i=BigInt.asUintN(64,i*0x100000001b3n);return`<external>/${i.toString(16).padStart(16,"0")}/${lt.basename(lt.dirname(e))}/package.json`}function g1(e){return e.includes(`${lt.sep}.pnpm${lt.sep}`)?"pnpm":e.includes(`${lt.sep}node_modules${lt.sep}`)?"npm":"other"}async function Ab(e){try{let t=JSON.parse(await Ib.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 Sm(e){try{return await Ib.realpath(e)}catch{return lt.resolve(e)}}async function Cb(e,t,r=it(import.meta.url,["../../.."])){let n=await Sm(t),i=await Sm(lt.join(r,"package.json")),o=await Ab(i),a=new Map;o!==void 0&&a.set(i,{version:o,path:Tb(i,n),layout:"host",consumers:["pm-cli-host"]});for(let l of e)try{let d=_1(l.entry_path).resolve("@unbrained/pm-cli/package.json"),u=await Sm(d),m=await Ab(u);if(m===void 0)continue;let p=u,f=a.get(p);if(f){f.consumers.includes(l.name)||(f.consumers.push(l.name),f.consumers.sort((w,h)=>w.localeCompare(h)));continue}a.set(p,{version:m,path:Tb(u,n),layout:g1(u),consumers:[l.name]})}catch{}let s=[...a.values()].sort((l,d)=>l.path.localeCompare(d.path)),c=o===void 0?[]:s.filter(l=>l.version!==o);return{host_version:o??null,copies:s,mismatches:c,warnings:c.map(l=>`extension_host_pm_cli_version_skew:${o}:${l.version}:${l.consumers.join("+")}`)}}import np from"node:fs/promises";import ip from"node:path";import{Option as Zoe}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]="42b217a3-31c0-561a-b7cb-b1a584b2edd5")}catch{}})();var rQ=new Set(["rename-type","rename-field","remap-status",...qn]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="da661b46-841c-526d-88bc-976e007e8fbe")}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]="e23f9ca6-9fa6-566b-9bfb-7cbe6d449a59")}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]="cb883ffc-c431-5bf9-a973-931a8a0a940c")}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]="4441095d-0acd-5780-8758-7df94396cb8e")}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]="80805c6b-9b9a-5dad-b94b-d7dbd365fe5e")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2fd342e6-06cc-56d4-aa0e-2af269234b59")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0257ab6d-3ef8-5b98-adfd-c7dabd537c43")}catch{}})();var h1={critical:0,high:1,medium:2,low:3,minimal:4},y1=Object.keys(h1),xQ=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${y1.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]="b6206b0e-0cd8-5827-acbd-6ac064dbcad7")}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]="14e6c7b4-3161-5f82-b797-f06a879d1370")}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]="50f77f3f-b2b0-5ae2-b669-6ed50bbdd530")}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]="c628dcf9-d98f-566e-9f93-cc81e737691c")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b84fee06-5bbd-57f9-9643-f283d6c87afa")}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]="158d5065-075c-5355-a65c-f3edc9c5f1f0")}catch{}})();var VQ=new Map(Pc.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]="4b79bd02-51ae-5c46-be4c-2f41dd8c9486")}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]="be646cfd-4742-5e15-9df1-648f1d250a99")}catch{}})();import{createRequire as b1}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]="da2c4c10-3c43-5037-ac69-31204480af99")}catch{}})();var v1=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,oee=new RegExp(`\\b(${v1.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var aee=b1(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]="ceaee876-c2c8-5b28-91ee-f670384fd559")}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]="4835aae2-a525-5683-abc0-0ba3c5781c95")}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]="b75bf20f-d341-5fa2-943d-db02211ca80d")}catch{}})();var k1=[{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"}],bee=new Map(k1.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]="6c555c2c-9db2-5c9f-9d69-3456fe8bffaa")}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]="5767332d-8094-55cd-96e9-47c5d20cd7df")}catch{}})();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]="a7cd1d62-16fe-5e5b-b382-64335fc5e403")}catch{}})();function Xs(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function S1(e,t){return[e.updated_at,t].map(r=>({value:r,time:Date.parse(r??"")})).filter(r=>typeof r.value=="string"&&Number.isFinite(r.time)).sort((r,n)=>n.time-r.time)[0]?.value??e.updated_at}function xb(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),i=Xs(t.in_progress_status),o=[];for(let a of e){if(Xs(String(a.status))!==i||(a.assignee?.trim().length??0)>0)continue;let s=S1(a,t.last_history_activity?.(a)),c=Date.parse(s);if(!Number.isFinite(c))continue;let l=Math.max(0,Math.floor((n-c)/36e5));l>=r&&o.push({id:a.id,last_activity_at:s,age_hours:l})}return o.sort((a,s)=>s.age_hours-a.age_hours||a.id.localeCompare(s.id)),{threshold_hours:r,count:o.length,items:o,remediation:"Claim active work with `pm claim <id>` or return abandoned work to open with `pm update <id> --status open`."}}async function Tm(e,t,r){let n=new Map;return await Promise.all(t.filter(i=>Xs(String(i.status))===Xs(r.in_progress_status)&&(i.assignee?.trim().length??0)===0).map(async i=>{let o;try{o=await We(E1.join(e,"history",`${i.id}.jsonl`),i.id)}catch{return}let a=o.map(s=>s.ts).filter(s=>Number.isFinite(Date.parse(s))).sort((s,c)=>Date.parse(c)-Date.parse(s))[0];a&&n.set(i.id,a)})),xb(t,{...r,last_history_activity:i=>n.get(i.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]="ab644545-f072-53c0-9ebf-72a62c237a2f")}catch{}})();var Oee=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]="e7deff0d-d9c9-5250-b172-ab752ddd64a4")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bc9e1b59-21cb-5dda-91c0-36e123734cd3")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4b566486-120f-5aed-8d92-9e62ed996210")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12ee7de1-dff4-53f1-8d0d-d8b1c1ebea42")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12c59406-7e00-5fe1-bd93-c1f9d8537f01")}catch{}})();import Hee from"node:readline/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7c005413-4db4-58ce-a8ec-96ebc91a54f9")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3b93077-f162-5874-b81b-5d6b8be427b5")}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]="6f46d7b9-24e8-5794-9b9e-2fa6365498fd")}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]="583b80c2-9d6a-554a-8ce8-9f6f7b5403ac")}catch{}})();var Am=[{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}],Nb=Am.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),Db=Am.filter(e=>e.repeatable===!0).map(e=>({target:e.target,keys:e.keys})),Im=[{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}],Cm=Im.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),Pb=Im.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]="f15df301-1d55-540c-9646-852307dae81a")}catch{}})();function Oe(e){return e.map(t=>({...t}))}var Om=[{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"}],Lb=[{param:"updatedAfter",flag:"--updated-after"},{param:"updatedBefore",flag:"--updated-before"},{param:"createdAfter",flag:"--created-after"},{param:"createdBefore",flag:"--created-before"}],F1=[{param:"today",flag:"--today",booleanish:!0},{param:"recent",flag:"--recent",booleanish:!0},...Lb],Mb=[{param:"assignee",flag:"--assignee"},{param:"assigneeFilter",flag:"--assignee-filter"},{param:"parent",flag:"--parent"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"}],j1=[{param:"assignee",flag:"--assignee"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"parent",flag:"--parent"}],U1=[...Om,...Mb],$b=[{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"}],z1=[{param:"filterAcMissing",flag:"--filter-ac-missing"},{param:"filterEstimatesMissing",flag:"--filter-estimates-missing"},{param:"filterResolutionMissing",flag:"--filter-resolution-missing"},{param:"filterMetadataMissing",flag:"--filter-metadata-missing"}],Fb=[{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"}],xm=[{param:"for",flag:"--for"},{param:"tokenBudget",flag:"--token-budget"},...Oe(Om),...Oe(F1),{param:"ids",flag:"--ids"},...Oe(Mb),...Oe(z1),...Oe($b),...Oe(Fb),{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"}],Rm=[{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"},...Oe(U1)],Nm=[{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"},...Oe(Om),...Oe(Lb),...Oe(j1),...Oe($b),...Oe(Fb),{param:"fields",flag:"--fields"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"}],jb=[{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"}],Zs=Oe(jb),Ub=[{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"}],Dm=Oe(Ub),zb=[{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"}],Pm=Oe(zb),Lm=[{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"}],Mm=Oe(Lm),$m=Oe(Lm);var Fm=[{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}],jm=[{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]="0c47b245-c694-5d47-a5c0-8812e0843416")}catch{}})();var q1=["item","list","context","search","graph","history","workspace","package","ops","plan","contracts","help"];function T(e,t,r,n={}){return{name:e,required:r,variadic:n.variadic===!0,value_kind:t,polymorphic:n.polymorphic===!0}}function Hb(e){let t=e.replaceAll("-"," ");return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}var ne=T("id","item_id",!0),Uo=T("id","item_id",!1),zo=T("text","string",!1),Ho=T("plan-id","item_id",!0),qb=T("step","string",!0),G1=["--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"],Um=["--allow-multiple-active","--depends-on","--file","--force","--message","--step-blocked-reason","--step-body","--step-evidence","--step-owner","--step-status","--step-title","--test"],B1={"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."},mi=[{command:"plan create",parent:"plan",action:"create",slots:[T("title","string",!1,{polymorphic:!0})],accepted_flags:G1,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:[Ho],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:[Ho],accepted_flags:Um,description:"Append one ordered step to a Plan item.",example:'pm plan add-step pm-a1b2 --step-title "Run tests"'},...Object.entries(B1).map(([e,t])=>({command:`plan ${e}`,parent:"plan",action:e,slots:[Ho,qb],accepted_flags:Um,description:t,example:`pm plan ${e} pm-a1b2 plan-step-001`})),{command:"plan reorder-step",parent:"plan",action:"reorder-step",slots:[Ho,qb,T("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:[Ho],accepted_flags:Um,description:`${Hb(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:[T("kind","string",!0),...e==="list"?[]:[T("id","string",!0)]],accepted_flags:e==="put"?["--author","--definition","--message"]:e==="remove"?["--author","--message"]:[],description:`${Hb(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:[T("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:[T("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:[T("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:[T("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:[T("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:[T("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:[T("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:[T("target","string",!0)],accepted_flags:[],description:"Delete one workspace snapshot target.",example:"pm workspace snapshot delete before-migration"}],W1=[...mi].sort((e,t)=>t.command.length-e.command.length),V1=new Map([["append",[ne,zo]],["assurance",[T("action","action",!0),T("kind","string",!1),T("id","string",!1)]],["beads import",[T("file","string",!1)]],["changelog export",[T("file","string",!1)]],["claim",[Uo]],["close",[ne,zo]],["close-task",[ne,T("reason","string",!1)]],["comments",[ne,zo]],["completion",[T("shell","string",!1)]],["config",[T("scope","string",!1,{polymorphic:!0}),T("action","action",!1),T("key","string",!1),T("value","string",!1,{polymorphic:!0})]],["copy",[ne]],["create",[T("type-or-title","string",!1,{polymorphic:!0}),T("title","string",!1)]],["delete",[ne]],["deps",[ne]],["docs",[ne]],["event",[T("title","string",!0)]],["files",[ne]],["files discover",[ne]],["files lookup",[T("paths","string",!0,{variadic:!0})]],["focus",[Uo]],["get",[ne]],["graph",[T("subcommand","action",!0),Uo,T("target","item_id",!1)]],["guide",[T("topic","string",!1)]],["history",[ne]],["history-compact",[Uo]],["history-redact",[ne]],["history-repair",[Uo]],["init",[T("prefix-or-path","string",!1,{polymorphic:!0})]],["item complete",[ne,T("reason","string",!1)]],["item reopen",[ne,T("reason","string",!0)]],["learnings",[ne,zo]],["meet",[T("title","string",!0)]],["merge",[T("subcommand","action",!0),T("artifact","string",!1),T("base","string",!1),T("ours","string",!1),T("theirs","string",!1)]],["notes",[ne,zo]],["package",[T("target","string",!1,{polymorphic:!0})]],["package list",[]],["package inventory",[T("name","string",!1)]],["package scaffold",[T("target","string",!0)]],["package upgrade",[T("target","string",!1)]],["packages",[T("target","string",!1,{polymorphic:!0})]],["packages list",[]],["packages inventory",[T("name","string",!1)]],["packages scaffold",[T("target","string",!0)]],["packages upgrade",[T("target","string",!1)]],["pause-task",[ne]],["plan",[T("subcommand","action",!0),T("id","item_id",!1,{polymorphic:!0}),T("step","string",!1),T("new-order","integer",!1)]],["profile",[T("subcommand","action",!0),T("name","string",!1)]],["release",[ne]],["remind",[T("title","string",!0)]],["restore",[ne,T("target","string",!0)]],["schema",[T("subcommand","action",!0),T("name","string",!1)]],["search-advanced",[T("keywords","string",!0,{variadic:!0})]],["search",[T("keywords","string",!0,{variadic:!0})]],["start-task",[ne]],["templates save",[T("name","string",!0)]],["templates show",[T("name","string",!0)]],["telemetry",[T("namespace-or-subcommand","action",!1,{polymorphic:!0}),T("subcommand","action",!1)]],["test",[ne]],["test-runs-worker",[T("runId","string",!0)]],["update",[ne]],["workspace snapshot",[T("action","action",!0),T("target","string",!1)]],...["activate","adopt","deactivate","init","uninstall"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[T("target","string",!0)]])),...["describe"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[T("target","string",!1)]])),...["install"].flatMap(e=>["extension","package","packages"].map(t=>[`${t} ${e}`,[T("targets","string",!1,{variadic:!0})]])),["vcs abandon",[ne]],["vcs create",[T("title","string",!0)]],["vcs merge",[ne]],["vcs propose",[ne]],["vcs ref-create",[T("name","string",!0)]],["vcs show",[ne]]]);function K1(e){return e.trim().toLowerCase().replace(/\s+/gu," ")}function J1(e){let t=K1(e);return W1.find(r=>r.command===t||t.startsWith(`${r.command} `))}function U(e,t,r,n,i){return i.map(o=>({command:o,noun:e,target:t,disposition:r,owner:n}))}var Y1=[...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"]),...rs.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",...mi.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",mi.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=ns.find(n=>n.alias===e.command);if(!t)return[e];let r=q1.find(n=>n===t.canonical_argv[0])??e.noun;return[{...e,noun:r,target:t.canonical,owner:t.owner},{...e,command:t.canonical,noun:r,target:t.canonical,owner:t.owner,disposition:e.disposition==="package_owned"?"package_owned":"target_noun"}]}),X1=[...new Set(Y1.map(({command:e})=>e))].map(e=>({command:e,slots:J1(e)?.slots??V1.get(er(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 zm(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 qo=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]="ad9a39d8-3888-5677-ac70-b9aa26101fa3")}catch{}})();var Gb=Cl.map(e=>({flag:e.flag,reservation_scope:"inherited",...e.aliases?{aliases:[...e.aliases]}:{},...e.value_name?{value_name:e.value_name}:{}})),Z1=[...Gb,{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."}],Bb=[{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"}],Wb=[{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"}],Qs=Wm([{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"},...Bb,{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"])),Vb=[{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}],Kb=[{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 Wm(e,t){return e.map(r=>t.has(r.flag)?{...r,cursor_semantics:"presentation"}:r)}var Jb=[{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"}],Yb=[{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"}],Xb=[{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"}],Zb=[{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"}],Qb=[{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"}],ev=[{flag:"--dry-run"},{flag:"--message"},{flag:"--force"},{flag:"--include-reconciled"},{flag:"--output"},{flag:"--item-path"},{flag:"--prefer"}],tv=[{flag:"--id",value_name:"item-id"},{flag:"--literal"},{flag:"--regex"},{flag:"--replacement"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],rv=[{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"}],nv=[{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"}],iv=[{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"}],Q1=[{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"}],ov=[{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"}],av=[{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],Vm=[{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"}],sv=[{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"}],cv=[{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"}],Km=[{flag:"--dry-run"},{flag:"--init"},{flag:"--scaffold"},{flag:"--capability"},{flag:"--install"},{flag:"--uninstall"},{flag:"--explore"},{flag:"--list"},{flag:"--manage"},{flag:"--offline",value_type:"boolean"},{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"}],cr=[{flag:"--project"},{flag:"--local"},{flag:"--global"}],lv=[...cr,{flag:"--capability"}],Hm=[...Km,{flag:"--declarative"}],eF=[...lv,{flag:"--declarative"}];var tF=[...cr,{flag:"--markdown"},{flag:"--output"}];var rF=[...cr,{flag:"--dry-run"}],nF=[...cr,{flag:"--offline",value_type:"boolean"},{flag:"--runtime-probe"},{flag:"--fix-managed-state"}],iF=[...cr,{flag:"--watch"}],oF=[...cr,{flag:"--detail"},{flag:"--trace"},{flag:"--fix-managed-state"},{flag:"--isolated"},{flag:"--ignore-global"},{flag:"--strict-exit"},{flag:"--fail-on-warn"}],aF=[...cr,{flag:"--fields",list:!0}],sF=[...cr,{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],dv=[{flag:"--dry-run"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],uv=[{flag:"--dry-run"},{flag:"--cli-only"},{flag:"--packages-only"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--repair"},{flag:"--tag"},{flag:"--package-name"}];var mv=[{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"}],pv=[{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"},...Wb,{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"}],fv=[{flag:"--id",value_name:"item-id"},{flag:"--body",short:"-b"},{flag:"--text"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],_v=[{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"]}],gv=[{flag:"--id",value_name:"item-id"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],hv=[{flag:"--id",value_name:"item-id"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],yv=[{flag:"--pause",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],wv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],bv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],vv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--validate-close",value_name:"off|warn|strict"},{flag:"--force"}],kv=[{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--tags"},{flag:"--priority"},{flag:"--body"},{flag:"--description"},{flag:"--author"},{flag:"--message"}],Jm=[{flag:"--start"},{flag:"--duration"},{flag:"--end"},{flag:"--location"},{flag:"--timezone"},{flag:"--all-day"},...kv],Ev=Jm,Sv=[{flag:"--at"},{flag:"--text"},...kv],Tv=[{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"}],Av=[{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"}],Iv=[{flag:"--limit"}];var Cv=[{flag:"--dry-run"},{flag:"--scope"}],Ov=[{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"}],xv=[{flag:"--exhaustive",value_type:"boolean"},{flag:"--status",repeatable:!0,list:!0},{flag:"--since"},{flag:"--threshold"},{flag:"--limit"}],Rv=[{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"}],Nv=[{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"}],Ym=[{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"}],Dv=[{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"}],Pv=[{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"}],Lv=[{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"]}],qm=[{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",value_name:"value"},{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"},...Dv,...Pv,{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"}],Mv=[{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"}],$v=[{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"}],Fv=[{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"}],jv=[{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"}],Uv=[{flag:"--id",value_name:"item-id"},{flag:"--clear"}],zv=[{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"},...Lv,...Dv,{flag:"--fixed_version"},...Pv,{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"}],Hv=[{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"},...Wb,{flag:"--dry-run"},{flag:"--rollback"},{flag:"--no-checkpoint"},{short:"-t",flag:"--title"},{short:"-d",flag:"--description"},{short:"-b",flag:"--body"},...Lv,{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"}],Gm=[{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"}],qv=[{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"}],Gv=[{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"}],Bm=Wm([{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"])),Bv=[{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"}],Wv=[{flag:"--list"},{flag:"--format"},{flag:"--depth"}],Vv=[{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}],Kv=[{flag:"--kind",list:!0},{flag:"--max-depth",description:`Maximum traversal depth; paths default to ${qo.path_depth}.`},{flag:"--limit",description:`Maximum rows per collection; default ${qo.rows}. Use --full to remove the row cap.`},{flag:"--after"},{flag:"--direction"},{flag:"--max-paths",description:`Maximum enumerated paths; default ${qo.paths}.`},{flag:"--sample",description:`Maximum evidence examples per audit finding; default ${qo.samples}.`},{flag:"--exempt-isolate",list:!0},{flag:"--exempt-isolate-type",list:!0},{flag:"--save-baseline"},{flag:"--rebuild"},{flag:"--clear"},{flag:"--summary"},{flag:"--full"}],Jv=[{flag:"--mode"},{flag:"--k"},{flag:"--fail-under"},{flag:"--queries"},{flag:"--format"}],sr=[{flag:"--dry-run"},{flag:"--force"},{flag:"--author"},{flag:"--message"}],Yv=[],Xv=[{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"]}],Zv=Wm([{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"},...Bb],new Set(["--highlight","--compact","--full","--fields","--format","--limit","--token-budget","--after"])),Qv=[{flag:"--action"},{flag:"--command"},{flag:"--summary"},{flag:"--schema-only"},{flag:"--flags-only"},{flag:"--availability-only"},{flag:"--runtime-only"},{flag:"--active-only"},{flag:"--full"}],ek=[{flag:"--eager-tags"}];var cF=["list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled"],lF=Qs.filter(e=>e.flag!=="--status"&&e.flag!=="--all");function ec(e){let t=new Map;for(let r of e)for(let n of[r.flag,...r.aliases??[]]){let i=t.get(n)??[];i.push(r),t.set(n,i)}return t}var dF=ec(Vm),uF=ec(Ym),mF=new Map([["assurance",uF],["plan",dF],["workspace",ec(Yv)],["workspace snapshot",ec(sr)]]);function tk(e=mi){return e.map(({command:t,parent:r,accepted_flags:n})=>{let i=mF.get(r);if(!i)throw new Error(`Positional action ${t} has no flag-contract index for ${r}.`);let o=n.map(a=>{let s=i.get(a)??[];if(s.length!==1)throw new Error(`Positional action ${t} accepted flag ${a} does not resolve to exactly one ${r} flag contract.`);return s[0]});return[t,o]})}var pF=tk(),Cie=new Map([["list",Qs],["list-all",Qs],...cF.map(e=>[e,lF]),["templates",qm],["cal",Gm],["ctx",Bm],["test-runs-worker",[]],["init",sv],["config",cv],["extension",Km],["package",Hm],["packages",Hm],["install",dv],["upgrade",uv],["create",qm],["item",[]],["item mutate",Mv],["item complete",$v],["item reopen",Fv],["copy",jv],["focus",Uv],["aggregate",Vb],["calendar",Gm],["context",Bm],["get",Bv],["guide",Wv],["search",Zv],["next",Xv],["eval",Jv],["workspace",sr],["workspace position",Yv],["workspace snapshot",sr],["workspace snapshot create",sr],["workspace snapshot list",sr],["workspace snapshot inspect",sr],["workspace snapshot restore",sr],["workspace snapshot delete",sr],["history",Qb],["history-redact",tv],["history-repair",rv],["history-author-acknowledge",nv],["history-compact",iv],["history-attest",Q1],["merge",ev],["schema",ov],["profile",av],["plan",Vm],["activity",qv],["events",Gv],["restore",gv],["update",zv],["update-many",Hv],["close",mv],["close-many",pv],["delete",hv],["append",fv],["comments",Kb],["notes",Jb],["learnings",Yb],["files",Xb],["docs",Zb],["deps",Vv],["graph",Kv],["test",Tv],["test-all",Av],["telemetry",Iv],["health",Rv],["assurance",Ym],...pF,["validate",Nv],["gc",Cv],["stats",Ov],["duplicates",xv],["contracts",Qv],["completion",ek],["claim",_v],["release",yv],["start-task",wv],["pause-task",bv],["close-task",vv],["meet",Jm],["event",Ev],["remind",Sv]]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0f9eca2-3f4f-5809-9c8f-0e596a95dba1")}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 Go(e){let t=e?.trim()??"";return/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(t)||/^(?:github|gitlab|jira|linear):/iu.test(t)}function pi(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]="7109e3f6-d34c-55d5-8cd8-5d797461495f")}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]="a9088773-9fcf-5dc9-b10d-32e2490c5ba8")}catch{}})();var rk=["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]="d1820fc1-10f5-56b2-9157-ea9179da21c3")}catch{}})();var tc={type:"string",pattern:"\\S"},Xm={type:"array",minItems:1,items:tc},ik={type:"object",properties:Object.fromEntries(["files","package_names","item_ids","tags","error_codes"].map(e=>[e,{type:"array",items:{type:"string"}}]))},fF={type:"object",required:["id","version","title","owner_item_id","escape_class","triggers","checks","negative_control","historical_item_ids","budget"],properties:{id:tc,version:{type:"integer",minimum:1},title:tc,owner_item_id:tc,escape_class:{enum:rk},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:Xm,hosted:Xm}},negative_control:{...ik,minProperties:1},historical_item_ids:Xm,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}]))}}},nk={oneOf:[{type:"number"},{type:"array",items:{type:"string"}}]},ok={if:{required:["field"]}};Reflect.set(ok,"then",{oneOf:[{required:["equals"]},{required:["state"]}]});var ak={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:fF}},additionalProperties:!1},...e?{change:{...ik,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:[ok],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:nk,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:nk,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]="0811a492-f809-5de6-ae16-6fd15d88a95d")}catch{}})();var Zm={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:ss,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"},offline:{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"}},sk={schema:{definition:{type:["object","string"]}},assurance:{definition:ak,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}}},_F=["create","show","add-step","update-step","complete-step","block-step","reorder-step","remove-step","link","unlink","decision","discovery","validation","resume","approve","materialize"],Qm={subcommand:{type:"string",enum:[..._F]},stepRef:{type:"string"},reorderTo:{anyOf:[{type:"string"},{type:"number"}]},scope:{type:"string"},harness:{type:"string",enum:[...Kp]},mode:{type:"string",enum:[...Vp]},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:[..._a]},stepEvidence:{type:"string"},stepBlockedReason:{type:"string"},stepReplacement:{type:"string"},dependsOn:{type:"string"},link:{type:"string"},linkKind:{type:"string",enum:[...Jp]},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"}}]}},ep={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"]}},ck={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."},offline:{description:"Skip remote GitHub and npm freshness checks during package or extension manage; update availability remains unknown."},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"]}},lk={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]="fae32a1c-8f31-50fc-8eba-3f8c9cced3c4")}catch{}})();var hF={...sk,"history-attest":{verify:{type:"object",additionalProperties:!0},output:{not:{}}}},rc={...Zm,pause:{type:"boolean"},releaseAssignment:{type:"boolean"},hashAlgorithm:{type:"string",enum:["sha256","sha512"]}},ic={...ck,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."}},yF=["json","quiet","profile","noExtensions","noPager","tokenAccounting","path","pmExecutable","timeoutMs"],wF=["outputInclude","outputLimit","outputBudget","outputFormat","outputSession","outputCursor","outputRowContract"],bF=new Set(["action","cwd","options",...Object.keys(rc).filter(e=>e!=="severity")]);var vF={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"]},gk=["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"],eoe=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(Ar.filter(e=>e==="upgrade"||e==="install"||e==="extension"||e==="package"||e.startsWith("extension-")||e.startsWith("package-")).map(e=>[e,["project","local","global"]]))});function dt(e){return zm(e)}var kF=dt([...Dm.map(e=>e.param),...Zs.map(e=>e.param),"assignee","closeReason","completedAt"]),hk=dt([...Pm.map(e=>e.param),...Zs.map(e=>e.param),"force"]),EF=dt([...Mm.map(e=>e.param),...hk.filter(e=>e!=="allowMissingParent"&&e!=="completedAt"),"dryRun","rollback","noCheckpoint"]),SF=dt([...$m.map(e=>e.param),"reason","completedAt","resolution","expectedResult","actualResult","validateClose","dryRun","rollback","noCheckpoint","author","message","force"]),dk=dt([...jm.map(e=>e.param),"past","section"]),TF=dt([...Fm.map(e=>e.param),"stream"]),tp=dt([...xm.map(e=>e.param),"all","includeBody","noTruncate","strictRead","compact","brief","full"]),fi=tp.filter(e=>e!=="all"&&e!=="status"),Fr=[[{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"}}]],AF=[[{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}}]],IF=dt([...Rm.map(e=>e.param),"count","completion","includeUnparented"]),CF=dt(["query","keywords","mode","semantic","hybrid","includeLinked","titleExact","phraseExact","highlight","compact","full",...Nm.map(e=>e.param)]),uk=dt(["type","tag","priority","assignee","assigneeFilter","sprint","release","parent","limit","blockedLimit","readyOnly","format","includeDecisions","includeGates","includeContainers","tokenBudget","explainRanking"]),Xe=["author","message","force"],yk=["releaseAssignment","text","reason","closeReason","completedAt","duplicateOf","validateClose","resolution","expectedResult","actualResult"],Bo=["author","assignee","message","force"],OF=["dryRun","target","scope","capability","declarative","github","ref","init","install","uninstall","explore","manage","offline","describe","markdown","output","reload","doctor","catalog","list","adopt","adoptAll","activate","deactivate","runtimeProbe","fixManagedState","isolated","ignoreGlobal","detail","trace","watch","strictExit","failOnWarn"];function mk(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","offline"]},[`${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:OF,dependentAnyOfRequired:[{property:"dryRun",value:!0,anyOfRequired:[["install","target"],["install","github"]]}],mutuallyExclusiveWhen:[[{property:"dryRun",schema:{const:!0}},{property:"install",schema:{const:!1}}]]}}}var pk={required:["title"],optional:["start","duration","end","location","timezone","allDay","parent","allowMissingParent","tags","priority","body","description","author","message"]},fk={optional:["target","scope","dryRun","cliOnly","packagesOnly","repair","tag","packageName"]},nc={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"]},...mk("extension"),...mk("package"),"package-upgrade":fk,install:{optional:["target","github","scope","ref","dryRun"],anyOfRequired:[["target"],["github"]]},upgrade:fk,create:{required:["title","description","type","status","priority","message"],optional:kF},copy:{required:["id"],optional:["title","author","message","allowDuplicate"]},focus:{optional:["id","clear"],mutuallyExclusive:[["id","clear"]]},list:{optional:tp,mutuallyExclusiveWhen:Fr},"list-all":{optional:tp,mutuallyExclusiveWhen:Fr},"list-draft":{optional:fi,mutuallyExclusiveWhen:Fr},"list-open":{optional:fi,mutuallyExclusiveWhen:Fr},"list-in-progress":{optional:fi,mutuallyExclusiveWhen:Fr},"list-blocked":{optional:fi,mutuallyExclusiveWhen:Fr},"list-closed":{optional:fi,mutuallyExclusiveWhen:Fr},"list-canceled":{optional:fi,mutuallyExclusiveWhen:Fr},aggregate:{optional:IF},guide:{optional:["list","format","depth"]},context:{optional:dk},ctx:{optional:dk},get:{required:["id"],optional:["for","tokenBudget","at","depth","full","fields","tree","treeDepth","format"]},search:{optional:CF,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:pk,event:pk,remind:{required:["title"],optional:["at","text","parent","allowMissingParent","tags","priority","body","description","author","message"]},next:{optional:[...uk,"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",...gk,"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:TF},restore:{required:["id","target"],optional:Xe},update:{required:["id"],optional:hk,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},"update-many":{optional:EF,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},close:{required:["id"],optional:[...yk,...Xe]},"close-many":{optional:SF},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:AF},completion:{required:["shell"],optional:["eagerTags"]},claim:{optional:["start","id","next","ifAvailable","maxAttempts","includeDecisions",...uk,...Bo],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",...Bo]},"start-task":{required:["id"],optional:Bo},"pause-task":{required:["id"],optional:Bo},"close-task":{required:["id"],optional:["text","validateClose",...Bo]},"item-reopen":{required:["id","reason"],optional:["status","author","message","force"]}},xF=Object.freeze(Object.fromEntries(Ar.map(e=>[e,nc[e]])));function wk(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").trim().replace(/^./,t=>t.toUpperCase()).concat(".")}function RF(e,t){let r=typeof t=="object"&&t!==null?{...t}:{},n=ic[e];return{...r,description:n?.description??wk(e),...n?.examples?{examples:n.examples}:{}}}function NF(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(ep,t))return ep[t];let r=lk[e];return r&&Object.prototype.hasOwnProperty.call(r,t)?r[t]:ic[t]}function DF(e,t,r){let n=typeof r=="object"&&r!==null?{...r}:{},i=NF(e,t);return{...n,description:i?.description??wk(t),...i?.examples?{examples:i.examples}:{}}}function PF(e,t){if(e==="claim"&&t==="start")return{type:"boolean"};let r=hF[e];return r&&Object.prototype.hasOwnProperty.call(r,t)?r[t]:e==="plan"&&Object.prototype.hasOwnProperty.call(Qm,t)?Qm[t]:(e==="get"||e==="history"||e==="search")&&t==="format"?{type:"string",enum:["json","toon"]}:t==="pause"||t==="releaseAssignment"||t==="hashAlgorithm"?rc[t]:Zm[t]}function LF(e,t){let r={action:{const:e,description:ic.action?.description??"Tool action to execute."}};for(let n of t){if(n==="action")continue;let i=PF(e,n);i&&(r[n]=DF(e,n,i))}return r}function MF(e,t){let r=t.flat();return t.map(n=>{let i=r.filter(o=>!n.includes(o));return{required:[...n],...i.length>0?{not:{anyOf:i.map(o=>({required:[o]}))}}:{},...e==="history-repair"&&n.includes("all")?{properties:{all:{const:!0}}}:e==="claim"&&n.includes("next")?{properties:{next:{const:!0}}}:{}}})}function _k(e,t){return{...t===void 0?{}:{properties:{[e]:{const:t}}},required:[e]}}function $F(e){let t=[];if(e.conditionalRequired&&e.conditionalRequired.length>0)for(let r of e.conditionalRequired)t.push({if:_k(r.property,r.value),then:{required:r.required}});if(e.dependentAnyOfRequired&&e.dependentAnyOfRequired.length>0)for(let r of e.dependentAnyOfRequired)t.push({if:_k(r.property,r.value),then:{anyOf:r.anyOfRequired.map(n=>({required:[...n]}))}});if(e.mutuallyExclusive&&e.mutuallyExclusive.length>0)for(let r of e.mutuallyExclusive)t.push({not:{required:dt(r)}});if(e.mutuallyExclusiveWhen&&e.mutuallyExclusiveWhen.length>0)for(let r of e.mutuallyExclusiveWhen)t.push({not:{allOf:r.map(n=>({properties:{[n.property]:n.schema},required:[n.property]}))}});return t}function bk(e){if(!Object.prototype.hasOwnProperty.call(nc,e))return;let t=nc[e],r=vF[e]??[];return dt(["action",...yF,...Yi(e)!==void 0?wF:[],...r,...t.required??[],...t.optional??[]])}function FF(e){let t=nc[e],r=dt(t.required??[]),n=bk(e),i={type:"object",additionalProperties:!1,required:["action",...r],title:`pm action "${e}" parameters`,properties:LF(e,n)};t.anyOfRequired&&t.anyOfRequired.length>0&&(i.anyOf=t.anyOfRequired.map(a=>({required:[...a]}))),t.oneOfRequired&&t.oneOfRequired.length>0&&(i.oneOf=MF(e,t.oneOfRequired));let o=$F(t);return o.length>0&&(i.allOf=o),i}function vk(e){let t,r=()=>t??=e();return new Proxy({},{get:(n,i)=>r()[i],has:(n,i)=>i in r(),ownKeys:()=>Reflect.ownKeys(r()),getOwnPropertyDescriptor:(n,i)=>{let o=Reflect.getOwnPropertyDescriptor(r(),i);return o&&(o.configurable=!0),o}})}var rp="4.21.0",kk=rp.split(".")[0],Ek="1.10.0",jF=vk(()=>({$schema:"https://json-schema.org/draft/2020-12/schema",$id:`https://schema.unbrained.dev/pm-cli/tool-parameters-v${kk}.schema.json`,title:"pm-cli tool parameters (action-scoped strict schema)","x-schema-version":rp,type:"object",oneOf:Ar.map(e=>FF(e))}));function UF(e,t){let r=RF(e,t);if(typeof r.type=="string")return r;let n=(Array.isArray(r.anyOf)?r.anyOf:[]).find(a=>typeof a.type=="string");if(n){let{anyOf:a,...s}=r;return{...n,...s}}let{anyOf:i,...o}=r;return{...o,type:"string"}}function zF(){let e={action:{type:"string",description:ic.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(rc).sort())e[t]=UF(t,rc[t]);return{title:"pm-cli tool parameters (provider-compatible flat schema)","x-schema-version":Ek,type:"object",additionalProperties:!1,required:["action"],properties:e}}var HF=vk(zF);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6dff1fa2-fd7a-5a94-b49e-dd8a2fd804b9")}catch{}})();var aoe=new Set([...th,...rh]);(function(){try{var e=typeof window<"u"?window:typeof 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]="b2ab212f-4af5-5084-b436-9a35d17af809")}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]="bd5ef423-5675-585c-ac2f-0b7548636596")}catch{}})();var ZF=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"]),pae=new Set([...ZF].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]="69bf315a-01aa-56d9-bd56-196d6792dea2")}catch{}})();var QF="2026-07-15T06:22:12.276Z",ej=Date.parse(QF),tj=[["attributed","attributed"],["legacy_unknown","actionable_unknown"]],Tk=e=>typeof e=="string"?e:"",rj=e=>{let t=e??{},r=Tk(t.author).trim().toLowerCase(),n=Number(["","unknown"].includes(r)),i=+(Date.parse(Tk(t.ts))>=ej);return tj[n][i]};function nj(e,t,r=20,n=new Set,i=!1){let o=[],a=[],s={legacy_unknown:0,actionable_unknown:0},c=Math.max(0,r),l=0,d=0,u=0;for(let[m,p]of t.split(/\r?\n/).entries()){let f;try{f=JSON.parse(p)}catch{continue}l+=1;let w=rj(f);if(w!=="attributed"){if(d+=1,w==="actionable_unknown"&&n.has(`${e}:${m+1}`)){u+=1;continue}s[w]+=1,i&&w==="actionable_unknown"&&a.push({item_id:e,line:m+1}),o.length<c&&o.push({item_id:e,line:m+1})}}return{checked_events:l,unknown_event_count:d,legacy_unknown_event_count:s.legacy_unknown,actionable_unknown_event_count:s.actionable_unknown,acknowledged_actionable_event_count:u,samples:o,samples_truncated:s.legacy_unknown+s.actionable_unknown>o.length,actionable_events:a}}function ij(e){let t=new Set;for(let r of e.split(/\r?\n/)){let n;try{n=JSON.parse(r)}catch{continue}let i=(typeof n=="object"&&n!==null&&typeof n.context=="object"&&n.context!==null?n.context:{}).author_acknowledgment;if(!(typeof i!="object"||i===null||!Array.isArray(i.events)))for(let o of i.events)typeof o=="object"&&o!==null&&typeof o.item_id=="string"&&Number.isSafeInteger(o.line)&&t.add(`${o.item_id}:${String(o.line)}`)}return t}var oc=async(e,t=20,r=!1)=>{let n=ip.join(e,"history"),i;try{i=(await np.readdir(n)).filter(b=>b.endsWith(".jsonl")).sort((b,v)=>b.localeCompare(v))}catch{i=[]}let o=new Set,a=[],s=[],c=0,l=0,d=0,u=0,m=0,p=0,f="_workspace.jsonl",w=new Set;if(i.includes(f))try{w=ij(await np.readFile(ip.join(n,f),"utf8"))}catch{w=new Set}for(let b of i){let v;try{v=await np.readFile(ip.join(n,b),"utf8")}catch{continue}let I=b.slice(0,-6),A=nj(I,v,t-a.length,w,r);c+=1,l+=A.checked_events,d+=A.unknown_event_count,u+=A.legacy_unknown_event_count,m+=A.actionable_unknown_event_count,p+=A.acknowledged_actionable_event_count,A.unknown_event_count>0&&o.add(I),a.push(...A.samples),r&&s.push(...A.actionable_events)}let h=u+m;return{checked_streams:c,checked_events:l,unknown_event_count:d,legacy_unknown_event_count:u,actionable_unknown_event_count:m,acknowledged_actionable_event_count:p,affected_item_ids:[...o].sort((b,v)=>b.localeCompare(v)),samples:a,samples_truncated:h>a.length,...r?{actionable_events: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]="184c43e0-a543-5b0b-ac09-9139ba5ded6a")}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]="b1e4c04e-0ade-5d24-95e3-b8dca3832c5a")}catch{}})();var Nae=new Set(In),oj=new Set(ki.map(e=>ve(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]="68be16cc-4cb4-5df6-90f0-897d4fe82339")}catch{}})();var Fae=new Set(fr),jae=new Set(Cn),Uae=new Set([...Ve.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]="abb182c9-6d6c-5be4-a2ad-c91b00a098d0")}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]="4d01ffa0-2cdb-5d22-834e-d23d31403ad6")}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]="caa9f916-c7ce-5e74-a00b-dd0fc6a41b5d")}catch{}})();var Wo={type:"string",minLength:1,maxLength:128,pattern:"\\S"},ac={type:"array",minItems:1,maxItems:Hn,items:Wo},Ak={...ac,items:{...Wo,pattern:"^(?!(?:.*\\.)?(?:__proto__|constructor|prototype)(?:\\.|$))[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$"}},Kae={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,ac])),dependency:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:Wo,id:Wo}}}},rule:{oneOf:[{type:"object",additionalProperties:!1,required:["kind","fields"],properties:{kind:{const:"require_fields"},fields:Ak}},{type:"object",additionalProperties:!1,required:["kind","authors"],properties:{kind:{const:"authors"},authors:ac}},...["field_writers","approval"].map(e=>({type:"object",additionalProperties:!1,required:["kind","fields","authors"],properties:{kind:{const:e},fields:Ak,authors:ac}})),{type:"object",additionalProperties:!1,required:["kind","allowed"],properties:{kind:{const:"transition"},allowed:{type:"array",maxItems:Hn,items:{type:"array",minItems:2,maxItems:2,items:Wo}}}}]}}};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="808f3bb5-cca5-5f9c-b557-7923c79ae6ce")}catch{}})();async function Ik(e,t,r,n){let i=await ho(e).catch(()=>null);return i===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"]}:Ck(i,t,r,n)}function sj(e,t,r){return e===0?"undeclared":t===0?"empty":r===0?"inapplicable":r===t?"covered":"partial"}function Ck(e,t,r=5,n=!1){let i=[],o=new Map,a=e.policies.filter(h=>h.rule.kind==="require_fields"),s=a.filter(h=>h.subject?.operations===void 0),c=new Set,l=0,d=0,u=0,m=0,p=0,f=Fg(e);for(let h of t){let b=f({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;m+=1;let I=o.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"&&(p+=1),i.length<r&&i.push({id:h.id,type:h.type,status:h.status,decision:A});o.set(h.type,I)}let w=n||p>0?"error":u>0?"warn":"ok";return{check:{name:"completeness",status:w,ok:w==="ok",details:{scope:"operation_independent_require_fields",declared_requirement_count:a.length,state_requirement_count:s.length,applicable_requirement_count:c.size,requirement_application_count:d,governed_items:l,ungoverned_items:t.length-l,contract_status:sj(a.length,t.length,l),applied_policy_ids:[...c].sort().slice(0,Math.max(0,r)),applied_policy_ids_truncated:c.size>Math.max(0,r),checked_items:t.length,incomplete_items:m,violation_count:u,refused_violations:p,missing_by_type:Object.fromEntries(o),violations:i,violations_truncated:i.length<u,enforcement:e.enforcement}},warnings:[...u>0?[`validate_completeness_missing_fields:${u}`]:[],...n?["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]="0c3bed4d-4a17-5004-a1c5-65f6acec2a9b")}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]="0bd9a904-c076-5c2a-a9d8-42a543625e33")}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]="8d04c087-62e4-51d3-8832-6cbcfd3ed993")}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]="7a59f90b-0497-530c-93e1-c93cfc8a0016")}catch{}})();var Dce=[...qn,"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]="cf1403b0-7b07-5f00-9523-87bc727dd7fa")}catch{}})();function op(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}import gj from"node:fs/promises";import hj 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]="5181479f-469f-525b-add2-914a9934afbd")}catch{}})();var yj=".managed-extensions.json",ap=1;function sp(e){return hj.join(e,yj)}function wj(){return{version:ap,updated_at:j(),entries:[]}}function xk(e){return[...e].sort((t,r)=>{let n=t.scope.localeCompare(r.scope);if(n!==0)return n;let i=t.name.localeCompare(r.name);return i!==0?i:t.directory.localeCompare(r.directory)})}function Ze(e){return typeof e=="string"?e:void 0}function bj(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 vj(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:Ze(t.name),package:Ze(t.package),version:Ze(t.version),repository:Ze(t.repository),owner:Ze(t.owner),repo:Ze(t.repo),ref:Ze(t.ref),subpath:Ze(t.subpath),commit:Ze(t.commit)}}function kj(e){if(typeof e!="object"||e===null)return null;let t=e;if(!bj(t))return null;let r=vj(t.source);if(!r)return null;let n=Fn(t.contributions);return n===null?null:{name:t.name.trim(),directory:t.directory.trim(),scope:t.scope,manifest_version:t.manifest_version,manifest_entry:t.manifest_entry,capabilities:op(t.capabilities),contributions:n,installed_at:t.installed_at,updated_at:t.updated_at,source:r,last_update_check_at:Ze(t.last_update_check_at),last_update_remote_commit:Ze(t.last_update_remote_commit),last_update_remote_version:Ze(t.last_update_remote_version),update_available:typeof t.update_available=="boolean"||t.update_available===null?t.update_available:void 0,update_error:Ze(t.update_error)}}function Ej(e){if(typeof e!="object"||e===null)return null;let t=e;if(t.version!==ap||!Array.isArray(t.entries))return null;let r=[];for(let n of t.entries){let i=kj(n);i&&r.push(i)}return{version:ap,updated_at:Ze(t.updated_at)??j(),entries:xk(r)}}async function Ko(e){let t=sp(e),r=wj();try{let n=await gj.readFile(t,"utf8"),i=JSON.parse(n),o=Ej(i);if(!o)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:o,warnings:[]}}catch(n){if(n instanceof g)throw n;if(typeof n=="object"&&n!==null&&"code"in n&&$(n))return{path:t,state:r,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 Ij}from"node:child_process";import{promisify as Cj}from"node:util";import vle from"npm-package-arg";import{extract as Ele,list as Sle}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]="74b72dd8-0877-55a4-9c80-d043f19e1f96")}catch{}})();var nle=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]="c9a362e5-6eb5-52dc-aa74-6c6c0df2c291")}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]="db10bb85-f21c-58b1-8b78-8ce1024b3e08")}catch{}})();var Nle=Cj(Ij);var Dle={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]="ceca3e62-35a7-51eb-b478-5309ba430cc8")}catch{}})();var Ule=new Set([...Gn.map(e=>e.split("-")[0].toLowerCase()),...Object.keys(kd).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]="3984f1ef-1703-5a83-a4fa-ec1cdc738572")}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]="6d50733c-ced5-5ec8-b82e-2391a974ad0f")}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]="1e6087f2-01b5-59c3-a471-433c722316b0")}catch{}})();var Nk=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 Rj(e){return Nk.has(Pj(e))}function Rk(e){return e==="project"||e==="global"}function Nj(e){let t=e.split(":"),r=t[0];if(!r||!Nk.has(r))return null;let n=t.at(-4),i=t.at(-3)?.trim(),o=t.at(-2),a=t.at(-1)?.trim();return!Rk(n)||!Rk(o)||!i||!a?null:{code:r,surface:t.slice(1,-4).join(":")||"global",winner:{layer:n,name:i},displaced:{layer:o,name:a}}}function Dj(e){let t=new Set;for(let r of e){let n=Nj(r);n&&(t.add(n.winner.name),t.add(n.displaced.name))}return[...t].sort((r,n)=>r.localeCompare(n))}function Dk(e,t){let r=e.filter(Rj);if(r.length===0)return null;let n=Dj(r);return`Extension registration collisions or handler/override overlaps detected.${n.length>0?` Conflicting extensions: ${n.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 Pj(e){let t=e.trim(),r=t.indexOf(":");return r===-1?t:t.slice(0,r)}function cp(e){let t=new Set,r=[];for(let n of e){let i=(()=>{let o=hl(n);return o?[o]:yl(n)})();for(let o of i){let a=`${o.layer}:${o.name}:${o.capability}`;t.has(a)||(t.add(a),r.push(o))}}return r}function lp(){return{version:na.version,capabilities:[...na.capabilities],legacy_aliases:{...na.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]="147fb29e-ad06-5850-b0b1-f643e32e9b1f")}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]="cefb224d-a18f-599a-9cf9-3d3a22616440")}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]="accde468-de04-51b6-81ad-5c5ea218a87b")}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]="f2cac210-bba0-5c7f-867b-8b59f8d36e11")}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{}})();import{execFile as Mj}from"node:child_process";import{promisify as $j}from"node:util";import Sde from"npm-package-arg";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b67e46f9-51ff-501b-98da-74353b4c66d9")}catch{}})();var Ade=$j(Mj);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d34e2cc0-5e58-5534-8480-a9ab47ec4a88")}catch{}})();import jj from"node:fs/promises";import Uj 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]="7be00b26-4a56-5399-94f6-f2f67cc5c1e6")}catch{}})();function zj(e){return Uj.join(e,"extension-migrations.json")}function Hj(e,t){let r=e.definition.id;return typeof r=="string"&&r.trim().length>0?r.trim():`migration-${String(t+1).padStart(3,"0")}`}function qj(e,t){return`${e.layer}:${e.name}:${t}`}async function Gj(e){let t=zj(e);if(!await M(t))return{version:1,updated_at:"",entries:[]};let r=JSON.parse(await jj.readFile(t,"utf8"));return{version:1,updated_at:typeof r.updated_at=="string"?r.updated_at:"",entries:Array.isArray(r.entries)?r.entries.filter(n=>typeof n?.key=="string"&&(n.status==="applied"||n.status==="failed")):[]}}async function Pk(e,t){let r=await Gj(e),n=new Map(r.entries.map(i=>[i.key,i]));return t.forEach((i,o)=>{let a=Hj(i,o),s=n.get(qj(i,a));s&&(i.definition.status=s.status,s.status==="failed"?i.definition.reason=s.error:(delete i.definition.reason,delete i.definition.error,delete i.definition.message))}),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]="fcf7df06-e3b8-5476-a76a-cd391839c13d")}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]="18bf1015-c2c8-5530-a3ce-1531a8a1d0e2")}catch{}})();import Vj from"node:fs/promises";import Kj 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]="955d33c5-8c96-5ed6-bbd1-fc8a26801df4")}catch{}})();function Jj(e){return typeof e.name=="string"&&e.name.trim().length>0?e.name.trim():"workspace-manifest"}function Yj(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 Lk(e){let t=Kj.join(e,"manifest.json"),r;try{r=await Vj.readFile(t,"utf8")}catch(s){if(qe(s))return{path:t,present:!1,parse_status:"absent",package_metadata_location:"package.json#pm",schema_findings:[],warnings:[],remediation:[]};throw s}let n;try{n=JSON.parse(r)}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 n!="object"||n===null||Array.isArray(n))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 i=n,o=Il(i),a=Jj(i);return{path:t,present:!0,parse_status:"valid",package_metadata_location:"package.json#pm",schema_findings:o.findings,warnings:o.findings.map(s=>Yj(a,s)),remediation:o.findings.map(s=>s.message)}}import iue from"npm-package-arg";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2bef4424-f5b8-511b-91f7-0b39cf11f515")}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]="776854e4-6df4-507e-b21b-a4d320946642")}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]="549164da-d760-52bc-9950-25dacf286775")}catch{}})();var eU=[["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"]],Pme=eU.map(([,,e])=>e).filter((e,t,r)=>r.indexOf(e)===t).join(", ");var Lme=Ga();import{execFile as tU}from"node:child_process";import{realpath as rU}from"node:fs/promises";import Mk from"node:path";import{promisify as nU}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]="9af87d55-dbe2-561b-9f3f-6f12c0416147")}catch{}})();var iU=nU(tU),oU=32*1024*1024,aU=1e4,sU=["search/eval-queries.json"];function dp(e){return e.replaceAll("\\","/").replace(/\/+$/,"")}function cU(e){return`'${e.replaceAll("'","'\\''")}'`}async function lU(e,t=rU){return t(e).catch(()=>Mk.resolve(e))}async function sc(e){let t=await At(e);if(t===null)return{git_workspace_root:null,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let r=await lU(e),n=dp(Mk.relative(t,r));if(n.length===0)return{git_workspace_root:t,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let i=yy.map(o=>`${n}/${dp(o)}`);try{let{stdout:o}=await iU("git",["ls-files","-z","--",...i.map(l=>`:(literal)${l}`)],{cwd:t,encoding:"utf8",maxBuffer:oU,windowsHide:!0,timeout:aU}),a=new Set(sU.map(l=>`${n}/${l}`)),s=[...new Set(o.split("\0").filter(l=>l.length>0&&!a.has(dp(l))))].sort((l,d)=>l.localeCompare(d)),c=i.filter(l=>s.some(d=>d===l||d.startsWith(`${l}/`)));return{git_workspace_root:t,tracker_relative_root:n,tracked_paths:s,tracked_path_count:s.length,remediation_command:s.length===0?null:`git rm --cached -r -- ${c.map(l=>cU(`:(literal)${l}`)).join(" ")}`}}catch{return{git_workspace_root:t,tracker_relative_root:n,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]="2e510b32-f27f-5ba5-94b2-8268343359dc")}catch{}})();async function $k(e,t,r,n){if(t===null)return{audit:null,count:0,warnings:[]};let i=await po(e,ri(r));if(i.status==="ok")return{audit:i,count:0,warnings:[]};let o=Math.max(1,i.missing_patterns.length+i.stale_patterns.length);return{audit:i,count:o,warnings:n?[`merge_fence_${i.status==="not_installed"?"missing":"drift"}:${o}`]:[]}}function Fk(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 dU}from"node:crypto";import cc 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]="36749195-9194-546a-bc3e-718f09c3b8d6")}catch{}})();var mp="2026-08-09T16:15:18.000Z",Uk=Symbol("pre-durable-disposition-eligible");function lr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function up(e){if(!Array.isArray(e)||e.length>256)return!1;let t=new Set;for(let r=0;r<e.length;r+=1){let n=e[r];if(!(r in e)||typeof n!="string"||n.length===0||n.length>256||n.includes("\0")||t.has(n))return!1;t.add(n)}return!0}function jk(e){return lr(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 zk(e,t){if(typeof e!="string")return!1;let r=cc.posix.normalize(e);return e.length<=4096&&!e.includes("\\")&&!e.includes("\0")&&!cc.posix.isAbsolute(e)&&r===e&&!r.startsWith("../")&&(cc.posix.basename(r)===`${t}.toon`||cc.posix.basename(r)===`${t}.md`)}function uU(e,t){return typeof e.receipt_id=="string"&&ir(e.receipt_id)&&(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0&&e.conflict_resolution===void 0&&e.item_id===t&&zk(e.item_path,t)}function Hk(e){let t=e.conflict_fields,r=e.fields_from_theirs,n=e.union_fields,i=e.decisions,o=Array.isArray(i)?new Set(i.flatMap(a=>jk(a)?[a.field]:[])):new Set;return up(t)&&up(r)&&up(n)&&Array.isArray(i)&&i.length>0&&i.length<=256&&Object.keys(i).length===i.length&&i.every(jk)&&o.size===i.length&&t.length===o.size&&t.every(a=>o.has(a))}function mU(e,t){return uU(e,t)&&Hk(e)}function pU(e,t){return typeof e.receipt_id=="string"&&ir(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&&zk(e.item_path,t)&&Hk(e)}function pp(e){return e[Uk]===!0}function lc(e,t){if(!lr(e)||!lr(e.context))return[];let r=e.context.merge;return!lr(r)||!Array.isArray(r.receipts)?[]:r.receipts.flatMap(n=>!lr(n)||typeof n.receipt_id!="string"||n.receipt_id.trim().length===0?[]:[{receiptId:n.receipt_id,legacySummaryAccepted:mU(n,t),[Uk]:pU(n,t),...typeof e.ts=="string"&&Kt(e.ts)?{eventTimestamp:e.ts}:{}}])}function qk(e,t,r){if(!lr(e)||e.op!=="merge_reconcile")return[];if(!lr(e.context)||!lr(e.context.merge))return[];let n=e.context.merge.missing_receipt_dispositions;return!Array.isArray(n)||n.length>256?[]:n.flatMap(i=>!lr(i)||typeof i.receipt_id!="string"||!ir(i.receipt_id)||typeof i.original_history_line!="number"||!Number.isSafeInteger(i.original_history_line)||i.original_history_line<1||typeof i.original_event_ts!="string"||!Kt(i.original_event_ts)||i.reason!=="legacy_clone_local_only"?[]:[{itemId:t,receiptId:i.receipt_id,originalHistoryLine:i.original_history_line,originalEventTimestamp:i.original_event_ts,auditHistoryLine:r,reason:i.reason}])}function Gk(e,t,r=[]){let n=new Map;for(let o of r){let a=`${o.itemId}\0${o.originalHistoryLine}\0${o.receiptId}\0${o.originalEventTimestamp}`;n.set(a,Math.max(n.get(a)??0,o.auditHistoryLine))}let i=o=>pp(o)&&o.eventTimestamp!==void 0&&ye(o.eventTimestamp,mp)<0&&(n.get(`${o.itemId}\0${o.line}\0${o.receiptId}\0${o.eventTimestamp}`)??0)>o.line;return{missing:e.filter(o=>!o.legacySummaryAccepted&&!t.has(o.receiptId)&&!i(o)).map(o=>({item_id:o.itemId,history_line:o.line,...ir(o.receiptId)?{receipt_id:o.receiptId}:{receipt_reference_hash:dU("sha256").update(o.receiptId).digest("hex")}})),acceptedLegacyCount:e.filter(o=>o.legacySummaryAccepted).length,acceptedDispositionCount:e.filter(i).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]="6c580b70-76eb-51db-8587-99b73dd20875")}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]="283dfa35-9a8e-524c-b6e2-d433d51215ca")}catch{}})();function dr(){let e=Gr();for(let t of V()?.relationship_kinds??[])for(let r of t.definitions)e.register(r);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]="8b57e560-4ac4-53b6-9fb1-eebb1f30562a")}catch{}})();function uc(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function dc(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function fU(e,t){let r=new Set,n=[];for(let i of[...e].sort()){if(r.has(i))continue;r.add(i);let o=[{nodeId:i,children:[...t.get(i)??[]].sort(),nextChild:0}];for(;o.length>0;){let a=o.at(-1),s=a.children[a.nextChild];s===void 0?(n.push(a.nodeId),o.pop()):(a.nextChild+=1,r.has(s)||(r.add(s),o.push({nodeId:s,children:[...t.get(s)??[]].sort(),nextChild:0})))}}return n}function _U(e,t){let r=[...e].sort(),n=fU(r,t),i=new Set,o=gU(r,t),a=[];for(let s of n.reverse()){if(i.has(s))continue;let c=hU(s,o,i);(c.length>1||t.get(c[0])?.has(c[0]))&&a.push(c)}return a.sort((s,c)=>s.join("\0").localeCompare(c.join("\0")))}function gU(e,t){let r=new Map(e.map(n=>[n,new Set]));for(let[n,i]of t)for(let o of i)r.get(o)?.add(n);return r}function hU(e,t,r){let n=[],i=[e];for(r.add(e);i.length>0;){let o=i.pop();n.push(o);for(let a of[...t.get(o)].sort())r.has(a)||(r.add(a),i.push(a))}return n.sort()}function yU(e){let t=new Map;for(let r of e){let n=uc(r?.id);n&&!t.has(n)&&t.set(n,r)}return t}function wU(e,t,r){let n=uc(t.parent);if(!(!n||!r.has(n)))return{parent_id:n,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function bU(e,t,r,n){let i=uc(t?.id),o=n.resolve(t?.kind);if(!i||!r.has(i)||!o?.hierarchy)return;let a=o.hierarchyDirection==="source_parent";return{parent_id:a?e:i,child_id:a?i:e,source:"dependency",kind:o.kind,holder_id:e,target_id:i,child_cardinality:a?o.incoming:o.outgoing}}function vU(e,t){let r=new Map;for(let[n,i]of e){let o=wU(n,i,e);o&&r.set(dc(o),o);for(let a of i.dependencies??[]){let s=bU(n,a,e,t);s&&r.set(dc(s),s)}}return[...r.values()].sort((n,i)=>dc(n).localeCompare(dc(i)))}function kU(e,t,r){let n=new Set(e.filter(i=>i.child_cardinality==="one").map(i=>i.child_id));return[...t].filter(([i,o])=>o.length>1&&n.has(i)).map(([i,o])=>({child_id:i,parent_ids:[...o],legacy_terminal:r.has(i)&&o.every(a=>r.has(a))})).sort((i,o)=>i.child_id.localeCompare(o.child_id))}function EU(e,t,r){let n=new Map;for(let o of t){if(o.source!=="dependency")continue;let a=n.get(o.child_id)??new Set;a.add(o.parent_id),n.set(o.child_id,a)}let i=[];for(let[o,a]of e){let s=uc(a.parent);if(!s||!e.has(s))continue;let c=[...n.get(o)??[]].filter(l=>l!==s).sort();c.length!==0&&i.push({child_id:o,scalar_parent_id:s,dependency_parent_ids:c,legacy_terminal:r.has(o)&&r.has(s)&&c.every(l=>r.has(l))})}return i.sort((o,a)=>o.child_id.localeCompare(a.child_id))}function Jo(e,t=n=>n==="closed"||n==="canceled",r=dr()){let n=yU(e),i=vU(n,r),o=SU(i),a=new Set([...n].filter(([,c])=>t(c.status)).map(([c])=>c)),s=_U([...n.keys()],new Map([...o.children_by_parent].map(([c,l])=>[c,new Set(l)]))).map(c=>({item_ids:c,legacy_terminal:c.every(l=>a.has(l))}));return{relations:i,cycles:s,cardinality_violations:kU(i,o.parents_by_child,a),divergences:EU(n,i,a)}}function SU(e){let t=new Map,r=new Map;for(let n of e){let i=t.get(n.child_id)??new Set;i.add(n.parent_id),t.set(n.child_id,i);let o=r.get(n.parent_id)??new Set;o.add(n.child_id),r.set(n.parent_id,o)}return{parents_by_child:new Map([...t].map(([n,i])=>[n,[...i].sort()])),children_by_parent:new Map([...r].map(([n,i])=>[n,[...i].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]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function Bk(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function TU(e,t,r=!0){let n=Bk(e);return r&&(pi(t)||n!==void 0&&Go(n))}function Wk(e,t=r=>r==="closed"||r==="canceled"){let r=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),n=new Set(r.map(c=>c.id.trim().toLowerCase())),i=new Map,o=(c,l,d,u,m)=>{let p=Bk(l);if(!p||n.has(p.toLowerCase())||TU(p,void 0,m))return;let f={holder_id:c.id.trim(),target_id:p,kind:d,source:u,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};i.set(`${f.holder_id}::${f.target_id}::${f.kind}::${f.source}`,f)};for(let c of r){o(c,c.parent,"parent","parent",!1),o(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;pi(d.source_kind)||o(c,d.id,typeof d.kind=="string"?d.kind:"related","dependency",!0)}}let a=[...i.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)),s=a.filter(c=>c.legacy_terminal);return{active:a.filter(c=>!c.legacy_terminal),legacy_terminal:s,no_active_blocker_sentinels:a.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]="d8f1968e-a030-5a3c-b766-60a409163745")}catch{}})();function mc(e,t,r=25){let n=e.definitions.filter(a=>a.roles.length===0).map(a=>a.id).sort((a,s)=>a.localeCompare(s)),i=new Set(n),o=t.filter(a=>{let s=xn(a.status,e);return s!==void 0&&i.has(s)}).map(a=>a.id).sort((a,s)=>a.localeCompare(s));return{roleless_status_count:n.length,roleless_statuses:n.slice(0,r),roleless_statuses_truncated:n.length>r,affected_item_count:o.length,affected_item_ids:o.slice(0,r),affected_item_ids_truncated:o.length>r}}function pc(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]="1c246528-8709-5f7c-a813-6e2894763d3c")}catch{}})();var AU=new Set(ai),Yk=25,_i=8,kn=100,IU=Qe.join("runtime","telemetry","events.jsonl"),CU=Qe.join("runtime","telemetry","state.json"),OU=2500,xU=500,Xk=kb-3,RU=["x-pm-telemetry-max-schema-version","x-pm-telemetry-max-version"];function Zk(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 Qk(e){let t=e.trim(),r=t.indexOf(":");return r===-1?t:t.slice(0,r)}function Yo(e){return e.trim().toLowerCase()}function Vk(e,t){let r=Yo(e),n=Yo(t);return r.startsWith("builtin-")?!0:n==="beads"||n==="todos"}async function eE(e){try{return(await mr.stat(e)).isDirectory()}catch{return!1}}async function NU(e){let t=(await mr.readdir(e,{withFileTypes:!0})).filter(n=>n.isDirectory()),r=await Promise.all(t.map(n=>mr.readdir(Qe.join(e,n.name),{withFileTypes:!0})));return new Set(r.flatMap(n=>n.filter(i=>i.isFile()).filter(i=>Jt.some(o=>i.name.endsWith(o))).map(i=>Qe.parse(i.name).name)))}async function DU(e,t,r,n){let i=await $e({path:e,scope:"project"}),o=t!=="_workspace"&&!n.has(t);if(!r.enabled&&!o)return{warnings:i,overThreshold:!1,classification:"live"};let a;try{a=await mr.readFile(e,"utf8")}catch{return{warnings:i,overThreshold:!1,classification:"unreadable"}}let s="live";if(o){let l=a.split(/\r?\n/).map(d=>d.trim()).filter(Boolean).at(-1);try{s=JSON.parse(l??"{}").op==="delete"?"tombstone":"orphaned"}catch{s="orphaned"}}let c=r.enabled?a.split(/\r?\n/).filter(l=>l.trim().length>0).length:0;return{warnings:i,overThreshold:r.enabled&&c>r.max_entries,classification:s}}async function PU(e,t,r){let n=Qe.join(e,"history");if(!await eE(n))return{count:0,warnings:[],over_threshold:[],max_entries:null,tombstones:[],orphaned:[]};let i=(await mr.readdir(n)).filter(d=>d.endsWith(".jsonl")).sort((d,u)=>d.localeCompare(u)),o=t.enabled?t.max_entries:null,a=[],s=[],c=[],l=[];for(let d of i){let u=Qe.join(n,d),m=d.slice(0,-6),p=await DU(u,m,t,r);a.push(...p.warnings),p.classification==="tombstone"&&c.push(m),p.classification==="orphaned"&&l.push(m),p.overThreshold&&s.push(m)}return{count:i.length,warnings:[...a,...s.map(d=>`history_stream_over_compact_threshold:${d}`),...l.map(d=>`history_orphaned_stream:${d}`)],over_threshold:s,max_entries:o,tombstones:c,orphaned:l}}function yp(e,t){return Qe.relative(e,t).replaceAll("\\","/")}async function LU(e,t){let r=[...new Set(Object.values(t))].sort((i,o)=>i.localeCompare(o)),n=[];for(let i of r){let o=Qe.join(e,i),a=[];try{a=await mr.readdir(o)}catch(s){if(typeof s=="object"&&s!==null&&"code"in s&&$(s))continue;continue}for(let s of a)Jt.some(c=>s.toLowerCase().endsWith(c))&&n.push(Qe.join(o,s))}return n.sort((i,o)=>yp(e,i).localeCompare(yp(e,o))),n}function MU(e){return!(typeof e=="object"&&e!==null&&"code"in e&&$(e))}async function $U(e,t,r){let n=await LU(e,t),i=[],o=[],a=[],s=[],c=Et(V());for(let l of n){let d=yp(e,l),u;try{u=await mr.readFile(l,"utf8")}catch{i.push(d);continue}let m=Le(u);if(m){o.push({path:d,...m});continue}try{let p=Ke(u,{format:$n(l),schema:r,extensionFieldNames:c});s.push({ref:d,version:Rn(p.metadata)})}catch{a.push(d)}}return{paths:n,unreadable:i,conflictMarkers:o,parseFailures:a,formatVersions:s}}async function FU(e){let t=Qe.join(e,"history"),r=[],n=[],i=[],o=[],a=[],s=[];try{s=(await mr.readdir(t)).filter(c=>c.endsWith(".jsonl")).sort((c,l)=>c.localeCompare(l))}catch(c){MU(c)&&r.push("history")}for(let c of s){let l=c.slice(0,-6),d;try{d=await mr.readFile(Qe.join(t,c),"utf8")}catch{r.push(l);continue}let u=Le(d);if(u){n.push({id:l,...u});continue}d.split(/\r?\n/).forEach((m,p)=>{if(m.trim())try{let f=JSON.parse(m);o.push(...lc(f,l).map(w=>({itemId:l,line:p+1,...w}))),a.push(...qk(f,l,p+1))}catch{i.push({id:l,line:p+1})}})}return{files:s,unreadable:r,conflictMarkers:n,invalidJson:i,mergeReceiptReferences:o,mergeReceiptDispositions:a}}function jU(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 UU(e,t,r,n,i,o){let a=await $U(e,t,r),s=await FU(e),c=Ta(a.formatVersions),l=ut(r),d=Jo(o,E=>Bc(E,l),dr()),u=await sc(e),m=await At(e),p=await $k(e,m,n,i),f=m===null?null:await fo(m),w=await kt(m??e,{includeReconciled:!0,includeLossless:!0,pmRoot:e}),h=new Set(w.receipts.map(E=>E.id)),b=Gk(s.mergeReceiptReferences,h,s.mergeReceiptDispositions),v=b.missing,I=w.receipts.filter(E=>E.state==="pending"),{pendingDecisions:A,lossless:C}=vs(I),P=f?.status==="missing"&&f.missing_keys.length===5&&f.drifted_keys.length===0,S=[...a.unreadable.map(E=>`integrity_item_unreadable:${E}`),...a.conflictMarkers.map(E=>`integrity_item_conflict_marker:${E.path}:L${E.line}`),...a.parseFailures.map(E=>`integrity_item_parse_failed:${E}`),...s.unreadable.map(E=>`integrity_history_unreadable:${E}`),...s.conflictMarkers.map(E=>`integrity_history_conflict_marker:${E.id}:L${E.line}`),...s.invalidJson.map(E=>`integrity_history_invalid_json:${E.id}:L${E.line}`),...c.outdated.map(E=>`integrity_item_outdated_format_version:${E}`),...c.ahead.map(E=>`integrity_item_ahead_format_version:${E}`),...jU(d),...u.tracked_path_count>0?[`tracked_runtime_cache_files:${u.tracked_path_count}`]:[],...f!==null&&f.status!=="ok"?[`merge_driver_configuration_${P?"missing":"drift"}:${f.missing_keys.length+f.drifted_keys.length}`]:[],...p.warnings,...A.length>0?[`merge_decisions_unreviewed:${A.length}`]:[],...C.length>0?[`merge_receipts_pending:${C.length}`]:[],...Fk({invalidEvidenceCount:w.invalid_evidence_count,missingHistoryReferenceCount:v.length})],D=[...new Set(S)].sort((E,O)=>E.localeCompare(O)),z=D.filter(E=>!E.startsWith("integrity_legacy_hierarchy_"));return{check:{name:"integrity",status:z.length===0?"ok":"warn",ok:z.length===0,details:{checked_item_files:a.paths.length,checked_history_streams:s.files.length,counts:{item_unreadable:a.unreadable.length,item_conflict_markers:a.conflictMarkers.length,item_parse_failures:a.parseFailures.length,history_unreadable:s.unreadable.length,history_conflict_markers:s.conflictMarkers.length,history_invalid_json:s.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:f===null||f.status==="ok"?0:f.missing_keys.length+f.drifted_keys.length,merge_fence:p.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:a.unreadable,item_conflict_markers:a.conflictMarkers,item_parse_failures:a.parseFailures,item_outdated_format_version:c.outdated,item_ahead_format_version:c.ahead,hierarchy_integrity:{...d,relations:ur(d.relations,_i)},history_unreadable:s.unreadable,history_conflict_markers:s.conflictMarkers,history_invalid_json:s.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:f===null?null:{...f,required:i},merge_fence:p.audit,pending_merge_decision_items:[...new Set(A.map(E=>E.item_id))].sort((E,O)=>E.localeCompare(O)),lossless_merge_receipt_items:[...new Set(C.map(E=>E.item_id))].sort((E,O)=>E.localeCompare(O)),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,kn),missing_merge_receipt_history_reference_details_truncated:v.length>kn}},warnings:D,gitWorkspaceRoot:m,pendingMergeReceipts:I}}function zU(e){if(typeof e.activate=="function")return!0;let t=e.default;return typeof t!="object"||t===null?!1:typeof t.activate=="function"}function HU(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:zU(e.module)};return Array.isArray(e.capabilities)&&(t.capabilities=[...e.capabilities]),t}function qU(e,t){return ue(e.id)||`migration-${String(t+1).padStart(3,"0")}`}function GU(e){let t=ue(e.status)?.toLowerCase();return t==="failed"?"failed":t==="applied"?"applied":"pending"}function BU(e){return ue(e.reason)??ue(e.error)??ue(e.message)}function fp(e,t){let r=(e.layer??"").localeCompare(t.layer??"");if(r!==0)return r;let n=(e.name??"").localeCompare(t.name??"");return n!==0?n:(e.id??"").localeCompare(t.id??"")}function WU(e){let t=[],r=[],n=[];e.forEach((o,a)=>{let s=qU(o.definition,a),c=GU(o.definition);if(c==="applied"){t.push({layer:o.layer,name:o.name,id:s,status:c});return}if(c==="failed"){n.push({layer:o.layer,name:o.name,id:s,status:c,reason:BU(o.definition)});return}r.push({layer:o.layer,name:o.name,id:s,status:c})}),t.sort(fp),r.sort(fp),n.sort(fp);let i=[...n.map(o=>`extension_migration_failed:${o.layer}:${o.name}:${o.id}`),...r.map(o=>`extension_migration_pending:${o.layer}:${o.name}:${o.id}`)];return{summary:{applied:t,pending:r,failed:n,applied_count:t.length,pending_count:r.length,failed_count:n.length},warnings:i}}function VU(e,t,r,n,i,o,a,s,c){let l=[...new Set(e)].sort((h,b)=>h.localeCompare(b)),d=[...new Set(l.map(h=>Qk(h)))].sort((h,b)=>h.localeCompare(b)),u=l.filter(h=>h.startsWith("extension_capability_unknown:")).length,m=c.length>0,p=m?"partial":"full",f=[],w=Dk(l,{deactivate:"pm extension --deactivate <name> --project/--global",doctor:"pm extension --doctor --project/--global --detail deep --trace"});return w&&f.push(w),t>0&&f.push("Run pm extension --explore --project and pm extension --explore --global to inspect load failures."),r>0&&f.push("Review checks[name=extensions].details.activation.failed in pm health --json for activation error details."),(n.failed_count>0||n.pending_count>0)&&f.push("Resolve pending/failed extension migrations before write commands; use --force only when policy allows."),i>0&&f.push("Run pm extension --manage --project and pm extension --manage --global to refresh managed-state diagnostics."),u>0&&f.push(`Unknown extension capabilities detected. Allowed capabilities: ${rt.join(", ")}. Review extension_capability_unknown warning details for suggested replacements.`),l.some(h=>h.startsWith("extension_capability_legacy_alias:"))&&f.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:"))&&f.push("Extension command definitions using legacy handler were auto-remapped. Update command definitions to use run: (context) => ... for forward compatibility."),m?f.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>."):a.length>0&&f.push("Loaded unmanaged extensions are currently treated as informational. Use pm extension --manage --project/--global --fix-managed-state to adopt them for update checks."),f.length===0&&f.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:r,migration_failed_count:n.failed_count,migration_pending_count:n.pending_count,managed_state_warning_count:i,managed_extension_entries_count:o,unmanaged_loaded_extension_count:a.length,unmanaged_loaded_extensions:a,unmanaged_expected_extension_count:s.length,unmanaged_expected_extensions:s,unmanaged_action_required_extension_count:c.length,unmanaged_action_required_extensions:c,update_health_coverage:p,update_health_partial:m,unknown_capability_count:u,top_warnings:l.slice(0,8),remediation:f}}async function KU(e,t,r){let n=await Lk(vr(e)),i=await Gi({pmRoot:e,settings:t,cwd:process.cwd(),noExtensions:r}),o=i.loaded.map(S=>HU(S)),a=await Cb(i.loaded,vr(e)),s=await Bi({...i,loaded:i.loaded}),[c,l]=await Promise.all([Ko(i.roots.project),Ko(i.roots.global)]);await Pk(e,s.registrations.migrations);let d=WU(s.registrations.migrations),u={failed:s.failed,warnings:s.warnings,hook_counts:s.hook_counts,command_override_count:s.command_override_count,command_handler_count:s.command_handler_count,parser_override_count:s.parser_override_count,preflight_override_count:s.preflight_override_count,service_override_count:s.service_override_count,renderer_override_count:s.renderer_override_count,registration_counts:s.registration_counts,registrations:s.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}}},m=new Set(c.state.entries.map(S=>Yo(S.name))),p=new Set(l.state.entries.map(S=>Yo(S.name))),f=[...new Map(i.loaded.filter(S=>!(S.layer==="project"?m:p).has(Yo(S.name))).map(S=>[`${S.layer}:${S.name}`,{layer:S.layer,name:S.name,directory:S.directory}])).values()].sort((S,D)=>{let z=`${S.layer}:${S.name}`,E=`${D.layer}:${D.name}`;return z.localeCompare(E)}),w=f.map(S=>`${S.layer}:${S.name}`).sort((S,D)=>S.localeCompare(D)),h=f.filter(S=>Vk(S.name,S.directory)).map(S=>`${S.layer}:${S.name}`).sort((S,D)=>S.localeCompare(D)),b=f.filter(S=>!Vk(S.name,S.directory)).map(S=>`${S.layer}:${S.name}`).sort((S,D)=>S.localeCompare(D)),v=b.length>0?[`extension_update_health_partial_coverage:skipped_unmanaged:${b.length}`]:[],I=[...n.warnings,...i.warnings,...u.warnings,...d.warnings,...c.warnings,...l.warnings,...v,...a.warnings],A=cp(I),C=lp(),P=VU(I,i.failed.length,s.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:{...i,loaded:o,warnings:I,activation:u,author_manifest:n,triage:P,...d.summary.pending_count>0?{remediation_map:{extension_migration_pending:"pm extension migrate --project"}}:{},capability_contract:C,capability_guidance:A,host_version_census:a}},warnings:I}}function JU(e,t){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function ur(e,t){return Array.isArray(e)?{count:e.length,sample:e.slice(0,t),truncated:e.length>t}:{count:0,sample:[],truncated:!1}}function YU(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 _p(e,t){let r=ur(e,t);return{...r,sample:r.sample.map(n=>YU(n))}}function J(e,t){if(!Array.isArray(e))return{count:0,sample:[],truncated:!1};let r=e.filter(n=>typeof n=="string");return{count:r.length,sample:r.slice(0,t),truncated:r.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 ZU={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 r=typeof e.activation=="object"&&e.activation!==null?e.activation:{};return{disabled_by_flag:e.disabled_by_flag,discovered:_p(e.discovered,t),effective:_p(e.effective,t),loaded:_p(e.loaded,t),failed:ur(e.failed,t),warnings:J(e.warnings,t),activation:{failed:ur(r.failed,t),warnings:J(r.warnings,t),hook_counts:r.hook_counts,command_handler_count:r.command_handler_count,service_override_count:r.service_override_count,renderer_override_count:r.renderer_override_count,registration_counts:r.registration_counts,migration_status:XU(r.migration_status)},author_manifest:e.author_manifest,triage:e.triage,capability_contract:e.capability_contract,capability_guidance:ur(e.capability_guidance,t),host_version_census:e.host_version_census}},storage:(e,t)=>{let r=typeof e.author_attribution=="object"&&e.author_attribution!==null?e.author_attribution:void 0;return{...e,...r?{author_attribution:{...r,affected_item_ids:J(r.affected_item_ids,t),samples:ur(r.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 r=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:ur(e.item_conflict_markers,t),item_parse_failures:J(e.item_parse_failures,t),tracked_runtime_cache:r===void 0?e.tracked_runtime_cache:{...r,tracked_paths:J(r.tracked_paths,t)},history_unreadable:J(e.history_unreadable,t),history_conflict_markers:ur(e.history_conflict_markers,t),history_invalid_json:ur(e.history_invalid_json,t),skipped:e.skipped}},history_drift:(e,t)=>{let r=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:r===void 0?e.cache_confirmation:{...r,candidate_items:J(r.candidate_items,t),confirmed_items:J(r.confirmed_items,t),resolved_false_positive_items:J(r.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 QU(e,t){let r=ZU[e.name];return r?r(e.details,t):e.details}function ez(e){let t=J(e.warnings,_i);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.map(r=>({name:r.name,status:r.status,ok:r.ok,details:QU(r,_i)})),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:"brief",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:_i},generated_at:e.generated_at}}function Kk(e){return e.details.skipped===!0}function tz(e){let t=J(e.warnings,_i),r=e.checks.filter(Kk).map(n=>n.name);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.filter(n=>!Kk(n)).map(n=>({name:n.name,status:n.status,ok:n.ok,details:{}})),warning_count:t.count,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:"summary",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:_i,omitted_checks:r},generated_at:e.generated_at}}function Jk(e,t){if(t)return{values:e,truncated:!1,total:e.length};let r=JU(e,Yk);return{values:r.values,truncated:r.truncated,total:e.length}}function gp(e){let t=(process.env[e]??"").trim().toLowerCase();return t==="1"||t==="true"||t==="yes"||t==="on"}function rz(){let e=(process.env.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase();return AU.has(e)?e:null}function wp(e){let t=e.trim();if(t.length===0)return"";try{let r=new URL(t);return r.username="",r.password="",r.search="",r.hash="",r.toString()}catch{return t}}function nz(e){let t=0,r=0,n=0,i=0,o=0;for(let a of e.split(`
138
- `)){let s=a.trim();if(s.length!==0){n+=1;try{let c=JSON.parse(s);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,o=Math.max(o,l),l>=Xk&&(i+=1)}else r+=1}catch{r+=1}}}return{validEntries:t,invalidRows:r,totalRows:n,highRetryEntries:i,maxAttempts:o}}function iz(){return{validEntries:0,invalidRows:0,totalRows:0,highRetryEntries:0,maxAttempts:0}}function oz(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 az(e,t){let r=e.telemetry.endpoint.trim();return!t||!e.telemetry.enabled||r.length===0||si().telemetry_disabled?void 0:{attempted:!0,...await fz(r)}}function sz(e,t,r){let n=[];if(t.invalidRows>0&&n.push(`telemetry_queue_invalid_rows:${t.invalidRows}`),!e.telemetry.enabled||t.validEntries===0)return n;let i=r.last_successful_flush_at,o=r.last_failed_flush_at,a=o&&(!i||o>i),s=!i,c=t.validEntries>=xU;return(a||s||c)&&n.push(`telemetry_queue_pending:${t.validEntries}`),t.highRetryEntries>0&&n.push(`telemetry_queue_high_retries:${t.highRetryEntries}`),n}function cz(e){return!e||e.ok!==!1?[]:typeof e.status=="number"?[`telemetry_endpoint_probe_http_status:${e.status}`]:["telemetry_endpoint_probe_failed"]}function lz(e){let t=Number.parseInt(e?.max_schema_version??"",10);return e?.ok===!0&&Number.isInteger(t)&&t>vb?[`telemetry_schema_version_behind:${t}`]:[]}function dz(e,t){let r=typeof t.pending_otel_spans=="number"?t.pending_otel_spans:0,n=t.last_otel_success_at,i=t.last_otel_failure_at;return e.telemetry.enabled&&r>0&&i&&(!n||i>=n)?[`telemetry_otel_export_failing:${r}`]:[]}function uz(){return{...si(),pm_no_telemetry:gp("PM_NO_TELEMETRY"),telemetry_otel_disabled:gp("PM_TELEMETRY_OTEL_DISABLED"),telemetry_inline_flush:gp("PM_TELEMETRY_INLINE_FLUSH"),telemetry_source_context:rz()}}function mz(e,t){return e.telemetry.enabled&&t.validEntries>0}function pz(e,t){return e&&t.every(r=>!r.startsWith("telemetry_queue_pending:")&&!r.startsWith("telemetry_queue_high_retries:"))}async function fz(e){let t=e;try{let r=new URL(e);r.pathname="/healthz",r.search="",r.hash="",t=r.toString()}catch{}try{let r=await fetch(t,{method:"GET",signal:AbortSignal.timeout(OU)});return{probe_url:wp(t),ok:r.ok,status:r.status,max_schema_version:(()=>{for(let n of RU){let i=r.headers.get(n)?.trim();if(i&&i.length>0)return i}})()}}catch(r){return{probe_url:wp(t),ok:!1,error:r instanceof Error?r.message:"probe_failed"}}}async function _z(e,t){let r=kr(process.cwd()),n=Qe.join(r,IU),i=Qe.join(r,CU),o=await K(n),a=o!==null,s=o?Buffer.byteLength(o,"utf8"):0,c=o?nz(o):iz(),l=await K(i),{runtimeState:d,stateParseFailed:u}=oz(l),m=e.telemetry.endpoint.trim(),p=wp(m),f=await az(e,t.checkTelemetry),w=[];u&&w.push("telemetry_state_invalid_json"),w.push(...sz(e,c,d),...cz(f),...lz(f),...dz(e,d));let h=mz(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:p,global_pm_root:r,queue_path:n,queue_exists:a,queue_entries:c.validEntries,queue_draining:pz(h,w),queue_invalid_rows:c.invalidRows,queue_rows_total:c.totalRows,queue_size_bytes:s,queue_high_retry_entries:c.highRetryEntries,queue_high_retry_threshold:Xk,queue_max_attempts:c.maxAttempts,runtime_state_path:i,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:f??{attempted:!1},env_overrides:uz()}},warnings:w}}async function gz(e){let t;try{t=await Jw(e)}catch(n){let i=n instanceof Error?n.message:String(n);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:i,pm_root:e}},warnings:[`locks_scan_failed:${i}`]}}let r=[];return t.stale_lock_count>0&&r.push(`locks_stale_count:${t.stale_lock_count}`),t.unreadable_lock_count>0&&r.push(`locks_unreadable:${t.unreadable_lock_count}`),{check:{name:"locks",status:r.length===0?"ok":"warn",ok:r.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:r}}async function hz(e){let t="metadata",r=e.items,n=await wn(e.pmRoot,r,{cacheHitVerification:t}),i=[...new Set([...n.hashMismatches,...n.chainMismatches,...n.versionSkews])].sort((b,v)=>b.localeCompare(v)),o=[],a=[];if(i.length>0){r=await hn(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema,{forceSourceScan:!0}),n=await wn(e.pmRoot,r),o=[...new Set([...n.hashMismatches,...n.chainMismatches,...n.versionSkews])].sort((v,I)=>v.localeCompare(I));let b=new Set(o);a=i.filter(v=>!b.has(v))}let{missingStreams:s,unreadableStreams:c,hashMismatches:l,chainMismatches:d,versionSkews:u,driftedItems:m,workspaceStateMismatches:p,workspaceStateMissing:f,workspaceStateUnreadable:w}=n,h=[...s.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}`),...p.map(b=>`history_drift_workspace_state_mismatch:${b}`),...f.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:r.length,cache_hit_verification:i.length>0?"metadata_then_content_hash":t,cache_confirmation:{triggered:i.length>0,reason:i.length>0?"cached_corruption_candidate":null,candidate_items:i,confirmed_items:o,resolved_false_positive_items:a,authoritative_item_source:i.length>0},drifted_items:m,counts:{drifted:m.length,missing_streams:s.length,unreadable_streams:c.length,hash_mismatches:l.length,chain_mismatches:d.length,version_skews:u.length,workspace_state_mismatches:p.length,workspace_state_missing:f.length,workspace_state_unreadable:w.length},missing_streams:s,unreadable_streams:c,hash_mismatches:l,chain_mismatches:d,version_skews:u,workspace_state_mismatches:p,workspace_state_missing:f,workspace_state_unreadable:w}},warnings:h}}function yz(e,t){let r=li(e),n=Do(r.settings),i=Lo(r.settings,t),o=n.active?ui(n.active.name,n.active.model):null;return{runtimeDefaults:r,providerResolution:n,vectorStoreResolution:i,runtimeEmbeddingIdentity:o,semanticRuntimeAvailable:!!(n.active&&i.active)}}function wz(){return{refreshed:[],skipped:[],warnings:[]}}async function bz(e){return!e.refreshPolicy.enabled||!e.snapshot.semanticRuntimeAvailable||e.staleBefore.length===0?wz():wb(e.pmRoot,e.staleBefore,{settings:e.snapshot.runtimeDefaults.settings,apply_runtime_defaults:!1})}function vz(e){return e.strictVectorizationWarnings&&e.semanticRuntimeAvailable&&!!(e.ledgerBefore.embedding&&e.runtimeEmbeddingIdentity&&Mo(e.ledgerBefore.embedding,e.runtimeEmbeddingIdentity))}function kz(e){let t=new Set([...e.ledgerBefore.warnings,...e.ledgerAfter.warnings]);if(e.strictVectorizationWarnings)for(let r of e.refreshResult.warnings)t.add(r);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((r,n)=>r.localeCompare(n))}function Ez(e,t,r){return e.enabled&&t&&r.length>0?null:e.enabled?t?"no_stale_items":"semantic_runtime_unavailable":"refresh_disabled"}function Sz(e,t){let r=t.providerResolution.active?.name??null,n=t.vectorStoreResolution.active?.name??null;return{provider_active:r,provider_configured:typeof e.search?.provider=="string"?e.search.provider:null,provider_source:rm(r,e.search?.provider??null),vector_store_active:n,vector_store_configured:typeof e.vector_store?.adapter=="string"?e.vector_store.adapter:null,vector_store_source:rm(n,e.vector_store?.adapter??null)}}function Tz(e){return{enabled:e.enabled,check_only:e.checkOnly,no_refresh:e.noRefresh,refresh_vectors:e.refreshVectors}}function Az(e,t,r){return e.enabled&&r.length>0&&t}async function Iz(e,t,r,n,i){let o=yz(t,e),a=await jo(e),s=o.semanticRuntimeAvailable?wm(r,a.entries):[],c=await bz({pmRoot:e,snapshot:o,refreshPolicy:n,staleBefore:s}),l=await jo(e),d=o.semanticRuntimeAvailable?wm(r,l.entries):[],u=!o.runtimeDefaults.auto_ollama_defaults_applied,m=vz({strictVectorizationWarnings:u,semanticRuntimeAvailable:o.semanticRuntimeAvailable,ledgerBefore:a,runtimeEmbeddingIdentity:o.runtimeEmbeddingIdentity}),p=kz({ledgerBefore:a,ledgerAfter:l,refreshResult:c,strictVectorizationWarnings:u,semanticRuntimeAvailable:o.semanticRuntimeAvailable,embeddingIdentityChanged:m,staleAfter:d}),f=Jk(s,i),w=Jk(d,i),h=Az(n,o.semanticRuntimeAvailable,s);return{check:{name:"vectorization",status:p.length===0?"ok":"warn",ok:p.length===0,details:{semantic_runtime_available:o.semanticRuntimeAvailable,compatibility_mode_auto_defaults:o.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_applied:o.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_skipped_reason:o.runtimeDefaults.auto_ollama_defaults_skipped_reason??null,auto_ollama_defaults_remediation:o.runtimeDefaults.auto_ollama_defaults_remediation??null,refresh_policy:Tz(n),...Sz(t,o),embedding_identity_changed:m,embedding_identity_before:a.embedding??null,embedding_identity_runtime:o.runtimeEmbeddingIdentity??null,items:r.length,ledger_entries_before:Object.keys(a.entries).length,stale_items_detail_mode:i?"full":"summary",stale_items_summary_limit:Yk,stale_items_before_total:f.total,stale_items_before:f.values,stale_items_before_truncated:f.truncated,refresh_attempted:h,refresh_skipped_reason:Ez(n,o.semanticRuntimeAvailable,s),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:p}}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 Oz(e){let t=e.checkOnly===!0,r=e.refreshVectors===!0;if(r&&t)throw new g("--check-only cannot be combined with --refresh-vectors",_.USAGE);if(r&&e.noRefresh===!0)throw new g("--no-refresh cannot be combined with --refresh-vectors",_.USAGE);return{enabled:r,checkOnly:t,noRefresh:!r,refreshVectors:r}}var xz=new Set(["extensions","locks","search"]);function Rz(e){let t=new Set(Rc.filter(i=>i.length>0)),r=new Set,n=new Set(Object.values(He));for(let i of e.folders)t.has(i)&&!n.has(i)||(t.delete(i),r.add(i));for(let i of xz)t.delete(i),r.add(i);return{requiredDirs:[...t].sort((i,o)=>i.localeCompare(o)),optionalDirs:[...r].sort((i,o)=>i.localeCompare(o)),optionalDirSet:r}}async function Nz(e,t,r){let{requiredDirs:n,optionalDirs:i,optionalDirSet:o}=Rz(t),a=[],s=[],c=[];for(let l of[...n,...i]){let d=Qe.join(e,l);c.push(...await $e({path:d,scope:"project"})),!await eE(d)&&(o.has(l)?s.push(l):a.push(l))}return{requiredDirs:n,optionalDirs:i,missingRequiredDirs:a,missingOptionalDirs:s,missingDirs:r?[...a,...s]:[...a],hookWarnings:c}}function Dz(e){let t=e.checkOnly===!0&&e.brief!==!0&&e.summary!==!0&&e.full!==!0,r=(e.summary===!0||t)&&e.full!==!0,n=e.checkOnly===!0&&(e.brief===!0||e.summary===!0)&&e.full!==!0;return{summaryMode:r,skipIntegrity:(e.skipIntegrity===!0||n)&&e.full!==!0,skipDrift:(e.skipDrift===!0||n)&&e.full!==!0,skipVectors:(e.skipVectors===!0||n)&&e.full!==!0}}async function Pz(e){return e.skipPolicy.skipDrift&&e.skipPolicy.skipVectors?To(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema):hn(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema)}function hp(e){return{check:{name:e,status:"ok",ok:!0,details:{skipped:!0}},warnings:[]}}function Lz(e,t,r){return{name:"settings",status:r.length===0?"ok":"warn",ok:r.length===0,details:{path:e,version:t.version,id_prefix:t.id_prefix,locks_ttl_seconds:t.locks.ttl_seconds,warnings:r}}}function Mz(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 $z(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 tE=e=>e.unknown_event_count??0,rE=e=>e.actionable_unknown_event_count??tE(e);function Fz(e,t,r,n,i,o){let a=tE(n),s=rE(n),c=a>0,l=s>0,d=i.count>0;return{name:"storage",status:r.over_threshold.length===0&&r.orphaned.length===0&&!l&&!d?"ok":"warn",ok:r.over_threshold.length===0&&r.orphaned.length===0&&!l&&!d,details:{items:e.length,history_streams:r.count,tombstones:{retention_policy:"retain_append_only",gc_enabled:!1,count:r.tombstones.length,ids:r.tombstones.slice(0,25),truncated:r.tombstones.length>25},orphaned_history_streams:{count:r.orphaned.length,ids:r.orphaned.slice(0,25),truncated:r.orphaned.length>25},...c?{author_attribution:n}:{},...d?{stale_in_progress:i}:{},...o.outcomes.length>0?{provenance_resolver_outcomes:o.outcomes}:{},...o.invalid_values.length>0?{provenance_invalid_values:o.invalid_values}:{},provenance_sample:o.sample,...r.max_entries!==null?{compact_policy:{enabled:t.history.compact_policy.enabled,max_entries:r.max_entries,trigger:t.history.compact_policy.trigger,over_threshold_count:r.over_threshold.length,over_threshold:r.over_threshold}}:{}}}}function jz(e){let t=e.count===0?[]:[`stale_in_progress_items:${e.count}`];return{scan:e,warnings:t}}function Uz(e){let t=[...e.directoryState.missingDirs.map(r=>`missing_directory:${r}`),...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 zz(e){let t=e.check.details.counts;return typeof t?.drifted=="number"?t.drifted:0}function Hz(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 qz(e){let t=new Map;for(let[n,i]of Object.entries(e.remediationSources))for(let o of i)t.has(o)||t.set(o,n);let r=new Map(e.checks.map(n=>[n.name,n]));return e.warnings.map(n=>{let i=t.get(n)??"integrity",o=km(n)?.code??Qk(n),a=r.get(i)?.details,s=typeof a?.remediation_map=="object"&&a.remediation_map!==null?a.remediation_map:{},c=o==="agent_guidance_outdated"?"pm init --agent-guidance add":o==="agent_guidance_unreadable"?"Check AGENTS.md and CLAUDE.md read permissions and file types, then retry pm health.":s[o],l=Zk(n,e.requireMergeDrivers)?"advisory":"gate_failing";return{warning:n,code:o,check:i,severity:l,...typeof c=="string"?{remediation:c}:l==="gate_failing"?{disposition:"no_safe_automatic_remediation"}:{}}})}function Gz(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 Bz(e){for(let t of e.checks){let r=Em(e.remediationSources[t.name]);Gz({check:t,remediationMap:r,historyDriftedCount:e.historyDriftedCount,overThresholdCount:e.overThresholdCount}),Object.keys(r).length>0&&(t.details={...t.details,remediation_map:r})}}async function Wz(e){if(e.gitWorkspaceRoot===null||e.pendingMergeReceipts.length===0)return[];let t=e.historyDriftCheck.check.details,r=Array.isArray(t.hash_mismatches)?t.hash_mismatches.filter(a=>typeof a=="string"):[],n=new Set([t.missing_streams,t.unreadable_streams,t.chain_mismatches].flatMap(a=>Array.isArray(a)?a:[])),i=new Map;for(let a of e.pendingMergeReceipts){let s=i.get(a.item_id)??[];s.push(a),i.set(a.item_id,s)}let o=[];for(let a of r){if(n.has(a))continue;let s=i.get(a);if(!(!s||s.length===0))try{await ar(a,{dryRun:!0,mergeReceiptProof:{gitWorkspaceRoot:e.gitWorkspaceRoot,receipts:s}},e.global),o.push(a)}catch{}}return[...new Set(o)].sort((a,s)=>a.localeCompare(s))}function Vz(e,t){let r=new Set(t);e.warnings=[...e.warnings.filter(n=>n.startsWith("history_drift_hash_mismatch:")?!r.has(n.slice(n.indexOf(":")+1)):!0),...t.map(n=>`history_drift_merge_receipt:${n}`)].sort((n,i)=>n.localeCompare(i)),e.check.details={...e.check.details,merge_receipt_attributed_items:t}}function Kz(e,t,r){let n=e.warning_count??e.warnings.length,i={...e,warning_count:n,warning_limit:kn,warnings_truncated:n>kn,warnings:e.warnings.slice(0,kn),findings:(e.findings??[]).filter(a=>e.warnings.slice(0,kn).includes(a.warning)||e.failed_because.includes(a.warning))},o=r?tz(i):t.brief===!0?ez(i):i;return{...o,warning_count:n,warning_limit:kn,warnings_truncated:n>o.warnings.length,...o.projection?{projection:{...o.projection,warning_count:n,warnings_truncated:n>o.warnings.length}}:{}}}async function bp(e,t={}){let r=Z(process.cwd(),e.path);await je(r);let n=ke(r),{settings:i,warnings:o}=await Pr(r),a=[...new Set(o)],s=ce(i,V()),c=t.strictDirectories===!0,l=t.strictExit===!0||t.failOnWarn===!0,d=t.requireMergeDrivers===!0||l,u=Oz(t),m=await Nz(r,s,c),p=Cz(i),f=await _z(i,{checkTelemetry:t.checkTelemetry===!0}),w=await KU(r,i,!!e.noExtensions),h=Dz(t),b=[],v=await Pz({pmRoot:r,settings:i,typeRegistry:s,skipPolicy:h,itemReadWarnings:b}),I=v,A=mc(ut(i.schema),v),C=[...(await Ww({pm_root:r,cwd:process.cwd(),mode:"status",interactive:!1,settings:i}).catch(()=>({warnings:["agent_guidance_unreadable:AGENTS.md,CLAUDE.md"]}))).warnings.filter(xe=>xe.startsWith("agent_guidance_")),...p,...pc(A)],P=h.skipDrift?{warnings:[]}:await Ls({pmRoot:r,settings:i,itemIds:v.map(xe=>xe.id),commandLabel:"health"}),S=await PU(r,i.history.compact_policy,await NU(r)),D=await oc(r,20,t.verboseAuthorEvents===!0),z=rE(D),E=z>0?[`history_unknown_author_events:${z}`]:[],O=jz(await Tm(r,v,{in_progress_status:i.schema.workflow.in_progress_status,threshold_hours:i.mutation_guard.stale_in_progress_hours})),de=await xw(r),Wt=de.warnings,Y=await gz(r),be=h.skipIntegrity&&!d?{...hp("integrity"),gitWorkspaceRoot:null,pendingMergeReceipts:[]}:await UU(r,s.type_to_folder,i.schema,i,d,v),Vt=h.skipDrift?hp("history_drift"):await hz({pmRoot:r,items:I,settings:i,typeRegistry:s,itemReadWarnings:b}),Fp=[...new Set(b)],tS=await Wz({gitWorkspaceRoot:be.gitWorkspaceRoot,pendingMergeReceipts:be.pendingMergeReceipts,historyDriftCheck:Vt,global:e});Vz(Vt,tS);let Ec=h.skipVectors?hp("vectorization"):await Iz(r,i,I,u,t.verboseStaleItems===!0),ra=[Lz(n,i,a),Mz(m,c),$z(C,A),f.check,w.check,Fz(v,i,S,D,O.scan,de),Y.check,be.check,Vt.check,Ec.check],Sc=Uz({directoryState:m,normalizedSettingsReadWarnings:a,settingWarnings:C,normalizedItemReadWarnings:Fp,telemetryCheck:f,extensionCheck:w,historyPolicyWarnings:P.warnings,historySummary:S,authorAttributionWarnings:E,staleInProgressWarnings:O.warnings,provenanceWarnings:Wt,locksCheck:Y,integrityCheck:be,historyDriftCheck:Vt,vectorizationCheck:Ec}),jp=Hz({directoryState:m,normalizedSettingsReadWarnings:a,settingWarnings:C,normalizedItemReadWarnings:Fp,telemetryCheck:f,extensionCheck:w,historyPolicyWarnings:P.warnings,historySummary:S,authorAttributionWarnings:E,staleInProgressWarnings:O.warnings,provenanceWarnings:Wt,locksCheck:Y,integrityCheck:be,historyDriftCheck:Vt,vectorizationCheck:Ec});Bz({checks:ra,remediationSources:jp,historyDriftedCount:zz(Vt),overThresholdCount:S.over_threshold.length});let Tc=Sc.filter(xe=>!Zk(xe,d)),Ac=qz({warnings:Sc,checks:ra,remediationSources:jp,requireMergeDrivers:d}),rS=new Set(Ac.filter(xe=>xe.severity==="gate_failing").map(xe=>xe.check)),nS=new Set(Ac.map(xe=>xe.check));for(let xe of ra)xe.ok=!rS.has(xe.name),nS.has(xe.name)&&(xe.status="warn");let iS={ok:Tc.length===0,verdict:{authority:"ok",...l?{strict_exit:!0}:{},...d?{require_merge_drivers:!0}:{},exit_code:l&&Tc.length>0?_.GENERIC_FAILURE:0},checks:ra,warnings:Sc,findings:Ac,failed_because:Tc,generated_at:j()};return Kz(iS,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]="eb2e6046-156c-56ee-a03a-ecaa1cccfb45")}catch{}})();function nE(e,t){let r=at(e),n=e.length>0?e[e.length-1].after_hash:Fd(),i=t===void 0||r.item_hash_version===void 0?void 0:Wn(t,r.item_hash_version,Re(e.at(-1)?.hash_algorithm)),o=t===void 0?void 0:i===void 0?Md(t):i[Math.max(0,i.indexOf(n))],a=o===void 0?void 0:o===n,s=[...r.errors];return a===!1&&s.push("verify_failed:current_item_hash_mismatch"),{ok:s.length===0,entries:e.length,errors:s,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:o,current_matches_latest: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]="a07d2f98-7c1d-5d0a-be70-5181ed0f7b4f")}catch{}})();function iE(e,t,r){if(!r.has(t.metadata.status))return{reason:"not_terminal"};if(e.length===0)return{reason:"missing_history"};if(!nE(e,t).ok)return{reason:"unverified_history"};let n=ln(),i={reason:"no_proven_transition"};for(let[o,a]of e.entries()){let s=r.has(String(n.metadata.status));n=ii(n,a.patch,o+1,a.op),r.has(String(n.metadata.status))?s||(i=["create","close","cancel","update","update_audit"].includes(a.op)&&gr(a.ts)?{timestamp:a.ts,source_index:o+1}:{reason:"no_proven_transition"}):i={reason:"no_proven_transition"}}return i}function oE(e){return new Set([...e.terminal_statuses,...[...e.alias_to_id].filter(([,t])=>e.terminal_statuses.has(t)).map(([t])=>t)])}async function aE(e,t,r,n,i){let o=oE(r),a=t.filter(l=>o.has(l.status)&&!l.closed_at),s=[],c=[];for(let l of n?a:[]){let d;try{let u=await We(Ee(e,l.id),l.id),{body:m,...p}=l;d=iE(u,{metadata:p,body:m},o)}catch{c.push({id:l.id,reason:"unreadable_history"});continue}if("reason"in d){c.push({id:l.id,reason:d.reason});continue}s.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:a.length,missing_closed_at_item_ids:a.slice(0,i).map(l=>l.id),missing_closed_at_item_ids_truncated:a.length>i,closure_history_inspected:n,closure_timestamp_derivable_count:s.length,closure_timestamp_residual_count:c.length,closure_timestamp_residual:c.slice(0,i),closure_timestamp_residual_truncated:c.length>i,...a.length>0?{closure_timestamp_fix_hint:"pm validate --check-metadata --auto-fix --fix-scope timestamps --dry-run"}:{}},fixes:s,warnings:a.length>0?[`validate_metadata_missing_closed_at:${a.length}`]:[]}}async function sE(e,t){let r=Z(process.cwd(),t.path),n=await X(r),i=ut(n.schema);await yn({pmRoot:r,settings:n,id:e.item_id,op:"update",author:Ce(t.author,n.author_default),message:"Backfill closed_at from verified lifecycle history",skipNoop:!0,async mutate(o){if(o.metadata.closed_at)return{changedFields:[]};let a=await We(Ee(r,o.metadata.id),o.metadata.id),s=oE(i),c=iE(a,o,s);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 o.metadata.closed_at=c.timestamp,{changedFields:["closed_at"]}}})}import $p from"node:fs/promises";import{realpathSync as oH}from"node:fs";import{execFile as aH}from"node:child_process";import tt from"node:path";import{promisify as sH}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]="8c3bbe6d-dcce-5b1a-8352-1472ab1ed6e2")}catch{}})();var Jz=["metadata","resolution"],vp=["metadata","resolution","estimates","timestamps","lifecycle"],Yz="completed";function kp(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function cE(e){let t=e?.trim();return t!==void 0&&t.length>0?t:void 0}function lE(e){let t=[];for(let r of e){if(!r.missing_fields.includes("resolution"))continue;let n=cE(r.close_reason)??Yz;t.push({item_id:r.id,check:"resolution",field:"resolution",kind:"set_resolution",value:n,command:`pm update ${r.id} --resolution ${kp(n)}`,gate:"resolution"})}return t}function dE(e){let t=[];for(let r of e){let n=cE(r.resolution);n!==void 0&&t.push({item_id:r.id,check:"metadata",field:"close_reason",kind:"set_close_reason",value:n,command:`pm update ${r.id} --close-reason ${kp(n)}`,gate:"metadata"})}return t}function uE(e,t){return e.map(r=>{let n=iy(r.type,t);return{item_id:r.id,check:"metadata",field:"estimated_minutes",kind:"set_estimate",value:String(n),command:`pm update ${r.id} --estimate ${n}`,gate:"estimates"}})}function mE(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 pE(e){let t=[];for(let r of e){if(r.classification!=="deleted")continue;let n=r.link_kind==="files"?"files":"docs";t.push({item_id:r.item_id,check:"files",field:r.link_kind,kind:r.link_kind==="files"?"prune_file_link":"prune_doc_link",path:r.path,command:`pm ${n} ${r.item_id} --remove ${kp(r.path)}`})}return t}function fE(e){let t=(e??[]).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.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: ${vp.join(", ")}.`,_.USAGE);return new Set(Jz)}let r=new Set;for(let n of t){let i=n.toLowerCase().replaceAll("-","_");if(vp.includes(i)){r.add(i);continue}throw new g(`Unknown --fix-scope value "${n}". Supported values: ${vp.join(", ")}.`,_.USAGE)}return r}function _E(e,t){let r=[],n=[];for(let i of e)i.gate!==void 0&&!t.has(i.gate)?n.push(i):r.push(i);return{applicable:r,gated:n}}function Xo(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]="e93db1eb-e524-58bf-af2e-cb5f22f3047b")}catch{}})();var Xz=/^([A-Z][A-Z0-9]*-\d+)\b/iu;function Zz(e,t={}){if(typeof e!="string")return null;let r=e.trim();if(r.length===0)return null;let n=Xz.exec(r);if(!n)return null;let i=n[1],o=i.toUpperCase(),a=i.slice(0,i.lastIndexOf("-")),s=new Set((t.configuredPrefixes??[]).map(u=>u.trim().replace(/-+$/u,"").toUpperCase())),c=r.slice(i.length),l=t.evidenceText?.toUpperCase()??"",d=l.includes(`ISSUE CODE: ${o}`)||l.includes(`ISSUE CODE \`${o}\``)||l.includes(`\`${o}\``)||l.includes(`[${o}]`);return a===a.toUpperCase()||/^\s*(?::|—|–|\])/u.test(c)||s.has(a.toUpperCase())||d?o:null}function gE(e){return typeof e=="string"&&e.trim().length>0}function Qz(e){let t=new Set(e.map(a=>a.id.toLowerCase())),r=new Map,n=new Map;for(let a of e){let s=a.id.toLowerCase(),c=new Set([...a.parent===null?[]:[a.parent.toLowerCase()],...a.derivations].filter(l=>l!==s&&t.has(l)));r.set(s,c);for(let l of c){let d=n.get(l)??[];d.push(s),n.set(l,d)}}let i=[...[...r].filter(([,a])=>a.size===0).map(([a])=>a)],o=new Set;for(let a=0;a<i.length;a+=1)for(let s of n.get(i[a])??[]){let c=r.get(s);c.delete(i[a]),c.size===0&&(o.add(s),i.push(s))}return e.filter(a=>!o.has(a.id.toLowerCase()))}function hE(e,t={}){let r=new Map;for(let i of e){if(typeof i.title!="string"||gE(i.duplicate_of))continue;let o=Zz(i.title,{...t,evidenceText:i.body});if(o===null)continue;let a=r.get(o);a||(a=[],r.set(o,a)),a.some(s=>s.id===i.id)||a.push({id:i.id,title:i.title,parent:gE(i.parent)?i.parent.trim():null,derivations:(i.dependencies??[]).filter(s=>["discovered_from","supersedes","incident_from"].includes(s.kind)).map(s=>s.id.trim().toLowerCase()).filter(s=>s!==i.id.toLowerCase())})}let n=[];for(let[i,o]of r){if(o.length<2)continue;let a=Qz(o);if(a.length<2)continue;let s=[...a].sort((c,l)=>c.id.localeCompare(l.id));n.push({code:i,count:s.length,ids:s.map(c=>c.id),titles:s.map(c=>c.title)})}return n.sort((i,o)=>i.code.localeCompare(o.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]="3c32504d-254c-5156-a41f-8ffd8e49107f")}catch{}})();function yE(e){let t=new Map;for(let n of e){let i=t.get(n.item_type);i||(i=new Map,t.set(n.item_type,i)),i.set(n.field,(i.get(n.field)??0)+1)}let r={};for(let n of[...t.keys()].sort((i,o)=>i.localeCompare(o))){let i=t.get(n),o={};for(let a of[...i.keys()].sort((s,c)=>s.localeCompare(c)))o[a]=i.get(a);r[n]=o}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c577e41b-6642-554a-bc4d-0c22170c1e24")}catch{}})();function wE(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t===-1?e:e.slice(t+1)}function bE(e,t,r=3){let n=Number.isFinite(r)&&r>=1?Math.floor(r):3,i=new Map;for(let o of t){let a=wE(o);if(a.length===0)continue;let s=i.get(a);s?s.push(o):i.set(a,[o])}return e.map(o=>{if(o.includes(",")||o.replace(/^[a-z]:[\\/]/i,"").includes(":"))return{path:o,classification:"malformed",candidates:[],candidates_truncated:!1};let a=(i.get(wE(o))??[]).filter(s=>s!==o).sort((s,c)=>s.localeCompare(c));return a.length===0?{path:o,classification:"deleted",candidates:[],candidates_truncated:!1}:{path:o,classification:"moved",candidates:a.slice(0,n),candidates_truncated:a.length>n}})}function vE(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 e2=/^[a-z][a-z0-9+.-]+:\/\//i;function Zo(e){return e2.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]="34d28b31-b098-5ffd-b39b-2e11de150ac1")}catch{}})();function t2(e,t){return e==="malformed"||t==="malformed"?"malformed":e==="moved"||t==="moved"?"moved":"deleted"}function kE(e){return`${e.item_id} ${e.link_kind}`}function EE(e,t){let r=new Map;for(let n of e){let i=r.get(n.path);i?(i.classification=t2(i.classification,n.classification),i.owners.set(kE(n),n)):r.set(n.path,{classification:n.classification,owners:new Map([[kE(n),n]])})}return[...r.entries()].sort(([n],[i])=>n.localeCompare(i)).map(([n,i])=>({path:n,classification:i.classification,items:[...i.owners.values()].map(o=>{let a=t(o.item_id);return{id:o.item_id,type:a?.type??"Unknown",title:a?.title??"",status:a?.status??"",field:o.link_kind}}).sort((o,a)=>{let s=o.id.localeCompare(a.id);return s!==0?s:o.field.localeCompare(a.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]="00f8052d-480b-5e38-86cf-4574a8ad1e92")}catch{}})();function SE(e,t,r,n,i=40){let o=i===1/0?1/0:Number.isFinite(i)?Math.max(0,Math.floor(i)):40,a=new Map(t.map(l=>[l.path,l])),s={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=EE(e,r).map(l=>{let d=[],u=[];for(let p of l.items){let f=Ot(p.status,n)??p.status;n.terminal_statuses.has(f)?(u.push(p),f===n.close_status&&(s.legacy_closed_missing_linked_links_count+=1)):d.push(p)}s.missing_linked_links_count+=l.items.length,s.active_missing_linked_links_count+=d.length,s.legacy_terminal_missing_linked_links_count+=u.length,d.length>0&&(s.active_missing_linked_paths_count+=1);let m=a.get(l.path);return{...l,candidates:m?.candidates??[],candidates_truncated:m?.candidates_truncated??!1,link_count:l.items.length,active_link_count:d.length,items:[...d,...u].slice(0,o),items_truncated:l.items.length>o}});return c.sort((l,d)=>+(d.active_link_count>0)-+(l.active_link_count>0)||l.path.localeCompare(d.path)),s.missing_linked_path_rows_count=c.length,s.missing_linked_path_rows=c.slice(0,o),s.missing_linked_path_rows_truncated=c.length>o,s}import gi from"node:fs/promises";import hi 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]="7ff2e182-d84c-5e1c-8b63-daea17d55af4")}catch{}})();async function r2(e,t){let r=[...new Set(Object.values(t))],n=[];return await Promise.all(r.map(async i=>{let o;try{o=await gi.readdir(hi.join(e,i))}catch{return}for(let a of o)for(let s of Jt)if(a.toLowerCase().endsWith(s)){n.push({relativePath:`${i}/${a}`,id:a.slice(0,-s.length)});break}})),n.sort((i,o)=>i.relativePath.localeCompare(o.relativePath))}function n2(e,t){let{id:r,relativePath:n,liveItemIds:i,out:o}=e,a=Le(t);if(a){o.conflictMarkers.push({id:r,path:n,line:a.line,detail:`unresolved merge conflict marker ${a.marker}`});return}let s=i2(e,t);s!==null&&(s.op==="delete"&&i.has(r)&&o.resurrected.push({id:r,deleted_at:typeof s.ts=="string"?s.ts:"",deleted_by:typeof s.author=="string"?s.author:""}),s.op==="history_repair"&&Array.isArray(s.patch)&&s.patch.length>0&&(o.repairReconciliations+=1))}function i2(e,t){let{id:r,relativePath:n,out:i}=e,o=null,a=!1,s=t.split(/\r?\n/).map((c,l)=>({content:c.trim(),number:l+1})).filter(c=>c.content.length>0);for(let c of s){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");o=l}catch{return i.unparseable.push({id:r,path:n,line:c.number,detail:"history line is not a valid JSON object"}),null}if(o.op==="create"){if(a)return i.unparseable.push({id:r,path:n,line:c.number,detail:"duplicate item identity: more than one create event in one history stream"}),null;a=!0}}return o}function Ep(e,t){let r=typeof t=="object"&&t!==null&&"code"in t&&typeof t.code=="string"?t.code:"UNKNOWN";return`${e} could not be read (error code: ${r})`}async function o2(e,t){let r={conflictMarkers:[],unparseable:[],resurrected:[],repairReconciliations:0,scanned:0},n;try{n=await gi.readdir(hi.join(e,"history"))}catch{return r}for(let i of n.sort((o,a)=>o.localeCompare(a))){if(!i.endsWith(".jsonl"))continue;r.scanned+=1;let o;try{o=await gi.readFile(hi.join(e,"history",i),"utf8")}catch(a){r.unparseable.push({id:i.slice(0,-6),path:`history/${i}`,detail:Ep("history stream",a)});continue}n2({id:i.slice(0,-6),relativePath:`history/${i}`,liveItemIds:t,out:r},o)}return r}function TE(e){let t=Le(e);if(t)return`unresolved merge conflict marker ${t.marker} at line ${t.line}`;try{return JSON.parse(e),null}catch(r){return`invalid JSON (${String(r)})`}}async function a2(e){let t=[],r=0,n=null;try{n=await K(ke(e))}catch(o){r+=1,t.push({path:"settings.json",detail:Ep("configuration file",o)})}if(n!==null){r+=1;let o=TE(n);o!==null&&t.push({path:"settings.json",detail:o})}let i;try{i=await gi.readdir(hi.join(e,"schema"))}catch{return{scanned:r,unparseable:t}}for(let o of i.sort((a,s)=>a.localeCompare(s))){if(!o.endsWith(".json"))continue;r+=1;let a;try{a=await gi.readFile(hi.join(e,"schema",o),"utf8")}catch(c){t.push({path:`schema/${o}`,detail:Ep("configuration file",c)});continue}let s=TE(a);s!==null&&t.push({path:`schema/${o}`,detail:s})}return{scanned:r,unparseable:t}}async function AE(e,t,r,n={}){let i=await r2(e,r),o=new Set(i.map(u=>u.id)),a=new Map;for(let u of i){let m=a.get(u.id);m===void 0?a.set(u.id,[u.relativePath]):m.push(u.relativePath)}let s=[...a.entries()].filter(([,u])=>u.length>1).map(([u,m])=>({id:u,paths:[...m].sort((p,f)=>p.localeCompare(f))})).sort((u,m)=>u.id.localeCompare(m.id)),c=(await Promise.all(i.map(async u=>{if(!t.has(u.id))return{path:u.relativePath,id:u.id};try{let m=hi.join(e,u.relativePath);return Ke(await gi.readFile(m,"utf8"),{format:m.toLowerCase().endsWith(".md")?"json_markdown":"toon",schema:n.schema,extensionFieldNames:n.extensionFieldNames}),null}catch{return{path:u.relativePath,id:u.id}}}))).filter(u=>u!==null),l=await o2(e,o),d=await a2(e);return{item_files_on_disk:i.length,item_ids_on_disk:o.size,parsed_items:t.size,unreadable_item_files:c,duplicate_item_ids:s,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 s2 from"node:fs/promises";import et from"node:path";import{glob as c2}from"tinyglobby";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12655e94-6304-56cf-9f5d-387a26572db0")}catch{}})();var l2=["path","scope","note"],d2=["pattern","glob","path","scope","note"],u2=["path"],m2=["from","to"],p2=new Set(["note","scope"]);function CE(e){let t=e??"project";if(!Lc.includes(t))throw new g(`Invalid scope "${e}". Valid scopes: ${Lc.join(", ")} (default: project).`,_.USAGE);return t}function Sp(e){if(e.startsWith("```")||e.includes(`
139
- `)||/^(?:[-*+]\s+)?(?:path|scope|note)\s*[:=]/i.test(e))return!0;let t=e.indexOf(","),r=e.slice(0,t>=0?t:e.length),n=r.indexOf("=");return n>=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(i=>i>=0&&i<n))?!1:r.includes("=")||qd(e)}function f2(e){let t=0;for(let r of e)if(r==="("&&(t+=1),r===")"&&(t-=1),t<0)return!1;return t===0}function _2(e){if(/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(e)&&!Sp(e))return{path:e,scope:"project",note:void 0};let t=e.indexOf("](");if(e.startsWith("[")&&t>0&&e.endsWith(")")){let o=e.slice(t+2,-1).trim();if(o.length>0&&f2(o))return{path:o,scope:"project",note:e.slice(1,t).trim()||void 0}}let r=e.indexOf(",");if(r<0)return;let n=e.slice(0,r).trim(),i=e.slice(r+1).trim();if(!(n.length===0||!/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(i)))return{path:i,scope:"project",note:n}}function g2(e,t){return e?e.flatMap(r=>{let n=r.trim();if(t==="doc"){let o=_2(n);if(o!==void 0)return[o]}xh(n,"--add",`${t} path`,Sp(n));let i=Sp(n)?Yn(r,"--add"):{path:n};if(Xn(i,"--add",l2),!i.path)throw new g(`--add requires path=<value> or a bare ${t} path`,_.USAGE);return[{path:i.path,scope:CE(i.scope),note:i.note?.trim()||void 0}]}):[]}function h2(e){return e?e.map(t=>{let r=t.trim();if(!r)throw new g("--add-glob requires a glob pattern value",_.USAGE);if(r.includes("=")||/^(?:[-*+]\s+)?(?:pattern|glob|path)\s*[:=]/i.test(r)||r.startsWith("```")){let n=Yn(r,"--add-glob");Xn(n,"--add-glob",d2);let i=n.pattern?.trim()||n.glob?.trim()||n.path?.trim();if(!i)throw new g("--add-glob key/value form requires pattern=<glob>",_.USAGE);return{pattern:i,scope:CE(n.scope),note:n.note?.trim()||void 0}}return{pattern:r,scope:"project"}}):[]}function y2(e){return e?e.map(t=>{let r=t.trim();if(!r)throw new g("--remove requires a path value",_.USAGE);if(r.includes("=")||/^(?:[-*+]\s+)?path\s*[:=]/i.test(r)||r.startsWith("```")){let n=Yn(r,"--remove"),i=Object.keys(n).filter(o=>p2.has(o.toLowerCase()));if(i.length>0)throw new g(`--remove identifies a linked artifact by path only and does not accept ${i.map(o=>`"${o}"`).join(", ")}. Pass just the path (path=<value>, path:<value>, or a bare path); record removal context with --message "<why removed>".`,_.USAGE);if(Xn(n,"--remove",u2),!n.path)throw new g("--remove key/value form requires path=<value>",_.USAGE);return n.path}return r}):[]}function w2(e){return e?e.map(t=>{let r=Yn(t,"--migrate");Xn(r,"--migrate",m2);let n=r.from?.trim(),i=r.to?.trim();if(!n||!i)throw new g("--migrate requires from=<value> and to=<value>",_.USAGE);return{from:n,to:i}}):[]}function Qo(e,t){let r=e;for(let n of t)r.startsWith(n.from)&&(r=`${n.to}${r.slice(n.from.length)}`);return r}function b2(e,t,r=[]){if(e.length===0||t.length===0)return;let n=new Set(e.map(o=>Qo(o.path,r))),i=[...new Set(t.map(o=>Qo(o,r)).filter(o=>n.has(o)))].sort((o,a)=>o.localeCompare(a));if(i.length!==0)throw new g(`Linked artifact mutation cannot add and remove the same normalized path in one transaction: ${i.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 fc(e){return e.split(et.sep).join("/")}function Tp(e,t,r=process.cwd()){let n=e.trim();if(Zo(n))return n;if(et.isAbsolute(n)||/^[A-Za-z]:[\\/]/.test(n))return fc(n.replaceAll("\\",et.sep));let i=et.relative(t,r);return i.startsWith(`..${et.sep}`)||i===".."||et.isAbsolute(i)?fc(et.normalize(n)):fc(et.relative(t,et.resolve(r,n)))}async function v2(e,t=process.cwd(),r=process.cwd()){let n=[];for(let i of e){if(et.resolve(r,i.pattern)===et.resolve(r))continue;let o=et.isAbsolute(i.pattern),a=await c2(i.pattern,{cwd:r,absolute:o,onlyFiles:!0,dot:!0,expandDirectories:!1,followSymbolicLinks:!0}),s=[...new Set(a.map(c=>Tp(c,t,r)))].sort((c,l)=>c.localeCompare(l));for(let c of s)n.push({path:c,scope:i.scope,note:i.note})}return n}function k2(e,t,r){if(t===void 0)return e;if(!r)throw new g("--note requires --add or --add-glob in the same invocation (the note annotates the links being added)",_.USAGE);let n=t.trim();return n.length===0?e:e.map(i=>i.note===void 0?{...i,note:n}:i)}function E2(e){return`${e.path}::${e.scope}`}function OE(e){return[...e].sort((t,r)=>{let n=t.path.localeCompare(r.path);return n!==0?n:t.scope.localeCompare(r.scope)})}function xE(e){return[...new Map(e.map(t=>[E2(t),t])).values()].map(t=>({...t,note:t.note?.trim()||void 0}))}async function S2(e,t=process.cwd()){let r=[...new Set(e)].sort((s,c)=>s.localeCompare(c)),n=[],i=[],o=[],a=[];for(let s of r){if(Zo(s)){a.push(s.trim());continue}let c=et.isAbsolute(s)?s:et.resolve(t,s);try{(await s2.stat(c)).isFile()?n.push(s):o.push(s)}catch(l){if(typeof l=="object"&&l!==null&&"code"in l&&qe(l)){i.push(s);continue}o.push(s)}}return{checked:r.length,existing_files:n,missing_paths:i,non_file_paths:o,remote_references:a}}function T2(e,t,r,n){let i=0;for(let o=0;o<e.length;o+=1){let a=Qo(e[o].path,n);a!==e[o].path&&(e[o]={...e[o],path:a},i+=1)}return{adds:t.map(o=>{let a=Qo(o.path,n);return a!==o.path&&(i+=1),{...o,path:a}}),removes:r.map(o=>Qo(o,n)),count:i}}function A2(e,t,r,n){let i=xE(e);for(let o of t){let a=i.findIndex(s=>s.path===o.path&&s.scope===o.scope);a<0?i.push(o):o.note!==void 0&&(i[a]={...i[a],note:o.note})}if(r.length>0)for(let o=i.length-1;o>=0;o-=1)r.includes(i[o].path)&&i.splice(o,1);return n?i:OE(i)}async function IE(e){let t=e.artifacts.map(r=>r.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 S2(t,e.workspaceRoot):void 0}}async function _c(e,t,r,n){let{metadataKey:i}=n,o=ro(),a=Z(process.cwd(),r.path),s=vr(a),c=process.cwd();await je(a);let l=await X(a),d=ce(l,V()),u=await o.resolveList(t.add,"--add"),m=await o.resolveList(t.addGlob,"--add-glob"),p=await o.resolveList(t.remove,"--remove"),f=await o.resolveList(t.migrate,"--migrate"),w=g2(u,n.bareNoun).map(E=>({...E,path:Tp(E.path,s,c)})),h=h2(m),b=await v2(h,s,c),v=k2([...w,...b],t.note,w.length>0||h.length>0),I=y2(p).map(E=>Tp(E,s,c)),A=w2(f);if(b2(v,I,A),!(v.length>0||I.length>0||A.length>0)){let E=await Se(a,e,l.id_prefix,l.item_format,d.type_to_folder);if(!E)throw new g(`Item ${e} not found`,_.NOT_FOUND);let O=(await ze(E,{schema:l.schema})).document.metadata[i]??[];return IE({id:E.id,artifacts:O,changed:!1,options:t,workspaceRoot:s})}let C=Ce(t.author,l.author_default),P=await yn({pmRoot:a,settings:l,id:e,op:n.op,author:C,message:t.message,force:t.force,skipNoop:!0,mutate(E){let O=E.metadata,de=O[i]??[],Wt=[...de],Y=T2(Wt,v,I,A),be=A2(Wt,Y.adds,Y.removes,n.supportsAppendStable&&t.appendStable===!0);be.length>0?O[i]=be:delete O[i];let Vt=!Ne(de,be);return{changedFields:Vt?[i]:[],warnings:Vt&&Y.count>0?[`path_migrations_applied:${Y.count}`]:[]}}}),S=P.item[i]??[],D=P.warnings.find(E=>E.startsWith("path_migrations_applied:")),z=D?Number(D.slice(24)):0;return IE({id:P.item.id,artifacts:S,changed:P.changedFields.includes(i),migrationsApplied:z,options:t,workspaceRoot:s})}function gc(e,t){let r={};for(let[n,i]of Object.entries(e))r[n==="artifacts"?t:n]=i;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]="79f1acaf-8ef7-5725-900a-fbeced1c57e6")}catch{}})();async function RE(e,t,r){let n=await _c(e,t,r,{metadataKey:"docs",op:"docs_add",bareNoun:"doc",supportsAppendStable:!1});return gc(n,"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]="3bb613e2-51f9-5947-8d92-d6207bb62cdc")}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]="06b0bd73-d282-5473-a1da-f11c61a0a086")}catch{}})();async function NE(e,t,r){let n=await _c(e,t,r,{metadataKey:"files",op:"files_add",bareNoun:"file",supportsAppendStable:!0});return gc(n,"files")}import{readFileSync as I2}from"node:fs";import hc 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]="597a781e-a00d-5083-8d57-3fae870f9ccd")}catch{}})();var C2=new Set(["get","history","restore","update","close","delete","append","claim","release","comments","notes","learnings","files","docs","deps","test"]),LE=new Set(["--pm-path","--path","--author"]),O2={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"])},x2=new Set(["-p","--package"]),R2=new Set(["-c","--call"]),N2=new Set(["-c","-C","--config","--dir","--filter","--workspace-dir"]),D2=new Set(["-C","--prefix","--userconfig","--cache"]);var P2=new Set(["exec","x"]);function L2(e){return e.split(/&&|\|\||\||;/).map(t=>t.trim()).filter(t=>t.length>0)}function M2(e,t=process.cwd()){let r=$2(e.split(" ").filter(a=>a.length>0));if(r.length===0)return null;let[n,...i]=r;if(DE(n)||PE(n,t))return i;if(n==="node"&&i[0]&&PE(i[0],t))return i.slice(1);let o=n==="npx"||n==="bunx"?Ap(i):n==="pnpm"?U2(i):n==="npm"?z2(i):null;return o&&(DE(o.command)||j2(o.command))?o.args:null}var ME=(e,t="pm")=>{let r=t.trim().toLowerCase(),n=r.length;for(;n>0&&r[n-1]==="-";)n-=1;let i=r.slice(0,n);if(i.length===0)return[];let o=e.trim().replaceAll("\\","/").replaceAll('"',"").replaceAll("'","").replaceAll(/\s+/g," ").toLowerCase(),a=new Set;for(let s of L2(o)){let c=M2(s),l=c?H2(c):null,d=l&&C2.has(l.subcommand)?q2(l.remaining,O2[l.subcommand]):void 0,u=d?.trim().toLowerCase();u?.startsWith(`${i}-`)===!0&&u.length>i.length+1&&a.add(d)}return[...a].sort((s,c)=>s.localeCompare(c))};function $2(e){let t=0;for(e[t]==="env"&&(t+=1);t<e.length;){let r=e[t];if(/^(?:[a-z_][a-z0-9_]*|\$env:[a-z_][a-z0-9_]*)=.*/.test(r)){t+=1;continue}break}return e.slice(t)}function DE(e){return e==="pm"||e==="pm.cmd"||e==="pm.exe"||e.endsWith("/pm")||e.endsWith("/pm.cmd")||e.endsWith("/pm.exe")}function F2(e){let t=e.trim();if(!t.startsWith("@")){let i=t.indexOf("@");return i===-1?t:t.slice(0,i)}let r=t.indexOf("/");if(r===-1)return t;let n=t.indexOf("@",r+1);return n===-1?t:t.slice(0,n)}function j2(e){let t=F2(e);return t==="pm-cli"||t.endsWith("/pm-cli")||e==="pm-cli"||e.endsWith("/pm-cli")}function PE(e,t=process.cwd()){let r=e.replaceAll("\\","/");if(r!=="dist/cli.js"&&r!=="./dist/cli.js"&&!r.endsWith("/dist/cli.js"))return!1;let n=hc.resolve(t,e);try{return JSON.parse(I2(hc.join(hc.dirname(hc.dirname(n)),"package.json"),"utf8")).name==="@unbrained/pm-cli"}catch{return!1}}function Ap(e){let t=0;for(;t<e.length;){let n=e[t];if(n==="--"){t+=1;break}if(!n.startsWith("-"))break;let i=/^(?:-c|--call)=(.*)$/.exec(n);if(i){let o=i[1];return o?{command:o,args:e.slice(t+1)}:null}if(R2.has(n)){t+=1;break}t+=x2.has(n)&&!n.includes("=")?2:1}let r=e[t];return r?{command:r,args:e.slice(t+1)}:null}function $E(e,t){let r=0;for(;r<e.length;){let n=e[r];if(n==="--"){r+=1;continue}if(n.startsWith("-")){if(n.includes("=")){r+=1;continue}if(t.has(n)){r+=2;continue}r+=1;continue}return{subcommand:n,args:e.slice(r+1)}}return null}function U2(e){let t=$E(e,N2);return t?.subcommand!=="dlx"?null:Ap(t.args)}function z2(e){let t=$E(e,D2);return!t||!P2.has(t.subcommand)?null:Ap(t.args)}function H2(e){let t=0;for(;t<e.length;){let r=e[t];if(r==="--"){t+=1;continue}if(r.startsWith("-")){if(LE.has(r)){t+=2;continue}t+=1;continue}return{subcommand:r,remaining:e.slice(t+1)}}return null}function q2(e,t=new Set){for(let r=0;r<e.length;r+=1){let n=e[r];if(n==="--")return e[r+1];if(!n.startsWith("-"))return n;!n.includes("=")&&(LE.has(n)||t.has(n))&&(r+=1)}}import{execFile as G2}from"node:child_process";import{readFile as B2}from"node:fs/promises";import W2 from"node:path";import{promisify as V2}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]="574bbc1f-493b-5c51-9c93-97234779a3ce")}catch{}})();var K2=V2(G2),Ip=1,J2="linked-test-trust.json";function Y2(e){return W2.join(Da(e),J2)}function FE(){return{version:Ip,acknowledged:{}}}async function X2(e){try{let t=JSON.parse(await B2(Y2(e),"utf8"));return t.version!==Ip||typeof t.acknowledged!="object"||t.acknowledged===null||Array.isArray(t.acknowledged)?FE():{version:Ip,acknowledged:t.acknowledged}}catch{return FE()}}async function jE(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:r}=await K2("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:e,encoding:"utf8",windowsHide:!0,timeout:1e4}),n=r.trim();return n.length===0?void 0:n}catch{return}}function UE(e=process.cwd()){return process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||e}function Z2(e){return e===null||typeof e!="object"?!1:typeof e.author=="string"&&e.author.trim().length>0&&typeof e.created_at=="string"&&yt(e.created_at)&&(e.source_kind==="local_mutation"||e.source_kind==="merge_union")}function ea(e,t){return{...e?{source_ref:e}:{},...t?{current_source_ref:t}:{}}}function Q2(e){return De(x({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 eH(e,t,r){let n=Q2(e),i=e.provenance?.source_ref;if(e.provenance===void 0&&e.provenance_invalid!==!0)return{fingerprint:n,trusted:!0,reason:"legacy"};let o=Object.hasOwn(r.acknowledged,n);return e.provenance_invalid===!0||!Z2(e.provenance)?o?{fingerprint:n,trusted:!0,reason:"acknowledged",...ea(void 0,t)}:{fingerprint:n,trusted:!1,reason:"invalid_provenance",...ea(void 0,t)}:e.provenance.source_kind==="local_mutation"&&i===void 0?{fingerprint:n,trusted:!0,reason:"local_mutation",...ea(void 0,t)}:e.provenance.source_kind==="local_mutation"&&i!==void 0&&i===t?{fingerprint:n,trusted:!0,reason:"local_source_ref",source_ref:i,current_source_ref:t}:o?{fingerprint:n,trusted:!0,reason:"acknowledged",...ea(i,t)}:{fingerprint:n,trusted:!1,reason:"foreign_source_ref",...ea(i,t)}}async function zE(e,t,r){let n=await X2(e);return t.map(i=>eH(i,r,n))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8cca9707-86a7-5ab5-8c7b-92be560254d0")}catch{}})();async function HE(e){return e.includeBody?hn(e.pmRoot,e.settings.item_format,e.typeToFolder,e.warnings,e.settings.schema,{forceSourceScan:!0}):So(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]="6322c4ff-92bd-59e5-aa64-ef8d3ef4b57f")}catch{}})();var tH=5;async function rH(e,t){let r=t.hashMismatches.filter(o=>o!==we);if(r.length===0)return;let n=await X(e),i=ce(n,V());for(let o of r){let a=await ie(e,o,n.locks.ttl_seconds,"history-drift-read",!1,!0,n.locks.wait_ms);try{let s=await Se(e,o,n.id_prefix,n.item_format,i.type_to_folder);if(s===null)throw new g(`Item ${o} not found`,_.NOT_FOUND,{code:"item_not_found",required:"Repeat validation after writers finish; each item-hash discrepancy requires readable canonical source."});let{document:c}=await ze(s,{schema:n.schema});if(c.metadata.id!==o)throw new g(`Item identity changed while validating ${o}`,_.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical item identity and validate storage integrity before retrying history validation."});let l=await Ew(e,{...c.metadata,body:c.body});for(let u of["missingStreams","unreadableStreams","hashMismatches","chainMismatches","versionSkews","driftedItems"])t[u]=[...t[u].filter(m=>m!==o),...l[u].filter(m=>m===o)].sort((m,p)=>m.localeCompare(p));let d=[...(t.identityDiscontinuities??[]).filter(u=>u.item_id!==o),...(l.identityDiscontinuities??[]).filter(u=>u.item_id===o)];d.length>0?t.identityDiscontinuities=d:delete t.identityDiscontinuities}finally{await a()}}}async function qE(e,t,r){let n=await wn(e,t);await rH(e,n);let i=[["validate_history_drift_missing_streams",n.missingStreams.length],["validate_history_drift_unreadable_streams",n.unreadableStreams.length],["validate_history_drift_hash_mismatches",n.hashMismatches.length],["validate_history_drift_chain_mismatches",n.chainMismatches.length],["validate_history_drift_version_skews",n.versionSkews.length],["validate_history_drift_workspace_state_mismatches",n.workspaceStateMismatches.length],["validate_history_drift_workspace_state_missing",n.workspaceStateMissing.length],["validate_history_drift_workspace_state_unreadable",n.workspaceStateUnreadable.length]].filter(([,c])=>c>0).map(([c,l])=>`${c}:${l}`),o=r?Number.POSITIVE_INFINITY:tH,a=n.driftedItems.slice(0,o),s=n.identityDiscontinuities??[];return{check:{name:"history_drift",status:s.length>0?"error":i.length===0?"ok":"warn",ok:s.length===0&&i.length===0,details:{identity_discontinuities:s.slice(0,o),identity_discontinuities_count:s.length,identity_discontinuities_truncated:s.length>o,checked_items:t.length,drifted_items_count:n.driftedItems.length,drifted_items:a,drifted_items_truncated:a.length<n.driftedItems.length,counts:{missing_streams:n.missingStreams.length,unreadable_streams:n.unreadableStreams.length,hash_mismatches:n.hashMismatches.length,chain_mismatches:n.chainMismatches.length,version_skews:n.versionSkews.length,workspace_state_mismatches:n.workspaceStateMismatches.length,workspace_state_missing:n.workspaceStateMissing.length,workspace_state_unreadable:n.workspaceStateUnreadable.length},workspace_state_mismatches:n.workspaceStateMismatches,workspace_state_missing:n.workspaceStateMissing,workspace_state_unreadable:n.workspaceStateUnreadable,version_skews:n.versionSkews.slice(0,o)}},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]="3caaa82b-d8c7-5bc4-94e5-6699da27fa3c")}catch{}})();function Cp(e,t){let r=e[0];if(e.length===1)return[r,r];let n=new Set(e),i=[r],o=new Set([r]),a=s=>{for(let c of(t.get(s)??[]).filter(l=>n.has(l))){if(c===r&&i.length>1)return i.push(r),!0;if(!o.has(c)){if(o.add(c),i.push(c),a(c))return!0;i.pop(),o.delete(c)}}return!1};return a(r)?[...i]:[...e,r]}function nH(e,t){if(typeof e!="string")return;let r=e.trim().toLowerCase();return r.length>0?t.get(r):void 0}function iH(e,t,r,n){for(let i of e.dependencies??[]){if(typeof i!="object"||i===null||typeof i.id!="string")continue;let o=n.resolve(i.kind);if(!o?.hierarchy)continue;let a=r.get(i.id.toLowerCase());a&&(o.hierarchyDirection==="source_parent"?t.get(a).push(e.id):t.get(e.id).push(a))}}function GE(e,t=dr()){let r=new Map(e.map(i=>[i.id.toLowerCase(),i.id])),n=new Map(e.map(i=>[i.id,[]]));for(let i of[...e].sort((o,a)=>o.id.localeCompare(a.id))){let o=n.get(i.id),a=nH(i.parent,r);a&&o.push(a),iH(i,n,r,t)}for(let[i,o]of n)n.set(i,[...new Set(o)].sort());return n}function BE(e,t,r=dr()){let n=Jo(e,a=>t?qc(a,t):a==="closed"||a==="canceled",r),i=GE(e,r),o=n.cycles.map(a=>a.item_ids);return{cycle_count:o.length,active_cycle_count:n.cycles.filter(a=>!a.legacy_terminal).length,legacy_cycle_count:n.cycles.filter(a=>a.legacy_terminal).length,cycle_item_ids:[...new Set(o.flat())].sort(),cycle_sample_paths:o.map(a=>Cp(a,i).join("->")),cardinality_violation_count:n.cardinality_violations.length,active_cardinality_violation_count:n.cardinality_violations.filter(a=>!a.legacy_terminal).length,legacy_cardinality_violation_count:n.cardinality_violations.filter(a=>a.legacy_terminal).length,cardinality_violation_rows:n.cardinality_violations.map(a=>`${a.child_id}:${a.parent_ids.join(",")}:${a.legacy_terminal?"legacy":"active"}`),parent_divergence_count:n.divergences.length,active_parent_divergence_count:n.divergences.filter(a=>!a.legacy_terminal).length,legacy_parent_divergence_count:n.divergences.filter(a=>a.legacy_terminal).length,parent_divergence_rows:n.divergences.map(a=>`${a.child_id}:scalar=${a.scalar_parent_id}:dependencies=${a.dependency_parent_ids.join(",")}:${a.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]="f2840c80-38f5-5563-b2c0-ef5596cf8f62")}catch{}})();function jr(e){return e.replaceAll("\\","/").replace(/^\.\/+/,"").replace(/^\/+/,"")}function Op(e){return jr(e).replace(/\/+$/,"")}function Gt(e){let t=ue(e);if(!t)return;let r=t.toLowerCase();if(!(r==="none"||r==="null"||r==="n/a"||r==="na"))return t}function xp(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]="9b5e620c-ce82-5e2d-9866-2de6882bbb0c")}catch{}})();var cH=["src","tests","docs"],lH=["README.md","PRD.md","CHANGELOG.md","AGENTS.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","LICENSE"],dH=new Set(["node_modules",".git",".cursor",".agents","dist","coverage"]),uH=["resolution","expected_result","actual_result"],mH=["default","tracked-all","tracked-all-strict"],WE=["core","strict","custom"],bc=["off","warn","error"],Dp=["author","acceptance_criteria","estimated_minutes","close_reason"],YE=[...Dp,"reviewer","risk","confidence","sprint","release"],Pp=Array.from(new Set(YE)),pH={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"},fH={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"},_H={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"},gH={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"},hH={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"},yH=32*1024*1024,wH=1e4,Lp=40,It=5,bH=4096,vH=255,kH=sH(aH);function XE(e){let t={};for(let[r,n]of Object.entries(e))Array.isArray(n)||n===!1&&r.endsWith("_truncated")||(t[r]=typeof n=="object"&&n!==null?XE(n):n);return t}function EH(e){return{...e,checks:e.checks.map(t=>({...t,details:XE(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 kc(e,t){return Ot(e,t)??e}function ta(e,t){return t.terminal_statuses.has(kc(e,t))}function Ur(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function yc(e,t){return e.length!==t.length?!1:e.every((r,n)=>r===t[n])}function SH(e){let t=Ur(Dc),r={blocked_reason:Ur(zr.blocked_reason),resolution:Ur(zr.resolution),actual_result:Ur(zr.actual_result)},n=Ur(e.validation.lifecycle_stale_blocker_reason_patterns),i={blocked_reason:Ur(e.validation.lifecycle_closure_like_blocked_reason_patterns),resolution:Ur(e.validation.lifecycle_closure_like_resolution_patterns),actual_result:Ur(e.validation.lifecycle_closure_like_actual_result_patterns)};return{stale_blocker_reason_patterns:n,stale_blocker_reason_pattern_source:yc(n,t)?"default":"settings",closure_like_metadata_field_patterns:i,closure_like_metadata_field_pattern_sources:{blocked_reason:yc(i.blocked_reason,r.blocked_reason)?"default":"settings",resolution:yc(i.resolution,r.resolution)?"default":"settings",actual_result:yc(i.actual_result,r.actual_result)?"default":"settings"}}}function TH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"core";if(WE.includes(t))return t;throw new g(`Unknown --metadata-profile value "${e}". Supported values: ${WE.join(", ")}.`,_.USAGE)}function AH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(bc.includes(t))return t;throw new g(`Unknown --dependency-cycle-severity value "${e}". Supported values: ${bc.join(", ")}.`,_.USAGE)}function IH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(bc.includes(t))return t;throw new g(`Unknown --parent-cycle-severity value "${e}". Supported values: ${bc.join(", ")}.`,_.USAGE)}function CH(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase().replaceAll("-","_")))].map(t=>pH[t]).filter(t=>t!==void 0).sort((t,r)=>t.localeCompare(r))}function OH(e,t,r){let n=CH(r);return e==="core"?{profile:e,profile_source:t,required_fields:[...Dp],configured_custom_fields:n,fallback_to_core:!1,warnings:[]}:e==="strict"?{profile:e,profile_source:t,required_fields:[...YE],configured_custom_fields:n,fallback_to_core:!1,warnings:[]}:n.length>0?{profile:e,profile_source:t,required_fields:n,configured_custom_fields:n,fallback_to_core:!1,warnings:[]}:{profile:e,profile_source:t,required_fields:[...Dp],configured_custom_fields:n,fallback_to_core:!0,warnings:["validate_metadata_custom_profile_missing_required_fields:0"]}}var xH=new Set(["acceptance_criteria","estimated_minutes"]);function RH(e,t,r,n){return!n&&xH.has(t)&&ta(e.status,r)?!1:t==="author"?!ue(e.author):t==="acceptance_criteria"?!ue(e.acceptance_criteria):t==="estimated_minutes"?!Number.isFinite(e.estimated_minutes):t==="close_reason"?kc(e.status,r)===r.close_status&&!ue(e.close_reason):t==="reviewer"?!ue(e.reviewer):t==="risk"?!ue(e.risk):t==="confidence"?typeof e.confidence=="number"?!Number.isFinite(e.confidence):!ue(e.confidence):t==="sprint"?!ue(e.sprint):!ue(e.release)}function NH(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: ${mH.join(", ")}.`,_.USAGE)}function DH(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim();if(t)return tt.resolve(t);let r=tt.resolve(e);if(r.replaceAll("\\","/").endsWith("/.agents/pm"))return tt.dirname(tt.dirname(r));let n=tt.resolve(process.cwd()),i=VE(r),o=VE(n),a=tt.relative(i,o);return a.length===0||!a.startsWith("..")&&!tt.isAbsolute(a)?r:n}function VE(e){try{return oH.native(e)}catch{return tt.resolve(e)}}function PH(e,t){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"&&t.includes(e.code)}async function ZE(e,t,r){let n=t.length>0?tt.join(e,t):e,i;try{i=await $p.readdir(n,{withFileTypes:!0})}catch(o){if($(o))return;throw o}for(let o of i){if(o.name.startsWith("."))continue;let a=t.length>0?tt.join(t,o.name):o.name;if(o.isDirectory()){if(dH.has(o.name))continue;await ZE(e,a,r);continue}o.isFile()&&r.push(jr(a))}}async function KE(e){let t=[];for(let r of cH)await ZE(e,r,t);for(let r of lH){let n=tt.join(e,r);try{(await $p.stat(n)).isFile()&&t.push(jr(r))}catch{}}return[...new Set(t)].sort((r,n)=>r.localeCompare(n))}async function LH(e){try{let{stdout:t}=await kH("git",["ls-files","-z"],{cwd:e,encoding:"utf8",maxBuffer:yH,windowsHide:!0,timeout:wH}),r=t.split("\0").map(n=>jr(n)).filter(n=>n.length>0);return[...new Set(r)].sort((n,i)=>n.localeCompare(i))}catch{return null}}function MH(e,t){let r=new Set,n=Op(Tn);n.length>0&&r.add(n);let i=Op(tt.relative(t,e));return i.length>0&&!i.startsWith("..")&&r.add(i),[...r].sort((o,a)=>o.localeCompare(a))}function JE(e,t){for(let r of t)if(e===r||e.startsWith(`${r}/`))return!0;return!1}async function $H(e,t){if(t==="tracked-all"||t==="tracked-all-strict"){let n=await LH(e);if(n)return{requestedMode:t,appliedMode:t,source:"tracked-git",candidateFiles:n,candidateTotal:n.length,candidateScanned:n.length};let i=await KE(e);return{requestedMode:t,appliedMode:"default",source:"tracked-all-fallback-default",candidateFiles:i,candidateTotal:i.length,candidateScanned:i.length}}let r=await KE(e);return{requestedMode:t,appliedMode:"default",source:"default-curated",candidateFiles:r,candidateTotal:r.length,candidateScanned:r.length}}function fe(e,t=It){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function En(e,t){if(t)return{values:e,truncated:!1,total:e.length};let r=fe(e,Lp);return{values:r.values,truncated:r.truncated,total:e.length}}var FH={resolution:"--resolution",expected_result:"--expected-result",actual_result:"--actual-result"},jH={resolution:"Describe how this item was resolved",expected_result:"Describe the expected result",actual_result:"Describe the actual result"};function UH(e){let t=e.missing_fields.map(r=>`${FH[r]} "${jH[r]}"`).join(" ");return`pm update ${e.id} ${t} --message "Backfill resolution metadata"`}function zH(e,t){let r=e.details?.missing_resolution_remediation_hints,n=Array.isArray(r)&&r.length>0,i=n?r.filter(a=>typeof a=="string"):Sb(t);if(i.length===0)return;let o=n&&e.details?.missing_resolution_remediation_hints_truncated===!0;e.details={...e.details,fix_hints:i,...o?{fix_hints_truncated:!0}:{}}}function HH(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 qH="validate_metadata_duplicate_issue_codes";function GH(e,t){if(e.length===0)return{rows:[],truncated:!1,warnings:[]};let r=t?e.length:It,n=e.slice(0,r);return{rows:n.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:n.length<e.length,warnings:[`${qH}:${e.length}`]}}function BH(e,t,r){let n=Object.fromEntries(Pp.map(i=>[i,[]]));for(let i of e)for(let o of Pp)RH(i,o,t,r)&&n[o].push(i.id);return n}function WH(e,t,r){let n=[...e.warnings];for(let i of e.required_fields){let o=t[i];o.length>0&&n.push(`${fH[i]}:${o.length}`)}return n.push(...r),n}function VH(e,t){let r={};for(let n of e.required_fields){let i=t[n],o=i?i.length:0,a=_H[n];r[a]=o}return r}function KH(e,t,r){let n=[];for(let i of e.required_fields){let o=t[i];if(o)for(let a of o){let s=r.get(a)?.type,c=typeof s=="string"&&s.length>0?s:"Unknown";n.push({item_type:c,field:i})}}return n}function JH(e,t,r,n){for(let i of t.required_fields){let o=r[i];if(!o||o.length===0)continue;let a=gH[i],s=hH[i];if(!a||!s)continue;let c=fe(o,n?o.length:It);e[a]=c.values,e[s]=c.truncated}}function YH(e,t,r){if(!e.required_fields.includes("close_reason"))return[];let n=t.close_reason;return n?n.map(i=>({id:i,resolution:ue(r.get(i)?.resolution)})):[]}function XH(e,t,r){if(!e.required_fields.includes("estimated_minutes"))return[];let n=t.estimated_minutes;return n?n.map(i=>({id:i,type:ue(r.get(i)?.type)})):[]}function ZH(e,t,r,n,i){let o=new Map(e.map(b=>[b.id,b])),a=t.profile==="strict",s=BH(e,r,a),c=hE(e,{configuredPrefixes:i}),l=GH(c,n),d=WH(t,s,l.warnings),u=VH(t,s),m=KH(t,s,o),p=yE(m),f={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:[...Pp],counts:u,missing_by_type:p,duplicate_issue_codes_count:c.length,duplicate_issue_codes:l.rows,duplicate_issue_codes_truncated:l.truncated};t.configured_custom_fields.length>0&&(f.configured_custom_required_fields=[...t.configured_custom_fields]),JH(f,t,s,n);let w=YH(t,s,o),h=XH(t,s,o);return{check:{name:"metadata",status:d.length===0?"ok":"warn",ok:d.length===0,details:f},warnings:d,closeReasonBackfillRows:w,estimateBackfillRows:h}}function QH(e,t,r){let n=new Set(t.terminal_done_statuses);n.add(t.close_status);let i=e.filter(m=>n.has(kc(m.status,t))),o=[],a=[];for(let m of i){let p=uH.filter(f=>!ue(m[f]));p.length!==0&&(o.push({id:m.id,missing_fields:p}),a.push({id:m.id,missing_fields:p,close_reason:ue(m.close_reason)}))}let s=o.length>0?[`validate_resolution_missing_fields:${o.length}`]:[],c=r?Number.POSITIVE_INFINITY:It,l=fe(o.map(m=>`${m.id}:${m.missing_fields.join(",")}`),c),d=o.map(m=>UH(m)),u=fe(d,c);return{check:{name:"resolution",status:s.length===0?"ok":"warn",ok:s.length===0,details:{checked_closed_items:i.length,missing_resolution_items:o.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:s,resolutionBackfillRows:a}}function eq(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function tq(e,t="pm",r=Gr()){let n=new Set(e.map(o=>o.id)),i=[...e].sort((o,a)=>o.id.localeCompare(a.id));return new Map(i.map(o=>{let a=new Set,s=Gt(o.blocked_by);s&&n.has(s)&&a.add(s),(o.dependencies??[]).filter(l=>{let d=Gt(l.kind);return d!==void 0&&r.resolve(d)?.ordering===!0}).map(l=>Gt(l.id)).filter(l=>l!==void 0&&n.has(l)).forEach(l=>a.add(l));let c=Gt(o.definition_of_ready);return nq(c??"",t).filter(l=>n.has(l)).forEach(l=>a.add(l)),[o.id,[...a].sort((l,d)=>l.localeCompare(d))]}))}function rq(e,t,r){let n=Wk(e,r?d=>ta(d,r):void 0),i=n.active.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}`),o=n.legacy_terminal.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}:${d.holder_status}`),a=t?Number.POSITIVE_INFINITY:It,s=fe(i,a),c=fe(o,a),l=fe(n.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>'`),a);return{check:{name:"dependency_references",status:i.length===0?"ok":"warn",ok:i.length===0,details:{checked_items:e.length,dangling_reference_count:i.length+o.length,active_dangling_reference_count:i.length,dangling_reference_rows:s.values,dangling_reference_rows_truncated:s.truncated,legacy_terminal_dangling_reference_count:o.length,legacy_closed_dangling_reference_count:n.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:n.no_active_blocker_sentinels.length,remediation_hints:l.values,remediation_hints_truncated:l.truncated}},warnings:i.length>0?[`validate_dangling_dependency_references:${i.length}`]:[]}}function nq(e,t="pm"){let r=(t.trim().toLowerCase()||"pm").replace(/-+$/g,""),n=new RegExp(`(?:^|[^a-z0-9-])(${eq(r)}-[a-z0-9][a-z0-9-]*)`,"gi");return[...new Set([...e.matchAll(n)].map(i=>i[1].toLowerCase()))].sort((i,o)=>i.localeCompare(o))}function iq(e){let t=0,r=new Map,n=new Map,i=[],o=new Set,a=[],s=l=>{r.set(l,t),n.set(l,t),t+=1,i.push(l),o.add(l);for(let u of e.get(l)??[])r.has(u)?o.has(u)&&n.set(l,Math.min(n.get(l),r.get(u))):(s(u),n.set(l,Math.min(n.get(l),n.get(u))));if(n.get(l)!==r.get(l))return;let d=[];for(;i.length>0;){let u=i.pop();if(o.delete(u),d.push(u),u===l)break}d.sort((u,m)=>u.localeCompare(m)),a.push(d)},c=[...e.keys()].sort((l,d)=>l.localeCompare(d));for(let l of c)r.has(l)||s(l);return a.filter(l=>{if(l.length>1)return!0;let d=l[0];return(e.get(d)??[]).includes(d)}).sort((l,d)=>l[0].localeCompare(d[0])||l.length-d.length||l.join(",").localeCompare(d.join(",")))}function oq(e,t="pm"){let r=tq(e,t),n=iq(r),i=[...new Set(n.flat())].sort((a,s)=>a.localeCompare(s)),o=n.map(a=>Cp(a,r).join("->"));return{cycle_count:n.length,cycle_item_ids:i,cycle_sample_paths:o}}function aq(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 vc(e){let t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function sq(e,t){let r=vc(e).split("/").filter(Boolean),n=vc(t).split("/").filter(Boolean),i=0;for(;i<r.length&&i<n.length&&r[i]===n[i];)i+=1;return i}function cq(e,t){let r=vc(t),n=vc(e),i=t.endsWith("/")?t:`${t}/`,o=e.startsWith(i),a=r.length>0&&r===n,s=sq(e,t);return!o&&!a&&s===0?null:o?{score:t.length+1e3,confidence:"path_prefix"}:a?{score:s+500,confidence:"same_directory"}:{score:s,confidence:"shared_directory"}}function lq(e,t,r){return e===void 0||r>e.score||r===e.score&&t.id.localeCompare(e.item.id)<0}function dq(e,t,r){let n=t==="docs_unowned"?"docs":"files",i;return r.flatMap(o=>(n==="docs"?o.docs??[]:o.files??[]).map(a=>({item:o,link:a}))).forEach(({item:o,link:a})=>{if(a.scope!=="project")return;let s=jr(a.path);if(s.length===0||s===e)return;let c=cq(e,s);c!==null&&lq(i,o,c.score)&&(i={item:o,score:c.score,confidence:c.confidence})}),i?{id:i.item.id,type:i.item.type,title:i.item.title,status:i.item.status,confidence:i.confidence}:null}function uq(e,t){return e.map(r=>{let n=aq(r),i=n==="docs_unowned"?"docs":"files",o=dq(r,n,t),a=o?.id??"<id>";return{path:r,classification:n,owner_candidate:o,remediation_hint:`pm ${i} ${a} --add path=${r},scope=project,note="<why this artifact belongs to the item>"`}})}function mq(e){return e.map(t=>`${t.path}:${t.classification} owner_candidate=${t.owner_candidate?.id??"unowned"} hint=${JSON.stringify(t.remediation_hint)}`)}function pq(e,t){return Object.entries(t.closure_like_metadata_field_patterns).filter(([r,n])=>{let i=Gt(e[r]);return i?n.some(o=>i.toLowerCase().includes(o)):!1}).map(([r])=>r).sort((r,n)=>r.localeCompare(n))}function fq(e,t,r,n,i){let o=Gt(t.parent),a=o?r.get(n.get(o.toLowerCase())??o):void 0;return{id:e.id,parent_id:t.id,grandparent_id:a?.id,grandparent_active:a!==void 0&&!ta(a.status,i)}}function _q(e,t,r,n){let i=Gt(e.blocked_by),o=Gt(e.blocked_reason),a=o?.toLowerCase(),s=kc(e.status,r),c=[];return t.has(s)?(!i&&!o&&c.push("blocked_status_missing_blocker_context"),a?.includes("no active blocker")&&c.push("blocked_status_reason_reports_no_active_blocker"),a&&n.stale_blocker_reason_patterns.some(l=>a.includes(l))&&c.push("blocked_status_reason_matches_stale_pattern"),c):(i&&c.push("non_blocked_status_has_blocked_by"),o&&c.push("non_blocked_status_has_blocked_reason"),c)}function gq(e,t,r,n){let i=new Map(e.map(c=>[c.id,c])),o=new Map(e.map(c=>[c.id.toLowerCase(),c.id])),a=r.blocked_statuses.size>0?r.blocked_statuses:new Set(["blocked"]),s={activeItems:e.filter(c=>!ta(c.status,r)),closureLikeRows:[],terminalParentRows:[],terminalParentFixRows:[],staleBlockerRows:[]};for(let c of s.activeItems){let l=pq(c,n);l.length>0&&s.closureLikeRows.push({id:c.id,fields:l});let d=Gt(c.parent),u=d?i.get(o.get(d.toLowerCase())??d):void 0;if(u&&ta(u.status,r)&&(s.terminalParentRows.push({id:c.id,parent_id:u.id,parent_status:u.status}),s.terminalParentFixRows.push(fq(c,u,i,o,r))),t){let m=_q(c,a,r,n);m.length>0&&s.staleBlockerRows.push({id:c.id,status:c.status,reasons:[...new Set(m)].sort((p,f)=>p.localeCompare(f))})}}return s}function hq(e){e.closureLikeRows.sort((t,r)=>t.id.localeCompare(r.id)),e.terminalParentRows.sort((t,r)=>t.id.localeCompare(r.id)||t.parent_id.localeCompare(r.parent_id)),e.terminalParentFixRows.sort((t,r)=>t.id.localeCompare(r.id)||t.parent_id.localeCompare(r.parent_id)),e.staleBlockerRows.sort((t,r)=>t.id.localeCompare(r.id))}function wc(e,t,r){return r<=0||t==="off"?null:`${t==="error"?`${e}_error`:e}:${r}`}function Rp(e,t,r){return r>0&&t!=="off"?`${e}:${r}`:null}function yq(e,t,r,n,i){let o=[];e.closureLikeRows.length>0&&o.push(`validate_lifecycle_active_closure_like_metadata:${e.closureLikeRows.length}`),e.terminalParentRows.length>0&&o.push(`validate_lifecycle_active_terminal_parent:${e.terminalParentRows.length}`),t&&e.staleBlockerRows.length>0&&o.push(`validate_lifecycle_stale_blockers:${e.staleBlockerRows.length}`);let a=wc("validate_lifecycle_dependency_cycles",r,i.dependencyCycles),s=wc("validate_hierarchy_parent_cycle",n,i.activeHierarchyCycles),c=wc("validate_hierarchy_cardinality_violation",n,i.activeHierarchyCardinality),l=wc("validate_hierarchy_parent_divergence",n,i.activeHierarchyDivergence),d=Rp("validate_legacy_hierarchy_parent_cycle",n,i.legacyHierarchyCycles),u=Rp("validate_legacy_hierarchy_cardinality_violation",n,i.legacyHierarchyCardinality),m=Rp("validate_legacy_hierarchy_parent_divergence",n,i.legacyHierarchyDivergence);return[...o,...a?[a]:[],...s?[s]:[],...c?[c]:[],...l?[l]:[],...d?[d]:[],...u?[u]:[],...m?[m]:[]]}function wq(e){let t=jr(e);return t.length>bH||t.split(/[\\/]/).some(r=>r.length>vH)}async function bq(e,t){let r=tt.isAbsolute(t)?t:tt.resolve(e,t);if(wq(r))return!1;try{let n=await $p.stat(r);return!n.isFile()&&!n.isDirectory()}catch(n){return PH(n,["ENOENT","ENOTDIR"])}}async function vq(e,t){let r={linkedProjectPaths:new Set,remoteLinkedPaths:new Set,missingLinkedPaths:[],staleLinkRows:[]},n=e.flatMap(i=>[...(i.files??[]).map(o=>({item:i,artifact:o,link_kind:"files"})),...(i.docs??[]).map(o=>({item:i,artifact:o,link_kind:"docs"}))]);for(let{item:i,artifact:o,link_kind:a}of n){if(o.scope!=="project")continue;if(Zo(o.path)){r.remoteLinkedPaths.add(o.path.trim());continue}let s=jr(o.path);s.length!==0&&(r.linkedProjectPaths.add(s),await bq(t,o.path)&&(r.missingLinkedPaths.push(s),r.staleLinkRows.push({item_id:i.id,path:s,link_kind:a})))}return r}function kq(e,t,r,n,i,o){let a=n==="tracked-all-strict",s=a&&!i,c=i||a,l=c?[]:MH(t,r),d=l.length===0?[]:e.candidateFiles.filter(p=>JE(p,l)),u=l.length===0?e.candidateFiles:e.candidateFiles.filter(p=>!JE(p,l)),m={};if(d.length>0){let p=En(d,o);m.pm_internals={count:d.length,paths:p.values,paths_truncated:p.truncated,paths_total:p.total}}return{strictTrackedAllMode:a,strictModeForcesPmInternals:s,includePmInternalsEffective:c,pmInternalCandidatePrefixes:l,excludedPmInternalPaths:d,candidateFiles:u,excludedByReason:m}}function Eq(e,t,r,n,i,o,a,s="pm"){let c=gq(e,t,i,o);hq(c);let l=oq(c.activeItems,s),d=BE(e,i),u=mc(i,e,a?Number.POSITIVE_INFINITY:It),m=[...yq(c,t,r,n,{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}),...pc(u)],p=a?Number.POSITIVE_INFINITY:It,f=fe(c.closureLikeRows.map(D=>`${D.id}:${D.fields.join(",")}`),p),w=fe(c.terminalParentRows.map(D=>`${D.id}:${D.parent_id}:${D.parent_status}`),p),h=fe(c.staleBlockerRows.map(D=>`${D.id}:${D.status}:${D.reasons.join(",")}`),p),b=fe(l.cycle_item_ids,p),v=fe(l.cycle_sample_paths,p),I=fe(d.cycle_item_ids,p),A=fe(d.cycle_sample_paths,p),C=fe(d.cardinality_violation_rows,p),P=fe(d.parent_divergence_rows,p),S=l.cycle_count>0&&r==="error"||(d.active_cycle_count>0||d.active_cardinality_violation_count>0||d.active_parent_divergence_count>0)&&n==="error";return{check:{name:"lifecycle",status:S?"error":m.length===0?"ok":"warn",ok:!S&&m.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:f.values,active_closure_like_metadata_rows_truncated:f.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:r,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:n,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:P.values,hierarchy_parent_divergence_rows_truncated:P.truncated,stale_blocker_reason_patterns:[...o.stale_blocker_reason_patterns],stale_blocker_reason_pattern_source:o.stale_blocker_reason_pattern_source,closure_like_blocked_reason_patterns:[...o.closure_like_metadata_field_patterns.blocked_reason],closure_like_blocked_reason_pattern_source:o.closure_like_metadata_field_pattern_sources.blocked_reason,closure_like_resolution_patterns:[...o.closure_like_metadata_field_patterns.resolution],closure_like_resolution_pattern_source:o.closure_like_metadata_field_pattern_sources.resolution,closure_like_actual_result_patterns:[...o.closure_like_metadata_field_patterns.actual_result],closure_like_actual_result_pattern_source:o.closure_like_metadata_field_pattern_sources.actual_result}},warnings:m,terminalParentFixRows:c.terminalParentFixRows}}async function Sq(e,t,r,n,i,o,a=ut(_e.schema)){let s=await vq(e,t),c=new Map(e.map(O=>[O.id,O])),l=[...new Set(s.missingLinkedPaths)].sort((O,de)=>O.localeCompare(de)),d=await $H(t,n),u=kq(d,r,t,n,i,o),m=u.candidateFiles.filter(O=>!s.linkedProjectPaths.has(O)),p=uq(m,e),f=bE(l,u.candidateFiles),w=new Map(f.map(O=>[O.path,O.classification])),h=f.filter(O=>O.classification==="moved").length,b=s.staleLinkRows.map(O=>({...O,classification:w.get(O.path)??"deleted"})).sort((O,de)=>O.item_id.localeCompare(de.item_id)||O.path.localeCompare(de.path)||O.link_kind.localeCompare(de.link_kind)),v=[];u.strictModeForcesPmInternals&&v.push("validate_files_tracked_all_strict_forces_pm_internals"),m.length>0&&v.push(`validate_files_orphaned_paths:${m.length}`);let I=[...s.remoteLinkedPaths].sort((O,de)=>O.localeCompare(de)),A=En(I,o),C=En(l,o),P=En(m,o),S=En(p.map(O=>`${O.path}:${O.classification}:owner_candidate=${O.owner_candidate?.id??"unowned"}`),o),D=o?p:En(mq(p),!1).values,z=En(vE(f),o),E=SE(b,f,O=>c.get(O),a,o?1/0:Lp);return E.active_missing_linked_paths_count>0&&v.push(`validate_files_missing_linked_paths:${E.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:o?"full":"summary",file_list_summary_limit:Lp,candidate_scan_source:d.source,include_pm_internals:u.includePmInternalsEffective,include_pm_internals_requested:i,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:s.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:f.filter(O=>O.classification==="deleted").length,missing_linked_paths_malformed_count:f.filter(O=>O.classification==="malformed").length,missing_linked_path_classifications:z.values,missing_linked_path_classifications_truncated:z.truncated,...E,orphaned_paths_count:m.length,orphaned_paths_total:P.total,orphaned_paths:P.values,orphaned_paths_truncated:P.truncated,orphaned_path_classifications:S.values,orphaned_path_classifications_truncated:S.truncated,orphaned_path_rows_count:p.length,orphaned_path_rows:D}},warnings:v,staleLinkPruneRows:b}}function Tq(e,t){let r=[];return e.forEach(({item:n,linkedTest:i},o)=>{let a=t[o];if(a.trusted)return;let s=xp(i.command??"");r.push(`${n.id}:${a.source_ref??"unknown"}->${a.current_source_ref??"unknown"}:${s}`)}),r}async function Aq(e,t,r,n){let i=new Set(e.map(C=>C.id.toLowerCase())),o=0,a=0,s=new Set,c=[],l=e.flatMap(C=>(C.tests??[]).map(P=>({item:C,linkedTest:P}))),d=await jE(UE()),u=await zE(n,l.map(({linkedTest:C})=>C),d),m=Tq(l,u);for(let{item:C,linkedTest:P}of l){if(typeof P.command!="string"||P.command.trim().length===0)continue;o+=1;let S=ME(P.command,t);if(S.length!==0){a+=S.length;for(let D of S)s.add(D),i.has(D.toLowerCase())||c.push(`${C.id}:${D}:${xp(P.command)}`)}}let p=[...new Set(c)].sort((C,P)=>C.localeCompare(P)),f=[...new Set(p.map(C=>C.split(":")[1]??""))].filter(C=>C.length>0).sort((C,P)=>C.localeCompare(P)),w=[];p.length>0&&w.push(`validate_command_references_stale_pm_ids:${p.length}`),m.length>0&&w.push(`validate_linked_test_trust_unacknowledged:${m.length}`);let h=r?Number.POSITIVE_INFINITY:It,b=fe(p,h),v=fe(f,h),I=fe([...s].sort((C,P)=>C.localeCompare(P)),h),A=fe(m,h);return{check:{name:"command_references",status:w.length===0?"ok":"warn",ok:w.length===0,details:{checked_items:e.length,linked_commands_scanned:o,referenced_pm_ids_count:a,unique_referenced_pm_ids_count:s.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:m.length,untrusted_linked_tests:A.values,untrusted_linked_tests_truncated:A.truncated,stale_pm_id_references_count:p.length,stale_pm_ids_count:f.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 r=Ta(e.map(c=>({ref:c.id,version:Rn(c)}))),n=[];r.outdated.length>0&&n.push(`validate_format_version_outdated_items:${r.outdated.length}`),r.ahead.length>0&&n.push(`validate_format_version_ahead_items:${r.ahead.length}`);let i=t?Number.POSITIVE_INFINITY:It,o=fe(r.outdated,i),a=fe(r.ahead,i),s=r.ahead.length>0?"error":r.outdated.length>0?"warn":"ok";return{check:{name:"format_version",status:s,ok:s==="ok",details:{checked_items:e.length,current_format_version:Ei,outdated_items_count:r.outdated.length,outdated_items:o.values,outdated_items_truncated:o.truncated,ahead_items_count:r.ahead.length,ahead_items:a.values,ahead_items_truncated:a.truncated}},warnings:n}}var Mp="pm validate auto-fix";async function Cq(e,t,r){switch(e.kind){case"set_closed_at":await sE(e,t);return;case"set_resolution":case"set_close_reason":case"set_estimate":case"reparent":case"unset_parent":{let n={message:Mp};if(e.kind==="set_resolution"?n.resolution=e.value:e.kind==="set_close_reason"?n.closeReason=e.value:e.kind==="set_estimate"?n.estimatedMinutes=e.value:e.kind==="reparent"?n.parent=e.parent_id:n.unset=["parent"],!r.runUpdate)throw new g("Applying validate metadata/lifecycle fixes requires a runUpdate mutation service.",_.USAGE);await r.runUpdate(e.item_id,n,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 Np(e){return e.kind!=="prune_file_link"&&e.kind!=="prune_doc_link"?null:`${e.kind}:${e.item_id}`}async function Oq(e,t,r){let n=[],i=[],o=new Map;for(let a of e.filter(s=>Np(s)===null))try{await Cq(a,t,r),n.push(a)}catch(s){i.push({fix:a,error:s})}for(let a of e.filter(s=>Np(s)!==null)){let s=Np(a),c=o.get(s);c?c.push(a):o.set(s,[a])}for(let a of o.values()){let s=a[0];if(!s)continue;let c=a.map(l=>l.path).filter(l=>typeof l=="string"&&l.length>0);try{s.kind==="prune_file_link"?await NE(s.item_id,{remove:c,message:Mp},t):await RE(s.item_id,{remove:c,message:Mp},t),n.push(...a)}catch(l){i.push(...a.map(d=>({fix:d,error:l})))}}return{applied:n,failed:i}}function xq(e,t){t>0&&e.push(`merge_receipt_evidence_invalid:${t}`)}async function Rq(e,t,r,n){let i=await AE(e,new Set(t.map(h=>h.id)),r,{schema:n.schema,extensionFieldNames:Et(V())}),o=[];i.unreadable_item_files.length>0&&o.push(`validate_storage_unreadable_items:${i.unreadable_item_files.length}`),i.duplicate_item_ids.length>0&&o.push(`validate_storage_duplicate_item_ids:${i.duplicate_item_ids.length}`),i.history_conflict_marker_streams.length>0&&o.push(`validate_storage_history_conflict_markers:${i.history_conflict_marker_streams.length}`),i.history_unparseable_streams.length>0&&o.push(`validate_storage_unparseable_history:${i.history_unparseable_streams.length}`),i.resurrected_items.length>0&&o.push(`validate_storage_resurrected_items:${i.resurrected_items.length}`),i.unparseable_config_files.length>0&&o.push(`validate_storage_unparseable_config:${i.unparseable_config_files.length}`);let a=o.length,s=await sc(e);s.tracked_path_count>0&&o.push(`validate_storage_tracked_runtime_cache_files:${s.tracked_path_count}`);let c=await po(e,ri(n));c.status==="drift"&&o.push(`validate_merge_fence_drift:${c.missing_patterns.length+c.stale_patterns.length}`);let l=await At(e),d=l===null?null:await fo(l);d!==null&&d.status!=="ok"&&o.push(`validate_merge_driver_configuration:${d.missing_keys.length+d.drifted_keys.length}`);let u=await kt(l??e,{includeLossless:!0,pmRoot:e}),m=u.receipts,{pendingDecisions:p,lossless:f}=vs(m);p.length>0&&o.push(`validate_merge_decisions_unreviewed:${p.length}`),xq(o,u.invalid_evidence_count);let w=a>0?"error":o.length>0?"warn":"ok";return{check:{name:"storage_integrity",status:w,ok:w==="ok",details:{...i,merge_fence:c,merge_driver_configuration:d,pending_merge_decision_count:p.length,pending_merge_decision_items:[...new Set(p.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),lossless_merge_receipt_count:f.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(f.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),tracked_runtime_cache:{tracker_relative_root:s.tracker_relative_root,tracked_paths:s.tracked_paths,tracked_path_count:s.tracked_path_count,remediation_command:s.remediation_command}}},warnings:o}}function Bt(e,t,r){r&&zH(t.check,t.warnings),e.checks.push(t.check),e.warnings.push(...t.warnings)}async function Nq(e){let t={closureTimestampFixes:[],checks:[],warnings:[...e.initialWarnings],closeReasonBackfillRows:[],estimateBackfillRows:[],resolutionBackfillRows:[],terminalParentFixRows:[],staleLinkPruneRows:[]},r=e.options.fixHints===!0,n=e.options.verboseDiagnostics===!0||e.options.allAffectedIds===!0||e.global.json===!0;if(e.requestedChecks.has("completeness")){let i=await Ik(e.pmRoot,e.items,n?1/0:It,e.sourceIncomplete);Bt(t,i,r)}if(e.requestedChecks.has("metadata")){let i=ZH(e.items,e.metadataPolicy,e.statusRegistry,n,[e.settings.id_prefix]);t.closeReasonBackfillRows=i.closeReasonBackfillRows,t.estimateBackfillRows=i.estimateBackfillRows;let o=await aE(e.pmRoot,e.items,e.statusRegistry,e.options.autoFix===!0||r,n?1/0:It);t.closureTimestampFixes=o.fixes,Object.assign(i.check.details,o.details),i.warnings.push(...o.warnings),i.check.ok=i.warnings.length===0,i.check.status=i.check.ok?"ok":"warn",Bt(t,i,r)}if(e.requestedChecks.has("resolution")){let i=QH(e.items,e.statusRegistry,n);t.resolutionBackfillRows=i.resolutionBackfillRows,Bt(t,i,r)}if(e.requestedChecks.has("lifecycle")){let i=Eq(e.items,!!e.options.checkStaleBlockers,e.dependencyCycleSeverity,e.parentCycleSeverity,e.statusRegistry,e.lifecyclePatternPolicy,n,e.settings.id_prefix);t.terminalParentFixRows=i.terminalParentFixRows,Bt(t,i,r),Bt(t,rq(e.items,n,e.statusRegistry),r)}if(e.requestedChecks.has("files")){let i=await Sq(e.items,e.workspaceRoot,e.pmRoot,e.fileScanMode,!!e.options.includePmInternals,!!e.options.verboseFileLists,e.statusRegistry);t.staleLinkPruneRows=i.staleLinkPruneRows,Bt(t,i,r)}return e.requestedChecks.has("command_references")&&Bt(t,await Aq(e.items,e.settings.id_prefix,n,e.pmRoot),r),e.requestedChecks.has("history_drift")&&Bt(t,await qE(e.pmRoot,e.items,n),r),e.requestedChecks.has("format_version")&&Bt(t,Iq(e.items,n),r),e.requestedChecks.has("storage_integrity")&&Bt(t,await Rq(e.pmRoot,e.items,ce(e.settings,V()).type_to_folder,e.settings),r),t}function Dq(e,t,r){let n=[];return e.autoFix===!0&&(n.push(...t.closureTimestampFixes),n.push(...dE(t.closeReasonBackfillRows)),n.push(...lE(t.resolutionBackfillRows)),n.push(...uE(t.estimateBackfillRows,r.validation.estimate_defaults_by_type)),n.push(...mE(t.terminalParentFixRows))),e.pruneMissing===!0&&n.push(...pE(t.staleLinkPruneRows)),n}async function Pq(e,t,r,n,i,o){if(e.autoFix!==!0&&e.pruneMissing!==!0)return;let a=Dq(e,t,r),{applicable:s,gated:c}=_E(a,n),l=e.dryRun===!0,d=[],u=[];if(!l){let m=await Oq(s,i,o);d.push(...m.applied.map(Xo)),u.push(...m.failed.map(({fix:p,error:f})=>({...Xo(p),error:f instanceof Error?f.message:String(f)})))}return{mode:l?"dry_run":"apply",auto_fix:e.autoFix===!0,prune_missing:e.pruneMissing===!0,granted_fix_scopes:[...n].sort((m,p)=>m.localeCompare(p)),planned_count:a.length,applied_count:d.length,gated_count:c.length,failed_count:u.length,planned_fixes:a.map(Xo),applied_fixes:d,gated_fixes:c.map(m=>({...Xo(m),gate_hint:`Withheld: re-run with --fix-scope ${m.gate} to apply.`})),failed_fixes:u}}async function QE(e,t,r={}){Og(e.counts===!0,e.full===!0,"--counts");let n=e.autoFix===!0||e.pruneMissing===!0;if(e.dryRun===!0&&!n)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 i=fE(e.fixScope),o=Z(process.cwd(),t.path);await je(o);let a=await X(o),s=ut(a.schema),c=ce(a,V()),l=HH(e),d=[],u=await HE({includeBody:["history_drift","metadata","completeness"].some(z=>l.has(z)),pmRoot:o,settings:a,typeToFolder:c.type_to_folder,warnings:d}),m=d.length>0;if(l.has("history_drift")){let z=await oc(o);z.actionable_unknown_event_count>0&&d.push(`validate_history_unknown_author_events:${z.actionable_unknown_event_count}`)}let p=typeof e.metadataProfile=="string"?"option":"settings",f=TH(typeof e.metadataProfile=="string"?e.metadataProfile:a.validation.metadata_profile),w=OH(f,p,a.validation.metadata_required_fields),h=SH(a),b=AH(e.dependencyCycleSeverity),v=IH(e.parentCycleSeverity),I=NH(e.scanMode),A=DH(o),C=await Nq({requestedChecks:l,options:e,global:t,pmRoot:o,workspaceRoot:A,settings:a,items:u,statusRegistry:s,metadataPolicy:w,lifecyclePatternPolicy:h,dependencyCycleSeverity:b,parentCycleSeverity:v,fileScanMode:I,initialWarnings:[...new Set(d)],sourceIncomplete:m}),P=n?await Pq(e,C,a,i,t,r):void 0,S=[...new Set(C.warnings)].sort((z,E)=>z.localeCompare(E)),D={ok:!C.checks.some(z=>z.status==="error"),has_warnings:S.length>0,checks:C.checks,warnings:S,...P!==void 0?{fixes:P}:{},generated_at:j(),projection:{mode:"full",declared_field_groups:[{name:"diagnostic_rows",restore_with:"--full"}],included_field_groups:["diagnostic_rows"]}};return e.counts!==!0?D:{...EH(D),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]="9b07f6f1-2c84-583c-afb2-80f219d19863")}catch{}})();var $q=4;function eS(e){let t=e.checks.find(s=>s.name==="integrity"),r=t?.details.counts,n=typeof r=="object"&&r!==null&&!Array.isArray(r)&&typeof r.missing_merge_receipt_history_references=="number"?r.missing_merge_receipt_history_references:0,i=t?.details.missing_merge_receipt_history_reference_details,o=t?.details.missing_merge_receipt_history_reference_details_truncated===!0,a=Array.isArray(i)?i.flatMap(s=>{if(typeof s!="object"||s===null||Array.isArray(s))return[];let c=s;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:n,truncated:o,coordinates:a}}async function Fq(e,t){let r=[];for(let n of t){let i;try{i=await Lq(Mq.join(e,"history",`${n.item_id}.jsonl`),"utf8")}catch{continue}let o=i.split(/\r?\n/)[n.history_line-1];if(o===void 0||o.trim().length===0)continue;let a;try{a=JSON.parse(o)}catch{continue}let s=lc(a,n.item_id).find(c=>c.receiptId===n.receipt_id);s===void 0||!pp(s)||s.eventTimestamp===void 0||ye(s.eventTimestamp,mp)>=0||r.push({...n,original_event_ts:s.eventTimestamp})}return r}async function jq(e){if(e.options.dryRun===!0||e.options.force!==!0||e.candidates.length===0)return 0;let t=new Map;for(let r of e.candidates){let n=t.get(r.item_id)??[];n.push(r),t.set(r.item_id,n)}for(let[r,n]of t)await ar(r,{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:n.map(i=>({receipt_id:i.receipt_id,original_history_line:i.history_line,original_event_ts:i.original_event_ts,reason:"legacy_clone_local_only"}))}}},e.global);return e.candidates.length}async function Uq(e){try{return{status:"fulfilled",value:await ar(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 zq(e){e.results.forEach((t,r)=>{let n=e.receiptOnlyIds[r];if(t.status==="fulfilled"){let i=t.value.changed?"repaired":"skipped_clean";e.repair.streams.push({id:n,outcome:i,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[i]+=1;return}e.repair.streams.push({id:n,outcome:"failed",error:t.reason instanceof Error?t.reason.message:String(t.reason)}),e.repair.totals.failed+=1})}async function Hq(e){if(e.dryRun||e.repair.totals.failed>0)return 0;let t=new Set(e.repair.streams.flatMap(n=>n.merge_receipt_proof?.trusted?n.merge_receipt_proof.receipt_ids:[])),r=e.pendingReceipts.filter(n=>t.has(n.id));return await Promise.all(r.map(n=>so(e.receiptWorkspaceRoot,n,{requireExisting:!0}))),r.length}async function qq(e,t){let r=e.dryRun===!0,n=Z(process.cwd(),t.path),i=await bp(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),o=eS(i),a=await Fq(n,o.coordinates),s=await At(n),c=s??n,l=await kt(c,{includeLossless:!0,pmRoot:n});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 jq({candidates:a,options:e,global:t}),u=l.receipts,m=await $w({cwd:s,receipts:u,dryRun:r,author:e.author,message:e.message,global:t}),p=new Set(m),f=new Map;for(let Y of u.filter(be=>!p.has(be.id))){let be=f.get(Y.item_id)??[];be.push(Y),f.set(Y.item_id,be)}let w=Object.fromEntries([...f].map(([Y,be])=>[Y,{merge:{receipts:be.map(gt)}}])),h=Object.fromEntries([...f].map(([Y,be])=>[Y,{gitWorkspaceRoot:s,receipts:be}])),b=await Mw({dryRun:r,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(Y=>Y.id)),I=[...f.keys()].filter(Y=>!v.has(Y)),A=await Ws(I,$q,Y=>Uq({id:Y,dryRun:r,options:e,global:t,auditContext:w[Y],mergeReceiptProof:h[Y]}));zq({receiptOnlyIds:I,results:A,repair:b});let C=await Hq({dryRun:r,pendingReceipts:u,repair:b,receiptWorkspaceRoot:c}),P=await QE({checkHistoryDrift:!0,checkStorageIntegrity:!0},t),S=d===0?i:await bp(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),D=eS(S),z=P.checks.every(Y=>Y.status==="ok"),E=r?u.length===0:C+m.length===u.length,O=[b.totals.failed===0,z,E,D.count===0,!D.truncated].every(Boolean),de=o.truncated||D.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,Wt=(r?["Review repair.streams, then rerun pm merge reconcile without --dry-run to apply audited repairs.",de,"No Git hook is installed automatically; invoke this command from an explicit post-merge hook only when your repository policy opts in."]:O?["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.",de,...a.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(Y=>Y!==void 0);return{ok:O,dry_run:r,repair:b,receipts:{pending_before:u.length,reconciled:C,abandoned:m.length,summaries:u.map(gt),missing_history_references_before:o.count,legacy_disposition_eligible:a.length,legacy_disposition_recorded:d,missing_history_references_after:D.count},validation:P,guidance:Wt,generated_at:P.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{Ph as ITEM_LATEST_TIMESTAMP_FIELDS,Nh as ITEM_SCALAR_MISSING_VALUE,Dh as ITEM_UNION_COLLECTION_FIELDS,gu as MERGE_DRIVER_ARTIFACT_VALUES,Iy as PM_GITATTRIBUTES_END,mo as PM_GITATTRIBUTES_START,Cu as PM_GITATTRIBUTES_V2_END,ti as PM_GITATTRIBUTES_V2_START,po as auditMergeAttributeFence,fo as auditMergeDriverConfiguration,Ds as buildMergeAttributePatterns,ee as encodeItemScalarDecisionValue,At as findGitWorkspaceRoot,vt as hashItemScalarDecisionValue,kt as inspectMergeReceiptEvidence,fP as installMergeFence,mn as isItemScalarMissingValue,Zh as listMergeReceipts,so as markMergeReceiptReconciled,Yd as mergeHistoryStreams,Zd as mergeItemDocuments,Qd as mergeJsonDocuments,Xd as mergeRelationshipEventStreams,Py as refreshMergeAttributeFenceIfInstalled,Oy as resolveMergeInstallContext,ri as resolveProjectMergeTypeFolders,HD as runMergeDriver,mP as runMergeInstall,kN as runMergeReceiptEvidenceReport,vN as runMergeReceiptReport,qq as runMergeReconcile,gt as summarizeMergeReceipt};
137
+ `;await q(i,o)}function r1(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function n1(e){let t=ui(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function $o(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function i1(e,t,r){if(!r.settings&&!await M(ke(e)))return $o(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let s=await Pr(e),c=s.warnings.find(l=>l.startsWith("settings_read_"));if(c)return $o(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=s.settings}}catch(s){return $o(t,`search_semantic_refresh_skipped:settings_read_failed:${oe(s)}`)}let i=r.apply_runtime_defaults?li(n).settings:n,o=Do(i).active;if(!o)return $o(t,"search_semantic_refresh_skipped:provider_unconfigured");let a=Lo(i,e).active;return a?{settings:i,provider:o,vectorStore:a}:$o(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function o1(e,t,r,n,i,o){let a=[],s=new Set,c=new Set,l=[];for(let d of n){let u=await Se(e,d,t,r,i);if(!u){c.add(d);continue}try{let m=await ze(u,{schema:o});l.push({id:m.document.metadata.id,document:m.document})}catch(m){s.add(u.id),a.push(`search_semantic_refresh_item_read_failed:${u.id}:${oe(m)}`)}}return l.sort((d,u)=>d.id.localeCompare(u.id)),{documents:l,missingIds:Fo(c),skippedIds:Fo(s),warnings:a}}async function a1(e,t,r){let n=ci(t.name,e.search.embedding_corpus_max_characters).maxCharacters,i=nm(e),o=r.map(s=>im(s.document,{providerName:t.name,maxCharacters:n,fields:i})),a=await am(t,e,o);return{vectors:a.vectors,vector_dimension:ym(a.vectors,"Semantic refresh embedding"),warnings:a.warnings}}async function s1(e,t,r){return await fm(e,t.map((n,i)=>({id:n.id,vector:r[i],payload:r1(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function c1(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await _m(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${oe(r)}`]}}}async function wb(e,t,r={}){let n=Fo(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let i=await i1(e,n,r);if(!("settings"in i))return i;let o=ce(i.settings,V()),a=await o1(e,i.settings.id_prefix,i.settings.item_format,n,o.type_to_folder,i.settings.schema),s=a.documents.length>0||a.missingIds.length>0?await jo(e):{entries:{},embedding:null,warnings:[]},c=n1(i.provider),l=s.entries,d={refreshed:[],skipped:[],warnings:[]},u=s.embedding;if(a.documents.length>0)if(s.embedding&&Mo(s.embedding,c))d={refreshed:[],skipped:a.documents.map(h=>h.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let h=await a1(i.settings,i.provider,a.documents);if(hm(s.embedding,h.vector_dimension))d={refreshed:[],skipped:a.documents.map(b=>b.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=gm(c,h.vector_dimension);let b=await s1(i.vectorStore,a.documents,h.vectors);d={refreshed:b.refreshed,skipped:b.skipped,warnings:[...h.warnings,...b.warnings]}}}catch(h){d={refreshed:[],skipped:a.documents.map(b=>b.id),warnings:[`search_semantic_refresh_failed:${oe(h)}`]}}let m=await c1(i.vectorStore,a.missingIds),p=new Set(d.refreshed),f=Object.fromEntries(a.documents.filter(h=>p.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),w=[];if(Object.keys(f).length>0||a.missingIds.length>0){let h={...l,...hb(f)};for(let b of a.missingIds)delete h[b];try{await yb(e,h,u)}catch(b){w.push(`search_vectorization_status_ledger_write_failed:${oe(b)}`)}w.push(...s.warnings)}return{refreshed:Fo([...d.refreshed,...m.refreshed]),skipped:Fo([...a.skippedIds,...d.skipped,...m.skipped]),warnings:[...a.warnings,...d.warnings,...m.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]="f091d0c3-f2a7-5d76-8656-4aebe82e9798")}catch{}})();function wm(e,t){let r=t??{};return e.filter(n=>r[n.id]!==n.updated_at).map(n=>n.id).sort((n,i)=>n.localeCompare(i))}import p1 from"node:crypto";import vm from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4f455b67-536a-59be-8f25-1dc9c9c0b917")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bd65294f-dfa5-53d2-9691-c630884f2a5f")}catch{}})();var fZ=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]="4a63e054-a0e2-5826-976f-9076f6905388")}catch{}})();var LZ=vm.join("runtime","telemetry","events.jsonl"),MZ=vm.join("runtime","telemetry","state.json"),$Z=vm.join("runtime","telemetry","otel-spans.jsonl");var vb=1;var kb=15;var FZ=3600*1e3;var jZ=globalThis.fetch;var zZ=Promise.resolve(),HZ=Promise.resolve();var qZ=new Set(ai);var GZ=p1.randomUUID();var Eb="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",BZ=new RegExp(`\\b(${Eb})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),WZ=new RegExp(`(--${Eb})(=|\\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]="3d7db45e-123f-596b-afc7-b698f2b2f45c")}catch{}})();var f1=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 km(e){if(typeof e!="string")return;let t=e.trim();for(let r of f1)if(t===r.code||t.startsWith(`${r.code}:`))return r}function Em(e){let t={};for(let r of e){let n=km(r);n!==void 0&&!Object.prototype.hasOwnProperty.call(t,n.code)&&(t[n.code]=n.command)}return t}function Sb(e){return Object.values(Em(e))}import Ib from"node:fs/promises";import{createRequire as _1}from"node:module";import lt from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="32adaa7c-f0aa-5aff-8d88-d7c0ccfbd971")}catch{}})();function Tb(e,t){let r=lt.relative(t,e);if(r.length>0&&r!==".."&&!r.startsWith(`..${lt.sep}`)&&!lt.isAbsolute(r))return r.split(lt.sep).join("/");let n=lt.resolve(e),i=0xcbf29ce484222325n;for(let o=0;o<n.length;o+=1)i^=BigInt(n.charCodeAt(o)),i=BigInt.asUintN(64,i*0x100000001b3n);return`<external>/${i.toString(16).padStart(16,"0")}/${lt.basename(lt.dirname(e))}/package.json`}function g1(e){return e.includes(`${lt.sep}.pnpm${lt.sep}`)?"pnpm":e.includes(`${lt.sep}node_modules${lt.sep}`)?"npm":"other"}async function Ab(e){try{let t=JSON.parse(await Ib.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 Sm(e){try{return await Ib.realpath(e)}catch{return lt.resolve(e)}}async function Cb(e,t,r=it(import.meta.url,["../../.."])){let n=await Sm(t),i=await Sm(lt.join(r,"package.json")),o=await Ab(i),a=new Map;o!==void 0&&a.set(i,{version:o,path:Tb(i,n),layout:"host",consumers:["pm-cli-host"]});for(let l of e)try{let d=_1(l.entry_path).resolve("@unbrained/pm-cli/package.json"),u=await Sm(d),m=await Ab(u);if(m===void 0)continue;let p=u,f=a.get(p);if(f){f.consumers.includes(l.name)||(f.consumers.push(l.name),f.consumers.sort((w,h)=>w.localeCompare(h)));continue}a.set(p,{version:m,path:Tb(u,n),layout:g1(u),consumers:[l.name]})}catch{}let s=[...a.values()].sort((l,d)=>l.path.localeCompare(d.path)),c=o===void 0?[]:s.filter(l=>l.version!==o);return{host_version:o??null,copies:s,mismatches:c,warnings:c.map(l=>`extension_host_pm_cli_version_skew:${o}:${l.version}:${l.consumers.join("+")}`)}}import np from"node:fs/promises";import ip from"node:path";import{Option as rae}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]="42b217a3-31c0-561a-b7cb-b1a584b2edd5")}catch{}})();var nQ=new Set(["rename-type","rename-field","remap-status",...qn]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="da661b46-841c-526d-88bc-976e007e8fbe")}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]="e23f9ca6-9fa6-566b-9bfb-7cbe6d449a59")}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]="cb883ffc-c431-5bf9-a973-931a8a0a940c")}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]="4441095d-0acd-5780-8758-7df94396cb8e")}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]="80805c6b-9b9a-5dad-b94b-d7dbd365fe5e")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2fd342e6-06cc-56d4-aa0e-2af269234b59")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0257ab6d-3ef8-5b98-adfd-c7dabd537c43")}catch{}})();var h1={critical:0,high:1,medium:2,low:3,minimal:4},y1=Object.keys(h1),RQ=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${y1.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]="b6206b0e-0cd8-5827-acbd-6ac064dbcad7")}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]="14e6c7b4-3161-5f82-b797-f06a879d1370")}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]="50f77f3f-b2b0-5ae2-b669-6ed50bbdd530")}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]="c628dcf9-d98f-566e-9f93-cc81e737691c")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b84fee06-5bbd-57f9-9643-f283d6c87afa")}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]="158d5065-075c-5355-a65c-f3edc9c5f1f0")}catch{}})();var KQ=new Map(Pc.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]="4b79bd02-51ae-5c46-be4c-2f41dd8c9486")}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]="be646cfd-4742-5e15-9df1-648f1d250a99")}catch{}})();import{createRequire as b1}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]="da2c4c10-3c43-5037-ac69-31204480af99")}catch{}})();var v1=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,aee=new RegExp(`\\b(${v1.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var see=b1(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]="ceaee876-c2c8-5b28-91ee-f670384fd559")}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]="4835aae2-a525-5683-abc0-0ba3c5781c95")}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]="b75bf20f-d341-5fa2-943d-db02211ca80d")}catch{}})();var k1=[{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"}],vee=new Map(k1.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]="6c555c2c-9db2-5c9f-9d69-3456fe8bffaa")}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]="5767332d-8094-55cd-96e9-47c5d20cd7df")}catch{}})();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]="a7cd1d62-16fe-5e5b-b382-64335fc5e403")}catch{}})();function Xs(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function S1(e,t){return[e.updated_at,t].map(r=>({value:r,time:Date.parse(r??"")})).filter(r=>typeof r.value=="string"&&Number.isFinite(r.time)).sort((r,n)=>n.time-r.time)[0]?.value??e.updated_at}function xb(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),i=Xs(t.in_progress_status),o=[];for(let a of e){if(Xs(String(a.status))!==i||(a.assignee?.trim().length??0)>0)continue;let s=S1(a,t.last_history_activity?.(a)),c=Date.parse(s);if(!Number.isFinite(c))continue;let l=Math.max(0,Math.floor((n-c)/36e5));l>=r&&o.push({id:a.id,last_activity_at:s,age_hours:l})}return o.sort((a,s)=>s.age_hours-a.age_hours||a.id.localeCompare(s.id)),{threshold_hours:r,count:o.length,items:o,remediation:"Claim active work with `pm claim <id>` or return abandoned work to open with `pm update <id> --status open`."}}async function Tm(e,t,r){let n=new Map;return await Promise.all(t.filter(i=>Xs(String(i.status))===Xs(r.in_progress_status)&&(i.assignee?.trim().length??0)===0).map(async i=>{let o;try{o=await We(E1.join(e,"history",`${i.id}.jsonl`),i.id)}catch{return}let a=o.map(s=>s.ts).filter(s=>Number.isFinite(Date.parse(s))).sort((s,c)=>Date.parse(c)-Date.parse(s))[0];a&&n.set(i.id,a)})),xb(t,{...r,last_history_activity:i=>n.get(i.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]="ab644545-f072-53c0-9ebf-72a62c237a2f")}catch{}})();var xee=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]="e7deff0d-d9c9-5250-b172-ab752ddd64a4")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bc9e1b59-21cb-5dda-91c0-36e123734cd3")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4b566486-120f-5aed-8d92-9e62ed996210")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12ee7de1-dff4-53f1-8d0d-d8b1c1ebea42")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12c59406-7e00-5fe1-bd93-c1f9d8537f01")}catch{}})();import qee from"node:readline/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7c005413-4db4-58ce-a8ec-96ebc91a54f9")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3b93077-f162-5874-b81b-5d6b8be427b5")}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]="6f46d7b9-24e8-5794-9b9e-2fa6365498fd")}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]="583b80c2-9d6a-554a-8ce8-9f6f7b5403ac")}catch{}})();var Am=[{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}],Nb=Am.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),Db=Am.filter(e=>e.repeatable===!0).map(e=>({target:e.target,keys:e.keys})),Im=[{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}],Cm=Im.filter(e=>e.repeatable!==!0).map(e=>({target:e.target,keys:e.keys})),Pb=Im.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]="f15df301-1d55-540c-9646-852307dae81a")}catch{}})();function Oe(e){return e.map(t=>({...t}))}var Om=[{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"}],Lb=[{param:"updatedAfter",flag:"--updated-after"},{param:"updatedBefore",flag:"--updated-before"},{param:"createdAfter",flag:"--created-after"},{param:"createdBefore",flag:"--created-before"}],F1=[{param:"today",flag:"--today",booleanish:!0},{param:"recent",flag:"--recent",booleanish:!0},...Lb],Mb=[{param:"assignee",flag:"--assignee"},{param:"assigneeFilter",flag:"--assignee-filter"},{param:"parent",flag:"--parent"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"}],j1=[{param:"assignee",flag:"--assignee"},{param:"sprint",flag:"--sprint"},{param:"release",flag:"--release"},{param:"parent",flag:"--parent"}],U1=[...Om,...Mb],$b=[{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"}],z1=[{param:"filterAcMissing",flag:"--filter-ac-missing"},{param:"filterEstimatesMissing",flag:"--filter-estimates-missing"},{param:"filterResolutionMissing",flag:"--filter-resolution-missing"},{param:"filterMetadataMissing",flag:"--filter-metadata-missing"}],Fb=[{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"}],xm=[{param:"for",flag:"--for"},{param:"tokenBudget",flag:"--token-budget"},...Oe(Om),...Oe(F1),{param:"ids",flag:"--ids"},...Oe(Mb),...Oe(z1),...Oe($b),...Oe(Fb),{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"}],Rm=[{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"},...Oe(U1)],Nm=[{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"},...Oe(Om),...Oe(Lb),...Oe(j1),...Oe($b),...Oe(Fb),{param:"fields",flag:"--fields"},{param:"limit",flag:"--limit"},{param:"after",flag:"--after"}],jb=[{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"}],Zs=Oe(jb),Ub=[{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"}],Dm=Oe(Ub),zb=[{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"}],Pm=Oe(zb),Lm=[{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"}],Mm=Oe(Lm),$m=Oe(Lm);var Fm=[{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}],jm=[{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]="b66c2577-5487-562c-bde4-491ffecf40d1")}catch{}})();var q1=["item","list","context","search","graph","history","workspace","package","ops","plan","contracts","help"];function S(e,t,r,n={}){return{name:e,required:r,variadic:n.variadic===!0,value_kind:t,polymorphic:n.polymorphic===!0}}function Hb(e){let t=e.replaceAll("-"," ");return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}var ne=S("id","item_id",!0),Uo=S("id","item_id",!1),zo=S("text","string",!1),Ho=S("plan-id","item_id",!0),qb=S("step","string",!0),G1=["--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"],Um=["--allow-multiple-active","--depends-on","--file","--force","--message","--step-blocked-reason","--step-body","--step-evidence","--step-owner","--step-status","--step-title","--test"],B1={"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."},mi=[{command:"plan create",parent:"plan",action:"create",slots:[S("title","string",!1,{polymorphic:!0})],accepted_flags:G1,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:[Ho],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:[Ho],accepted_flags:Um,description:"Append one ordered step to a Plan item.",example:'pm plan add-step pm-a1b2 --step-title "Run tests"'},...Object.entries(B1).map(([e,t])=>({command:`plan ${e}`,parent:"plan",action:e,slots:[Ho,qb],accepted_flags:Um,description:t,example:`pm plan ${e} pm-a1b2 plan-step-001`})),{command:"plan reorder-step",parent:"plan",action:"reorder-step",slots:[Ho,qb,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:[Ho],accepted_flags:Um,description:`${Hb(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:`${Hb(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"}],W1=[...mi].sort((e,t)=>t.command.length-e.command.length),V1=new Map([["append",[ne,zo]],["assurance",[S("action","action",!0),S("kind","string",!1),S("id","string",!1)]],["beads import",[S("file","string",!1)]],["cal",[S("view","string",!1,{polymorphic:!0})]],["calendar",[S("view","string",!1,{polymorphic:!0})]],["changelog export",[S("file","string",!1)]],["claim",[Uo]],["close",[ne,zo]],["close-task",[ne,S("reason","string",!1)]],["comments",[ne,zo]],["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",[Uo]],["get",[ne]],["graph",[S("subcommand","action",!0),Uo,S("target","item_id",!1)]],["guide",[S("topic","string",!1)]],["history",[ne]],["history-compact",[Uo]],["history-redact",[ne]],["history-repair",[Uo]],["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,zo]],["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,zo]],["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 K1(e){return e.trim().toLowerCase().replace(/\s+/gu," ")}function J1(e){let t=K1(e);return W1.find(r=>r.command===t||t.startsWith(`${r.command} `))}function U(e,t,r,n,i){return i.map(o=>({command:o,noun:e,target:t,disposition:r,owner:n}))}var Y1=[...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"]),...rs.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",["cal","calendar","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",...mi.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",mi.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=ns.find(n=>n.alias===e.command);if(!t)return[e];let r=q1.find(n=>n===t.canonical_argv[0])??e.noun;return[{...e,noun:r,target:t.canonical,owner:t.owner},{...e,command:t.canonical,noun:r,target:t.canonical,owner:t.owner,disposition:e.disposition==="package_owned"?"package_owned":"target_noun"}]}),X1=[...new Set(Y1.map(({command:e})=>e))].map(e=>({command:e,slots:J1(e)?.slots??V1.get(er(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 zm(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 qo=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]="c0892c46-e45b-55e1-8473-abb197b2e1da")}catch{}})();var Gb=Cl.map(e=>({flag:e.flag,reservation_scope:"inherited",...e.aliases?{aliases:[...e.aliases]}:{},...e.value_name?{value_name:e.value_name}:{}})),Z1=[...Gb,{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."}],Bb=[{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"}],Wb=[{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"}],Qs=Wm([{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"},...Bb,{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"])),Vb=[{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}],Kb=[{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 Wm(e,t){return e.map(r=>t.has(r.flag)?{...r,cursor_semantics:"presentation"}:r)}var Jb=[{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"}],Yb=[{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"}],Xb=[{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"}],Zb=[{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"}],Qb=[{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"}],ev=[{flag:"--dry-run"},{flag:"--message"},{flag:"--force"},{flag:"--include-reconciled"},{flag:"--output"},{flag:"--item-path"},{flag:"--prefer"}],tv=[{flag:"--id",value_name:"item-id"},{flag:"--literal"},{flag:"--regex"},{flag:"--replacement"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],rv=[{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"}],nv=[{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"}],iv=[{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"}],Q1=[{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"}],ov=[{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"}],av=[{flag:"--dry-run"},{flag:"--author"},{flag:"--force"}],Vm=[{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"}],sv=[{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"}],cv=[{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"}],Km=[{flag:"--dry-run"},{flag:"--init"},{flag:"--scaffold"},{flag:"--capability"},{flag:"--install"},{flag:"--uninstall"},{flag:"--explore"},{flag:"--list"},{flag:"--manage"},{flag:"--offline",value_type:"boolean"},{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"}],cr=[{flag:"--project"},{flag:"--local"},{flag:"--global"}],lv=[...cr,{flag:"--capability"}],Hm=[...Km,{flag:"--declarative"}],eF=[...lv,{flag:"--declarative"}];var tF=[...cr,{flag:"--markdown"},{flag:"--output"}];var rF=[...cr,{flag:"--dry-run"}],nF=[...cr,{flag:"--offline",value_type:"boolean"},{flag:"--runtime-probe"},{flag:"--fix-managed-state"}],iF=[...cr,{flag:"--watch"}],oF=[...cr,{flag:"--detail"},{flag:"--trace"},{flag:"--fix-managed-state"},{flag:"--isolated"},{flag:"--ignore-global"},{flag:"--strict-exit"},{flag:"--fail-on-warn"}],aF=[...cr,{flag:"--fields",list:!0}],sF=[...cr,{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],dv=[{flag:"--dry-run"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--gh"},{flag:"--github"},{flag:"--ref"}],uv=[{flag:"--dry-run"},{flag:"--cli-only"},{flag:"--packages-only"},{flag:"--project"},{flag:"--local"},{flag:"--global"},{flag:"--repair"},{flag:"--tag"},{flag:"--package-name"}];var mv=[{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"}],pv=[{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"},...Wb,{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"}],fv=[{flag:"--id",value_name:"item-id"},{flag:"--body",short:"-b"},{flag:"--text"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],_v=[{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"]}],gv=[{flag:"--id",value_name:"item-id"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],hv=[{flag:"--id",value_name:"item-id"},{flag:"--dry-run"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],yv=[{flag:"--pause",value_type:"boolean"},{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],wv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],bv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--force"}],vv=[{flag:"--id",value_name:"item-id"},{flag:"--author",aliases:["--assignee"]},{flag:"--message"},{flag:"--validate-close",value_name:"off|warn|strict"},{flag:"--force"}],kv=[{flag:"--parent"},{flag:"--allow-missing-parent"},{flag:"--tags"},{flag:"--priority"},{flag:"--body"},{flag:"--description"},{flag:"--author"},{flag:"--message"}],Jm=[{flag:"--start"},{flag:"--duration"},{flag:"--end"},{flag:"--location"},{flag:"--timezone"},{flag:"--all-day"},...kv],Ev=Jm,Sv=[{flag:"--at"},{flag:"--text"},...kv],Tv=[{flag:"--list"},{flag:"--id",value_name:"item-id"},{flag:"--add"},{flag:"--add-json"},{flag:"--remove"},{flag:"--remove-index",repeatable:!0},{flag:"--update"},{flag:"--update-index"},{flag:"--set-json"},{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,description:"Record numeric measurement evidence; requires --run and an executed linked command."},{flag:"--metric-below"},{flag:"--metric-diff"},{flag:"--author"},{flag:"--message"},{flag:"--force"}],Av=[{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"}],Iv=[{flag:"--limit"}];var Cv=[{flag:"--dry-run"},{flag:"--scope"}],Ov=[{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"}],xv=[{flag:"--exhaustive",value_type:"boolean"},{flag:"--status",repeatable:!0,list:!0},{flag:"--since"},{flag:"--threshold"},{flag:"--limit"}],Rv=[{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"}],Nv=[{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"}],Ym=[{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"}],Dv=[{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"}],Pv=[{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"}],Lv=[{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"]}],qm=[{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",value_name:"value"},{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"},...Dv,...Pv,{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"}],Mv=[{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"}],$v=[{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"}],Fv=[{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"}],jv=[{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"}],Uv=[{flag:"--id",value_name:"item-id"},{flag:"--clear"}],zv=[{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"},...Lv,...Dv,{flag:"--fixed_version"},...Pv,{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"}],Hv=[{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"},...Wb,{flag:"--dry-run"},{flag:"--rollback"},{flag:"--no-checkpoint"},{short:"-t",flag:"--title"},{short:"-d",flag:"--description"},{short:"-b",flag:"--body"},...Lv,{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"}],Gm=[{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"}],qv=[{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"}],Gv=[{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"}],Bm=Wm([{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"])),Bv=[{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"}],Wv=[{flag:"--list"},{flag:"--format"},{flag:"--depth"}],Vv=[{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}],Kv=[{flag:"--kind",list:!0},{flag:"--max-depth",description:`Maximum traversal depth; paths default to ${qo.path_depth}.`},{flag:"--limit",description:`Maximum rows per collection; default ${qo.rows}. Use --full to remove the row cap.`},{flag:"--after"},{flag:"--direction"},{flag:"--max-paths",description:`Maximum enumerated paths; default ${qo.paths}.`},{flag:"--sample",description:`Maximum evidence examples per audit finding; default ${qo.samples}.`},{flag:"--exempt-isolate",list:!0},{flag:"--exempt-isolate-type",list:!0},{flag:"--save-baseline"},{flag:"--rebuild"},{flag:"--clear"},{flag:"--summary"},{flag:"--full"}],Jv=[{flag:"--mode"},{flag:"--k"},{flag:"--fail-under"},{flag:"--queries"},{flag:"--format"}],sr=[{flag:"--dry-run"},{flag:"--force"},{flag:"--author"},{flag:"--message"}],Yv=[],Xv=[{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"]}],Zv=Wm([{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"},...Bb],new Set(["--highlight","--compact","--full","--fields","--format","--limit","--token-budget","--after"])),Qv=[{flag:"--action"},{flag:"--command"},{flag:"--summary"},{flag:"--schema-only"},{flag:"--flags-only"},{flag:"--availability-only"},{flag:"--runtime-only"},{flag:"--active-only"},{flag:"--full"}],ek=[{flag:"--eager-tags"}];var cF=["list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled"],lF=Qs.filter(e=>e.flag!=="--status"&&e.flag!=="--all");function ec(e){let t=new Map;for(let r of e)for(let n of[r.flag,...r.aliases??[]]){let i=t.get(n)??[];i.push(r),t.set(n,i)}return t}var dF=ec(Vm),uF=ec(Ym),mF=new Map([["assurance",uF],["plan",dF],["workspace",ec(Yv)],["workspace snapshot",ec(sr)]]);function tk(e=mi){return e.map(({command:t,parent:r,accepted_flags:n})=>{let i=mF.get(r);if(!i)throw new Error(`Positional action ${t} has no flag-contract index for ${r}.`);let o=n.map(a=>{let s=i.get(a)??[];if(s.length!==1)throw new Error(`Positional action ${t} accepted flag ${a} does not resolve to exactly one ${r} flag contract.`);return s[0]});return[t,o]})}var pF=tk(),Oie=new Map([["list",Qs],["list-all",Qs],...cF.map(e=>[e,lF]),["templates",qm],["cal",Gm],["ctx",Bm],["test-runs-worker",[]],["init",sv],["config",cv],["extension",Km],["package",Hm],["packages",Hm],["install",dv],["upgrade",uv],["create",qm],["item",[]],["item mutate",Mv],["item complete",$v],["item reopen",Fv],["copy",jv],["focus",Uv],["aggregate",Vb],["calendar",Gm],["context",Bm],["get",Bv],["guide",Wv],["search",Zv],["next",Xv],["eval",Jv],["workspace",sr],["workspace position",Yv],["workspace snapshot",sr],["workspace snapshot create",sr],["workspace snapshot list",sr],["workspace snapshot inspect",sr],["workspace snapshot restore",sr],["workspace snapshot delete",sr],["history",Qb],["history-redact",tv],["history-repair",rv],["history-author-acknowledge",nv],["history-compact",iv],["history-attest",Q1],["merge",ev],["schema",ov],["profile",av],["plan",Vm],["activity",qv],["events",Gv],["restore",gv],["update",zv],["update-many",Hv],["close",mv],["close-many",pv],["delete",hv],["append",fv],["comments",Kb],["notes",Jb],["learnings",Yb],["files",Xb],["docs",Zb],["deps",Vv],["graph",Kv],["test",Tv],["test-all",Av],["telemetry",Iv],["health",Rv],["assurance",Ym],...pF,["validate",Nv],["gc",Cv],["stats",Ov],["duplicates",xv],["contracts",Qv],["completion",ek],["claim",_v],["release",yv],["start-task",wv],["pause-task",bv],["close-task",vv],["meet",Jm],["event",Ev],["remind",Sv]]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0f9eca2-3f4f-5809-9c8f-0e596a95dba1")}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 Go(e){let t=e?.trim()??"";return/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(t)||/^(?:github|gitlab|jira|linear):/iu.test(t)}function pi(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]="7109e3f6-d34c-55d5-8cd8-5d797461495f")}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]="a9088773-9fcf-5dc9-b10d-32e2490c5ba8")}catch{}})();var rk=["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]="d1820fc1-10f5-56b2-9157-ea9179da21c3")}catch{}})();var tc={type:"string",pattern:"\\S"},Xm={type:"array",minItems:1,items:tc},ik={type:"object",properties:Object.fromEntries(["files","package_names","item_ids","tags","error_codes"].map(e=>[e,{type:"array",items:{type:"string"}}]))},fF={type:"object",required:["id","version","title","owner_item_id","escape_class","triggers","checks","negative_control","historical_item_ids","budget"],properties:{id:tc,version:{type:"integer",minimum:1},title:tc,owner_item_id:tc,escape_class:{enum:rk},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:Xm,hosted:Xm}},negative_control:{...ik,minProperties:1},historical_item_ids:Xm,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}]))}}},nk={oneOf:[{type:"number"},{type:"array",items:{type:"string"}}]},ok={if:{required:["field"]}};Reflect.set(ok,"then",{oneOf:[{required:["equals"]},{required:["state"]}]});var ak={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:fF}},additionalProperties:!1},...e?{change:{...ik,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:[ok],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:nk,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:nk,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]="e669ce47-f98e-5023-a2e2-ee13fab680f9")}catch{}})();var Zm={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:ss,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"}]}},updateIndex:{anyOf:[{type:"string"},{type:"number"}]},setJson:{type:"string"},update:{type:"string"},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"},offline:{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"}},sk={schema:{definition:{type:["object","string"]}},assurance:{definition:ak,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}}},_F=["create","show","add-step","update-step","complete-step","block-step","reorder-step","remove-step","link","unlink","decision","discovery","validation","resume","approve","materialize"],Qm={subcommand:{type:"string",enum:[..._F]},stepRef:{type:"string"},reorderTo:{anyOf:[{type:"string"},{type:"number"}]},scope:{type:"string"},harness:{type:"string",enum:[...Kp]},mode:{type:"string",enum:[...Vp]},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:[..._a]},stepEvidence:{type:"string"},stepBlockedReason:{type:"string"},stepReplacement:{type:"string"},dependsOn:{type:"string"},link:{type:"string"},linkKind:{type:"string",enum:[...Jp]},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"}}]}},ep={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"]}},ck={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."},offline:{description:"Skip remote GitHub and npm freshness checks during package or extension manage; update availability remains unknown."},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"]]},update:{description:"Edit one linked test by exact command, command=<value>, or path=<value>, with setJson; ambiguous matches refuse without changes.",examples:["node scripts/run-tests.mjs test","path=tests/example.spec.ts"]},updateIndex:{description:"Edit one linked test at its current 1-based list position with setJson, preserving order and original command provenance.",examples:[1,"2"]},setJson:{description:"Explicit JSON metadata patch for update or updateIndex. Null clears optional fields; command and provenance are immutable.",examples:['{"note":"focused regression","timeout_seconds":120}']},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; requires run=true.",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"]}},lk={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]="2abaaf9f-9a0f-542a-8dbd-9150346a5754")}catch{}})();var hF={...sk,"history-attest":{verify:{type:"object",additionalProperties:!0},output:{not:{}}}},rc={...Zm,pause:{type:"boolean"},releaseAssignment:{type:"boolean"},hashAlgorithm:{type:"string",enum:["sha256","sha512"]}},ic={...ck,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."}},yF=["json","quiet","profile","noExtensions","noPager","tokenAccounting","path","pmExecutable","timeoutMs"],wF=["outputInclude","outputLimit","outputBudget","outputFormat","outputSession","outputCursor","outputRowContract"],bF=new Set(["action","cwd","options",...Object.keys(rc).filter(e=>e!=="severity")]);var vF={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"]},gk=["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"],toe=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(Ar.filter(e=>e==="upgrade"||e==="install"||e==="extension"||e==="package"||e.startsWith("extension-")||e.startsWith("package-")).map(e=>[e,["project","local","global"]]))});function dt(e){return zm(e)}var kF=dt([...Dm.map(e=>e.param),...Zs.map(e=>e.param),"assignee","closeReason","completedAt"]),hk=dt([...Pm.map(e=>e.param),...Zs.map(e=>e.param),"force"]),EF=dt([...Mm.map(e=>e.param),...hk.filter(e=>e!=="allowMissingParent"&&e!=="completedAt"),"dryRun","rollback","noCheckpoint"]),SF=dt([...$m.map(e=>e.param),"reason","completedAt","resolution","expectedResult","actualResult","validateClose","dryRun","rollback","noCheckpoint","author","message","force"]),dk=dt([...jm.map(e=>e.param),"past","section"]),TF=dt([...Fm.map(e=>e.param),"stream"]),tp=dt([...xm.map(e=>e.param),"all","includeBody","noTruncate","strictRead","compact","brief","full"]),fi=tp.filter(e=>e!=="all"&&e!=="status"),Fr=[[{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"}}]],AF=[[{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}}]],IF=dt([...Rm.map(e=>e.param),"count","completion","includeUnparented"]),CF=dt(["query","keywords","mode","semantic","hybrid","includeLinked","titleExact","phraseExact","highlight","compact","full",...Nm.map(e=>e.param)]),uk=dt(["type","tag","priority","assignee","assigneeFilter","sprint","release","parent","limit","blockedLimit","readyOnly","format","includeDecisions","includeGates","includeContainers","tokenBudget","explainRanking"]),Xe=["author","message","force"],yk=["releaseAssignment","text","reason","closeReason","completedAt","duplicateOf","validateClose","resolution","expectedResult","actualResult"],Bo=["author","assignee","message","force"],OF=["dryRun","target","scope","capability","declarative","github","ref","init","install","uninstall","explore","manage","offline","describe","markdown","output","reload","doctor","catalog","list","adopt","adoptAll","activate","deactivate","runtimeProbe","fixManagedState","isolated","ignoreGlobal","detail","trace","watch","strictExit","failOnWarn"];function mk(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","offline"]},[`${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:OF,dependentAnyOfRequired:[{property:"dryRun",value:!0,anyOfRequired:[["install","target"],["install","github"]]}],mutuallyExclusiveWhen:[[{property:"dryRun",schema:{const:!0}},{property:"install",schema:{const:!1}}]]}}}var pk={required:["title"],optional:["start","duration","end","location","timezone","allDay","parent","allowMissingParent","tags","priority","body","description","author","message"]},fk={optional:["target","scope","dryRun","cliOnly","packagesOnly","repair","tag","packageName"]},nc={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"]},...mk("extension"),...mk("package"),"package-upgrade":fk,install:{optional:["target","github","scope","ref","dryRun"],anyOfRequired:[["target"],["github"]]},upgrade:fk,create:{required:["title","description","type","status","priority","message"],optional:kF},copy:{required:["id"],optional:["title","author","message","allowDuplicate"]},focus:{optional:["id","clear"],mutuallyExclusive:[["id","clear"]]},list:{optional:tp,mutuallyExclusiveWhen:Fr},"list-all":{optional:tp,mutuallyExclusiveWhen:Fr},"list-draft":{optional:fi,mutuallyExclusiveWhen:Fr},"list-open":{optional:fi,mutuallyExclusiveWhen:Fr},"list-in-progress":{optional:fi,mutuallyExclusiveWhen:Fr},"list-blocked":{optional:fi,mutuallyExclusiveWhen:Fr},"list-closed":{optional:fi,mutuallyExclusiveWhen:Fr},"list-canceled":{optional:fi,mutuallyExclusiveWhen:Fr},aggregate:{optional:IF},guide:{optional:["list","format","depth"]},context:{optional:dk},ctx:{optional:dk},get:{required:["id"],optional:["for","tokenBudget","at","depth","full","fields","tree","treeDepth","format"]},search:{optional:CF,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:pk,event:pk,remind:{required:["title"],optional:["at","text","parent","allowMissingParent","tags","priority","body","description","author","message"]},next:{optional:[...uk,"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",...gk,"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:TF},restore:{required:["id","target"],optional:Xe},update:{required:["id"],optional:hk,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},"update-many":{optional:EF,mutuallyExclusive:[["acceptanceCriteria","addAc"],["acceptanceCriteria","removeAc"]]},close:{required:["id"],optional:[...yk,...Xe]},"close-many":{optional:SF},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","update","updateIndex","setJson","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],dependentAnyOfRequired:[{property:"update",anyOfRequired:[["setJson"]]},{property:"updateIndex",anyOfRequired:[["setJson"]]},{property:"setJson",anyOfRequired:[["update"],["updateIndex"]]}],mutuallyExclusive:[["update","updateIndex"],["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:AF},completion:{required:["shell"],optional:["eagerTags"]},claim:{optional:["start","id","next","ifAvailable","maxAttempts","includeDecisions",...uk,...Bo],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",...Bo]},"start-task":{required:["id"],optional:Bo},"pause-task":{required:["id"],optional:Bo},"close-task":{required:["id"],optional:["text","validateClose",...Bo]},"item-reopen":{required:["id","reason"],optional:["status","author","message","force"]}},xF=Object.freeze(Object.fromEntries(Ar.map(e=>[e,nc[e]])));function wk(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").trim().replace(/^./,t=>t.toUpperCase()).concat(".")}function RF(e,t){let r=typeof t=="object"&&t!==null?{...t}:{},n=ic[e];return{...r,description:n?.description??wk(e),...n?.examples?{examples:n.examples}:{}}}function NF(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(ep,t))return ep[t];let r=lk[e];return r&&Object.prototype.hasOwnProperty.call(r,t)?r[t]:ic[t]}function DF(e,t,r){let n=typeof r=="object"&&r!==null?{...r}:{},i=NF(e,t);return{...n,description:i?.description??wk(t),...i?.examples?{examples:i.examples}:{}}}function PF(e,t){if(e==="claim"&&t==="start")return{type:"boolean"};let r=hF[e];return r&&Object.prototype.hasOwnProperty.call(r,t)?r[t]:e==="plan"&&Object.prototype.hasOwnProperty.call(Qm,t)?Qm[t]:(e==="get"||e==="history"||e==="search")&&t==="format"?{type:"string",enum:["json","toon"]}:t==="pause"||t==="releaseAssignment"||t==="hashAlgorithm"?rc[t]:Zm[t]}function LF(e,t){let r={action:{const:e,description:ic.action?.description??"Tool action to execute."}};for(let n of t){if(n==="action")continue;let i=PF(e,n);i&&(r[n]=DF(e,n,i))}return r}function MF(e,t){let r=t.flat();return t.map(n=>{let i=r.filter(o=>!n.includes(o));return{required:[...n],...i.length>0?{not:{anyOf:i.map(o=>({required:[o]}))}}:{},...e==="history-repair"&&n.includes("all")?{properties:{all:{const:!0}}}:e==="claim"&&n.includes("next")?{properties:{next:{const:!0}}}:{}}})}function _k(e,t){return{...t===void 0?{}:{properties:{[e]:{const:t}}},required:[e]}}function $F(e){let t=[];if(e.conditionalRequired&&e.conditionalRequired.length>0)for(let r of e.conditionalRequired)t.push({if:_k(r.property,r.value),then:{required:r.required}});if(e.dependentAnyOfRequired&&e.dependentAnyOfRequired.length>0)for(let r of e.dependentAnyOfRequired)t.push({if:_k(r.property,r.value),then:{anyOf:r.anyOfRequired.map(n=>({required:[...n]}))}});if(e.mutuallyExclusive&&e.mutuallyExclusive.length>0)for(let r of e.mutuallyExclusive)t.push({not:{required:dt(r)}});if(e.mutuallyExclusiveWhen&&e.mutuallyExclusiveWhen.length>0)for(let r of e.mutuallyExclusiveWhen)t.push({not:{allOf:r.map(n=>({properties:{[n.property]:n.schema},required:[n.property]}))}});return t}function bk(e){if(!Object.prototype.hasOwnProperty.call(nc,e))return;let t=nc[e],r=vF[e]??[];return dt(["action",...yF,...Yi(e)!==void 0?wF:[],...r,...t.required??[],...t.optional??[]])}function FF(e){let t=nc[e],r=dt(t.required??[]),n=bk(e),i={type:"object",additionalProperties:!1,required:["action",...r],title:`pm action "${e}" parameters`,properties:LF(e,n)};t.anyOfRequired&&t.anyOfRequired.length>0&&(i.anyOf=t.anyOfRequired.map(a=>({required:[...a]}))),t.oneOfRequired&&t.oneOfRequired.length>0&&(i.oneOf=MF(e,t.oneOfRequired));let o=$F(t);return o.length>0&&(i.allOf=o),i}function vk(e){let t,r=()=>t??=e();return new Proxy({},{get:(n,i)=>r()[i],has:(n,i)=>i in r(),ownKeys:()=>Reflect.ownKeys(r()),getOwnPropertyDescriptor:(n,i)=>{let o=Reflect.getOwnPropertyDescriptor(r(),i);return o&&(o.configurable=!0),o}})}var rp="4.21.1",kk=rp.split(".")[0],Ek="1.10.0",jF=vk(()=>({$schema:"https://json-schema.org/draft/2020-12/schema",$id:`https://schema.unbrained.dev/pm-cli/tool-parameters-v${kk}.schema.json`,title:"pm-cli tool parameters (action-scoped strict schema)","x-schema-version":rp,type:"object",oneOf:Ar.map(e=>FF(e))}));function UF(e,t){let r=RF(e,t);if(typeof r.type=="string")return r;let n=(Array.isArray(r.anyOf)?r.anyOf:[]).find(a=>typeof a.type=="string");if(n){let{anyOf:a,...s}=r;return{...n,...s}}let{anyOf:i,...o}=r;return{...o,type:"string"}}function zF(){let e={action:{type:"string",description:ic.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(rc).sort())e[t]=UF(t,rc[t]);return{title:"pm-cli tool parameters (provider-compatible flat schema)","x-schema-version":Ek,type:"object",additionalProperties:!1,required:["action"],properties:e}}var HF=vk(zF);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6dff1fa2-fd7a-5a94-b49e-dd8a2fd804b9")}catch{}})();var soe=new Set([...th,...rh]);(function(){try{var e=typeof window<"u"?window:typeof 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]="201134b5-01e8-55ae-a099-137b9b6fae92")}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]="28bbc7e0-cdd8-5966-b2be-43910681cd94")}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]="bd5ef423-5675-585c-ac2f-0b7548636596")}catch{}})();var ZF=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"]),yae=new Set([...ZF].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]="69bf315a-01aa-56d9-bd56-196d6792dea2")}catch{}})();var QF="2026-07-15T06:22:12.276Z",ej=Date.parse(QF),tj=[["attributed","attributed"],["legacy_unknown","actionable_unknown"]],Tk=e=>typeof e=="string"?e:"",rj=e=>{let t=e??{},r=Tk(t.author).trim().toLowerCase(),n=Number(["","unknown"].includes(r)),i=+(Date.parse(Tk(t.ts))>=ej);return tj[n][i]};function nj(e,t,r=20,n=new Set,i=!1){let o=[],a=[],s={legacy_unknown:0,actionable_unknown:0},c=Math.max(0,r),l=0,d=0,u=0;for(let[m,p]of t.split(/\r?\n/).entries()){let f;try{f=JSON.parse(p)}catch{continue}l+=1;let w=rj(f);if(w!=="attributed"){if(d+=1,w==="actionable_unknown"&&n.has(`${e}:${m+1}`)){u+=1;continue}s[w]+=1,i&&w==="actionable_unknown"&&a.push({item_id:e,line:m+1}),o.length<c&&o.push({item_id:e,line:m+1})}}return{checked_events:l,unknown_event_count:d,legacy_unknown_event_count:s.legacy_unknown,actionable_unknown_event_count:s.actionable_unknown,acknowledged_actionable_event_count:u,samples:o,samples_truncated:s.legacy_unknown+s.actionable_unknown>o.length,actionable_events:a}}function ij(e){let t=new Set;for(let r of e.split(/\r?\n/)){let n;try{n=JSON.parse(r)}catch{continue}let i=(typeof n=="object"&&n!==null&&typeof n.context=="object"&&n.context!==null?n.context:{}).author_acknowledgment;if(!(typeof i!="object"||i===null||!Array.isArray(i.events)))for(let o of i.events)typeof o=="object"&&o!==null&&typeof o.item_id=="string"&&Number.isSafeInteger(o.line)&&t.add(`${o.item_id}:${String(o.line)}`)}return t}var oc=async(e,t=20,r=!1)=>{let n=ip.join(e,"history"),i;try{i=(await np.readdir(n)).filter(b=>b.endsWith(".jsonl")).sort((b,v)=>b.localeCompare(v))}catch{i=[]}let o=new Set,a=[],s=[],c=0,l=0,d=0,u=0,m=0,p=0,f="_workspace.jsonl",w=new Set;if(i.includes(f))try{w=ij(await np.readFile(ip.join(n,f),"utf8"))}catch{w=new Set}for(let b of i){let v;try{v=await np.readFile(ip.join(n,b),"utf8")}catch{continue}let I=b.slice(0,-6),A=nj(I,v,t-a.length,w,r);c+=1,l+=A.checked_events,d+=A.unknown_event_count,u+=A.legacy_unknown_event_count,m+=A.actionable_unknown_event_count,p+=A.acknowledged_actionable_event_count,A.unknown_event_count>0&&o.add(I),a.push(...A.samples),r&&s.push(...A.actionable_events)}let h=u+m;return{checked_streams:c,checked_events:l,unknown_event_count:d,legacy_unknown_event_count:u,actionable_unknown_event_count:m,acknowledged_actionable_event_count:p,affected_item_ids:[...o].sort((b,v)=>b.localeCompare(v)),samples:a,samples_truncated:h>a.length,...r?{actionable_events: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]="184c43e0-a543-5b0b-ac09-9139ba5ded6a")}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]="b1e4c04e-0ade-5d24-95e3-b8dca3832c5a")}catch{}})();var $ae=new Set(In),oj=new Set(ki.map(e=>ve(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]="68be16cc-4cb4-5df6-90f0-897d4fe82339")}catch{}})();var qae=new Set(fr),Gae=new Set(Cn),Bae=new Set([...Ve.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]="abb182c9-6d6c-5be4-a2ad-c91b00a098d0")}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]="4d01ffa0-2cdb-5d22-834e-d23d31403ad6")}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]="caa9f916-c7ce-5e74-a00b-dd0fc6a41b5d")}catch{}})();var Wo={type:"string",minLength:1,maxLength:128,pattern:"\\S"},ac={type:"array",minItems:1,maxItems:Hn,items:Wo},Ak={...ac,items:{...Wo,pattern:"^(?!(?:.*\\.)?(?:__proto__|constructor|prototype)(?:\\.|$))[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$"}},Qae={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,ac])),dependency:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:Wo,id:Wo}}}},rule:{oneOf:[{type:"object",additionalProperties:!1,required:["kind","fields"],properties:{kind:{const:"require_fields"},fields:Ak}},{type:"object",additionalProperties:!1,required:["kind","authors"],properties:{kind:{const:"authors"},authors:ac}},...["field_writers","approval"].map(e=>({type:"object",additionalProperties:!1,required:["kind","fields","authors"],properties:{kind:{const:e},fields:Ak,authors:ac}})),{type:"object",additionalProperties:!1,required:["kind","allowed"],properties:{kind:{const:"transition"},allowed:{type:"array",maxItems:Hn,items:{type:"array",minItems:2,maxItems:2,items:Wo}}}}]}}};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="808f3bb5-cca5-5f9c-b557-7923c79ae6ce")}catch{}})();async function Ik(e,t,r,n){let i=await ho(e).catch(()=>null);return i===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"]}:Ck(i,t,r,n)}function sj(e,t,r){return e===0?"undeclared":t===0?"empty":r===0?"inapplicable":r===t?"covered":"partial"}function Ck(e,t,r=5,n=!1){let i=[],o=new Map,a=e.policies.filter(h=>h.rule.kind==="require_fields"),s=a.filter(h=>h.subject?.operations===void 0),c=new Set,l=0,d=0,u=0,m=0,p=0,f=Fg(e);for(let h of t){let b=f({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;m+=1;let I=o.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"&&(p+=1),i.length<r&&i.push({id:h.id,type:h.type,status:h.status,decision:A});o.set(h.type,I)}let w=n||p>0?"error":u>0?"warn":"ok";return{check:{name:"completeness",status:w,ok:w==="ok",details:{scope:"operation_independent_require_fields",declared_requirement_count:a.length,state_requirement_count:s.length,applicable_requirement_count:c.size,requirement_application_count:d,governed_items:l,ungoverned_items:t.length-l,contract_status:sj(a.length,t.length,l),applied_policy_ids:[...c].sort().slice(0,Math.max(0,r)),applied_policy_ids_truncated:c.size>Math.max(0,r),checked_items:t.length,incomplete_items:m,violation_count:u,refused_violations:p,missing_by_type:Object.fromEntries(o),violations:i,violations_truncated:i.length<u,enforcement:e.enforcement}},warnings:[...u>0?[`validate_completeness_missing_fields:${u}`]:[],...n?["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]="0c3bed4d-4a17-5004-a1c5-65f6acec2a9b")}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]="0bd9a904-c076-5c2a-a9d8-42a543625e33")}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]="8d04c087-62e4-51d3-8832-6cbcfd3ed993")}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]="7a59f90b-0497-530c-93e1-c93cfc8a0016")}catch{}})();var Fce=[...qn,"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]="cf1403b0-7b07-5f00-9523-87bc727dd7fa")}catch{}})();function op(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}import gj from"node:fs/promises";import hj 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]="5181479f-469f-525b-add2-914a9934afbd")}catch{}})();var yj=".managed-extensions.json",ap=1;function sp(e){return hj.join(e,yj)}function wj(){return{version:ap,updated_at:j(),entries:[]}}function xk(e){return[...e].sort((t,r)=>{let n=t.scope.localeCompare(r.scope);if(n!==0)return n;let i=t.name.localeCompare(r.name);return i!==0?i:t.directory.localeCompare(r.directory)})}function Ze(e){return typeof e=="string"?e:void 0}function bj(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 vj(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:Ze(t.name),package:Ze(t.package),version:Ze(t.version),repository:Ze(t.repository),owner:Ze(t.owner),repo:Ze(t.repo),ref:Ze(t.ref),subpath:Ze(t.subpath),commit:Ze(t.commit)}}function kj(e){if(typeof e!="object"||e===null)return null;let t=e;if(!bj(t))return null;let r=vj(t.source);if(!r)return null;let n=Fn(t.contributions);return n===null?null:{name:t.name.trim(),directory:t.directory.trim(),scope:t.scope,manifest_version:t.manifest_version,manifest_entry:t.manifest_entry,capabilities:op(t.capabilities),contributions:n,installed_at:t.installed_at,updated_at:t.updated_at,source:r,last_update_check_at:Ze(t.last_update_check_at),last_update_remote_commit:Ze(t.last_update_remote_commit),last_update_remote_version:Ze(t.last_update_remote_version),update_available:typeof t.update_available=="boolean"||t.update_available===null?t.update_available:void 0,update_error:Ze(t.update_error)}}function Ej(e){if(typeof e!="object"||e===null)return null;let t=e;if(t.version!==ap||!Array.isArray(t.entries))return null;let r=[];for(let n of t.entries){let i=kj(n);i&&r.push(i)}return{version:ap,updated_at:Ze(t.updated_at)??j(),entries:xk(r)}}async function Ko(e){let t=sp(e),r=wj();try{let n=await gj.readFile(t,"utf8"),i=JSON.parse(n),o=Ej(i);if(!o)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:o,warnings:[]}}catch(n){if(n instanceof g)throw n;if(typeof n=="object"&&n!==null&&"code"in n&&$(n))return{path:t,state:r,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 Ij}from"node:child_process";import{promisify as Cj}from"node:util";import Ale from"npm-package-arg";import{extract as Cle,list as Ole}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]="74b72dd8-0877-55a4-9c80-d043f19e1f96")}catch{}})();var cle=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]="c9a362e5-6eb5-52dc-aa74-6c6c0df2c291")}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]="db10bb85-f21c-58b1-8b78-8ce1024b3e08")}catch{}})();var $le=Cj(Ij);var Fle={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]="ceca3e62-35a7-51eb-b478-5309ba430cc8")}catch{}})();var Ble=new Set([...Gn.map(e=>e.split("-")[0].toLowerCase()),...Object.keys(kd).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]="3984f1ef-1703-5a83-a4fa-ec1cdc738572")}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]="6d50733c-ced5-5ec8-b82e-2391a974ad0f")}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]="1e6087f2-01b5-59c3-a471-433c722316b0")}catch{}})();var Nk=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 Rj(e){return Nk.has(Pj(e))}function Rk(e){return e==="project"||e==="global"}function Nj(e){let t=e.split(":"),r=t[0];if(!r||!Nk.has(r))return null;let n=t.at(-4),i=t.at(-3)?.trim(),o=t.at(-2),a=t.at(-1)?.trim();return!Rk(n)||!Rk(o)||!i||!a?null:{code:r,surface:t.slice(1,-4).join(":")||"global",winner:{layer:n,name:i},displaced:{layer:o,name:a}}}function Dj(e){let t=new Set;for(let r of e){let n=Nj(r);n&&(t.add(n.winner.name),t.add(n.displaced.name))}return[...t].sort((r,n)=>r.localeCompare(n))}function Dk(e,t){let r=e.filter(Rj);if(r.length===0)return null;let n=Dj(r);return`Extension registration collisions or handler/override overlaps detected.${n.length>0?` Conflicting extensions: ${n.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 Pj(e){let t=e.trim(),r=t.indexOf(":");return r===-1?t:t.slice(0,r)}function cp(e){let t=new Set,r=[];for(let n of e){let i=(()=>{let o=hl(n);return o?[o]:yl(n)})();for(let o of i){let a=`${o.layer}:${o.name}:${o.capability}`;t.has(a)||(t.add(a),r.push(o))}}return r}function lp(){return{version:na.version,capabilities:[...na.capabilities],legacy_aliases:{...na.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]="147fb29e-ad06-5850-b0b1-f643e32e9b1f")}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]="cefb224d-a18f-599a-9cf9-3d3a22616440")}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]="accde468-de04-51b6-81ad-5c5ea218a87b")}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]="f2cac210-bba0-5c7f-867b-8b59f8d36e11")}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{}})();import{execFile as Mj}from"node:child_process";import{promisify as $j}from"node:util";import Ode from"npm-package-arg";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b67e46f9-51ff-501b-98da-74353b4c66d9")}catch{}})();var Rde=$j(Mj);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d34e2cc0-5e58-5534-8480-a9ab47ec4a88")}catch{}})();import jj from"node:fs/promises";import Uj 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]="7be00b26-4a56-5399-94f6-f2f67cc5c1e6")}catch{}})();function zj(e){return Uj.join(e,"extension-migrations.json")}function Hj(e,t){let r=e.definition.id;return typeof r=="string"&&r.trim().length>0?r.trim():`migration-${String(t+1).padStart(3,"0")}`}function qj(e,t){return`${e.layer}:${e.name}:${t}`}async function Gj(e){let t=zj(e);if(!await M(t))return{version:1,updated_at:"",entries:[]};let r=JSON.parse(await jj.readFile(t,"utf8"));return{version:1,updated_at:typeof r.updated_at=="string"?r.updated_at:"",entries:Array.isArray(r.entries)?r.entries.filter(n=>typeof n?.key=="string"&&(n.status==="applied"||n.status==="failed")):[]}}async function Pk(e,t){let r=await Gj(e),n=new Map(r.entries.map(i=>[i.key,i]));return t.forEach((i,o)=>{let a=Hj(i,o),s=n.get(qj(i,a));s&&(i.definition.status=s.status,s.status==="failed"?i.definition.reason=s.error:(delete i.definition.reason,delete i.definition.error,delete i.definition.message))}),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]="fcf7df06-e3b8-5476-a76a-cd391839c13d")}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]="18bf1015-c2c8-5530-a3ce-1531a8a1d0e2")}catch{}})();import Vj from"node:fs/promises";import Kj 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]="955d33c5-8c96-5ed6-bbd1-fc8a26801df4")}catch{}})();function Jj(e){return typeof e.name=="string"&&e.name.trim().length>0?e.name.trim():"workspace-manifest"}function Yj(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 Lk(e){let t=Kj.join(e,"manifest.json"),r;try{r=await Vj.readFile(t,"utf8")}catch(s){if(qe(s))return{path:t,present:!1,parse_status:"absent",package_metadata_location:"package.json#pm",schema_findings:[],warnings:[],remediation:[]};throw s}let n;try{n=JSON.parse(r)}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 n!="object"||n===null||Array.isArray(n))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 i=n,o=Il(i),a=Jj(i);return{path:t,present:!0,parse_status:"valid",package_metadata_location:"package.json#pm",schema_findings:o.findings,warnings:o.findings.map(s=>Yj(a,s)),remediation:o.findings.map(s=>s.message)}}import lue from"npm-package-arg";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2bef4424-f5b8-511b-91f7-0b39cf11f515")}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]="776854e4-6df4-507e-b21b-a4d320946642")}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]="549164da-d760-52bc-9950-25dacf286775")}catch{}})();var eU=[["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"]],jme=eU.map(([,,e])=>e).filter((e,t,r)=>r.indexOf(e)===t).join(", ");var Ume=Ga();import{execFile as tU}from"node:child_process";import{realpath as rU}from"node:fs/promises";import Mk from"node:path";import{promisify as nU}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]="9af87d55-dbe2-561b-9f3f-6f12c0416147")}catch{}})();var iU=nU(tU),oU=32*1024*1024,aU=1e4,sU=["search/eval-queries.json"];function dp(e){return e.replaceAll("\\","/").replace(/\/+$/,"")}function cU(e){return`'${e.replaceAll("'","'\\''")}'`}async function lU(e,t=rU){return t(e).catch(()=>Mk.resolve(e))}async function sc(e){let t=await It(e);if(t===null)return{git_workspace_root:null,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let r=await lU(e),n=dp(Mk.relative(t,r));if(n.length===0)return{git_workspace_root:t,tracker_relative_root:null,tracked_paths:[],tracked_path_count:0,remediation_command:null};let i=yy.map(o=>`${n}/${dp(o)}`);try{let{stdout:o}=await iU("git",["ls-files","-z","--",...i.map(l=>`:(literal)${l}`)],{cwd:t,encoding:"utf8",maxBuffer:oU,windowsHide:!0,timeout:aU}),a=new Set(sU.map(l=>`${n}/${l}`)),s=[...new Set(o.split("\0").filter(l=>l.length>0&&!a.has(dp(l))))].sort((l,d)=>l.localeCompare(d)),c=i.filter(l=>s.some(d=>d===l||d.startsWith(`${l}/`)));return{git_workspace_root:t,tracker_relative_root:n,tracked_paths:s,tracked_path_count:s.length,remediation_command:s.length===0?null:`git rm --cached -r -- ${c.map(l=>cU(`:(literal)${l}`)).join(" ")}`}}catch{return{git_workspace_root:t,tracker_relative_root:n,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]="2e510b32-f27f-5ba5-94b2-8268343359dc")}catch{}})();async function $k(e,t,r,n){if(t===null)return{audit:null,count:0,warnings:[]};let i=await po(e,ri(r));if(i.status==="ok")return{audit:i,count:0,warnings:[]};let o=Math.max(1,i.missing_patterns.length+i.stale_patterns.length);return{audit:i,count:o,warnings:n?[`merge_fence_${i.status==="not_installed"?"missing":"drift"}:${o}`]:[]}}function Fk(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 dU}from"node:crypto";import cc 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]="36749195-9194-546a-bc3e-718f09c3b8d6")}catch{}})();var mp="2026-08-09T16:15:18.000Z",Uk=Symbol("pre-durable-disposition-eligible");function lr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function up(e){if(!Array.isArray(e)||e.length>256)return!1;let t=new Set;for(let r=0;r<e.length;r+=1){let n=e[r];if(!(r in e)||typeof n!="string"||n.length===0||n.length>256||n.includes("\0")||t.has(n))return!1;t.add(n)}return!0}function jk(e){return lr(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 zk(e,t){if(typeof e!="string")return!1;let r=cc.posix.normalize(e);return e.length<=4096&&!e.includes("\\")&&!e.includes("\0")&&!cc.posix.isAbsolute(e)&&r===e&&!r.startsWith("../")&&(cc.posix.basename(r)===`${t}.toon`||cc.posix.basename(r)===`${t}.md`)}function uU(e,t){return typeof e.receipt_id=="string"&&ir(e.receipt_id)&&(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0&&e.conflict_resolution===void 0&&e.item_id===t&&zk(e.item_path,t)}function Hk(e){let t=e.conflict_fields,r=e.fields_from_theirs,n=e.union_fields,i=e.decisions,o=Array.isArray(i)?new Set(i.flatMap(a=>jk(a)?[a.field]:[])):new Set;return up(t)&&up(r)&&up(n)&&Array.isArray(i)&&i.length>0&&i.length<=256&&Object.keys(i).length===i.length&&i.every(jk)&&o.size===i.length&&t.length===o.size&&t.every(a=>o.has(a))}function mU(e,t){return uU(e,t)&&Hk(e)}function pU(e,t){return typeof e.receipt_id=="string"&&ir(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&&zk(e.item_path,t)&&Hk(e)}function pp(e){return e[Uk]===!0}function lc(e,t){if(!lr(e)||!lr(e.context))return[];let r=e.context.merge;return!lr(r)||!Array.isArray(r.receipts)?[]:r.receipts.flatMap(n=>!lr(n)||typeof n.receipt_id!="string"||n.receipt_id.trim().length===0?[]:[{receiptId:n.receipt_id,legacySummaryAccepted:mU(n,t),[Uk]:pU(n,t),...typeof e.ts=="string"&&Kt(e.ts)?{eventTimestamp:e.ts}:{}}])}function qk(e,t,r){if(!lr(e)||e.op!=="merge_reconcile")return[];if(!lr(e.context)||!lr(e.context.merge))return[];let n=e.context.merge.missing_receipt_dispositions;return!Array.isArray(n)||n.length>256?[]:n.flatMap(i=>!lr(i)||typeof i.receipt_id!="string"||!ir(i.receipt_id)||typeof i.original_history_line!="number"||!Number.isSafeInteger(i.original_history_line)||i.original_history_line<1||typeof i.original_event_ts!="string"||!Kt(i.original_event_ts)||i.reason!=="legacy_clone_local_only"?[]:[{itemId:t,receiptId:i.receipt_id,originalHistoryLine:i.original_history_line,originalEventTimestamp:i.original_event_ts,auditHistoryLine:r,reason:i.reason}])}function Gk(e,t,r=[]){let n=new Map;for(let o of r){let a=`${o.itemId}\0${o.originalHistoryLine}\0${o.receiptId}\0${o.originalEventTimestamp}`;n.set(a,Math.max(n.get(a)??0,o.auditHistoryLine))}let i=o=>pp(o)&&o.eventTimestamp!==void 0&&ye(o.eventTimestamp,mp)<0&&(n.get(`${o.itemId}\0${o.line}\0${o.receiptId}\0${o.eventTimestamp}`)??0)>o.line;return{missing:e.filter(o=>!o.legacySummaryAccepted&&!t.has(o.receiptId)&&!i(o)).map(o=>({item_id:o.itemId,history_line:o.line,...ir(o.receiptId)?{receipt_id:o.receiptId}:{receipt_reference_hash:dU("sha256").update(o.receiptId).digest("hex")}})),acceptedLegacyCount:e.filter(o=>o.legacySummaryAccepted).length,acceptedDispositionCount:e.filter(i).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]="6c580b70-76eb-51db-8587-99b73dd20875")}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]="283dfa35-9a8e-524c-b6e2-d433d51215ca")}catch{}})();function dr(){let e=Gr();for(let t of V()?.relationship_kinds??[])for(let r of t.definitions)e.register(r);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]="8b57e560-4ac4-53b6-9fb1-eebb1f30562a")}catch{}})();function uc(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function dc(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function fU(e,t){let r=new Set,n=[];for(let i of[...e].sort()){if(r.has(i))continue;r.add(i);let o=[{nodeId:i,children:[...t.get(i)??[]].sort(),nextChild:0}];for(;o.length>0;){let a=o.at(-1),s=a.children[a.nextChild];s===void 0?(n.push(a.nodeId),o.pop()):(a.nextChild+=1,r.has(s)||(r.add(s),o.push({nodeId:s,children:[...t.get(s)??[]].sort(),nextChild:0})))}}return n}function _U(e,t){let r=[...e].sort(),n=fU(r,t),i=new Set,o=gU(r,t),a=[];for(let s of n.reverse()){if(i.has(s))continue;let c=hU(s,o,i);(c.length>1||t.get(c[0])?.has(c[0]))&&a.push(c)}return a.sort((s,c)=>s.join("\0").localeCompare(c.join("\0")))}function gU(e,t){let r=new Map(e.map(n=>[n,new Set]));for(let[n,i]of t)for(let o of i)r.get(o)?.add(n);return r}function hU(e,t,r){let n=[],i=[e];for(r.add(e);i.length>0;){let o=i.pop();n.push(o);for(let a of[...t.get(o)].sort())r.has(a)||(r.add(a),i.push(a))}return n.sort()}function yU(e){let t=new Map;for(let r of e){let n=uc(r?.id);n&&!t.has(n)&&t.set(n,r)}return t}function wU(e,t,r){let n=uc(t.parent);if(!(!n||!r.has(n)))return{parent_id:n,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function bU(e,t,r,n){let i=uc(t?.id),o=n.resolve(t?.kind);if(!i||!r.has(i)||!o?.hierarchy)return;let a=o.hierarchyDirection==="source_parent";return{parent_id:a?e:i,child_id:a?i:e,source:"dependency",kind:o.kind,holder_id:e,target_id:i,child_cardinality:a?o.incoming:o.outgoing}}function vU(e,t){let r=new Map;for(let[n,i]of e){let o=wU(n,i,e);o&&r.set(dc(o),o);for(let a of i.dependencies??[]){let s=bU(n,a,e,t);s&&r.set(dc(s),s)}}return[...r.values()].sort((n,i)=>dc(n).localeCompare(dc(i)))}function kU(e,t,r){let n=new Set(e.filter(i=>i.child_cardinality==="one").map(i=>i.child_id));return[...t].filter(([i,o])=>o.length>1&&n.has(i)).map(([i,o])=>({child_id:i,parent_ids:[...o],legacy_terminal:r.has(i)&&o.every(a=>r.has(a))})).sort((i,o)=>i.child_id.localeCompare(o.child_id))}function EU(e,t,r){let n=new Map;for(let o of t){if(o.source!=="dependency")continue;let a=n.get(o.child_id)??new Set;a.add(o.parent_id),n.set(o.child_id,a)}let i=[];for(let[o,a]of e){let s=uc(a.parent);if(!s||!e.has(s))continue;let c=[...n.get(o)??[]].filter(l=>l!==s).sort();c.length!==0&&i.push({child_id:o,scalar_parent_id:s,dependency_parent_ids:c,legacy_terminal:r.has(o)&&r.has(s)&&c.every(l=>r.has(l))})}return i.sort((o,a)=>o.child_id.localeCompare(a.child_id))}function Jo(e,t=n=>n==="closed"||n==="canceled",r=dr()){let n=yU(e),i=vU(n,r),o=SU(i),a=new Set([...n].filter(([,c])=>t(c.status)).map(([c])=>c)),s=_U([...n.keys()],new Map([...o.children_by_parent].map(([c,l])=>[c,new Set(l)]))).map(c=>({item_ids:c,legacy_terminal:c.every(l=>a.has(l))}));return{relations:i,cycles:s,cardinality_violations:kU(i,o.parents_by_child,a),divergences:EU(n,i,a)}}function SU(e){let t=new Map,r=new Map;for(let n of e){let i=t.get(n.child_id)??new Set;i.add(n.parent_id),t.set(n.child_id,i);let o=r.get(n.parent_id)??new Set;o.add(n.child_id),r.set(n.parent_id,o)}return{parents_by_child:new Map([...t].map(([n,i])=>[n,[...i].sort()])),children_by_parent:new Map([...r].map(([n,i])=>[n,[...i].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]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function Bk(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function TU(e,t,r=!0){let n=Bk(e);return r&&(pi(t)||n!==void 0&&Go(n))}function Wk(e,t=r=>r==="closed"||r==="canceled"){let r=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),n=new Set(r.map(c=>c.id.trim().toLowerCase())),i=new Map,o=(c,l,d,u,m)=>{let p=Bk(l);if(!p||n.has(p.toLowerCase())||TU(p,void 0,m))return;let f={holder_id:c.id.trim(),target_id:p,kind:d,source:u,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};i.set(`${f.holder_id}::${f.target_id}::${f.kind}::${f.source}`,f)};for(let c of r){o(c,c.parent,"parent","parent",!1),o(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;pi(d.source_kind)||o(c,d.id,typeof d.kind=="string"?d.kind:"related","dependency",!0)}}let a=[...i.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)),s=a.filter(c=>c.legacy_terminal);return{active:a.filter(c=>!c.legacy_terminal),legacy_terminal:s,no_active_blocker_sentinels:a.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]="d8f1968e-a030-5a3c-b766-60a409163745")}catch{}})();function mc(e,t,r=25){let n=e.definitions.filter(a=>a.roles.length===0).map(a=>a.id).sort((a,s)=>a.localeCompare(s)),i=new Set(n),o=t.filter(a=>{let s=xn(a.status,e);return s!==void 0&&i.has(s)}).map(a=>a.id).sort((a,s)=>a.localeCompare(s));return{roleless_status_count:n.length,roleless_statuses:n.slice(0,r),roleless_statuses_truncated:n.length>r,affected_item_count:o.length,affected_item_ids:o.slice(0,r),affected_item_ids_truncated:o.length>r}}function pc(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]="1c246528-8709-5f7c-a813-6e2894763d3c")}catch{}})();var AU=new Set(ai),Yk=25,_i=8,kn=100,IU=Qe.join("runtime","telemetry","events.jsonl"),CU=Qe.join("runtime","telemetry","state.json"),OU=2500,xU=500,Xk=kb-3,RU=["x-pm-telemetry-max-schema-version","x-pm-telemetry-max-version"];function Zk(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 Qk(e){let t=e.trim(),r=t.indexOf(":");return r===-1?t:t.slice(0,r)}function Yo(e){return e.trim().toLowerCase()}function Vk(e,t){let r=Yo(e),n=Yo(t);return r.startsWith("builtin-")?!0:n==="beads"||n==="todos"}async function eE(e){try{return(await mr.stat(e)).isDirectory()}catch{return!1}}async function NU(e){let t=(await mr.readdir(e,{withFileTypes:!0})).filter(n=>n.isDirectory()),r=await Promise.all(t.map(n=>mr.readdir(Qe.join(e,n.name),{withFileTypes:!0})));return new Set(r.flatMap(n=>n.filter(i=>i.isFile()).filter(i=>Jt.some(o=>i.name.endsWith(o))).map(i=>Qe.parse(i.name).name)))}async function DU(e,t,r,n){let i=await $e({path:e,scope:"project"}),o=t!=="_workspace"&&!n.has(t);if(!r.enabled&&!o)return{warnings:i,overThreshold:!1,classification:"live"};let a;try{a=await mr.readFile(e,"utf8")}catch{return{warnings:i,overThreshold:!1,classification:"unreadable"}}let s="live";if(o){let l=a.split(/\r?\n/).map(d=>d.trim()).filter(Boolean).at(-1);try{s=JSON.parse(l??"{}").op==="delete"?"tombstone":"orphaned"}catch{s="orphaned"}}let c=r.enabled?a.split(/\r?\n/).filter(l=>l.trim().length>0).length:0;return{warnings:i,overThreshold:r.enabled&&c>r.max_entries,classification:s}}async function PU(e,t,r){let n=Qe.join(e,"history");if(!await eE(n))return{count:0,warnings:[],over_threshold:[],max_entries:null,tombstones:[],orphaned:[]};let i=(await mr.readdir(n)).filter(d=>d.endsWith(".jsonl")).sort((d,u)=>d.localeCompare(u)),o=t.enabled?t.max_entries:null,a=[],s=[],c=[],l=[];for(let d of i){let u=Qe.join(n,d),m=d.slice(0,-6),p=await DU(u,m,t,r);a.push(...p.warnings),p.classification==="tombstone"&&c.push(m),p.classification==="orphaned"&&l.push(m),p.overThreshold&&s.push(m)}return{count:i.length,warnings:[...a,...s.map(d=>`history_stream_over_compact_threshold:${d}`),...l.map(d=>`history_orphaned_stream:${d}`)],over_threshold:s,max_entries:o,tombstones:c,orphaned:l}}function yp(e,t){return Qe.relative(e,t).replaceAll("\\","/")}async function LU(e,t){let r=[...new Set(Object.values(t))].sort((i,o)=>i.localeCompare(o)),n=[];for(let i of r){let o=Qe.join(e,i),a=[];try{a=await mr.readdir(o)}catch(s){if(typeof s=="object"&&s!==null&&"code"in s&&$(s))continue;continue}for(let s of a)Jt.some(c=>s.toLowerCase().endsWith(c))&&n.push(Qe.join(o,s))}return n.sort((i,o)=>yp(e,i).localeCompare(yp(e,o))),n}function MU(e){return!(typeof e=="object"&&e!==null&&"code"in e&&$(e))}async function $U(e,t,r){let n=await LU(e,t),i=[],o=[],a=[],s=[],c=St(V());for(let l of n){let d=yp(e,l),u;try{u=await mr.readFile(l,"utf8")}catch{i.push(d);continue}let m=Le(u);if(m){o.push({path:d,...m});continue}try{let p=Ke(u,{format:$n(l),schema:r,extensionFieldNames:c});s.push({ref:d,version:Rn(p.metadata)})}catch{a.push(d)}}return{paths:n,unreadable:i,conflictMarkers:o,parseFailures:a,formatVersions:s}}async function FU(e){let t=Qe.join(e,"history"),r=[],n=[],i=[],o=[],a=[],s=[];try{s=(await mr.readdir(t)).filter(c=>c.endsWith(".jsonl")).sort((c,l)=>c.localeCompare(l))}catch(c){MU(c)&&r.push("history")}for(let c of s){let l=c.slice(0,-6),d;try{d=await mr.readFile(Qe.join(t,c),"utf8")}catch{r.push(l);continue}let u=Le(d);if(u){n.push({id:l,...u});continue}d.split(/\r?\n/).forEach((m,p)=>{if(m.trim())try{let f=JSON.parse(m);o.push(...lc(f,l).map(w=>({itemId:l,line:p+1,...w}))),a.push(...qk(f,l,p+1))}catch{i.push({id:l,line:p+1})}})}return{files:s,unreadable:r,conflictMarkers:n,invalidJson:i,mergeReceiptReferences:o,mergeReceiptDispositions:a}}function jU(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 UU(e,t,r,n,i,o){let a=await $U(e,t,r),s=await FU(e),c=Ta(a.formatVersions),l=ut(r),d=Jo(o,E=>Bc(E,l),dr()),u=await sc(e),m=await It(e),p=await $k(e,m,n,i),f=m===null?null:await fo(m),w=await Et(m??e,{includeReconciled:!0,includeLossless:!0,pmRoot:e}),h=new Set(w.receipts.map(E=>E.id)),b=Gk(s.mergeReceiptReferences,h,s.mergeReceiptDispositions),v=b.missing,I=w.receipts.filter(E=>E.state==="pending"),{pendingDecisions:A,lossless:C}=vs(I),P=f?.status==="missing"&&f.missing_keys.length===5&&f.drifted_keys.length===0,T=[...a.unreadable.map(E=>`integrity_item_unreadable:${E}`),...a.conflictMarkers.map(E=>`integrity_item_conflict_marker:${E.path}:L${E.line}`),...a.parseFailures.map(E=>`integrity_item_parse_failed:${E}`),...s.unreadable.map(E=>`integrity_history_unreadable:${E}`),...s.conflictMarkers.map(E=>`integrity_history_conflict_marker:${E.id}:L${E.line}`),...s.invalidJson.map(E=>`integrity_history_invalid_json:${E.id}:L${E.line}`),...c.outdated.map(E=>`integrity_item_outdated_format_version:${E}`),...c.ahead.map(E=>`integrity_item_ahead_format_version:${E}`),...jU(d),...u.tracked_path_count>0?[`tracked_runtime_cache_files:${u.tracked_path_count}`]:[],...f!==null&&f.status!=="ok"?[`merge_driver_configuration_${P?"missing":"drift"}:${f.missing_keys.length+f.drifted_keys.length}`]:[],...p.warnings,...A.length>0?[`merge_decisions_unreviewed:${A.length}`]:[],...C.length>0?[`merge_receipts_pending:${C.length}`]:[],...Fk({invalidEvidenceCount:w.invalid_evidence_count,missingHistoryReferenceCount:v.length})],D=[...new Set(T)].sort((E,O)=>E.localeCompare(O)),z=D.filter(E=>!E.startsWith("integrity_legacy_hierarchy_"));return{check:{name:"integrity",status:z.length===0?"ok":"warn",ok:z.length===0,details:{checked_item_files:a.paths.length,checked_history_streams:s.files.length,counts:{item_unreadable:a.unreadable.length,item_conflict_markers:a.conflictMarkers.length,item_parse_failures:a.parseFailures.length,history_unreadable:s.unreadable.length,history_conflict_markers:s.conflictMarkers.length,history_invalid_json:s.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:f===null||f.status==="ok"?0:f.missing_keys.length+f.drifted_keys.length,merge_fence:p.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:a.unreadable,item_conflict_markers:a.conflictMarkers,item_parse_failures:a.parseFailures,item_outdated_format_version:c.outdated,item_ahead_format_version:c.ahead,hierarchy_integrity:{...d,relations:ur(d.relations,_i)},history_unreadable:s.unreadable,history_conflict_markers:s.conflictMarkers,history_invalid_json:s.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:f===null?null:{...f,required:i},merge_fence:p.audit,pending_merge_decision_items:[...new Set(A.map(E=>E.item_id))].sort((E,O)=>E.localeCompare(O)),lossless_merge_receipt_items:[...new Set(C.map(E=>E.item_id))].sort((E,O)=>E.localeCompare(O)),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,kn),missing_merge_receipt_history_reference_details_truncated:v.length>kn}},warnings:D,gitWorkspaceRoot:m,pendingMergeReceipts:I}}function zU(e){if(typeof e.activate=="function")return!0;let t=e.default;return typeof t!="object"||t===null?!1:typeof t.activate=="function"}function HU(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:zU(e.module)};return Array.isArray(e.capabilities)&&(t.capabilities=[...e.capabilities]),t}function qU(e,t){return ue(e.id)||`migration-${String(t+1).padStart(3,"0")}`}function GU(e){let t=ue(e.status)?.toLowerCase();return t==="failed"?"failed":t==="applied"?"applied":"pending"}function BU(e){return ue(e.reason)??ue(e.error)??ue(e.message)}function fp(e,t){let r=(e.layer??"").localeCompare(t.layer??"");if(r!==0)return r;let n=(e.name??"").localeCompare(t.name??"");return n!==0?n:(e.id??"").localeCompare(t.id??"")}function WU(e){let t=[],r=[],n=[];e.forEach((o,a)=>{let s=qU(o.definition,a),c=GU(o.definition);if(c==="applied"){t.push({layer:o.layer,name:o.name,id:s,status:c});return}if(c==="failed"){n.push({layer:o.layer,name:o.name,id:s,status:c,reason:BU(o.definition)});return}r.push({layer:o.layer,name:o.name,id:s,status:c})}),t.sort(fp),r.sort(fp),n.sort(fp);let i=[...n.map(o=>`extension_migration_failed:${o.layer}:${o.name}:${o.id}`),...r.map(o=>`extension_migration_pending:${o.layer}:${o.name}:${o.id}`)];return{summary:{applied:t,pending:r,failed:n,applied_count:t.length,pending_count:r.length,failed_count:n.length},warnings:i}}function VU(e,t,r,n,i,o,a,s,c){let l=[...new Set(e)].sort((h,b)=>h.localeCompare(b)),d=[...new Set(l.map(h=>Qk(h)))].sort((h,b)=>h.localeCompare(b)),u=l.filter(h=>h.startsWith("extension_capability_unknown:")).length,m=c.length>0,p=m?"partial":"full",f=[],w=Dk(l,{deactivate:"pm extension --deactivate <name> --project/--global",doctor:"pm extension --doctor --project/--global --detail deep --trace"});return w&&f.push(w),t>0&&f.push("Run pm extension --explore --project and pm extension --explore --global to inspect load failures."),r>0&&f.push("Review checks[name=extensions].details.activation.failed in pm health --json for activation error details."),(n.failed_count>0||n.pending_count>0)&&f.push("Resolve pending/failed extension migrations before write commands; use --force only when policy allows."),i>0&&f.push("Run pm extension --manage --project and pm extension --manage --global to refresh managed-state diagnostics."),u>0&&f.push(`Unknown extension capabilities detected. Allowed capabilities: ${rt.join(", ")}. Review extension_capability_unknown warning details for suggested replacements.`),l.some(h=>h.startsWith("extension_capability_legacy_alias:"))&&f.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:"))&&f.push("Extension command definitions using legacy handler were auto-remapped. Update command definitions to use run: (context) => ... for forward compatibility."),m?f.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>."):a.length>0&&f.push("Loaded unmanaged extensions are currently treated as informational. Use pm extension --manage --project/--global --fix-managed-state to adopt them for update checks."),f.length===0&&f.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:r,migration_failed_count:n.failed_count,migration_pending_count:n.pending_count,managed_state_warning_count:i,managed_extension_entries_count:o,unmanaged_loaded_extension_count:a.length,unmanaged_loaded_extensions:a,unmanaged_expected_extension_count:s.length,unmanaged_expected_extensions:s,unmanaged_action_required_extension_count:c.length,unmanaged_action_required_extensions:c,update_health_coverage:p,update_health_partial:m,unknown_capability_count:u,top_warnings:l.slice(0,8),remediation:f}}async function KU(e,t,r){let n=await Lk(vr(e)),i=await Gi({pmRoot:e,settings:t,cwd:process.cwd(),noExtensions:r}),o=i.loaded.map(T=>HU(T)),a=await Cb(i.loaded,vr(e)),s=await Bi({...i,loaded:i.loaded}),[c,l]=await Promise.all([Ko(i.roots.project),Ko(i.roots.global)]);await Pk(e,s.registrations.migrations);let d=WU(s.registrations.migrations),u={failed:s.failed,warnings:s.warnings,hook_counts:s.hook_counts,command_override_count:s.command_override_count,command_handler_count:s.command_handler_count,parser_override_count:s.parser_override_count,preflight_override_count:s.preflight_override_count,service_override_count:s.service_override_count,renderer_override_count:s.renderer_override_count,registration_counts:s.registration_counts,registrations:s.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}}},m=new Set(c.state.entries.map(T=>Yo(T.name))),p=new Set(l.state.entries.map(T=>Yo(T.name))),f=[...new Map(i.loaded.filter(T=>!(T.layer==="project"?m:p).has(Yo(T.name))).map(T=>[`${T.layer}:${T.name}`,{layer:T.layer,name:T.name,directory:T.directory}])).values()].sort((T,D)=>{let z=`${T.layer}:${T.name}`,E=`${D.layer}:${D.name}`;return z.localeCompare(E)}),w=f.map(T=>`${T.layer}:${T.name}`).sort((T,D)=>T.localeCompare(D)),h=f.filter(T=>Vk(T.name,T.directory)).map(T=>`${T.layer}:${T.name}`).sort((T,D)=>T.localeCompare(D)),b=f.filter(T=>!Vk(T.name,T.directory)).map(T=>`${T.layer}:${T.name}`).sort((T,D)=>T.localeCompare(D)),v=b.length>0?[`extension_update_health_partial_coverage:skipped_unmanaged:${b.length}`]:[],I=[...n.warnings,...i.warnings,...u.warnings,...d.warnings,...c.warnings,...l.warnings,...v,...a.warnings],A=cp(I),C=lp(),P=VU(I,i.failed.length,s.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:{...i,loaded:o,warnings:I,activation:u,author_manifest:n,triage:P,...d.summary.pending_count>0?{remediation_map:{extension_migration_pending:"pm extension migrate --project"}}:{},capability_contract:C,capability_guidance:A,host_version_census:a}},warnings:I}}function JU(e,t){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function ur(e,t){return Array.isArray(e)?{count:e.length,sample:e.slice(0,t),truncated:e.length>t}:{count:0,sample:[],truncated:!1}}function YU(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 _p(e,t){let r=ur(e,t);return{...r,sample:r.sample.map(n=>YU(n))}}function J(e,t){if(!Array.isArray(e))return{count:0,sample:[],truncated:!1};let r=e.filter(n=>typeof n=="string");return{count:r.length,sample:r.slice(0,t),truncated:r.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 ZU={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 r=typeof e.activation=="object"&&e.activation!==null?e.activation:{};return{disabled_by_flag:e.disabled_by_flag,discovered:_p(e.discovered,t),effective:_p(e.effective,t),loaded:_p(e.loaded,t),failed:ur(e.failed,t),warnings:J(e.warnings,t),activation:{failed:ur(r.failed,t),warnings:J(r.warnings,t),hook_counts:r.hook_counts,command_handler_count:r.command_handler_count,service_override_count:r.service_override_count,renderer_override_count:r.renderer_override_count,registration_counts:r.registration_counts,migration_status:XU(r.migration_status)},author_manifest:e.author_manifest,triage:e.triage,capability_contract:e.capability_contract,capability_guidance:ur(e.capability_guidance,t),host_version_census:e.host_version_census}},storage:(e,t)=>{let r=typeof e.author_attribution=="object"&&e.author_attribution!==null?e.author_attribution:void 0;return{...e,...r?{author_attribution:{...r,affected_item_ids:J(r.affected_item_ids,t),samples:ur(r.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 r=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:ur(e.item_conflict_markers,t),item_parse_failures:J(e.item_parse_failures,t),tracked_runtime_cache:r===void 0?e.tracked_runtime_cache:{...r,tracked_paths:J(r.tracked_paths,t)},history_unreadable:J(e.history_unreadable,t),history_conflict_markers:ur(e.history_conflict_markers,t),history_invalid_json:ur(e.history_invalid_json,t),skipped:e.skipped}},history_drift:(e,t)=>{let r=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:r===void 0?e.cache_confirmation:{...r,candidate_items:J(r.candidate_items,t),confirmed_items:J(r.confirmed_items,t),resolved_false_positive_items:J(r.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 QU(e,t){let r=ZU[e.name];return r?r(e.details,t):e.details}function ez(e){let t=J(e.warnings,_i);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.map(r=>({name:r.name,status:r.status,ok:r.ok,details:QU(r,_i)})),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:"brief",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:_i},generated_at:e.generated_at}}function Kk(e){return e.details.skipped===!0}function tz(e){let t=J(e.warnings,_i),r=e.checks.filter(Kk).map(n=>n.name);return{ok:e.ok,...e.verdict?{verdict:e.verdict}:{},checks:e.checks.filter(n=>!Kk(n)).map(n=>({name:n.name,status:n.status,ok:n.ok,details:{}})),warning_count:t.count,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:"summary",warning_count:t.count,warnings_truncated:t.truncated,detail_limit:_i,omitted_checks:r},generated_at:e.generated_at}}function Jk(e,t){if(t)return{values:e,truncated:!1,total:e.length};let r=JU(e,Yk);return{values:r.values,truncated:r.truncated,total:e.length}}function gp(e){let t=(process.env[e]??"").trim().toLowerCase();return t==="1"||t==="true"||t==="yes"||t==="on"}function rz(){let e=(process.env.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase();return AU.has(e)?e:null}function wp(e){let t=e.trim();if(t.length===0)return"";try{let r=new URL(t);return r.username="",r.password="",r.search="",r.hash="",r.toString()}catch{return t}}function nz(e){let t=0,r=0,n=0,i=0,o=0;for(let a of e.split(`
138
+ `)){let s=a.trim();if(s.length!==0){n+=1;try{let c=JSON.parse(s);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,o=Math.max(o,l),l>=Xk&&(i+=1)}else r+=1}catch{r+=1}}}return{validEntries:t,invalidRows:r,totalRows:n,highRetryEntries:i,maxAttempts:o}}function iz(){return{validEntries:0,invalidRows:0,totalRows:0,highRetryEntries:0,maxAttempts:0}}function oz(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 az(e,t){let r=e.telemetry.endpoint.trim();return!t||!e.telemetry.enabled||r.length===0||si().telemetry_disabled?void 0:{attempted:!0,...await fz(r)}}function sz(e,t,r){let n=[];if(t.invalidRows>0&&n.push(`telemetry_queue_invalid_rows:${t.invalidRows}`),!e.telemetry.enabled||t.validEntries===0)return n;let i=r.last_successful_flush_at,o=r.last_failed_flush_at,a=o&&(!i||o>i),s=!i,c=t.validEntries>=xU;return(a||s||c)&&n.push(`telemetry_queue_pending:${t.validEntries}`),t.highRetryEntries>0&&n.push(`telemetry_queue_high_retries:${t.highRetryEntries}`),n}function cz(e){return!e||e.ok!==!1?[]:typeof e.status=="number"?[`telemetry_endpoint_probe_http_status:${e.status}`]:["telemetry_endpoint_probe_failed"]}function lz(e){let t=Number.parseInt(e?.max_schema_version??"",10);return e?.ok===!0&&Number.isInteger(t)&&t>vb?[`telemetry_schema_version_behind:${t}`]:[]}function dz(e,t){let r=typeof t.pending_otel_spans=="number"?t.pending_otel_spans:0,n=t.last_otel_success_at,i=t.last_otel_failure_at;return e.telemetry.enabled&&r>0&&i&&(!n||i>=n)?[`telemetry_otel_export_failing:${r}`]:[]}function uz(){return{...si(),pm_no_telemetry:gp("PM_NO_TELEMETRY"),telemetry_otel_disabled:gp("PM_TELEMETRY_OTEL_DISABLED"),telemetry_inline_flush:gp("PM_TELEMETRY_INLINE_FLUSH"),telemetry_source_context:rz()}}function mz(e,t){return e.telemetry.enabled&&t.validEntries>0}function pz(e,t){return e&&t.every(r=>!r.startsWith("telemetry_queue_pending:")&&!r.startsWith("telemetry_queue_high_retries:"))}async function fz(e){let t=e;try{let r=new URL(e);r.pathname="/healthz",r.search="",r.hash="",t=r.toString()}catch{}try{let r=await fetch(t,{method:"GET",signal:AbortSignal.timeout(OU)});return{probe_url:wp(t),ok:r.ok,status:r.status,max_schema_version:(()=>{for(let n of RU){let i=r.headers.get(n)?.trim();if(i&&i.length>0)return i}})()}}catch(r){return{probe_url:wp(t),ok:!1,error:r instanceof Error?r.message:"probe_failed"}}}async function _z(e,t){let r=kr(process.cwd()),n=Qe.join(r,IU),i=Qe.join(r,CU),o=await K(n),a=o!==null,s=o?Buffer.byteLength(o,"utf8"):0,c=o?nz(o):iz(),l=await K(i),{runtimeState:d,stateParseFailed:u}=oz(l),m=e.telemetry.endpoint.trim(),p=wp(m),f=await az(e,t.checkTelemetry),w=[];u&&w.push("telemetry_state_invalid_json"),w.push(...sz(e,c,d),...cz(f),...lz(f),...dz(e,d));let h=mz(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:p,global_pm_root:r,queue_path:n,queue_exists:a,queue_entries:c.validEntries,queue_draining:pz(h,w),queue_invalid_rows:c.invalidRows,queue_rows_total:c.totalRows,queue_size_bytes:s,queue_high_retry_entries:c.highRetryEntries,queue_high_retry_threshold:Xk,queue_max_attempts:c.maxAttempts,runtime_state_path:i,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:f??{attempted:!1},env_overrides:uz()}},warnings:w}}async function gz(e){let t;try{t=await Jw(e)}catch(n){let i=n instanceof Error?n.message:String(n);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:i,pm_root:e}},warnings:[`locks_scan_failed:${i}`]}}let r=[];return t.stale_lock_count>0&&r.push(`locks_stale_count:${t.stale_lock_count}`),t.unreadable_lock_count>0&&r.push(`locks_unreadable:${t.unreadable_lock_count}`),{check:{name:"locks",status:r.length===0?"ok":"warn",ok:r.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:r}}async function hz(e){let t="metadata",r=e.items,n=await wn(e.pmRoot,r,{cacheHitVerification:t}),i=[...new Set([...n.hashMismatches,...n.chainMismatches,...n.versionSkews])].sort((b,v)=>b.localeCompare(v)),o=[],a=[];if(i.length>0){r=await hn(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema,{forceSourceScan:!0}),n=await wn(e.pmRoot,r),o=[...new Set([...n.hashMismatches,...n.chainMismatches,...n.versionSkews])].sort((v,I)=>v.localeCompare(I));let b=new Set(o);a=i.filter(v=>!b.has(v))}let{missingStreams:s,unreadableStreams:c,hashMismatches:l,chainMismatches:d,versionSkews:u,driftedItems:m,workspaceStateMismatches:p,workspaceStateMissing:f,workspaceStateUnreadable:w}=n,h=[...s.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}`),...p.map(b=>`history_drift_workspace_state_mismatch:${b}`),...f.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:r.length,cache_hit_verification:i.length>0?"metadata_then_content_hash":t,cache_confirmation:{triggered:i.length>0,reason:i.length>0?"cached_corruption_candidate":null,candidate_items:i,confirmed_items:o,resolved_false_positive_items:a,authoritative_item_source:i.length>0},drifted_items:m,counts:{drifted:m.length,missing_streams:s.length,unreadable_streams:c.length,hash_mismatches:l.length,chain_mismatches:d.length,version_skews:u.length,workspace_state_mismatches:p.length,workspace_state_missing:f.length,workspace_state_unreadable:w.length},missing_streams:s,unreadable_streams:c,hash_mismatches:l,chain_mismatches:d,version_skews:u,workspace_state_mismatches:p,workspace_state_missing:f,workspace_state_unreadable:w}},warnings:h}}function yz(e,t){let r=li(e),n=Do(r.settings),i=Lo(r.settings,t),o=n.active?ui(n.active.name,n.active.model):null;return{runtimeDefaults:r,providerResolution:n,vectorStoreResolution:i,runtimeEmbeddingIdentity:o,semanticRuntimeAvailable:!!(n.active&&i.active)}}function wz(){return{refreshed:[],skipped:[],warnings:[]}}async function bz(e){return!e.refreshPolicy.enabled||!e.snapshot.semanticRuntimeAvailable||e.staleBefore.length===0?wz():wb(e.pmRoot,e.staleBefore,{settings:e.snapshot.runtimeDefaults.settings,apply_runtime_defaults:!1})}function vz(e){return e.strictVectorizationWarnings&&e.semanticRuntimeAvailable&&!!(e.ledgerBefore.embedding&&e.runtimeEmbeddingIdentity&&Mo(e.ledgerBefore.embedding,e.runtimeEmbeddingIdentity))}function kz(e){let t=new Set([...e.ledgerBefore.warnings,...e.ledgerAfter.warnings]);if(e.strictVectorizationWarnings)for(let r of e.refreshResult.warnings)t.add(r);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((r,n)=>r.localeCompare(n))}function Ez(e,t,r){return e.enabled&&t&&r.length>0?null:e.enabled?t?"no_stale_items":"semantic_runtime_unavailable":"refresh_disabled"}function Sz(e,t){let r=t.providerResolution.active?.name??null,n=t.vectorStoreResolution.active?.name??null;return{provider_active:r,provider_configured:typeof e.search?.provider=="string"?e.search.provider:null,provider_source:rm(r,e.search?.provider??null),vector_store_active:n,vector_store_configured:typeof e.vector_store?.adapter=="string"?e.vector_store.adapter:null,vector_store_source:rm(n,e.vector_store?.adapter??null)}}function Tz(e){return{enabled:e.enabled,check_only:e.checkOnly,no_refresh:e.noRefresh,refresh_vectors:e.refreshVectors}}function Az(e,t,r){return e.enabled&&r.length>0&&t}async function Iz(e,t,r,n,i){let o=yz(t,e),a=await jo(e),s=o.semanticRuntimeAvailable?wm(r,a.entries):[],c=await bz({pmRoot:e,snapshot:o,refreshPolicy:n,staleBefore:s}),l=await jo(e),d=o.semanticRuntimeAvailable?wm(r,l.entries):[],u=!o.runtimeDefaults.auto_ollama_defaults_applied,m=vz({strictVectorizationWarnings:u,semanticRuntimeAvailable:o.semanticRuntimeAvailable,ledgerBefore:a,runtimeEmbeddingIdentity:o.runtimeEmbeddingIdentity}),p=kz({ledgerBefore:a,ledgerAfter:l,refreshResult:c,strictVectorizationWarnings:u,semanticRuntimeAvailable:o.semanticRuntimeAvailable,embeddingIdentityChanged:m,staleAfter:d}),f=Jk(s,i),w=Jk(d,i),h=Az(n,o.semanticRuntimeAvailable,s);return{check:{name:"vectorization",status:p.length===0?"ok":"warn",ok:p.length===0,details:{semantic_runtime_available:o.semanticRuntimeAvailable,compatibility_mode_auto_defaults:o.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_applied:o.runtimeDefaults.auto_ollama_defaults_applied,auto_ollama_defaults_skipped_reason:o.runtimeDefaults.auto_ollama_defaults_skipped_reason??null,auto_ollama_defaults_remediation:o.runtimeDefaults.auto_ollama_defaults_remediation??null,refresh_policy:Tz(n),...Sz(t,o),embedding_identity_changed:m,embedding_identity_before:a.embedding??null,embedding_identity_runtime:o.runtimeEmbeddingIdentity??null,items:r.length,ledger_entries_before:Object.keys(a.entries).length,stale_items_detail_mode:i?"full":"summary",stale_items_summary_limit:Yk,stale_items_before_total:f.total,stale_items_before:f.values,stale_items_before_truncated:f.truncated,refresh_attempted:h,refresh_skipped_reason:Ez(n,o.semanticRuntimeAvailable,s),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:p}}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 Oz(e){let t=e.checkOnly===!0,r=e.refreshVectors===!0;if(r&&t)throw new g("--check-only cannot be combined with --refresh-vectors",_.USAGE);if(r&&e.noRefresh===!0)throw new g("--no-refresh cannot be combined with --refresh-vectors",_.USAGE);return{enabled:r,checkOnly:t,noRefresh:!r,refreshVectors:r}}var xz=new Set(["extensions","locks","search"]);function Rz(e){let t=new Set(Rc.filter(i=>i.length>0)),r=new Set,n=new Set(Object.values(He));for(let i of e.folders)t.has(i)&&!n.has(i)||(t.delete(i),r.add(i));for(let i of xz)t.delete(i),r.add(i);return{requiredDirs:[...t].sort((i,o)=>i.localeCompare(o)),optionalDirs:[...r].sort((i,o)=>i.localeCompare(o)),optionalDirSet:r}}async function Nz(e,t,r){let{requiredDirs:n,optionalDirs:i,optionalDirSet:o}=Rz(t),a=[],s=[],c=[];for(let l of[...n,...i]){let d=Qe.join(e,l);c.push(...await $e({path:d,scope:"project"})),!await eE(d)&&(o.has(l)?s.push(l):a.push(l))}return{requiredDirs:n,optionalDirs:i,missingRequiredDirs:a,missingOptionalDirs:s,missingDirs:r?[...a,...s]:[...a],hookWarnings:c}}function Dz(e){let t=e.checkOnly===!0&&e.brief!==!0&&e.summary!==!0&&e.full!==!0,r=(e.summary===!0||t)&&e.full!==!0,n=e.checkOnly===!0&&(e.brief===!0||e.summary===!0)&&e.full!==!0;return{summaryMode:r,skipIntegrity:(e.skipIntegrity===!0||n)&&e.full!==!0,skipDrift:(e.skipDrift===!0||n)&&e.full!==!0,skipVectors:(e.skipVectors===!0||n)&&e.full!==!0}}async function Pz(e){return e.skipPolicy.skipDrift&&e.skipPolicy.skipVectors?To(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema):hn(e.pmRoot,e.settings.item_format,e.typeRegistry.type_to_folder,e.itemReadWarnings,e.settings.schema)}function hp(e){return{check:{name:e,status:"ok",ok:!0,details:{skipped:!0}},warnings:[]}}function Lz(e,t,r){return{name:"settings",status:r.length===0?"ok":"warn",ok:r.length===0,details:{path:e,version:t.version,id_prefix:t.id_prefix,locks_ttl_seconds:t.locks.ttl_seconds,warnings:r}}}function Mz(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 $z(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 tE=e=>e.unknown_event_count??0,rE=e=>e.actionable_unknown_event_count??tE(e);function Fz(e,t,r,n,i,o){let a=tE(n),s=rE(n),c=a>0,l=s>0,d=i.count>0;return{name:"storage",status:r.over_threshold.length===0&&r.orphaned.length===0&&!l&&!d?"ok":"warn",ok:r.over_threshold.length===0&&r.orphaned.length===0&&!l&&!d,details:{items:e.length,history_streams:r.count,tombstones:{retention_policy:"retain_append_only",gc_enabled:!1,count:r.tombstones.length,ids:r.tombstones.slice(0,25),truncated:r.tombstones.length>25},orphaned_history_streams:{count:r.orphaned.length,ids:r.orphaned.slice(0,25),truncated:r.orphaned.length>25},...c?{author_attribution:n}:{},...d?{stale_in_progress:i}:{},...o.outcomes.length>0?{provenance_resolver_outcomes:o.outcomes}:{},...o.invalid_values.length>0?{provenance_invalid_values:o.invalid_values}:{},provenance_sample:o.sample,...r.max_entries!==null?{compact_policy:{enabled:t.history.compact_policy.enabled,max_entries:r.max_entries,trigger:t.history.compact_policy.trigger,over_threshold_count:r.over_threshold.length,over_threshold:r.over_threshold}}:{}}}}function jz(e){let t=e.count===0?[]:[`stale_in_progress_items:${e.count}`];return{scan:e,warnings:t}}function Uz(e){let t=[...e.directoryState.missingDirs.map(r=>`missing_directory:${r}`),...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 zz(e){let t=e.check.details.counts;return typeof t?.drifted=="number"?t.drifted:0}function Hz(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 qz(e){let t=new Map;for(let[n,i]of Object.entries(e.remediationSources))for(let o of i)t.has(o)||t.set(o,n);let r=new Map(e.checks.map(n=>[n.name,n]));return e.warnings.map(n=>{let i=t.get(n)??"integrity",o=km(n)?.code??Qk(n),a=r.get(i)?.details,s=typeof a?.remediation_map=="object"&&a.remediation_map!==null?a.remediation_map:{},c=o==="agent_guidance_outdated"?"pm init --agent-guidance add":o==="agent_guidance_unreadable"?"Check AGENTS.md and CLAUDE.md read permissions and file types, then retry pm health.":s[o],l=Zk(n,e.requireMergeDrivers)?"advisory":"gate_failing";return{warning:n,code:o,check:i,severity:l,...typeof c=="string"?{remediation:c}:l==="gate_failing"?{disposition:"no_safe_automatic_remediation"}:{}}})}function Gz(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 Bz(e){for(let t of e.checks){let r=Em(e.remediationSources[t.name]);Gz({check:t,remediationMap:r,historyDriftedCount:e.historyDriftedCount,overThresholdCount:e.overThresholdCount}),Object.keys(r).length>0&&(t.details={...t.details,remediation_map:r})}}async function Wz(e){if(e.gitWorkspaceRoot===null||e.pendingMergeReceipts.length===0)return[];let t=e.historyDriftCheck.check.details,r=Array.isArray(t.hash_mismatches)?t.hash_mismatches.filter(a=>typeof a=="string"):[],n=new Set([t.missing_streams,t.unreadable_streams,t.chain_mismatches].flatMap(a=>Array.isArray(a)?a:[])),i=new Map;for(let a of e.pendingMergeReceipts){let s=i.get(a.item_id)??[];s.push(a),i.set(a.item_id,s)}let o=[];for(let a of r){if(n.has(a))continue;let s=i.get(a);if(!(!s||s.length===0))try{await ar(a,{dryRun:!0,mergeReceiptProof:{gitWorkspaceRoot:e.gitWorkspaceRoot,receipts:s}},e.global),o.push(a)}catch{}}return[...new Set(o)].sort((a,s)=>a.localeCompare(s))}function Vz(e,t){let r=new Set(t);e.warnings=[...e.warnings.filter(n=>n.startsWith("history_drift_hash_mismatch:")?!r.has(n.slice(n.indexOf(":")+1)):!0),...t.map(n=>`history_drift_merge_receipt:${n}`)].sort((n,i)=>n.localeCompare(i)),e.check.details={...e.check.details,merge_receipt_attributed_items:t}}function Kz(e,t,r){let n=e.warning_count??e.warnings.length,i={...e,warning_count:n,warning_limit:kn,warnings_truncated:n>kn,warnings:e.warnings.slice(0,kn),findings:(e.findings??[]).filter(a=>e.warnings.slice(0,kn).includes(a.warning)||e.failed_because.includes(a.warning))},o=r?tz(i):t.brief===!0?ez(i):i;return{...o,warning_count:n,warning_limit:kn,warnings_truncated:n>o.warnings.length,...o.projection?{projection:{...o.projection,warning_count:n,warnings_truncated:n>o.warnings.length}}:{}}}async function bp(e,t={}){let r=Z(process.cwd(),e.path);await je(r);let n=ke(r),{settings:i,warnings:o}=await Pr(r),a=[...new Set(o)],s=ce(i,V()),c=t.strictDirectories===!0,l=t.strictExit===!0||t.failOnWarn===!0,d=t.requireMergeDrivers===!0||l,u=Oz(t),m=await Nz(r,s,c),p=Cz(i),f=await _z(i,{checkTelemetry:t.checkTelemetry===!0}),w=await KU(r,i,!!e.noExtensions),h=Dz(t),b=[],v=await Pz({pmRoot:r,settings:i,typeRegistry:s,skipPolicy:h,itemReadWarnings:b}),I=v,A=mc(ut(i.schema),v),C=[...(await Ww({pm_root:r,cwd:process.cwd(),mode:"status",interactive:!1,settings:i}).catch(()=>({warnings:["agent_guidance_unreadable:AGENTS.md,CLAUDE.md"]}))).warnings.filter(xe=>xe.startsWith("agent_guidance_")),...p,...pc(A)],P=h.skipDrift?{warnings:[]}:await Ls({pmRoot:r,settings:i,itemIds:v.map(xe=>xe.id),commandLabel:"health"}),T=await PU(r,i.history.compact_policy,await NU(r)),D=await oc(r,20,t.verboseAuthorEvents===!0),z=rE(D),E=z>0?[`history_unknown_author_events:${z}`]:[],O=jz(await Tm(r,v,{in_progress_status:i.schema.workflow.in_progress_status,threshold_hours:i.mutation_guard.stale_in_progress_hours})),de=await xw(r),Wt=de.warnings,Y=await gz(r),be=h.skipIntegrity&&!d?{...hp("integrity"),gitWorkspaceRoot:null,pendingMergeReceipts:[]}:await UU(r,s.type_to_folder,i.schema,i,d,v),Vt=h.skipDrift?hp("history_drift"):await hz({pmRoot:r,items:I,settings:i,typeRegistry:s,itemReadWarnings:b}),Fp=[...new Set(b)],tS=await Wz({gitWorkspaceRoot:be.gitWorkspaceRoot,pendingMergeReceipts:be.pendingMergeReceipts,historyDriftCheck:Vt,global:e});Vz(Vt,tS);let Ec=h.skipVectors?hp("vectorization"):await Iz(r,i,I,u,t.verboseStaleItems===!0),ra=[Lz(n,i,a),Mz(m,c),$z(C,A),f.check,w.check,Fz(v,i,T,D,O.scan,de),Y.check,be.check,Vt.check,Ec.check],Sc=Uz({directoryState:m,normalizedSettingsReadWarnings:a,settingWarnings:C,normalizedItemReadWarnings:Fp,telemetryCheck:f,extensionCheck:w,historyPolicyWarnings:P.warnings,historySummary:T,authorAttributionWarnings:E,staleInProgressWarnings:O.warnings,provenanceWarnings:Wt,locksCheck:Y,integrityCheck:be,historyDriftCheck:Vt,vectorizationCheck:Ec}),jp=Hz({directoryState:m,normalizedSettingsReadWarnings:a,settingWarnings:C,normalizedItemReadWarnings:Fp,telemetryCheck:f,extensionCheck:w,historyPolicyWarnings:P.warnings,historySummary:T,authorAttributionWarnings:E,staleInProgressWarnings:O.warnings,provenanceWarnings:Wt,locksCheck:Y,integrityCheck:be,historyDriftCheck:Vt,vectorizationCheck:Ec});Bz({checks:ra,remediationSources:jp,historyDriftedCount:zz(Vt),overThresholdCount:T.over_threshold.length});let Tc=Sc.filter(xe=>!Zk(xe,d)),Ac=qz({warnings:Sc,checks:ra,remediationSources:jp,requireMergeDrivers:d}),rS=new Set(Ac.filter(xe=>xe.severity==="gate_failing").map(xe=>xe.check)),nS=new Set(Ac.map(xe=>xe.check));for(let xe of ra)xe.ok=!rS.has(xe.name),nS.has(xe.name)&&(xe.status="warn");let iS={ok:Tc.length===0,verdict:{authority:"ok",...l?{strict_exit:!0}:{},...d?{require_merge_drivers:!0}:{},exit_code:l&&Tc.length>0?_.GENERIC_FAILURE:0},checks:ra,warnings:Sc,findings:Ac,failed_because:Tc,generated_at:j()};return Kz(iS,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]="eb2e6046-156c-56ee-a03a-ecaa1cccfb45")}catch{}})();function nE(e,t){let r=at(e),n=e.length>0?e[e.length-1].after_hash:Fd(),i=t===void 0||r.item_hash_version===void 0?void 0:Wn(t,r.item_hash_version,Re(e.at(-1)?.hash_algorithm)),o=t===void 0?void 0:i===void 0?Md(t):i[Math.max(0,i.indexOf(n))],a=o===void 0?void 0:o===n,s=[...r.errors];return a===!1&&s.push("verify_failed:current_item_hash_mismatch"),{ok:s.length===0,entries:e.length,errors:s,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:o,current_matches_latest: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]="a07d2f98-7c1d-5d0a-be70-5181ed0f7b4f")}catch{}})();function iE(e,t,r){if(!r.has(t.metadata.status))return{reason:"not_terminal"};if(e.length===0)return{reason:"missing_history"};if(!nE(e,t).ok)return{reason:"unverified_history"};let n=ln(),i={reason:"no_proven_transition"};for(let[o,a]of e.entries()){let s=r.has(String(n.metadata.status));n=ii(n,a.patch,o+1,a.op),r.has(String(n.metadata.status))?s||(i=["create","close","cancel","update","update_audit"].includes(a.op)&&gr(a.ts)?{timestamp:a.ts,source_index:o+1}:{reason:"no_proven_transition"}):i={reason:"no_proven_transition"}}return i}function oE(e){return new Set([...e.terminal_statuses,...[...e.alias_to_id].filter(([,t])=>e.terminal_statuses.has(t)).map(([t])=>t)])}async function aE(e,t,r,n,i){let o=oE(r),a=t.filter(l=>o.has(l.status)&&!l.closed_at),s=[],c=[];for(let l of n?a:[]){let d;try{let u=await We(Ee(e,l.id),l.id),{body:m,...p}=l;d=iE(u,{metadata:p,body:m},o)}catch{c.push({id:l.id,reason:"unreadable_history"});continue}if("reason"in d){c.push({id:l.id,reason:d.reason});continue}s.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:a.length,missing_closed_at_item_ids:a.slice(0,i).map(l=>l.id),missing_closed_at_item_ids_truncated:a.length>i,closure_history_inspected:n,closure_timestamp_derivable_count:s.length,closure_timestamp_residual_count:c.length,closure_timestamp_residual:c.slice(0,i),closure_timestamp_residual_truncated:c.length>i,...a.length>0?{closure_timestamp_fix_hint:"pm validate --check-metadata --auto-fix --fix-scope timestamps --dry-run"}:{}},fixes:s,warnings:a.length>0?[`validate_metadata_missing_closed_at:${a.length}`]:[]}}async function sE(e,t){let r=Z(process.cwd(),t.path),n=await X(r),i=ut(n.schema);await yn({pmRoot:r,settings:n,id:e.item_id,op:"update",author:Ce(t.author,n.author_default),message:"Backfill closed_at from verified lifecycle history",skipNoop:!0,async mutate(o){if(o.metadata.closed_at)return{changedFields:[]};let a=await We(Ee(r,o.metadata.id),o.metadata.id),s=oE(i),c=iE(a,o,s);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 o.metadata.closed_at=c.timestamp,{changedFields:["closed_at"]}}})}import $p from"node:fs/promises";import{realpathSync as aH}from"node:fs";import{execFile as sH}from"node:child_process";import tt from"node:path";import{promisify as cH}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]="8c3bbe6d-dcce-5b1a-8352-1472ab1ed6e2")}catch{}})();var Jz=["metadata","resolution"],vp=["metadata","resolution","estimates","timestamps","lifecycle"],Yz="completed";function kp(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"','\\"')}"`}function cE(e){let t=e?.trim();return t!==void 0&&t.length>0?t:void 0}function lE(e){let t=[];for(let r of e){if(!r.missing_fields.includes("resolution"))continue;let n=cE(r.close_reason)??Yz;t.push({item_id:r.id,check:"resolution",field:"resolution",kind:"set_resolution",value:n,command:`pm update ${r.id} --resolution ${kp(n)}`,gate:"resolution"})}return t}function dE(e){let t=[];for(let r of e){let n=cE(r.resolution);n!==void 0&&t.push({item_id:r.id,check:"metadata",field:"close_reason",kind:"set_close_reason",value:n,command:`pm update ${r.id} --close-reason ${kp(n)}`,gate:"metadata"})}return t}function uE(e,t){return e.map(r=>{let n=iy(r.type,t);return{item_id:r.id,check:"metadata",field:"estimated_minutes",kind:"set_estimate",value:String(n),command:`pm update ${r.id} --estimate ${n}`,gate:"estimates"}})}function mE(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 pE(e){let t=[];for(let r of e){if(r.classification!=="deleted")continue;let n=r.link_kind==="files"?"files":"docs";t.push({item_id:r.item_id,check:"files",field:r.link_kind,kind:r.link_kind==="files"?"prune_file_link":"prune_doc_link",path:r.path,command:`pm ${n} ${r.item_id} --remove ${kp(r.path)}`})}return t}function fE(e){let t=(e??[]).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.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: ${vp.join(", ")}.`,_.USAGE);return new Set(Jz)}let r=new Set;for(let n of t){let i=n.toLowerCase().replaceAll("-","_");if(vp.includes(i)){r.add(i);continue}throw new g(`Unknown --fix-scope value "${n}". Supported values: ${vp.join(", ")}.`,_.USAGE)}return r}function _E(e,t){let r=[],n=[];for(let i of e)i.gate!==void 0&&!t.has(i.gate)?n.push(i):r.push(i);return{applicable:r,gated:n}}function Xo(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]="e93db1eb-e524-58bf-af2e-cb5f22f3047b")}catch{}})();var Xz=/^([A-Z][A-Z0-9]*-\d+)\b/iu;function Zz(e,t={}){if(typeof e!="string")return null;let r=e.trim();if(r.length===0)return null;let n=Xz.exec(r);if(!n)return null;let i=n[1],o=i.toUpperCase(),a=i.slice(0,i.lastIndexOf("-")),s=new Set((t.configuredPrefixes??[]).map(u=>u.trim().replace(/-+$/u,"").toUpperCase())),c=r.slice(i.length),l=t.evidenceText?.toUpperCase()??"",d=l.includes(`ISSUE CODE: ${o}`)||l.includes(`ISSUE CODE \`${o}\``)||l.includes(`\`${o}\``)||l.includes(`[${o}]`);return a===a.toUpperCase()||/^\s*(?::|—|–|\])/u.test(c)||s.has(a.toUpperCase())||d?o:null}function gE(e){return typeof e=="string"&&e.trim().length>0}function Qz(e){let t=new Set(e.map(a=>a.id.toLowerCase())),r=new Map,n=new Map;for(let a of e){let s=a.id.toLowerCase(),c=new Set([...a.parent===null?[]:[a.parent.toLowerCase()],...a.derivations].filter(l=>l!==s&&t.has(l)));r.set(s,c);for(let l of c){let d=n.get(l)??[];d.push(s),n.set(l,d)}}let i=[...[...r].filter(([,a])=>a.size===0).map(([a])=>a)],o=new Set;for(let a=0;a<i.length;a+=1)for(let s of n.get(i[a])??[]){let c=r.get(s);c.delete(i[a]),c.size===0&&(o.add(s),i.push(s))}return e.filter(a=>!o.has(a.id.toLowerCase()))}function hE(e,t={}){let r=new Map;for(let i of e){if(typeof i.title!="string"||gE(i.duplicate_of))continue;let o=Zz(i.title,{...t,evidenceText:i.body});if(o===null)continue;let a=r.get(o);a||(a=[],r.set(o,a)),a.some(s=>s.id===i.id)||a.push({id:i.id,title:i.title,parent:gE(i.parent)?i.parent.trim():null,derivations:(i.dependencies??[]).filter(s=>["discovered_from","supersedes","incident_from"].includes(s.kind)).map(s=>s.id.trim().toLowerCase()).filter(s=>s!==i.id.toLowerCase())})}let n=[];for(let[i,o]of r){if(o.length<2)continue;let a=Qz(o);if(a.length<2)continue;let s=[...a].sort((c,l)=>c.id.localeCompare(l.id));n.push({code:i,count:s.length,ids:s.map(c=>c.id),titles:s.map(c=>c.title)})}return n.sort((i,o)=>i.code.localeCompare(o.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]="3c32504d-254c-5156-a41f-8ffd8e49107f")}catch{}})();function yE(e){let t=new Map;for(let n of e){let i=t.get(n.item_type);i||(i=new Map,t.set(n.item_type,i)),i.set(n.field,(i.get(n.field)??0)+1)}let r={};for(let n of[...t.keys()].sort((i,o)=>i.localeCompare(o))){let i=t.get(n),o={};for(let a of[...i.keys()].sort((s,c)=>s.localeCompare(c)))o[a]=i.get(a);r[n]=o}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c577e41b-6642-554a-bc4d-0c22170c1e24")}catch{}})();function wE(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t===-1?e:e.slice(t+1)}function bE(e,t,r=3){let n=Number.isFinite(r)&&r>=1?Math.floor(r):3,i=new Map;for(let o of t){let a=wE(o);if(a.length===0)continue;let s=i.get(a);s?s.push(o):i.set(a,[o])}return e.map(o=>{if(o.includes(",")||o.replace(/^[a-z]:[\\/]/i,"").includes(":"))return{path:o,classification:"malformed",candidates:[],candidates_truncated:!1};let a=(i.get(wE(o))??[]).filter(s=>s!==o).sort((s,c)=>s.localeCompare(c));return a.length===0?{path:o,classification:"deleted",candidates:[],candidates_truncated:!1}:{path:o,classification:"moved",candidates:a.slice(0,n),candidates_truncated:a.length>n}})}function vE(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 e2=/^[a-z][a-z0-9+.-]+:\/\//i;function Zo(e){return e2.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]="34d28b31-b098-5ffd-b39b-2e11de150ac1")}catch{}})();function t2(e,t){return e==="malformed"||t==="malformed"?"malformed":e==="moved"||t==="moved"?"moved":"deleted"}function kE(e){return`${e.item_id} ${e.link_kind}`}function EE(e,t){let r=new Map;for(let n of e){let i=r.get(n.path);i?(i.classification=t2(i.classification,n.classification),i.owners.set(kE(n),n)):r.set(n.path,{classification:n.classification,owners:new Map([[kE(n),n]])})}return[...r.entries()].sort(([n],[i])=>n.localeCompare(i)).map(([n,i])=>({path:n,classification:i.classification,items:[...i.owners.values()].map(o=>{let a=t(o.item_id);return{id:o.item_id,type:a?.type??"Unknown",title:a?.title??"",status:a?.status??"",field:o.link_kind}}).sort((o,a)=>{let s=o.id.localeCompare(a.id);return s!==0?s:o.field.localeCompare(a.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]="00f8052d-480b-5e38-86cf-4574a8ad1e92")}catch{}})();function SE(e,t,r,n,i=40){let o=i===1/0?1/0:Number.isFinite(i)?Math.max(0,Math.floor(i)):40,a=new Map(t.map(l=>[l.path,l])),s={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=EE(e,r).map(l=>{let d=[],u=[];for(let p of l.items){let f=xt(p.status,n)??p.status;n.terminal_statuses.has(f)?(u.push(p),f===n.close_status&&(s.legacy_closed_missing_linked_links_count+=1)):d.push(p)}s.missing_linked_links_count+=l.items.length,s.active_missing_linked_links_count+=d.length,s.legacy_terminal_missing_linked_links_count+=u.length,d.length>0&&(s.active_missing_linked_paths_count+=1);let m=a.get(l.path);return{...l,candidates:m?.candidates??[],candidates_truncated:m?.candidates_truncated??!1,link_count:l.items.length,active_link_count:d.length,items:[...d,...u].slice(0,o),items_truncated:l.items.length>o}});return c.sort((l,d)=>+(d.active_link_count>0)-+(l.active_link_count>0)||l.path.localeCompare(d.path)),s.missing_linked_path_rows_count=c.length,s.missing_linked_path_rows=c.slice(0,o),s.missing_linked_path_rows_truncated=c.length>o,s}import gi from"node:fs/promises";import hi 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]="7ff2e182-d84c-5e1c-8b63-daea17d55af4")}catch{}})();async function r2(e,t){let r=[...new Set(Object.values(t))],n=[];return await Promise.all(r.map(async i=>{let o;try{o=await gi.readdir(hi.join(e,i))}catch{return}for(let a of o)for(let s of Jt)if(a.toLowerCase().endsWith(s)){n.push({relativePath:`${i}/${a}`,id:a.slice(0,-s.length)});break}})),n.sort((i,o)=>i.relativePath.localeCompare(o.relativePath))}function n2(e,t){let{id:r,relativePath:n,liveItemIds:i,out:o}=e,a=Le(t);if(a){o.conflictMarkers.push({id:r,path:n,line:a.line,detail:`unresolved merge conflict marker ${a.marker}`});return}let s=i2(e,t);s!==null&&(s.op==="delete"&&i.has(r)&&o.resurrected.push({id:r,deleted_at:typeof s.ts=="string"?s.ts:"",deleted_by:typeof s.author=="string"?s.author:""}),s.op==="history_repair"&&Array.isArray(s.patch)&&s.patch.length>0&&(o.repairReconciliations+=1))}function i2(e,t){let{id:r,relativePath:n,out:i}=e,o=null,a=!1,s=t.split(/\r?\n/).map((c,l)=>({content:c.trim(),number:l+1})).filter(c=>c.content.length>0);for(let c of s){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");o=l}catch{return i.unparseable.push({id:r,path:n,line:c.number,detail:"history line is not a valid JSON object"}),null}if(o.op==="create"){if(a)return i.unparseable.push({id:r,path:n,line:c.number,detail:"duplicate item identity: more than one create event in one history stream"}),null;a=!0}}return o}function Ep(e,t){let r=typeof t=="object"&&t!==null&&"code"in t&&typeof t.code=="string"?t.code:"UNKNOWN";return`${e} could not be read (error code: ${r})`}async function o2(e,t){let r={conflictMarkers:[],unparseable:[],resurrected:[],repairReconciliations:0,scanned:0},n;try{n=await gi.readdir(hi.join(e,"history"))}catch{return r}for(let i of n.sort((o,a)=>o.localeCompare(a))){if(!i.endsWith(".jsonl"))continue;r.scanned+=1;let o;try{o=await gi.readFile(hi.join(e,"history",i),"utf8")}catch(a){r.unparseable.push({id:i.slice(0,-6),path:`history/${i}`,detail:Ep("history stream",a)});continue}n2({id:i.slice(0,-6),relativePath:`history/${i}`,liveItemIds:t,out:r},o)}return r}function TE(e){let t=Le(e);if(t)return`unresolved merge conflict marker ${t.marker} at line ${t.line}`;try{return JSON.parse(e),null}catch(r){return`invalid JSON (${String(r)})`}}async function a2(e){let t=[],r=0,n=null;try{n=await K(ke(e))}catch(o){r+=1,t.push({path:"settings.json",detail:Ep("configuration file",o)})}if(n!==null){r+=1;let o=TE(n);o!==null&&t.push({path:"settings.json",detail:o})}let i;try{i=await gi.readdir(hi.join(e,"schema"))}catch{return{scanned:r,unparseable:t}}for(let o of i.sort((a,s)=>a.localeCompare(s))){if(!o.endsWith(".json"))continue;r+=1;let a;try{a=await gi.readFile(hi.join(e,"schema",o),"utf8")}catch(c){t.push({path:`schema/${o}`,detail:Ep("configuration file",c)});continue}let s=TE(a);s!==null&&t.push({path:`schema/${o}`,detail:s})}return{scanned:r,unparseable:t}}async function AE(e,t,r,n={}){let i=await r2(e,r),o=new Set(i.map(u=>u.id)),a=new Map;for(let u of i){let m=a.get(u.id);m===void 0?a.set(u.id,[u.relativePath]):m.push(u.relativePath)}let s=[...a.entries()].filter(([,u])=>u.length>1).map(([u,m])=>({id:u,paths:[...m].sort((p,f)=>p.localeCompare(f))})).sort((u,m)=>u.id.localeCompare(m.id)),c=(await Promise.all(i.map(async u=>{if(!t.has(u.id))return{path:u.relativePath,id:u.id};try{let m=hi.join(e,u.relativePath);return Ke(await gi.readFile(m,"utf8"),{format:m.toLowerCase().endsWith(".md")?"json_markdown":"toon",schema:n.schema,extensionFieldNames:n.extensionFieldNames}),null}catch{return{path:u.relativePath,id:u.id}}}))).filter(u=>u!==null),l=await o2(e,o),d=await a2(e);return{item_files_on_disk:i.length,item_ids_on_disk:o.size,parsed_items:t.size,unreadable_item_files:c,duplicate_item_ids:s,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 s2 from"node:fs/promises";import et from"node:path";import{glob as c2}from"tinyglobby";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12655e94-6304-56cf-9f5d-387a26572db0")}catch{}})();var l2=["path","scope","note"],d2=["pattern","glob","path","scope","note"],u2=["path"],m2=["from","to"],p2=new Set(["note","scope"]);function CE(e){let t=e??"project";if(!Lc.includes(t))throw new g(`Invalid scope "${e}". Valid scopes: ${Lc.join(", ")} (default: project).`,_.USAGE);return t}function Sp(e){if(e.startsWith("```")||e.includes(`
139
+ `)||/^(?:[-*+]\s+)?(?:path|scope|note)\s*[:=]/i.test(e))return!0;let t=e.indexOf(","),r=e.slice(0,t>=0?t:e.length),n=r.indexOf("=");return n>=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(i=>i>=0&&i<n))?!1:r.includes("=")||qd(e)}function f2(e){let t=0;for(let r of e)if(r==="("&&(t+=1),r===")"&&(t-=1),t<0)return!1;return t===0}function _2(e){if(/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(e)&&!Sp(e))return{path:e,scope:"project",note:void 0};let t=e.indexOf("](");if(e.startsWith("[")&&t>0&&e.endsWith(")")){let o=e.slice(t+2,-1).trim();if(o.length>0&&f2(o))return{path:o,scope:"project",note:e.slice(1,t).trim()||void 0}}let r=e.indexOf(",");if(r<0)return;let n=e.slice(0,r).trim(),i=e.slice(r+1).trim();if(!(n.length===0||!/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(i)))return{path:i,scope:"project",note:n}}function g2(e,t){return e?e.flatMap(r=>{let n=r.trim();if(t==="doc"){let o=_2(n);if(o!==void 0)return[o]}xh(n,"--add",`${t} path`,Sp(n));let i=Sp(n)?Yn(r,"--add"):{path:n};if(Xn(i,"--add",l2),!i.path)throw new g(`--add requires path=<value> or a bare ${t} path`,_.USAGE);return[{path:i.path,scope:CE(i.scope),note:i.note?.trim()||void 0}]}):[]}function h2(e){return e?e.map(t=>{let r=t.trim();if(!r)throw new g("--add-glob requires a glob pattern value",_.USAGE);if(r.includes("=")||/^(?:[-*+]\s+)?(?:pattern|glob|path)\s*[:=]/i.test(r)||r.startsWith("```")){let n=Yn(r,"--add-glob");Xn(n,"--add-glob",d2);let i=n.pattern?.trim()||n.glob?.trim()||n.path?.trim();if(!i)throw new g("--add-glob key/value form requires pattern=<glob>",_.USAGE);return{pattern:i,scope:CE(n.scope),note:n.note?.trim()||void 0}}return{pattern:r,scope:"project"}}):[]}function y2(e){return e?e.map(t=>{let r=t.trim();if(!r)throw new g("--remove requires a path value",_.USAGE);if(r.includes("=")||/^(?:[-*+]\s+)?path\s*[:=]/i.test(r)||r.startsWith("```")){let n=Yn(r,"--remove"),i=Object.keys(n).filter(o=>p2.has(o.toLowerCase()));if(i.length>0)throw new g(`--remove identifies a linked artifact by path only and does not accept ${i.map(o=>`"${o}"`).join(", ")}. Pass just the path (path=<value>, path:<value>, or a bare path); record removal context with --message "<why removed>".`,_.USAGE);if(Xn(n,"--remove",u2),!n.path)throw new g("--remove key/value form requires path=<value>",_.USAGE);return n.path}return r}):[]}function w2(e){return e?e.map(t=>{let r=Yn(t,"--migrate");Xn(r,"--migrate",m2);let n=r.from?.trim(),i=r.to?.trim();if(!n||!i)throw new g("--migrate requires from=<value> and to=<value>",_.USAGE);return{from:n,to:i}}):[]}function Qo(e,t){let r=e;for(let n of t)r.startsWith(n.from)&&(r=`${n.to}${r.slice(n.from.length)}`);return r}function b2(e,t,r=[]){if(e.length===0||t.length===0)return;let n=new Set(e.map(o=>Qo(o.path,r))),i=[...new Set(t.map(o=>Qo(o,r)).filter(o=>n.has(o)))].sort((o,a)=>o.localeCompare(a));if(i.length!==0)throw new g(`Linked artifact mutation cannot add and remove the same normalized path in one transaction: ${i.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 fc(e){return e.split(et.sep).join("/")}function Tp(e,t,r=process.cwd()){let n=e.trim();if(Zo(n))return n;if(et.isAbsolute(n)||/^[A-Za-z]:[\\/]/.test(n))return fc(n.replaceAll("\\",et.sep));let i=et.relative(t,r);return i.startsWith(`..${et.sep}`)||i===".."||et.isAbsolute(i)?fc(et.normalize(n)):fc(et.relative(t,et.resolve(r,n)))}async function v2(e,t=process.cwd(),r=process.cwd()){let n=[];for(let i of e){if(et.resolve(r,i.pattern)===et.resolve(r))continue;let o=et.isAbsolute(i.pattern),a=await c2(i.pattern,{cwd:r,absolute:o,onlyFiles:!0,dot:!0,expandDirectories:!1,followSymbolicLinks:!0}),s=[...new Set(a.map(c=>Tp(c,t,r)))].sort((c,l)=>c.localeCompare(l));for(let c of s)n.push({path:c,scope:i.scope,note:i.note})}return n}function k2(e,t,r){if(t===void 0)return e;if(!r)throw new g("--note requires --add or --add-glob in the same invocation (the note annotates the links being added)",_.USAGE);let n=t.trim();return n.length===0?e:e.map(i=>i.note===void 0?{...i,note:n}:i)}function E2(e){return`${e.path}::${e.scope}`}function OE(e){return[...e].sort((t,r)=>{let n=t.path.localeCompare(r.path);return n!==0?n:t.scope.localeCompare(r.scope)})}function xE(e){return[...new Map(e.map(t=>[E2(t),t])).values()].map(t=>({...t,note:t.note?.trim()||void 0}))}async function S2(e,t=process.cwd()){let r=[...new Set(e)].sort((s,c)=>s.localeCompare(c)),n=[],i=[],o=[],a=[];for(let s of r){if(Zo(s)){a.push(s.trim());continue}let c=et.isAbsolute(s)?s:et.resolve(t,s);try{(await s2.stat(c)).isFile()?n.push(s):o.push(s)}catch(l){if(typeof l=="object"&&l!==null&&"code"in l&&qe(l)){i.push(s);continue}o.push(s)}}return{checked:r.length,existing_files:n,missing_paths:i,non_file_paths:o,remote_references:a}}function T2(e,t,r,n){let i=0;for(let o=0;o<e.length;o+=1){let a=Qo(e[o].path,n);a!==e[o].path&&(e[o]={...e[o],path:a},i+=1)}return{adds:t.map(o=>{let a=Qo(o.path,n);return a!==o.path&&(i+=1),{...o,path:a}}),removes:r.map(o=>Qo(o,n)),count:i}}function A2(e,t,r,n){let i=xE(e);for(let o of t){let a=i.findIndex(s=>s.path===o.path&&s.scope===o.scope);a<0?i.push(o):o.note!==void 0&&(i[a]={...i[a],note:o.note})}if(r.length>0)for(let o=i.length-1;o>=0;o-=1)r.includes(i[o].path)&&i.splice(o,1);return n?i:OE(i)}async function IE(e){let t=e.artifacts.map(r=>r.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 S2(t,e.workspaceRoot):void 0}}async function _c(e,t,r,n){let{metadataKey:i}=n,o=ro(),a=Z(process.cwd(),r.path),s=vr(a),c=process.cwd();await je(a);let l=await X(a),d=ce(l,V()),u=await o.resolveList(t.add,"--add"),m=await o.resolveList(t.addGlob,"--add-glob"),p=await o.resolveList(t.remove,"--remove"),f=await o.resolveList(t.migrate,"--migrate"),w=g2(u,n.bareNoun).map(E=>({...E,path:Tp(E.path,s,c)})),h=h2(m),b=await v2(h,s,c),v=k2([...w,...b],t.note,w.length>0||h.length>0),I=y2(p).map(E=>Tp(E,s,c)),A=w2(f);if(b2(v,I,A),!(v.length>0||I.length>0||A.length>0)){let E=await Se(a,e,l.id_prefix,l.item_format,d.type_to_folder);if(!E)throw new g(`Item ${e} not found`,_.NOT_FOUND);let O=(await ze(E,{schema:l.schema})).document.metadata[i]??[];return IE({id:E.id,artifacts:O,changed:!1,options:t,workspaceRoot:s})}let C=Ce(t.author,l.author_default),P=await yn({pmRoot:a,settings:l,id:e,op:n.op,author:C,message:t.message,force:t.force,skipNoop:!0,mutate(E){let O=E.metadata,de=O[i]??[],Wt=[...de],Y=T2(Wt,v,I,A),be=A2(Wt,Y.adds,Y.removes,n.supportsAppendStable&&t.appendStable===!0);be.length>0?O[i]=be:delete O[i];let Vt=!Ne(de,be);return{changedFields:Vt?[i]:[],warnings:Vt&&Y.count>0?[`path_migrations_applied:${Y.count}`]:[]}}}),T=P.item[i]??[],D=P.warnings.find(E=>E.startsWith("path_migrations_applied:")),z=D?Number(D.slice(24)):0;return IE({id:P.item.id,artifacts:T,changed:P.changedFields.includes(i),migrationsApplied:z,options:t,workspaceRoot:s})}function gc(e,t){let r={};for(let[n,i]of Object.entries(e))r[n==="artifacts"?t:n]=i;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]="79f1acaf-8ef7-5725-900a-fbeced1c57e6")}catch{}})();async function RE(e,t,r){let n=await _c(e,t,r,{metadataKey:"docs",op:"docs_add",bareNoun:"doc",supportsAppendStable:!1});return gc(n,"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]="3bb613e2-51f9-5947-8d92-d6207bb62cdc")}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]="06b0bd73-d282-5473-a1da-f11c61a0a086")}catch{}})();async function NE(e,t,r){let n=await _c(e,t,r,{metadataKey:"files",op:"files_add",bareNoun:"file",supportsAppendStable:!0});return gc(n,"files")}import{readFileSync as I2}from"node:fs";import hc 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]="597a781e-a00d-5083-8d57-3fae870f9ccd")}catch{}})();var C2=new Set(["get","history","restore","update","close","delete","append","claim","release","comments","notes","learnings","files","docs","deps","test"]),LE=new Set(["--pm-path","--path","--author"]),O2={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"])},x2=new Set(["-p","--package"]),R2=new Set(["-c","--call"]),N2=new Set(["-c","-C","--config","--dir","--filter","--workspace-dir"]),D2=new Set(["-C","--prefix","--userconfig","--cache"]);var P2=new Set(["exec","x"]);function L2(e){return e.split(/&&|\|\||\||;/).map(t=>t.trim()).filter(t=>t.length>0)}function M2(e,t=process.cwd()){let r=$2(e.split(" ").filter(a=>a.length>0));if(r.length===0)return null;let[n,...i]=r;if(DE(n)||PE(n,t))return i;if(n==="node"&&i[0]&&PE(i[0],t))return i.slice(1);let o=n==="npx"||n==="bunx"?Ap(i):n==="pnpm"?U2(i):n==="npm"?z2(i):null;return o&&(DE(o.command)||j2(o.command))?o.args:null}var ME=(e,t="pm")=>{let r=t.trim().toLowerCase(),n=r.length;for(;n>0&&r[n-1]==="-";)n-=1;let i=r.slice(0,n);if(i.length===0)return[];let o=e.trim().replaceAll("\\","/").replaceAll('"',"").replaceAll("'","").replaceAll(/\s+/g," ").toLowerCase(),a=new Set;for(let s of L2(o)){let c=M2(s),l=c?H2(c):null,d=l&&C2.has(l.subcommand)?q2(l.remaining,O2[l.subcommand]):void 0,u=d?.trim().toLowerCase();u?.startsWith(`${i}-`)===!0&&u.length>i.length+1&&a.add(d)}return[...a].sort((s,c)=>s.localeCompare(c))};function $2(e){let t=0;for(e[t]==="env"&&(t+=1);t<e.length;){let r=e[t];if(/^(?:[a-z_][a-z0-9_]*|\$env:[a-z_][a-z0-9_]*)=.*/.test(r)){t+=1;continue}break}return e.slice(t)}function DE(e){return e==="pm"||e==="pm.cmd"||e==="pm.exe"||e.endsWith("/pm")||e.endsWith("/pm.cmd")||e.endsWith("/pm.exe")}function F2(e){let t=e.trim();if(!t.startsWith("@")){let i=t.indexOf("@");return i===-1?t:t.slice(0,i)}let r=t.indexOf("/");if(r===-1)return t;let n=t.indexOf("@",r+1);return n===-1?t:t.slice(0,n)}function j2(e){let t=F2(e);return t==="pm-cli"||t.endsWith("/pm-cli")||e==="pm-cli"||e.endsWith("/pm-cli")}function PE(e,t=process.cwd()){let r=e.replaceAll("\\","/");if(r!=="dist/cli.js"&&r!=="./dist/cli.js"&&!r.endsWith("/dist/cli.js"))return!1;let n=hc.resolve(t,e);try{return JSON.parse(I2(hc.join(hc.dirname(hc.dirname(n)),"package.json"),"utf8")).name==="@unbrained/pm-cli"}catch{return!1}}function Ap(e){let t=0;for(;t<e.length;){let n=e[t];if(n==="--"){t+=1;break}if(!n.startsWith("-"))break;let i=/^(?:-c|--call)=(.*)$/.exec(n);if(i){let o=i[1];return o?{command:o,args:e.slice(t+1)}:null}if(R2.has(n)){t+=1;break}t+=x2.has(n)&&!n.includes("=")?2:1}let r=e[t];return r?{command:r,args:e.slice(t+1)}:null}function $E(e,t){let r=0;for(;r<e.length;){let n=e[r];if(n==="--"){r+=1;continue}if(n.startsWith("-")){if(n.includes("=")){r+=1;continue}if(t.has(n)){r+=2;continue}r+=1;continue}return{subcommand:n,args:e.slice(r+1)}}return null}function U2(e){let t=$E(e,N2);return t?.subcommand!=="dlx"?null:Ap(t.args)}function z2(e){let t=$E(e,D2);return!t||!P2.has(t.subcommand)?null:Ap(t.args)}function H2(e){let t=0;for(;t<e.length;){let r=e[t];if(r==="--"){t+=1;continue}if(r.startsWith("-")){if(LE.has(r)){t+=2;continue}t+=1;continue}return{subcommand:r,remaining:e.slice(t+1)}}return null}function q2(e,t=new Set){for(let r=0;r<e.length;r+=1){let n=e[r];if(n==="--")return e[r+1];if(!n.startsWith("-"))return n;!n.includes("=")&&(LE.has(n)||t.has(n))&&(r+=1)}}import{execFile as B2}from"node:child_process";import{readFile as W2}from"node:fs/promises";import V2 from"node:path";import{promisify as K2}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]="4025e3fb-f2f2-57f1-a981-5bbb2381fe67")}catch{}})();var G2=["command","cmd","path","scope","timeout","timeout_seconds","pm_context_mode","workspace_context_mode","env_set","env_clear","shared_host_safe","assert_stdout_contains","assert_stdout_regex","assert_stderr_contains","assert_stderr_regex","assert_stdout_min_lines","assert_json_field_equals","assert_json_field_gte","note"],oge=new Set(G2);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8f1a3301-8938-5208-9177-72ee29f3d174")}catch{}})();var J2=K2(B2),Ip=1,Y2="linked-test-trust.json";function X2(e){return V2.join(Da(e),Y2)}function FE(){return{version:Ip,acknowledged:{}}}async function Z2(e){try{let t=JSON.parse(await W2(X2(e),"utf8"));return t.version!==Ip||typeof t.acknowledged!="object"||t.acknowledged===null||Array.isArray(t.acknowledged)?FE():{version:Ip,acknowledged:t.acknowledged}}catch{return FE()}}async function jE(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:r}=await J2("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:e,encoding:"utf8",windowsHide:!0,timeout:1e4}),n=r.trim();return n.length===0?void 0:n}catch{return}}function UE(e=process.cwd()){return process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||e}function Q2(e){return e===null||typeof e!="object"?!1:typeof e.author=="string"&&e.author.trim().length>0&&typeof e.created_at=="string"&&yt(e.created_at)&&(e.source_kind==="local_mutation"||e.source_kind==="merge_union")}function ea(e,t){return{...e?{source_ref:e}:{},...t?{current_source_ref:t}:{}}}function eH(e){return De(x({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 tH(e,t,r){let n=eH(e),i=e.provenance?.source_ref;if(e.provenance===void 0&&e.provenance_invalid!==!0)return{fingerprint:n,trusted:!0,reason:"legacy"};let o=Object.hasOwn(r.acknowledged,n);return e.provenance_invalid===!0||!Q2(e.provenance)?o?{fingerprint:n,trusted:!0,reason:"acknowledged",...ea(void 0,t)}:{fingerprint:n,trusted:!1,reason:"invalid_provenance",...ea(void 0,t)}:e.provenance.source_kind==="local_mutation"&&i===void 0?{fingerprint:n,trusted:!0,reason:"local_mutation",...ea(void 0,t)}:e.provenance.source_kind==="local_mutation"&&i!==void 0&&i===t?{fingerprint:n,trusted:!0,reason:"local_source_ref",source_ref:i,current_source_ref:t}:o?{fingerprint:n,trusted:!0,reason:"acknowledged",...ea(i,t)}:{fingerprint:n,trusted:!1,reason:"foreign_source_ref",...ea(i,t)}}async function zE(e,t,r){let n=await Z2(e);return t.map(i=>tH(i,r,n))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8cca9707-86a7-5ab5-8c7b-92be560254d0")}catch{}})();async function HE(e){return e.includeBody?hn(e.pmRoot,e.settings.item_format,e.typeToFolder,e.warnings,e.settings.schema,{forceSourceScan:!0}):So(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]="6322c4ff-92bd-59e5-aa64-ef8d3ef4b57f")}catch{}})();var rH=5;async function nH(e,t){let r=t.hashMismatches.filter(o=>o!==we);if(r.length===0)return;let n=await X(e),i=ce(n,V());for(let o of r){let a=await ie(e,o,n.locks.ttl_seconds,"history-drift-read",!1,!0,n.locks.wait_ms);try{let s=await Se(e,o,n.id_prefix,n.item_format,i.type_to_folder);if(s===null)throw new g(`Item ${o} not found`,_.NOT_FOUND,{code:"item_not_found",required:"Repeat validation after writers finish; each item-hash discrepancy requires readable canonical source."});let{document:c}=await ze(s,{schema:n.schema});if(c.metadata.id!==o)throw new g(`Item identity changed while validating ${o}`,_.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical item identity and validate storage integrity before retrying history validation."});let l=await Ew(e,{...c.metadata,body:c.body});for(let u of["missingStreams","unreadableStreams","hashMismatches","chainMismatches","versionSkews","driftedItems"])t[u]=[...t[u].filter(m=>m!==o),...l[u].filter(m=>m===o)].sort((m,p)=>m.localeCompare(p));let d=[...(t.identityDiscontinuities??[]).filter(u=>u.item_id!==o),...(l.identityDiscontinuities??[]).filter(u=>u.item_id===o)];d.length>0?t.identityDiscontinuities=d:delete t.identityDiscontinuities}finally{await a()}}}async function qE(e,t,r){let n=await wn(e,t);await nH(e,n);let i=[["validate_history_drift_missing_streams",n.missingStreams.length],["validate_history_drift_unreadable_streams",n.unreadableStreams.length],["validate_history_drift_hash_mismatches",n.hashMismatches.length],["validate_history_drift_chain_mismatches",n.chainMismatches.length],["validate_history_drift_version_skews",n.versionSkews.length],["validate_history_drift_workspace_state_mismatches",n.workspaceStateMismatches.length],["validate_history_drift_workspace_state_missing",n.workspaceStateMissing.length],["validate_history_drift_workspace_state_unreadable",n.workspaceStateUnreadable.length]].filter(([,c])=>c>0).map(([c,l])=>`${c}:${l}`),o=r?Number.POSITIVE_INFINITY:rH,a=n.driftedItems.slice(0,o),s=n.identityDiscontinuities??[];return{check:{name:"history_drift",status:s.length>0?"error":i.length===0?"ok":"warn",ok:s.length===0&&i.length===0,details:{identity_discontinuities:s.slice(0,o),identity_discontinuities_count:s.length,identity_discontinuities_truncated:s.length>o,checked_items:t.length,drifted_items_count:n.driftedItems.length,drifted_items:a,drifted_items_truncated:a.length<n.driftedItems.length,counts:{missing_streams:n.missingStreams.length,unreadable_streams:n.unreadableStreams.length,hash_mismatches:n.hashMismatches.length,chain_mismatches:n.chainMismatches.length,version_skews:n.versionSkews.length,workspace_state_mismatches:n.workspaceStateMismatches.length,workspace_state_missing:n.workspaceStateMissing.length,workspace_state_unreadable:n.workspaceStateUnreadable.length},workspace_state_mismatches:n.workspaceStateMismatches,workspace_state_missing:n.workspaceStateMissing,workspace_state_unreadable:n.workspaceStateUnreadable,version_skews:n.versionSkews.slice(0,o)}},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]="3caaa82b-d8c7-5bc4-94e5-6699da27fa3c")}catch{}})();function Cp(e,t){let r=e[0];if(e.length===1)return[r,r];let n=new Set(e),i=[r],o=new Set([r]),a=s=>{for(let c of(t.get(s)??[]).filter(l=>n.has(l))){if(c===r&&i.length>1)return i.push(r),!0;if(!o.has(c)){if(o.add(c),i.push(c),a(c))return!0;i.pop(),o.delete(c)}}return!1};return a(r)?[...i]:[...e,r]}function iH(e,t){if(typeof e!="string")return;let r=e.trim().toLowerCase();return r.length>0?t.get(r):void 0}function oH(e,t,r,n){for(let i of e.dependencies??[]){if(typeof i!="object"||i===null||typeof i.id!="string")continue;let o=n.resolve(i.kind);if(!o?.hierarchy)continue;let a=r.get(i.id.toLowerCase());a&&(o.hierarchyDirection==="source_parent"?t.get(a).push(e.id):t.get(e.id).push(a))}}function GE(e,t=dr()){let r=new Map(e.map(i=>[i.id.toLowerCase(),i.id])),n=new Map(e.map(i=>[i.id,[]]));for(let i of[...e].sort((o,a)=>o.id.localeCompare(a.id))){let o=n.get(i.id),a=iH(i.parent,r);a&&o.push(a),oH(i,n,r,t)}for(let[i,o]of n)n.set(i,[...new Set(o)].sort());return n}function BE(e,t,r=dr()){let n=Jo(e,a=>t?qc(a,t):a==="closed"||a==="canceled",r),i=GE(e,r),o=n.cycles.map(a=>a.item_ids);return{cycle_count:o.length,active_cycle_count:n.cycles.filter(a=>!a.legacy_terminal).length,legacy_cycle_count:n.cycles.filter(a=>a.legacy_terminal).length,cycle_item_ids:[...new Set(o.flat())].sort(),cycle_sample_paths:o.map(a=>Cp(a,i).join("->")),cardinality_violation_count:n.cardinality_violations.length,active_cardinality_violation_count:n.cardinality_violations.filter(a=>!a.legacy_terminal).length,legacy_cardinality_violation_count:n.cardinality_violations.filter(a=>a.legacy_terminal).length,cardinality_violation_rows:n.cardinality_violations.map(a=>`${a.child_id}:${a.parent_ids.join(",")}:${a.legacy_terminal?"legacy":"active"}`),parent_divergence_count:n.divergences.length,active_parent_divergence_count:n.divergences.filter(a=>!a.legacy_terminal).length,legacy_parent_divergence_count:n.divergences.filter(a=>a.legacy_terminal).length,parent_divergence_rows:n.divergences.map(a=>`${a.child_id}:scalar=${a.scalar_parent_id}:dependencies=${a.dependency_parent_ids.join(",")}:${a.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]="f2840c80-38f5-5563-b2c0-ef5596cf8f62")}catch{}})();function jr(e){return e.replaceAll("\\","/").replace(/^\.\/+/,"").replace(/^\/+/,"")}function Op(e){return jr(e).replace(/\/+$/,"")}function Gt(e){let t=ue(e);if(!t)return;let r=t.toLowerCase();if(!(r==="none"||r==="null"||r==="n/a"||r==="na"))return t}function xp(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]="9b5e620c-ce82-5e2d-9866-2de6882bbb0c")}catch{}})();var lH=["src","tests","docs"],dH=["README.md","PRD.md","CHANGELOG.md","AGENTS.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","LICENSE"],uH=new Set(["node_modules",".git",".cursor",".agents","dist","coverage"]),mH=["resolution","expected_result","actual_result"],pH=["default","tracked-all","tracked-all-strict"],WE=["core","strict","custom"],bc=["off","warn","error"],Dp=["author","acceptance_criteria","estimated_minutes","close_reason"],YE=[...Dp,"reviewer","risk","confidence","sprint","release"],Pp=Array.from(new Set(YE)),fH={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"},_H={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"},gH={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"},hH={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"},yH={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"},wH=32*1024*1024,bH=1e4,Lp=40,Ct=5,vH=4096,kH=255,EH=cH(sH);function XE(e){let t={};for(let[r,n]of Object.entries(e))Array.isArray(n)||n===!1&&r.endsWith("_truncated")||(t[r]=typeof n=="object"&&n!==null?XE(n):n);return t}function SH(e){return{...e,checks:e.checks.map(t=>({...t,details:XE(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 kc(e,t){return xt(e,t)??e}function ta(e,t){return t.terminal_statuses.has(kc(e,t))}function Ur(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function yc(e,t){return e.length!==t.length?!1:e.every((r,n)=>r===t[n])}function TH(e){let t=Ur(Dc),r={blocked_reason:Ur(zr.blocked_reason),resolution:Ur(zr.resolution),actual_result:Ur(zr.actual_result)},n=Ur(e.validation.lifecycle_stale_blocker_reason_patterns),i={blocked_reason:Ur(e.validation.lifecycle_closure_like_blocked_reason_patterns),resolution:Ur(e.validation.lifecycle_closure_like_resolution_patterns),actual_result:Ur(e.validation.lifecycle_closure_like_actual_result_patterns)};return{stale_blocker_reason_patterns:n,stale_blocker_reason_pattern_source:yc(n,t)?"default":"settings",closure_like_metadata_field_patterns:i,closure_like_metadata_field_pattern_sources:{blocked_reason:yc(i.blocked_reason,r.blocked_reason)?"default":"settings",resolution:yc(i.resolution,r.resolution)?"default":"settings",actual_result:yc(i.actual_result,r.actual_result)?"default":"settings"}}}function AH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"core";if(WE.includes(t))return t;throw new g(`Unknown --metadata-profile value "${e}". Supported values: ${WE.join(", ")}.`,_.USAGE)}function IH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(bc.includes(t))return t;throw new g(`Unknown --dependency-cycle-severity value "${e}". Supported values: ${bc.join(", ")}.`,_.USAGE)}function CH(e){let t=e?.trim().toLowerCase();if(!t||t.length===0)return"warn";if(bc.includes(t))return t;throw new g(`Unknown --parent-cycle-severity value "${e}". Supported values: ${bc.join(", ")}.`,_.USAGE)}function OH(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase().replaceAll("-","_")))].map(t=>fH[t]).filter(t=>t!==void 0).sort((t,r)=>t.localeCompare(r))}function xH(e,t,r){let n=OH(r);return e==="core"?{profile:e,profile_source:t,required_fields:[...Dp],configured_custom_fields:n,fallback_to_core:!1,warnings:[]}:e==="strict"?{profile:e,profile_source:t,required_fields:[...YE],configured_custom_fields:n,fallback_to_core:!1,warnings:[]}:n.length>0?{profile:e,profile_source:t,required_fields:n,configured_custom_fields:n,fallback_to_core:!1,warnings:[]}:{profile:e,profile_source:t,required_fields:[...Dp],configured_custom_fields:n,fallback_to_core:!0,warnings:["validate_metadata_custom_profile_missing_required_fields:0"]}}var RH=new Set(["acceptance_criteria","estimated_minutes"]);function NH(e,t,r,n){return!n&&RH.has(t)&&ta(e.status,r)?!1:t==="author"?!ue(e.author):t==="acceptance_criteria"?!ue(e.acceptance_criteria):t==="estimated_minutes"?!Number.isFinite(e.estimated_minutes):t==="close_reason"?kc(e.status,r)===r.close_status&&!ue(e.close_reason):t==="reviewer"?!ue(e.reviewer):t==="risk"?!ue(e.risk):t==="confidence"?typeof e.confidence=="number"?!Number.isFinite(e.confidence):!ue(e.confidence):t==="sprint"?!ue(e.sprint):!ue(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: ${pH.join(", ")}.`,_.USAGE)}function PH(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim();if(t)return tt.resolve(t);let r=tt.resolve(e);if(r.replaceAll("\\","/").endsWith("/.agents/pm"))return tt.dirname(tt.dirname(r));let n=tt.resolve(process.cwd()),i=VE(r),o=VE(n),a=tt.relative(i,o);return a.length===0||!a.startsWith("..")&&!tt.isAbsolute(a)?r:n}function VE(e){try{return aH.native(e)}catch{return tt.resolve(e)}}function LH(e,t){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"&&t.includes(e.code)}async function ZE(e,t,r){let n=t.length>0?tt.join(e,t):e,i;try{i=await $p.readdir(n,{withFileTypes:!0})}catch(o){if($(o))return;throw o}for(let o of i){if(o.name.startsWith("."))continue;let a=t.length>0?tt.join(t,o.name):o.name;if(o.isDirectory()){if(uH.has(o.name))continue;await ZE(e,a,r);continue}o.isFile()&&r.push(jr(a))}}async function KE(e){let t=[];for(let r of lH)await ZE(e,r,t);for(let r of dH){let n=tt.join(e,r);try{(await $p.stat(n)).isFile()&&t.push(jr(r))}catch{}}return[...new Set(t)].sort((r,n)=>r.localeCompare(n))}async function MH(e){try{let{stdout:t}=await EH("git",["ls-files","-z"],{cwd:e,encoding:"utf8",maxBuffer:wH,windowsHide:!0,timeout:bH}),r=t.split("\0").map(n=>jr(n)).filter(n=>n.length>0);return[...new Set(r)].sort((n,i)=>n.localeCompare(i))}catch{return null}}function $H(e,t){let r=new Set,n=Op(Tn);n.length>0&&r.add(n);let i=Op(tt.relative(t,e));return i.length>0&&!i.startsWith("..")&&r.add(i),[...r].sort((o,a)=>o.localeCompare(a))}function JE(e,t){for(let r of t)if(e===r||e.startsWith(`${r}/`))return!0;return!1}async function FH(e,t){if(t==="tracked-all"||t==="tracked-all-strict"){let n=await MH(e);if(n)return{requestedMode:t,appliedMode:t,source:"tracked-git",candidateFiles:n,candidateTotal:n.length,candidateScanned:n.length};let i=await KE(e);return{requestedMode:t,appliedMode:"default",source:"tracked-all-fallback-default",candidateFiles:i,candidateTotal:i.length,candidateScanned:i.length}}let r=await KE(e);return{requestedMode:t,appliedMode:"default",source:"default-curated",candidateFiles:r,candidateTotal:r.length,candidateScanned:r.length}}function fe(e,t=Ct){return e.length<=t?{values:e,truncated:!1}:{values:e.slice(0,t),truncated:!0}}function En(e,t){if(t)return{values:e,truncated:!1,total:e.length};let r=fe(e,Lp);return{values:r.values,truncated:r.truncated,total:e.length}}var jH={resolution:"--resolution",expected_result:"--expected-result",actual_result:"--actual-result"},UH={resolution:"Describe how this item was resolved",expected_result:"Describe the expected result",actual_result:"Describe the actual result"};function zH(e){let t=e.missing_fields.map(r=>`${jH[r]} "${UH[r]}"`).join(" ");return`pm update ${e.id} ${t} --message "Backfill resolution metadata"`}function HH(e,t){let r=e.details?.missing_resolution_remediation_hints,n=Array.isArray(r)&&r.length>0,i=n?r.filter(a=>typeof a=="string"):Sb(t);if(i.length===0)return;let o=n&&e.details?.missing_resolution_remediation_hints_truncated===!0;e.details={...e.details,fix_hints:i,...o?{fix_hints_truncated:!0}:{}}}function qH(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 GH="validate_metadata_duplicate_issue_codes";function BH(e,t){if(e.length===0)return{rows:[],truncated:!1,warnings:[]};let r=t?e.length:Ct,n=e.slice(0,r);return{rows:n.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:n.length<e.length,warnings:[`${GH}:${e.length}`]}}function WH(e,t,r){let n=Object.fromEntries(Pp.map(i=>[i,[]]));for(let i of e)for(let o of Pp)NH(i,o,t,r)&&n[o].push(i.id);return n}function VH(e,t,r){let n=[...e.warnings];for(let i of e.required_fields){let o=t[i];o.length>0&&n.push(`${_H[i]}:${o.length}`)}return n.push(...r),n}function KH(e,t){let r={};for(let n of e.required_fields){let i=t[n],o=i?i.length:0,a=gH[n];r[a]=o}return r}function JH(e,t,r){let n=[];for(let i of e.required_fields){let o=t[i];if(o)for(let a of o){let s=r.get(a)?.type,c=typeof s=="string"&&s.length>0?s:"Unknown";n.push({item_type:c,field:i})}}return n}function YH(e,t,r,n){for(let i of t.required_fields){let o=r[i];if(!o||o.length===0)continue;let a=hH[i],s=yH[i];if(!a||!s)continue;let c=fe(o,n?o.length:Ct);e[a]=c.values,e[s]=c.truncated}}function XH(e,t,r){if(!e.required_fields.includes("close_reason"))return[];let n=t.close_reason;return n?n.map(i=>({id:i,resolution:ue(r.get(i)?.resolution)})):[]}function ZH(e,t,r){if(!e.required_fields.includes("estimated_minutes"))return[];let n=t.estimated_minutes;return n?n.map(i=>({id:i,type:ue(r.get(i)?.type)})):[]}function QH(e,t,r,n,i){let o=new Map(e.map(b=>[b.id,b])),a=t.profile==="strict",s=WH(e,r,a),c=hE(e,{configuredPrefixes:i}),l=BH(c,n),d=VH(t,s,l.warnings),u=KH(t,s),m=JH(t,s,o),p=yE(m),f={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:[...Pp],counts:u,missing_by_type:p,duplicate_issue_codes_count:c.length,duplicate_issue_codes:l.rows,duplicate_issue_codes_truncated:l.truncated};t.configured_custom_fields.length>0&&(f.configured_custom_required_fields=[...t.configured_custom_fields]),YH(f,t,s,n);let w=XH(t,s,o),h=ZH(t,s,o);return{check:{name:"metadata",status:d.length===0?"ok":"warn",ok:d.length===0,details:f},warnings:d,closeReasonBackfillRows:w,estimateBackfillRows:h}}function eq(e,t,r){let n=new Set(t.terminal_done_statuses);n.add(t.close_status);let i=e.filter(m=>n.has(kc(m.status,t))),o=[],a=[];for(let m of i){let p=mH.filter(f=>!ue(m[f]));p.length!==0&&(o.push({id:m.id,missing_fields:p}),a.push({id:m.id,missing_fields:p,close_reason:ue(m.close_reason)}))}let s=o.length>0?[`validate_resolution_missing_fields:${o.length}`]:[],c=r?Number.POSITIVE_INFINITY:Ct,l=fe(o.map(m=>`${m.id}:${m.missing_fields.join(",")}`),c),d=o.map(m=>zH(m)),u=fe(d,c);return{check:{name:"resolution",status:s.length===0?"ok":"warn",ok:s.length===0,details:{checked_closed_items:i.length,missing_resolution_items:o.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:s,resolutionBackfillRows:a}}function tq(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rq(e,t="pm",r=Gr()){let n=new Set(e.map(o=>o.id)),i=[...e].sort((o,a)=>o.id.localeCompare(a.id));return new Map(i.map(o=>{let a=new Set,s=Gt(o.blocked_by);s&&n.has(s)&&a.add(s),(o.dependencies??[]).filter(l=>{let d=Gt(l.kind);return d!==void 0&&r.resolve(d)?.ordering===!0}).map(l=>Gt(l.id)).filter(l=>l!==void 0&&n.has(l)).forEach(l=>a.add(l));let c=Gt(o.definition_of_ready);return iq(c??"",t).filter(l=>n.has(l)).forEach(l=>a.add(l)),[o.id,[...a].sort((l,d)=>l.localeCompare(d))]}))}function nq(e,t,r){let n=Wk(e,r?d=>ta(d,r):void 0),i=n.active.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}`),o=n.legacy_terminal.map(d=>`${d.holder_id}:${d.target_id}:${d.kind}:${d.holder_status}`),a=t?Number.POSITIVE_INFINITY:Ct,s=fe(i,a),c=fe(o,a),l=fe(n.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>'`),a);return{check:{name:"dependency_references",status:i.length===0?"ok":"warn",ok:i.length===0,details:{checked_items:e.length,dangling_reference_count:i.length+o.length,active_dangling_reference_count:i.length,dangling_reference_rows:s.values,dangling_reference_rows_truncated:s.truncated,legacy_terminal_dangling_reference_count:o.length,legacy_closed_dangling_reference_count:n.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:n.no_active_blocker_sentinels.length,remediation_hints:l.values,remediation_hints_truncated:l.truncated}},warnings:i.length>0?[`validate_dangling_dependency_references:${i.length}`]:[]}}function iq(e,t="pm"){let r=(t.trim().toLowerCase()||"pm").replace(/-+$/g,""),n=new RegExp(`(?:^|[^a-z0-9-])(${tq(r)}-[a-z0-9][a-z0-9-]*)`,"gi");return[...new Set([...e.matchAll(n)].map(i=>i[1].toLowerCase()))].sort((i,o)=>i.localeCompare(o))}function oq(e){let t=0,r=new Map,n=new Map,i=[],o=new Set,a=[],s=l=>{r.set(l,t),n.set(l,t),t+=1,i.push(l),o.add(l);for(let u of e.get(l)??[])r.has(u)?o.has(u)&&n.set(l,Math.min(n.get(l),r.get(u))):(s(u),n.set(l,Math.min(n.get(l),n.get(u))));if(n.get(l)!==r.get(l))return;let d=[];for(;i.length>0;){let u=i.pop();if(o.delete(u),d.push(u),u===l)break}d.sort((u,m)=>u.localeCompare(m)),a.push(d)},c=[...e.keys()].sort((l,d)=>l.localeCompare(d));for(let l of c)r.has(l)||s(l);return a.filter(l=>{if(l.length>1)return!0;let d=l[0];return(e.get(d)??[]).includes(d)}).sort((l,d)=>l[0].localeCompare(d[0])||l.length-d.length||l.join(",").localeCompare(d.join(",")))}function aq(e,t="pm"){let r=rq(e,t),n=oq(r),i=[...new Set(n.flat())].sort((a,s)=>a.localeCompare(s)),o=n.map(a=>Cp(a,r).join("->"));return{cycle_count:n.length,cycle_item_ids:i,cycle_sample_paths:o}}function sq(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 vc(e){let t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function cq(e,t){let r=vc(e).split("/").filter(Boolean),n=vc(t).split("/").filter(Boolean),i=0;for(;i<r.length&&i<n.length&&r[i]===n[i];)i+=1;return i}function lq(e,t){let r=vc(t),n=vc(e),i=t.endsWith("/")?t:`${t}/`,o=e.startsWith(i),a=r.length>0&&r===n,s=cq(e,t);return!o&&!a&&s===0?null:o?{score:t.length+1e3,confidence:"path_prefix"}:a?{score:s+500,confidence:"same_directory"}:{score:s,confidence:"shared_directory"}}function dq(e,t,r){return e===void 0||r>e.score||r===e.score&&t.id.localeCompare(e.item.id)<0}function uq(e,t,r){let n=t==="docs_unowned"?"docs":"files",i;return r.flatMap(o=>(n==="docs"?o.docs??[]:o.files??[]).map(a=>({item:o,link:a}))).forEach(({item:o,link:a})=>{if(a.scope!=="project")return;let s=jr(a.path);if(s.length===0||s===e)return;let c=lq(e,s);c!==null&&dq(i,o,c.score)&&(i={item:o,score:c.score,confidence:c.confidence})}),i?{id:i.item.id,type:i.item.type,title:i.item.title,status:i.item.status,confidence:i.confidence}:null}function mq(e,t){return e.map(r=>{let n=sq(r),i=n==="docs_unowned"?"docs":"files",o=uq(r,n,t),a=o?.id??"<id>";return{path:r,classification:n,owner_candidate:o,remediation_hint:`pm ${i} ${a} --add path=${r},scope=project,note="<why this artifact belongs to the item>"`}})}function pq(e){return e.map(t=>`${t.path}:${t.classification} owner_candidate=${t.owner_candidate?.id??"unowned"} hint=${JSON.stringify(t.remediation_hint)}`)}function fq(e,t){return Object.entries(t.closure_like_metadata_field_patterns).filter(([r,n])=>{let i=Gt(e[r]);return i?n.some(o=>i.toLowerCase().includes(o)):!1}).map(([r])=>r).sort((r,n)=>r.localeCompare(n))}function _q(e,t,r,n,i){let o=Gt(t.parent),a=o?r.get(n.get(o.toLowerCase())??o):void 0;return{id:e.id,parent_id:t.id,grandparent_id:a?.id,grandparent_active:a!==void 0&&!ta(a.status,i)}}function gq(e,t,r,n){let i=Gt(e.blocked_by),o=Gt(e.blocked_reason),a=o?.toLowerCase(),s=kc(e.status,r),c=[];return t.has(s)?(!i&&!o&&c.push("blocked_status_missing_blocker_context"),a?.includes("no active blocker")&&c.push("blocked_status_reason_reports_no_active_blocker"),a&&n.stale_blocker_reason_patterns.some(l=>a.includes(l))&&c.push("blocked_status_reason_matches_stale_pattern"),c):(i&&c.push("non_blocked_status_has_blocked_by"),o&&c.push("non_blocked_status_has_blocked_reason"),c)}function hq(e,t,r,n){let i=new Map(e.map(c=>[c.id,c])),o=new Map(e.map(c=>[c.id.toLowerCase(),c.id])),a=r.blocked_statuses.size>0?r.blocked_statuses:new Set(["blocked"]),s={activeItems:e.filter(c=>!ta(c.status,r)),closureLikeRows:[],terminalParentRows:[],terminalParentFixRows:[],staleBlockerRows:[]};for(let c of s.activeItems){let l=fq(c,n);l.length>0&&s.closureLikeRows.push({id:c.id,fields:l});let d=Gt(c.parent),u=d?i.get(o.get(d.toLowerCase())??d):void 0;if(u&&ta(u.status,r)&&(s.terminalParentRows.push({id:c.id,parent_id:u.id,parent_status:u.status}),s.terminalParentFixRows.push(_q(c,u,i,o,r))),t){let m=gq(c,a,r,n);m.length>0&&s.staleBlockerRows.push({id:c.id,status:c.status,reasons:[...new Set(m)].sort((p,f)=>p.localeCompare(f))})}}return s}function yq(e){e.closureLikeRows.sort((t,r)=>t.id.localeCompare(r.id)),e.terminalParentRows.sort((t,r)=>t.id.localeCompare(r.id)||t.parent_id.localeCompare(r.parent_id)),e.terminalParentFixRows.sort((t,r)=>t.id.localeCompare(r.id)||t.parent_id.localeCompare(r.parent_id)),e.staleBlockerRows.sort((t,r)=>t.id.localeCompare(r.id))}function wc(e,t,r){return r<=0||t==="off"?null:`${t==="error"?`${e}_error`:e}:${r}`}function Rp(e,t,r){return r>0&&t!=="off"?`${e}:${r}`:null}function wq(e,t,r,n,i){let o=[];e.closureLikeRows.length>0&&o.push(`validate_lifecycle_active_closure_like_metadata:${e.closureLikeRows.length}`),e.terminalParentRows.length>0&&o.push(`validate_lifecycle_active_terminal_parent:${e.terminalParentRows.length}`),t&&e.staleBlockerRows.length>0&&o.push(`validate_lifecycle_stale_blockers:${e.staleBlockerRows.length}`);let a=wc("validate_lifecycle_dependency_cycles",r,i.dependencyCycles),s=wc("validate_hierarchy_parent_cycle",n,i.activeHierarchyCycles),c=wc("validate_hierarchy_cardinality_violation",n,i.activeHierarchyCardinality),l=wc("validate_hierarchy_parent_divergence",n,i.activeHierarchyDivergence),d=Rp("validate_legacy_hierarchy_parent_cycle",n,i.legacyHierarchyCycles),u=Rp("validate_legacy_hierarchy_cardinality_violation",n,i.legacyHierarchyCardinality),m=Rp("validate_legacy_hierarchy_parent_divergence",n,i.legacyHierarchyDivergence);return[...o,...a?[a]:[],...s?[s]:[],...c?[c]:[],...l?[l]:[],...d?[d]:[],...u?[u]:[],...m?[m]:[]]}function bq(e){let t=jr(e);return t.length>vH||t.split(/[\\/]/).some(r=>r.length>kH)}async function vq(e,t){let r=tt.isAbsolute(t)?t:tt.resolve(e,t);if(bq(r))return!1;try{let n=await $p.stat(r);return!n.isFile()&&!n.isDirectory()}catch(n){return LH(n,["ENOENT","ENOTDIR"])}}async function kq(e,t){let r={linkedProjectPaths:new Set,remoteLinkedPaths:new Set,missingLinkedPaths:[],staleLinkRows:[]},n=e.flatMap(i=>[...(i.files??[]).map(o=>({item:i,artifact:o,link_kind:"files"})),...(i.docs??[]).map(o=>({item:i,artifact:o,link_kind:"docs"}))]);for(let{item:i,artifact:o,link_kind:a}of n){if(o.scope!=="project")continue;if(Zo(o.path)){r.remoteLinkedPaths.add(o.path.trim());continue}let s=jr(o.path);s.length!==0&&(r.linkedProjectPaths.add(s),await vq(t,o.path)&&(r.missingLinkedPaths.push(s),r.staleLinkRows.push({item_id:i.id,path:s,link_kind:a})))}return r}function Eq(e,t,r,n,i,o){let a=n==="tracked-all-strict",s=a&&!i,c=i||a,l=c?[]:$H(t,r),d=l.length===0?[]:e.candidateFiles.filter(p=>JE(p,l)),u=l.length===0?e.candidateFiles:e.candidateFiles.filter(p=>!JE(p,l)),m={};if(d.length>0){let p=En(d,o);m.pm_internals={count:d.length,paths:p.values,paths_truncated:p.truncated,paths_total:p.total}}return{strictTrackedAllMode:a,strictModeForcesPmInternals:s,includePmInternalsEffective:c,pmInternalCandidatePrefixes:l,excludedPmInternalPaths:d,candidateFiles:u,excludedByReason:m}}function Sq(e,t,r,n,i,o,a,s="pm"){let c=hq(e,t,i,o);yq(c);let l=aq(c.activeItems,s),d=BE(e,i),u=mc(i,e,a?Number.POSITIVE_INFINITY:Ct),m=[...wq(c,t,r,n,{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}),...pc(u)],p=a?Number.POSITIVE_INFINITY:Ct,f=fe(c.closureLikeRows.map(D=>`${D.id}:${D.fields.join(",")}`),p),w=fe(c.terminalParentRows.map(D=>`${D.id}:${D.parent_id}:${D.parent_status}`),p),h=fe(c.staleBlockerRows.map(D=>`${D.id}:${D.status}:${D.reasons.join(",")}`),p),b=fe(l.cycle_item_ids,p),v=fe(l.cycle_sample_paths,p),I=fe(d.cycle_item_ids,p),A=fe(d.cycle_sample_paths,p),C=fe(d.cardinality_violation_rows,p),P=fe(d.parent_divergence_rows,p),T=l.cycle_count>0&&r==="error"||(d.active_cycle_count>0||d.active_cardinality_violation_count>0||d.active_parent_divergence_count>0)&&n==="error";return{check:{name:"lifecycle",status:T?"error":m.length===0?"ok":"warn",ok:!T&&m.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:f.values,active_closure_like_metadata_rows_truncated:f.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:r,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:n,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:P.values,hierarchy_parent_divergence_rows_truncated:P.truncated,stale_blocker_reason_patterns:[...o.stale_blocker_reason_patterns],stale_blocker_reason_pattern_source:o.stale_blocker_reason_pattern_source,closure_like_blocked_reason_patterns:[...o.closure_like_metadata_field_patterns.blocked_reason],closure_like_blocked_reason_pattern_source:o.closure_like_metadata_field_pattern_sources.blocked_reason,closure_like_resolution_patterns:[...o.closure_like_metadata_field_patterns.resolution],closure_like_resolution_pattern_source:o.closure_like_metadata_field_pattern_sources.resolution,closure_like_actual_result_patterns:[...o.closure_like_metadata_field_patterns.actual_result],closure_like_actual_result_pattern_source:o.closure_like_metadata_field_pattern_sources.actual_result}},warnings:m,terminalParentFixRows:c.terminalParentFixRows}}async function Tq(e,t,r,n,i,o,a=ut(_e.schema)){let s=await kq(e,t),c=new Map(e.map(O=>[O.id,O])),l=[...new Set(s.missingLinkedPaths)].sort((O,de)=>O.localeCompare(de)),d=await FH(t,n),u=Eq(d,r,t,n,i,o),m=u.candidateFiles.filter(O=>!s.linkedProjectPaths.has(O)),p=mq(m,e),f=bE(l,u.candidateFiles),w=new Map(f.map(O=>[O.path,O.classification])),h=f.filter(O=>O.classification==="moved").length,b=s.staleLinkRows.map(O=>({...O,classification:w.get(O.path)??"deleted"})).sort((O,de)=>O.item_id.localeCompare(de.item_id)||O.path.localeCompare(de.path)||O.link_kind.localeCompare(de.link_kind)),v=[];u.strictModeForcesPmInternals&&v.push("validate_files_tracked_all_strict_forces_pm_internals"),m.length>0&&v.push(`validate_files_orphaned_paths:${m.length}`);let I=[...s.remoteLinkedPaths].sort((O,de)=>O.localeCompare(de)),A=En(I,o),C=En(l,o),P=En(m,o),T=En(p.map(O=>`${O.path}:${O.classification}:owner_candidate=${O.owner_candidate?.id??"unowned"}`),o),D=o?p:En(pq(p),!1).values,z=En(vE(f),o),E=SE(b,f,O=>c.get(O),a,o?1/0:Lp);return E.active_missing_linked_paths_count>0&&v.push(`validate_files_missing_linked_paths:${E.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:o?"full":"summary",file_list_summary_limit:Lp,candidate_scan_source:d.source,include_pm_internals:u.includePmInternalsEffective,include_pm_internals_requested:i,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:s.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:f.filter(O=>O.classification==="deleted").length,missing_linked_paths_malformed_count:f.filter(O=>O.classification==="malformed").length,missing_linked_path_classifications:z.values,missing_linked_path_classifications_truncated:z.truncated,...E,orphaned_paths_count:m.length,orphaned_paths_total:P.total,orphaned_paths:P.values,orphaned_paths_truncated:P.truncated,orphaned_path_classifications:T.values,orphaned_path_classifications_truncated:T.truncated,orphaned_path_rows_count:p.length,orphaned_path_rows:D}},warnings:v,staleLinkPruneRows:b}}function Aq(e,t){let r=[];return e.forEach(({item:n,linkedTest:i},o)=>{let a=t[o];if(a.trusted)return;let s=xp(i.command??"");r.push(`${n.id}:${a.source_ref??"unknown"}->${a.current_source_ref??"unknown"}:${s}`)}),r}async function Iq(e,t,r,n){let i=new Set(e.map(C=>C.id.toLowerCase())),o=0,a=0,s=new Set,c=[],l=e.flatMap(C=>(C.tests??[]).map(P=>({item:C,linkedTest:P}))),d=await jE(UE()),u=await zE(n,l.map(({linkedTest:C})=>C),d),m=Aq(l,u);for(let{item:C,linkedTest:P}of l){if(typeof P.command!="string"||P.command.trim().length===0)continue;o+=1;let T=ME(P.command,t);if(T.length!==0){a+=T.length;for(let D of T)s.add(D),i.has(D.toLowerCase())||c.push(`${C.id}:${D}:${xp(P.command)}`)}}let p=[...new Set(c)].sort((C,P)=>C.localeCompare(P)),f=[...new Set(p.map(C=>C.split(":")[1]??""))].filter(C=>C.length>0).sort((C,P)=>C.localeCompare(P)),w=[];p.length>0&&w.push(`validate_command_references_stale_pm_ids:${p.length}`),m.length>0&&w.push(`validate_linked_test_trust_unacknowledged:${m.length}`);let h=r?Number.POSITIVE_INFINITY:Ct,b=fe(p,h),v=fe(f,h),I=fe([...s].sort((C,P)=>C.localeCompare(P)),h),A=fe(m,h);return{check:{name:"command_references",status:w.length===0?"ok":"warn",ok:w.length===0,details:{checked_items:e.length,linked_commands_scanned:o,referenced_pm_ids_count:a,unique_referenced_pm_ids_count:s.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:m.length,untrusted_linked_tests:A.values,untrusted_linked_tests_truncated:A.truncated,stale_pm_id_references_count:p.length,stale_pm_ids_count:f.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 Cq(e,t){let r=Ta(e.map(c=>({ref:c.id,version:Rn(c)}))),n=[];r.outdated.length>0&&n.push(`validate_format_version_outdated_items:${r.outdated.length}`),r.ahead.length>0&&n.push(`validate_format_version_ahead_items:${r.ahead.length}`);let i=t?Number.POSITIVE_INFINITY:Ct,o=fe(r.outdated,i),a=fe(r.ahead,i),s=r.ahead.length>0?"error":r.outdated.length>0?"warn":"ok";return{check:{name:"format_version",status:s,ok:s==="ok",details:{checked_items:e.length,current_format_version:Ei,outdated_items_count:r.outdated.length,outdated_items:o.values,outdated_items_truncated:o.truncated,ahead_items_count:r.ahead.length,ahead_items:a.values,ahead_items_truncated:a.truncated}},warnings:n}}var Mp="pm validate auto-fix";async function Oq(e,t,r){switch(e.kind){case"set_closed_at":await sE(e,t);return;case"set_resolution":case"set_close_reason":case"set_estimate":case"reparent":case"unset_parent":{let n={message:Mp};if(e.kind==="set_resolution"?n.resolution=e.value:e.kind==="set_close_reason"?n.closeReason=e.value:e.kind==="set_estimate"?n.estimatedMinutes=e.value:e.kind==="reparent"?n.parent=e.parent_id:n.unset=["parent"],!r.runUpdate)throw new g("Applying validate metadata/lifecycle fixes requires a runUpdate mutation service.",_.USAGE);await r.runUpdate(e.item_id,n,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 Np(e){return e.kind!=="prune_file_link"&&e.kind!=="prune_doc_link"?null:`${e.kind}:${e.item_id}`}async function xq(e,t,r){let n=[],i=[],o=new Map;for(let a of e.filter(s=>Np(s)===null))try{await Oq(a,t,r),n.push(a)}catch(s){i.push({fix:a,error:s})}for(let a of e.filter(s=>Np(s)!==null)){let s=Np(a),c=o.get(s);c?c.push(a):o.set(s,[a])}for(let a of o.values()){let s=a[0];if(!s)continue;let c=a.map(l=>l.path).filter(l=>typeof l=="string"&&l.length>0);try{s.kind==="prune_file_link"?await NE(s.item_id,{remove:c,message:Mp},t):await RE(s.item_id,{remove:c,message:Mp},t),n.push(...a)}catch(l){i.push(...a.map(d=>({fix:d,error:l})))}}return{applied:n,failed:i}}function Rq(e,t){t>0&&e.push(`merge_receipt_evidence_invalid:${t}`)}async function Nq(e,t,r,n){let i=await AE(e,new Set(t.map(h=>h.id)),r,{schema:n.schema,extensionFieldNames:St(V())}),o=[];i.unreadable_item_files.length>0&&o.push(`validate_storage_unreadable_items:${i.unreadable_item_files.length}`),i.duplicate_item_ids.length>0&&o.push(`validate_storage_duplicate_item_ids:${i.duplicate_item_ids.length}`),i.history_conflict_marker_streams.length>0&&o.push(`validate_storage_history_conflict_markers:${i.history_conflict_marker_streams.length}`),i.history_unparseable_streams.length>0&&o.push(`validate_storage_unparseable_history:${i.history_unparseable_streams.length}`),i.resurrected_items.length>0&&o.push(`validate_storage_resurrected_items:${i.resurrected_items.length}`),i.unparseable_config_files.length>0&&o.push(`validate_storage_unparseable_config:${i.unparseable_config_files.length}`);let a=o.length,s=await sc(e);s.tracked_path_count>0&&o.push(`validate_storage_tracked_runtime_cache_files:${s.tracked_path_count}`);let c=await po(e,ri(n));c.status==="drift"&&o.push(`validate_merge_fence_drift:${c.missing_patterns.length+c.stale_patterns.length}`);let l=await It(e),d=l===null?null:await fo(l);d!==null&&d.status!=="ok"&&o.push(`validate_merge_driver_configuration:${d.missing_keys.length+d.drifted_keys.length}`);let u=await Et(l??e,{includeLossless:!0,pmRoot:e}),m=u.receipts,{pendingDecisions:p,lossless:f}=vs(m);p.length>0&&o.push(`validate_merge_decisions_unreviewed:${p.length}`),Rq(o,u.invalid_evidence_count);let w=a>0?"error":o.length>0?"warn":"ok";return{check:{name:"storage_integrity",status:w,ok:w==="ok",details:{...i,merge_fence:c,merge_driver_configuration:d,pending_merge_decision_count:p.length,pending_merge_decision_items:[...new Set(p.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),lossless_merge_receipt_count:f.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(f.map(h=>h.item_id))].sort((h,b)=>h.localeCompare(b)),tracked_runtime_cache:{tracker_relative_root:s.tracker_relative_root,tracked_paths:s.tracked_paths,tracked_path_count:s.tracked_path_count,remediation_command:s.remediation_command}}},warnings:o}}function Bt(e,t,r){r&&HH(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:[]},r=e.options.fixHints===!0,n=e.options.verboseDiagnostics===!0||e.options.allAffectedIds===!0||e.global.json===!0;if(e.requestedChecks.has("completeness")){let i=await Ik(e.pmRoot,e.items,n?1/0:Ct,e.sourceIncomplete);Bt(t,i,r)}if(e.requestedChecks.has("metadata")){let i=QH(e.items,e.metadataPolicy,e.statusRegistry,n,[e.settings.id_prefix]);t.closeReasonBackfillRows=i.closeReasonBackfillRows,t.estimateBackfillRows=i.estimateBackfillRows;let o=await aE(e.pmRoot,e.items,e.statusRegistry,e.options.autoFix===!0||r,n?1/0:Ct);t.closureTimestampFixes=o.fixes,Object.assign(i.check.details,o.details),i.warnings.push(...o.warnings),i.check.ok=i.warnings.length===0,i.check.status=i.check.ok?"ok":"warn",Bt(t,i,r)}if(e.requestedChecks.has("resolution")){let i=eq(e.items,e.statusRegistry,n);t.resolutionBackfillRows=i.resolutionBackfillRows,Bt(t,i,r)}if(e.requestedChecks.has("lifecycle")){let i=Sq(e.items,!!e.options.checkStaleBlockers,e.dependencyCycleSeverity,e.parentCycleSeverity,e.statusRegistry,e.lifecyclePatternPolicy,n,e.settings.id_prefix);t.terminalParentFixRows=i.terminalParentFixRows,Bt(t,i,r),Bt(t,nq(e.items,n,e.statusRegistry),r)}if(e.requestedChecks.has("files")){let i=await Tq(e.items,e.workspaceRoot,e.pmRoot,e.fileScanMode,!!e.options.includePmInternals,!!e.options.verboseFileLists,e.statusRegistry);t.staleLinkPruneRows=i.staleLinkPruneRows,Bt(t,i,r)}return e.requestedChecks.has("command_references")&&Bt(t,await Iq(e.items,e.settings.id_prefix,n,e.pmRoot),r),e.requestedChecks.has("history_drift")&&Bt(t,await qE(e.pmRoot,e.items,n),r),e.requestedChecks.has("format_version")&&Bt(t,Cq(e.items,n),r),e.requestedChecks.has("storage_integrity")&&Bt(t,await Nq(e.pmRoot,e.items,ce(e.settings,V()).type_to_folder,e.settings),r),t}function Pq(e,t,r){let n=[];return e.autoFix===!0&&(n.push(...t.closureTimestampFixes),n.push(...dE(t.closeReasonBackfillRows)),n.push(...lE(t.resolutionBackfillRows)),n.push(...uE(t.estimateBackfillRows,r.validation.estimate_defaults_by_type)),n.push(...mE(t.terminalParentFixRows))),e.pruneMissing===!0&&n.push(...pE(t.staleLinkPruneRows)),n}async function Lq(e,t,r,n,i,o){if(e.autoFix!==!0&&e.pruneMissing!==!0)return;let a=Pq(e,t,r),{applicable:s,gated:c}=_E(a,n),l=e.dryRun===!0,d=[],u=[];if(!l){let m=await xq(s,i,o);d.push(...m.applied.map(Xo)),u.push(...m.failed.map(({fix:p,error:f})=>({...Xo(p),error:f instanceof Error?f.message:String(f)})))}return{mode:l?"dry_run":"apply",auto_fix:e.autoFix===!0,prune_missing:e.pruneMissing===!0,granted_fix_scopes:[...n].sort((m,p)=>m.localeCompare(p)),planned_count:a.length,applied_count:d.length,gated_count:c.length,failed_count:u.length,planned_fixes:a.map(Xo),applied_fixes:d,gated_fixes:c.map(m=>({...Xo(m),gate_hint:`Withheld: re-run with --fix-scope ${m.gate} to apply.`})),failed_fixes:u}}async function QE(e,t,r={}){Og(e.counts===!0,e.full===!0,"--counts");let n=e.autoFix===!0||e.pruneMissing===!0;if(e.dryRun===!0&&!n)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 i=fE(e.fixScope),o=Z(process.cwd(),t.path);await je(o);let a=await X(o),s=ut(a.schema),c=ce(a,V()),l=qH(e),d=[],u=await HE({includeBody:["history_drift","metadata","completeness"].some(z=>l.has(z)),pmRoot:o,settings:a,typeToFolder:c.type_to_folder,warnings:d}),m=d.length>0;if(l.has("history_drift")){let z=await oc(o);z.actionable_unknown_event_count>0&&d.push(`validate_history_unknown_author_events:${z.actionable_unknown_event_count}`)}let p=typeof e.metadataProfile=="string"?"option":"settings",f=AH(typeof e.metadataProfile=="string"?e.metadataProfile:a.validation.metadata_profile),w=xH(f,p,a.validation.metadata_required_fields),h=TH(a),b=IH(e.dependencyCycleSeverity),v=CH(e.parentCycleSeverity),I=DH(e.scanMode),A=PH(o),C=await Dq({requestedChecks:l,options:e,global:t,pmRoot:o,workspaceRoot:A,settings:a,items:u,statusRegistry:s,metadataPolicy:w,lifecyclePatternPolicy:h,dependencyCycleSeverity:b,parentCycleSeverity:v,fileScanMode:I,initialWarnings:[...new Set(d)],sourceIncomplete:m}),P=n?await Lq(e,C,a,i,t,r):void 0,T=[...new Set(C.warnings)].sort((z,E)=>z.localeCompare(E)),D={ok:!C.checks.some(z=>z.status==="error"),has_warnings:T.length>0,checks:C.checks,warnings:T,...P!==void 0?{fixes:P}:{},generated_at:j(),projection:{mode:"full",declared_field_groups:[{name:"diagnostic_rows",restore_with:"--full"}],included_field_groups:["diagnostic_rows"]}};return e.counts!==!0?D:{...SH(D),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]="9b07f6f1-2c84-583c-afb2-80f219d19863")}catch{}})();var Fq=4;function eS(e){let t=e.checks.find(s=>s.name==="integrity"),r=t?.details.counts,n=typeof r=="object"&&r!==null&&!Array.isArray(r)&&typeof r.missing_merge_receipt_history_references=="number"?r.missing_merge_receipt_history_references:0,i=t?.details.missing_merge_receipt_history_reference_details,o=t?.details.missing_merge_receipt_history_reference_details_truncated===!0,a=Array.isArray(i)?i.flatMap(s=>{if(typeof s!="object"||s===null||Array.isArray(s))return[];let c=s;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:n,truncated:o,coordinates:a}}async function jq(e,t){let r=[];for(let n of t){let i;try{i=await Mq($q.join(e,"history",`${n.item_id}.jsonl`),"utf8")}catch{continue}let o=i.split(/\r?\n/)[n.history_line-1];if(o===void 0||o.trim().length===0)continue;let a;try{a=JSON.parse(o)}catch{continue}let s=lc(a,n.item_id).find(c=>c.receiptId===n.receipt_id);s===void 0||!pp(s)||s.eventTimestamp===void 0||ye(s.eventTimestamp,mp)>=0||r.push({...n,original_event_ts:s.eventTimestamp})}return r}async function Uq(e){if(e.options.dryRun===!0||e.options.force!==!0||e.candidates.length===0)return 0;let t=new Map;for(let r of e.candidates){let n=t.get(r.item_id)??[];n.push(r),t.set(r.item_id,n)}for(let[r,n]of t)await ar(r,{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:n.map(i=>({receipt_id:i.receipt_id,original_history_line:i.history_line,original_event_ts:i.original_event_ts,reason:"legacy_clone_local_only"}))}}},e.global);return e.candidates.length}async function zq(e){try{return{status:"fulfilled",value:await ar(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 Hq(e){e.results.forEach((t,r)=>{let n=e.receiptOnlyIds[r];if(t.status==="fulfilled"){let i=t.value.changed?"repaired":"skipped_clean";e.repair.streams.push({id:n,outcome:i,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[i]+=1;return}e.repair.streams.push({id:n,outcome:"failed",error:t.reason instanceof Error?t.reason.message:String(t.reason)}),e.repair.totals.failed+=1})}async function qq(e){if(e.dryRun||e.repair.totals.failed>0)return 0;let t=new Set(e.repair.streams.flatMap(n=>n.merge_receipt_proof?.trusted?n.merge_receipt_proof.receipt_ids:[])),r=e.pendingReceipts.filter(n=>t.has(n.id));return await Promise.all(r.map(n=>so(e.receiptWorkspaceRoot,n,{requireExisting:!0}))),r.length}async function Gq(e,t){let r=e.dryRun===!0,n=Z(process.cwd(),t.path),i=await bp(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),o=eS(i),a=await jq(n,o.coordinates),s=await It(n),c=s??n,l=await Et(c,{includeLossless:!0,pmRoot:n});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 Uq({candidates:a,options:e,global:t}),u=l.receipts,m=await $w({cwd:s,receipts:u,dryRun:r,author:e.author,message:e.message,global:t}),p=new Set(m),f=new Map;for(let Y of u.filter(be=>!p.has(be.id))){let be=f.get(Y.item_id)??[];be.push(Y),f.set(Y.item_id,be)}let w=Object.fromEntries([...f].map(([Y,be])=>[Y,{merge:{receipts:be.map(gt)}}])),h=Object.fromEntries([...f].map(([Y,be])=>[Y,{gitWorkspaceRoot:s,receipts:be}])),b=await Mw({dryRun:r,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(Y=>Y.id)),I=[...f.keys()].filter(Y=>!v.has(Y)),A=await Ws(I,Fq,Y=>zq({id:Y,dryRun:r,options:e,global:t,auditContext:w[Y],mergeReceiptProof:h[Y]}));Hq({receiptOnlyIds:I,results:A,repair:b});let C=await qq({dryRun:r,pendingReceipts:u,repair:b,receiptWorkspaceRoot:c}),P=await QE({checkHistoryDrift:!0,checkStorageIntegrity:!0},t),T=d===0?i:await bp(t,{checkOnly:!0,full:!0,skipVectors:!0,skipDrift:!0}),D=eS(T),z=P.checks.every(Y=>Y.status==="ok"),E=r?u.length===0:C+m.length===u.length,O=[b.totals.failed===0,z,E,D.count===0,!D.truncated].every(Boolean),de=o.truncated||D.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,Wt=(r?["Review repair.streams, then rerun pm merge reconcile without --dry-run to apply audited repairs.",de,"No Git hook is installed automatically; invoke this command from an explicit post-merge hook only when your repository policy opts in."]:O?["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.",de,...a.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(Y=>Y!==void 0);return{ok:O,dry_run:r,repair:b,receipts:{pending_before:u.length,reconciled:C,abandoned:m.length,summaries:u.map(gt),missing_history_references_before:o.count,legacy_disposition_eligible:a.length,legacy_disposition_recorded:d,missing_history_references_after:D.count},validation:P,guidance:Wt,generated_at:P.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{Ph as ITEM_LATEST_TIMESTAMP_FIELDS,Nh as ITEM_SCALAR_MISSING_VALUE,Dh as ITEM_UNION_COLLECTION_FIELDS,gu as MERGE_DRIVER_ARTIFACT_VALUES,Iy as PM_GITATTRIBUTES_END,mo as PM_GITATTRIBUTES_START,Cu as PM_GITATTRIBUTES_V2_END,ti as PM_GITATTRIBUTES_V2_START,po as auditMergeAttributeFence,fo as auditMergeDriverConfiguration,Ds as buildMergeAttributePatterns,ee as encodeItemScalarDecisionValue,It as findGitWorkspaceRoot,kt as hashItemScalarDecisionValue,Et as inspectMergeReceiptEvidence,fP as installMergeFence,mn as isItemScalarMissingValue,Zh as listMergeReceipts,so as markMergeReceiptReconciled,Yd as mergeHistoryStreams,Zd as mergeItemDocuments,Qd as mergeJsonDocuments,Xd as mergeRelationshipEventStreams,Py as refreshMergeAttributeFenceIfInstalled,Oy as resolveMergeInstallContext,ri as resolveProjectMergeTypeFolders,HD as runMergeDriver,mP as runMergeInstall,kN as runMergeReceiptEvidenceReport,vN as runMergeReceiptReport,Gq as runMergeReconcile,gt as summarizeMergeReceipt};
140
140
  //# sourceMappingURL=sdk-merge.js.map