@unbrained/pm-cli 2026.10.20 → 2026.10.21

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 (158) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +25 -0
  3. package/dist/cli/error-guidance.d.ts +8 -0
  4. package/dist/cli/error-guidance.js +2 -2
  5. package/dist/cli/main.js +1 -1
  6. package/dist/cli/register-list-query.js +2 -2
  7. package/dist/cli/register-operations.js +1 -1
  8. package/dist/cli-bundle/bundle-manifest.json +1 -1
  9. package/dist/cli-bundle/chunks/{chunk-QMZ73FCW.js → chunk-2B5HAZFK.js} +2 -2
  10. package/dist/cli-bundle/chunks/chunk-4D25HF3V.js +2 -0
  11. package/dist/cli-bundle/chunks/{chunk-QETMESEB.js → chunk-4OYU5OXQ.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-YTHI5DTH.js → chunk-5PZ7JNMI.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-TZU6U5ZE.js → chunk-C6SAXKBO.js} +2 -2
  14. package/dist/cli-bundle/chunks/chunk-DIKQ2AL5.js +2 -0
  15. package/dist/cli-bundle/chunks/chunk-DIR3YEFD.js +2 -0
  16. package/dist/cli-bundle/chunks/{chunk-KU4Q3MSI.js → chunk-DJQVNDXO.js} +3 -3
  17. package/dist/cli-bundle/chunks/chunk-DR6DUBTU.js +30 -0
  18. package/dist/cli-bundle/chunks/{chunk-YT2Z3JPC.js → chunk-EMGMLKRV.js} +47 -47
  19. package/dist/cli-bundle/chunks/{chunk-YECCKB4E.js → chunk-GWIGZDRS.js} +2 -2
  20. package/dist/cli-bundle/chunks/chunk-IB7UB5TE.js +2 -0
  21. package/dist/cli-bundle/chunks/{chunk-PNPE2OVJ.js → chunk-KBSVPUFD.js} +46 -45
  22. package/dist/cli-bundle/chunks/{chunk-7ZOIZ2AZ.js → chunk-MOC5BJHW.js} +2 -2
  23. package/dist/cli-bundle/chunks/chunk-MZZIAC6S.js +20 -0
  24. package/dist/cli-bundle/chunks/{chunk-LS55VKRK.js → chunk-NNB65OOO.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-YW6SIKYP.js → chunk-QPV6UD55.js} +2 -2
  26. package/dist/cli-bundle/chunks/{chunk-GHJOMRSF.js → chunk-TMXWWOPJ.js} +2 -2
  27. package/dist/cli-bundle/chunks/{chunk-VLJLWZBO.js → chunk-V3XONSVC.js} +2 -2
  28. package/dist/cli-bundle/chunks/chunk-V5GJTXYW.js +126 -0
  29. package/dist/cli-bundle/chunks/{chunk-ZA3XXHEE.js → chunk-ZNKFMIVA.js} +2 -2
  30. package/dist/cli-bundle/chunks/{indexed-receipt-blobs-U7VGKIYC.js → indexed-receipt-blobs-65XXSPPR.js} +2 -2
  31. package/dist/cli-bundle/chunks/mutation-admission-FNWOVJLN.js +2 -0
  32. package/dist/cli-bundle/chunks/{register-list-query-NNDV6F6I.js → register-list-query-6PT5Y2EZ.js} +5 -5
  33. package/dist/cli-bundle/chunks/{register-mutation-3GCBSNQS.js → register-mutation-TAIQV46L.js} +4 -4
  34. package/dist/cli-bundle/chunks/register-operations-ONIRO22G.js +2 -0
  35. package/dist/cli-bundle/chunks/register-setup-OQMUZBJV.js +2 -0
  36. package/dist/cli-bundle/chunks/{settlement-hook-CLRGA6O7.js → settlement-hook-UVFYSBMU.js} +2 -2
  37. package/dist/cli-bundle/chunks/stage-FCPVFO3B.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/chunk-32ZKLRWM.js +2 -0
  39. package/dist/cli-bundle/focused-chunks/{chunk-HUZAXSIJ.js → chunk-3LWH2RJC.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-ZGEK57KD.js → chunk-44353U27.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/chunk-4HJVAUFX.js +2 -0
  42. package/dist/cli-bundle/focused-chunks/{chunk-VLSER3XW.js → chunk-5IMM7GOF.js} +2 -2
  43. package/dist/cli-bundle/focused-chunks/{chunk-J6EYUGAR.js → chunk-6QSZHRM7.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/{chunk-F7FD25TG.js → chunk-7UD7XTOE.js} +10 -10
  45. package/dist/cli-bundle/focused-chunks/{chunk-KKRFSI2N.js → chunk-CUWNNU4N.js} +2 -2
  46. package/dist/cli-bundle/focused-chunks/chunk-E2S42XCT.js +2 -0
  47. package/dist/cli-bundle/focused-chunks/chunk-GHQVM6K6.js +2 -0
  48. package/dist/cli-bundle/focused-chunks/chunk-GRSQGMRR.js +2 -0
  49. package/dist/cli-bundle/focused-chunks/{chunk-NI6NS44Q.js → chunk-HNCMYF2W.js} +2 -2
  50. package/dist/cli-bundle/focused-chunks/{chunk-37SU7BZI.js → chunk-IAGFXKMZ.js} +2 -2
  51. package/dist/cli-bundle/focused-chunks/chunk-JI3RXXRN.js +78 -0
  52. package/dist/cli-bundle/focused-chunks/chunk-JMZPZQHR.js +26 -0
  53. package/dist/cli-bundle/focused-chunks/{chunk-E4II2D2B.js → chunk-KVYUQS6Y.js} +2 -2
  54. package/dist/cli-bundle/focused-chunks/chunk-O3M6YWVL.js +2 -0
  55. package/dist/cli-bundle/focused-chunks/chunk-P5D7MHDS.js +20 -0
  56. package/dist/cli-bundle/focused-chunks/chunk-PDOWLRHC.js +8 -0
  57. package/dist/cli-bundle/focused-chunks/chunk-SVOOGGAK.js +2 -0
  58. package/dist/cli-bundle/focused-chunks/chunk-T27TLSEU.js +65 -0
  59. package/dist/cli-bundle/focused-chunks/{chunk-LJPUJ2KK.js → chunk-VD64TPXI.js} +2 -2
  60. package/dist/cli-bundle/focused-chunks/{chunk-GYHZ7W6O.js → chunk-VE6MTRH5.js} +2 -2
  61. package/dist/cli-bundle/focused-chunks/chunk-XE7P7N5X.js +8 -0
  62. package/dist/cli-bundle/focused-chunks/chunk-YIWDX6KO.js +91 -0
  63. package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-H2G6CCGO.js → indexed-receipt-blobs-CRP6HAZY.js} +2 -2
  64. package/dist/cli-bundle/focused-chunks/mutation-admission-KM57KDDF.js +2 -0
  65. package/dist/cli-bundle/focused-chunks/{settlement-hook-5SNBBT7C.js → settlement-hook-MNCHFCAX.js} +2 -2
  66. package/dist/cli-bundle/focused-chunks/stage-UJYGWNZ7.js +2 -0
  67. package/dist/cli-bundle/main.js +21 -21
  68. package/dist/cli-bundle/sdk-authoring.js +1 -1
  69. package/dist/cli-bundle/sdk-contracts.js +1 -1
  70. package/dist/cli-bundle/sdk-core.js +23 -23
  71. package/dist/cli-bundle/sdk-governance.js +1 -1
  72. package/dist/cli-bundle/sdk-graph.js +1 -1
  73. package/dist/cli-bundle/sdk-merge.js +58 -57
  74. package/dist/cli-bundle/sdk-query.js +1 -1
  75. package/dist/cli-bundle/sdk-runtime.js +1 -1
  76. package/dist/cli-bundle/sdk-testing.js +1 -1
  77. package/dist/cli-bundle/sdk.js +2 -2
  78. package/dist/core/item/actionability.js +1 -1
  79. package/dist/core/lock/lock-gc.d.ts +12 -5
  80. package/dist/core/lock/lock-gc.js +1 -1
  81. package/dist/core/lock/lock-owner.d.ts +33 -0
  82. package/dist/core/lock/lock-owner.js +2 -0
  83. package/dist/core/lock/lock.d.ts +11 -22
  84. package/dist/core/lock/lock.js +4 -3
  85. package/dist/core/output/output.js +3 -3
  86. package/dist/core/shared/errors.d.ts +2 -0
  87. package/dist/core/shared/errors.js +1 -1
  88. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  89. package/dist/sdk/dependencies.js +1 -1
  90. package/dist/sdk/extension-command-context.js +2 -2
  91. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  92. package/dist/sdk/governance/assurance-action.js +1 -1
  93. package/dist/sdk/governance/assurance.js +1 -1
  94. package/dist/sdk/governance/health.js +2 -2
  95. package/dist/sdk/output/list-envelope.js +1 -1
  96. package/dist/sdk/pagination.d.ts +3 -3
  97. package/dist/sdk/pagination.js +1 -1
  98. package/dist/sdk/public-surface.json +1 -1
  99. package/dist/sdk/query/context.js +2 -2
  100. package/dist/sdk/query/list.d.ts +2 -0
  101. package/dist/sdk/query/list.js +1 -1
  102. package/dist/sdk/query/projection-contracts.d.ts +1 -1
  103. package/dist/sdk/query/projection-contracts.js +1 -1
  104. package/dist/sdk/relationship-context.js +1 -1
  105. package/dist/sdk/runtime/mutation-admission.d.ts +2 -0
  106. package/dist/sdk/runtime/mutation-admission.js +2 -0
  107. package/dist/sdk/runtime-input.d.ts +2 -0
  108. package/dist/sdk/runtime-input.js +1 -1
  109. package/dist/sdk/runtime.js +1 -1
  110. package/dist/sdk/test/execution.d.ts +1 -0
  111. package/dist/sdk/test/execution.js +2 -2
  112. package/docs/AGENT_RUNTIME_PRIMITIVES.md +9 -0
  113. package/docs/ASSURANCE.md +17 -2
  114. package/docs/COMMANDS.md +17 -3
  115. package/docs/CONFIGURATION.md +29 -0
  116. package/docs/CONTEXT_RELEVANCE.md +15 -0
  117. package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +26 -3
  118. package/docs/SDK.md +67 -0
  119. package/docs/TESTING.md +18 -0
  120. package/docs/agent-task-token-baseline.json +1 -1
  121. package/marketplace.json +1 -1
  122. package/package.json +1 -1
  123. package/packages/pm-beads/package.json +1 -1
  124. package/packages/pm-calendar/package.json +1 -1
  125. package/packages/pm-command-kit/package.json +1 -1
  126. package/packages/pm-digital-twin/package.json +1 -1
  127. package/packages/pm-governance-audit/package.json +1 -1
  128. package/packages/pm-guide-shell/package.json +1 -1
  129. package/packages/pm-kanban/package.json +1 -1
  130. package/packages/pm-lifecycle-hooks/package.json +1 -1
  131. package/packages/pm-linked-test-adapters/package.json +1 -1
  132. package/packages/pm-search-advanced/package.json +1 -1
  133. package/packages/pm-templates/package.json +1 -1
  134. package/packages/pm-todos/package.json +1 -1
  135. package/packages/pm-vcs/package.json +1 -1
  136. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  137. package/plugins/pm-claude/package.json +1 -1
  138. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  139. package/plugins/pm-codex/package.json +1 -1
  140. package/plugins/pm-codex/plugin.json +1 -1
  141. package/runtime-dependencies.json +1 -1
  142. package/dist/cli-bundle/chunks/chunk-2GGGOD7P.js +0 -30
  143. package/dist/cli-bundle/chunks/chunk-7NHA5K77.js +0 -126
  144. package/dist/cli-bundle/chunks/chunk-PTL3TBT6.js +0 -20
  145. package/dist/cli-bundle/chunks/chunk-QQYCB2LO.js +0 -2
  146. package/dist/cli-bundle/chunks/register-operations-YKDGNKUL.js +0 -2
  147. package/dist/cli-bundle/chunks/register-setup-AOUZQQWB.js +0 -2
  148. package/dist/cli-bundle/chunks/stage-6QXYRMSU.js +0 -2
  149. package/dist/cli-bundle/focused-chunks/chunk-6IU7BESB.js +0 -65
  150. package/dist/cli-bundle/focused-chunks/chunk-AS3MOBO3.js +0 -25
  151. package/dist/cli-bundle/focused-chunks/chunk-AW35RDKA.js +0 -78
  152. package/dist/cli-bundle/focused-chunks/chunk-H5Q2HUU6.js +0 -8
  153. package/dist/cli-bundle/focused-chunks/chunk-JEXZEIAX.js +0 -91
  154. package/dist/cli-bundle/focused-chunks/chunk-KDGUIIRU.js +0 -20
  155. package/dist/cli-bundle/focused-chunks/chunk-MQ42BFGX.js +0 -2
  156. package/dist/cli-bundle/focused-chunks/chunk-VAYS754X.js +0 -2
  157. package/dist/cli-bundle/focused-chunks/chunk-VS6VTWTZ.js +0 -8
  158. package/dist/cli-bundle/focused-chunks/stage-EMTISXR7.js +0 -2
@@ -1,3 +1,3 @@
1
- import{a as c}from"./chunk-E4II2D2B.js";import{g as d,oa as w,pa as u}from"./chunk-AS3MOBO3.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="158d5065-075c-5355-a65c-f3edc9c5f1f0")}catch{}})();var _=new Map(d.map(e=>[e.toLowerCase(),e])),$=/^[A-Za-z][A-Za-z0-9_-]*$/;function g(e,t){if(!$.test(e))throw new Error(`${t} "${e}" is not a valid identifier. Use a single letter-led token of letters, digits, hyphen, or underscore with no spaces or punctuation (e.g. "Spike" or "code-review").`)}function y(e){return _.get(e.trim().toLowerCase())}function A(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function I(e){return e.replace(/[\\"`$]/g,t=>`\\${t}`)}function b(e){let t=new Map;for(let o of e){let n=o.trim();if(n.length===0)continue;let i=n.toLowerCase();t.has(i)||t.set(i,n)}return[...t.values()].sort((o,n)=>o.localeCompare(n))}function S(e){let t=(e.name??"").trim();if(t.length===0)throw new Error("Type name must not be empty.");g(t,"Type name");let o=y(t);if(o)throw new Error(`Cannot redefine built-in item type "${o}". Built-in types are reserved: ${d.join(", ")}.`);let n=e.description?.trim(),i=e.defaultStatus?.trim(),r=e.folder?.trim(),a=r&&r.length>0?u(r):void 0,s=b(e.aliases??[]);for(let l of s){g(l,"Alias");let f=y(l);if(f)throw new Error(`Alias "${l}" collides with built-in item type "${f}". Built-in types are reserved: ${d.join(", ")}.`)}return{name:t,description:n&&n.length>0?n:void 0,defaultStatus:i&&i.length>0?i:void 0,folder:a,aliases:s}}function x(e,t){let o=e.name.toLowerCase(),n=new Map;for(let r of t.definitions){if(typeof r.name!="string")continue;let a=r.name.trim();if(!(a.length===0||a.toLowerCase()===o)){n.set(a.toLowerCase(),a);for(let s of A(r.aliases))s.trim().length>0&&n.set(s.trim().toLowerCase(),a)}}let i=n.get(o);if(i)throw new Error(`Type name "${e.name}" collides with an alias of existing item type "${i}".`);for(let r of e.aliases){let a=n.get(r.toLowerCase());if(a)throw new Error(`Alias "${r}" already maps to existing item type "${a}".`)}}function h(e,t){return typeof t=="string"&&t.trim().length>0?u(t).toLowerCase():w(e).toLowerCase()}function D(e,t,o){let n=e.name.toLowerCase(),i=h(e.name,e.folder),r=s=>{throw new Error(`Item type "${e.name}" would store items in folder "${i}", which already belongs to existing item type "${s}". Pass a distinct --folder to keep their storage separate.`)};for(let s of t.definitions){if(typeof s.name!="string")continue;let l=s.name.trim();l.length===0||l.toLowerCase()===n||h(l,s.folder)===i&&r(l)}let a=o?.get(i);a!==void 0&&a.toLowerCase()!==n&&r(a)}function j(e){if(e==null||e.trim().length===0)return{definitions:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/types.json contains invalid JSON.")}return{definitions:L(t)}}function L(e){let t=C(e);if(!t)return[];let o=[];for(let n of t){if(typeof n!="object"||n===null||Array.isArray(n))continue;let i=n;typeof i.name!="string"||i.name.trim().length===0||o.push(i)}return o}function C(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 o=t.item_types;if(Array.isArray(o.definitions))return o.definitions}}function z(e,t){let o=t.name.toLowerCase(),n=e.definitions.slice(),i=n.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===o),r=i>=0?n[i]:void 0,a=b([...A(r?.aliases),...t.aliases]),s={...r,name:t.name};return t.folder!==void 0&&(s.folder=t.folder),a.length>0?s.aliases=a:s.aliases!==void 0&&delete s.aliases,T(s,"description",t.description),T(s,"default_status",t.defaultStatus),i>=0?n[i]=s:n.push(s),n.sort((l,f)=>l.name.localeCompare(f.name)),{file:{definitions:n},definition:s,replaced:i>=0,...r&&typeof r.name=="string"?{previousName:r.name}:{}}}function F(e,t){let o=(t??"").trim();if(o.length===0)throw new Error("Type name must not be empty.");let n=y(o);if(n)throw new Error(`Cannot remove built-in item type "${n}". Built-in types are reserved: ${d.join(", ")}.`);let i=o.toLowerCase(),r=e.definitions.slice(),a=r.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===i);if(a<0)return{file:{definitions:r},removed:!1};let[s]=r.splice(a,1);return{file:{definitions:r},removed:!0,definition:s}}function T(e,t,o){let n=e;o!==void 0&&(n[t]=o)}function M(e){return`${JSON.stringify({definitions:e.definitions},null,2)}
1
+ import{a as c}from"./chunk-KVYUQS6Y.js";import{g as d,oa as w,pa as u}from"./chunk-JMZPZQHR.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="158d5065-075c-5355-a65c-f3edc9c5f1f0")}catch{}})();var _=new Map(d.map(e=>[e.toLowerCase(),e])),$=/^[A-Za-z][A-Za-z0-9_-]*$/;function g(e,t){if(!$.test(e))throw new Error(`${t} "${e}" is not a valid identifier. Use a single letter-led token of letters, digits, hyphen, or underscore with no spaces or punctuation (e.g. "Spike" or "code-review").`)}function y(e){return _.get(e.trim().toLowerCase())}function A(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function I(e){return e.replace(/[\\"`$]/g,t=>`\\${t}`)}function b(e){let t=new Map;for(let o of e){let n=o.trim();if(n.length===0)continue;let i=n.toLowerCase();t.has(i)||t.set(i,n)}return[...t.values()].sort((o,n)=>o.localeCompare(n))}function S(e){let t=(e.name??"").trim();if(t.length===0)throw new Error("Type name must not be empty.");g(t,"Type name");let o=y(t);if(o)throw new Error(`Cannot redefine built-in item type "${o}". Built-in types are reserved: ${d.join(", ")}.`);let n=e.description?.trim(),i=e.defaultStatus?.trim(),r=e.folder?.trim(),a=r&&r.length>0?u(r):void 0,s=b(e.aliases??[]);for(let l of s){g(l,"Alias");let f=y(l);if(f)throw new Error(`Alias "${l}" collides with built-in item type "${f}". Built-in types are reserved: ${d.join(", ")}.`)}return{name:t,description:n&&n.length>0?n:void 0,defaultStatus:i&&i.length>0?i:void 0,folder:a,aliases:s}}function x(e,t){let o=e.name.toLowerCase(),n=new Map;for(let r of t.definitions){if(typeof r.name!="string")continue;let a=r.name.trim();if(!(a.length===0||a.toLowerCase()===o)){n.set(a.toLowerCase(),a);for(let s of A(r.aliases))s.trim().length>0&&n.set(s.trim().toLowerCase(),a)}}let i=n.get(o);if(i)throw new Error(`Type name "${e.name}" collides with an alias of existing item type "${i}".`);for(let r of e.aliases){let a=n.get(r.toLowerCase());if(a)throw new Error(`Alias "${r}" already maps to existing item type "${a}".`)}}function h(e,t){return typeof t=="string"&&t.trim().length>0?u(t).toLowerCase():w(e).toLowerCase()}function D(e,t,o){let n=e.name.toLowerCase(),i=h(e.name,e.folder),r=s=>{throw new Error(`Item type "${e.name}" would store items in folder "${i}", which already belongs to existing item type "${s}". Pass a distinct --folder to keep their storage separate.`)};for(let s of t.definitions){if(typeof s.name!="string")continue;let l=s.name.trim();l.length===0||l.toLowerCase()===n||h(l,s.folder)===i&&r(l)}let a=o?.get(i);a!==void 0&&a.toLowerCase()!==n&&r(a)}function j(e){if(e==null||e.trim().length===0)return{definitions:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/types.json contains invalid JSON.")}return{definitions:L(t)}}function L(e){let t=C(e);if(!t)return[];let o=[];for(let n of t){if(typeof n!="object"||n===null||Array.isArray(n))continue;let i=n;typeof i.name!="string"||i.name.trim().length===0||o.push(i)}return o}function C(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 o=t.item_types;if(Array.isArray(o.definitions))return o.definitions}}function z(e,t){let o=t.name.toLowerCase(),n=e.definitions.slice(),i=n.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===o),r=i>=0?n[i]:void 0,a=b([...A(r?.aliases),...t.aliases]),s={...r,name:t.name};return t.folder!==void 0&&(s.folder=t.folder),a.length>0?s.aliases=a:s.aliases!==void 0&&delete s.aliases,T(s,"description",t.description),T(s,"default_status",t.defaultStatus),i>=0?n[i]=s:n.push(s),n.sort((l,f)=>l.name.localeCompare(f.name)),{file:{definitions:n},definition:s,replaced:i>=0,...r&&typeof r.name=="string"?{previousName:r.name}:{}}}function F(e,t){let o=(t??"").trim();if(o.length===0)throw new Error("Type name must not be empty.");let n=y(o);if(n)throw new Error(`Cannot remove built-in item type "${n}". Built-in types are reserved: ${d.join(", ")}.`);let i=o.toLowerCase(),r=e.definitions.slice(),a=r.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===i);if(a<0)return{file:{definitions:r},removed:!1};let[s]=r.splice(a,1);return{file:{definitions:r},removed:!0,definition:s}}function T(e,t,o){let n=e;o!==void 0&&(n[t]=o)}function M(e){return`${JSON.stringify({definitions:e.definitions},null,2)}
2
2
  `}function E(e,t){let o=e.trim().length>0?e.trim():e,n=t?.trim()||".agents/pm/schema/types.json";return`To register a custom type, run: pm schema add-type "${I(o)}" (writes ${n}).`}function O(e,t,o){return`Invalid type value "${e}". Allowed: ${t.join(", ")}. ${E(e,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]="77a7b77a-907c-541d-ac55-e06174dbbf11")}catch{}})();function v(e){return typeof e=="string"?e.trim().toLowerCase():""}function m(e,t){let o=c(e);return o.length===0?"":t?.alias_to_id?.get(o)??o}function U(e){let t=Array.isArray(e?.type_workflows)?e.type_workflows:[],o=new Map;for(let n of t){let i=v(n?.type);if(i.length===0||!Array.isArray(n?.allowed_transitions))continue;let r=n.allowed_transitions,a=o.get(i)??{pairs:[],denyAll:!1};r.length===0&&(a.denyAll=!0);for(let s of r){if(!Array.isArray(s)||s.length!==2)continue;let l=c(s[0]),f=c(s[1]);l.length===0||f.length===0||a.pairs.some(p=>p[0]===l&&p[1]===f)||a.pairs.push([l,f])}o.set(i,a)}return[...o.entries()].filter(([,n])=>n.pairs.length>0||n.denyAll).map(([n,i])=>({type:n,allowed_transitions:i.pairs})).sort((n,i)=>n.type.localeCompare(i.type))}function J(e){let t=v(e.typeName),o=e.typeWorkflows.find(r=>r.type===t);if(!o)return{allowed:!0,hasRule:!1,allowedTransitions:[]};let n=m(e.fromStatus,e.statusRegistry),i=m(e.toStatus,e.statusRegistry);return n.length>0&&n===i?{allowed:!0,hasRule:!0,allowedTransitions:o.allowed_transitions}:{allowed:o.allowed_transitions.some(r=>{let a=m(r[0],e.statusRegistry),s=m(r[1],e.statusRegistry);return a===n&&s===i}),hasRule:!0,allowedTransitions:o.allowed_transitions}}function W(e){return e.length===0?"(no transitions allowed)":e.map(t=>`${t[0]} -> ${t[1]}`).join(", ")}export{y as a,I as b,S as c,x as d,D as e,j as f,z as g,F as h,M as i,O as j,U as k,J as l,W as m};
3
- //# sourceMappingURL=chunk-KKRFSI2N.js.map
3
+ //# sourceMappingURL=chunk-CUWNNU4N.js.map
@@ -0,0 +1,2 @@
1
+ import{C as Ue,D as je,G as ze,f as Pe}from"./chunk-YIWDX6KO.js";import{_a as $e,db as Ke,s as M,t as D}from"./chunk-JI3RXXRN.js";import{j as Ie}from"./chunk-KVYUQS6Y.js";import{b as R,c as I}from"./chunk-AK2CI2GI.js";import{Dc as H,Fa as Ce,Oc as N,R as T,T as F,Uc as Te,W as ke,Zc as Re,cd as De,ce as Be,de as Ne,gd as Se,ic as G,jc as xe,ka as be,nd as Le,ne as Me,od as Oe,qa as we,sa as ve,sd as Ae,wa as Ee,xc as te}from"./chunk-JMZPZQHR.js";import{y as w,z as E}from"./chunk-3LWH2RJC.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a319e7d9-e248-573b-bf1f-35217ce49fd0")}catch{}})();function oe(e,t){return(t===void 0?void 0:ve(e,t))?.execution_role??be[e.trim().toLowerCase()]??"agent"}var re="blocked_by",Fe="blocks",pt=Object.freeze([re,Fe]),ne="no-active-blocker";function k(e){return e.trim().toLowerCase()}function W(e,t){return t?`external:${e}`:`local:${k(e)}`}function P(e){let t=new Map,o=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(o.length>0&&k(o)!==ne){let n=R(o);t.set(W(o,n),n?o:k(o))}for(let n of e.dependencies??[]){let r=typeof n.id=="string"?n.id.trim():"";if(F(n.kind)===re&&r.length>0&&k(r)!==ne){let i=R(r)||I(n.source_kind);t.set(W(r,i),i?r:k(r))}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function X(e){let t=new Map;for(let o of e){let n=k(o.id);n.length!==0&&t.set(n,new Set(P(o)))}for(let o of e){let n=k(o.id);if(n.length!==0)for(let r of o.dependencies??[]){let i=F(r.kind)===Fe&&typeof r.id=="string"?k(r.id):"";if(i.length===0||i===ne)continue;let s=t.get(i)??new Set;s.add(n),t.set(i,s)}}return new Map([...t].map(([o,n])=>[o,[...n].sort((r,i)=>r.localeCompare(i))]))}function Ge(e,t){let o=k(e.id);return o.length>0?X(t).get(o)??P(e):P(e)}function ie(e,t,o,n){let r=e,i=typeof r.id=="string"?n?.get(k(r.id))??Ge(r,[...t.values()]):P(e),s=new Set((e.dependencies??[]).filter(d=>F(d.kind)===re&&I(d.source_kind)&&typeof d.id=="string"&&d.id.trim().length>0).map(d=>W(d.id.trim(),!0)));return i.map(d=>{if(R(d)||s.has(W(d,!0)))return{id:d,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(k(d));return c?{id:d,title:c.title,status:c.status,resolved:D(c.status,o)}:{id:d,title:null,status:null,resolved:!1}})}function mt(e,t,o){return ie(e,t,o)}function gt(e,t){let o=new Map(e.map(s=>[k(s.id),s])),n=X(e),r=new Set([...He(t),...t.blocked_statuses]),i=new Set;for(let s of e){let d=M(s.status,t);r.has(d)&&(t.blocked_statuses.has(d)||ie(s,o,t,n).some(c=>!c.resolved))&&i.add(k(s.id))}return i}function ht(e,t,o={},n){let r=[...e.ready,...e.decisions,...e.gates];o.includeContainers===!0&&r.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(M(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of r){let d=oe(s.item.type,n);d==="human"&&o.includeDecisions!==!0?i.decisions.push(s):d==="gate"&&o.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function He(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function yt(e,t,o){let n=[k(e)],r=new Set;for(;n.length>0;){let i=n.pop();if(!r.has(i)){r.add(i);for(let s of t.get(i)??[]){if(!D(s.status,o))return!0;n.push(k(s.id))}}}return!1}function _t(e){let t=new Map,o=new Map,n=new Map,r=X(e);for(let i of e){t.set(k(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let d=k(s),c=o.get(d)??[];c.push(i),o.set(d,c)}for(let d of r.get(k(i.id))){let c=k(d),u=n.get(c)??[];u.push(i.id),n.set(c,u)}}return{itemsById:t,childrenByParent:o,blockedByReverse:n,blockerIdsByItem:r}}function kt(e,t,o,n){let{itemsById:r,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:d}=_t(t),c=new Set([...He(o),...o.blocked_statuses]),u=new Set(t.filter(g=>!D(g.status,o)).map(g=>k(g.id))),f=[],a=[],l=[],m=[],p=[],y=0;for(let g of e){if(!c.has(M(g.status,o)))continue;y+=1;let h=ie(g,r,o,d).filter(v=>!v.resolved),b=(s.get(k(g.id))??[]).filter(v=>u.has(k(v))).sort((v,J)=>v.localeCompare(J)),_={item:g,open_blockers:h,unblocks:b};if(yt(g.id,i,o)){l.push(_);continue}let C=o.blocked_statuses.has(M(g.status,o));if(h.length===0&&!C){let v=oe(g.type,n);v==="human"?m.push(_):v==="gate"?p.push(_):f.push(_)}else a.push(_)}return{ready:f,blocked:a,containers:l,decisions:m,gates:p,active_count:y,container_count:l.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]="ae1c56b3-148d-502d-9450-e807fdfab4da")}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 x(){let e=T();for(let t of G()?.relationship_kinds??[])for(let o of t.definitions)e.register(o);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 $(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function q(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function bt(e,t){let o=new Set,n=[];for(let r of[...e].sort()){if(o.has(r))continue;o.add(r);let i=[{nodeId:r,children:[...t.get(r)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),d=s.children[s.nextChild];d===void 0?(n.push(s.nodeId),i.pop()):(s.nextChild+=1,o.has(d)||(o.add(d),i.push({nodeId:d,children:[...t.get(d)??[]].sort(),nextChild:0})))}}return n}function wt(e,t){let o=[...e].sort(),n=bt(o,t),r=new Set,i=vt(o,t),s=[];for(let d of n.reverse()){if(r.has(d))continue;let c=Et(d,i,r);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((d,c)=>d.join("\0").localeCompare(c.join("\0")))}function vt(e,t){let o=new Map(e.map(n=>[n,new Set]));for(let[n,r]of t)for(let i of r)o.get(i)?.add(n);return o}function Et(e,t,o){let n=[],r=[e];for(o.add(e);r.length>0;){let i=r.pop();n.push(i);for(let s of[...t.get(i)].sort())o.has(s)||(o.add(s),r.push(s))}return n.sort()}function We(e){let t=new Map;for(let o of e){let n=$(o?.id);n&&!t.has(n)&&t.set(n,o)}return t}function Ct(e,t,o){let n=$(t.parent);if(!(!n||!o.has(n)))return{parent_id:n,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function It(e,t,o,n){let r=$(t?.id),i=n.resolve(t?.kind);if(!r||!o.has(r)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:r,child_id:s?r:e,source:"dependency",kind:i.kind,holder_id:e,target_id:r,child_cardinality:s?i.incoming:i.outgoing}}function Xe(e,t){let o=new Map;for(let[n,r]of e){let i=Ct(n,r,e);i&&o.set(q(i),i);for(let s of r.dependencies??[]){let d=It(n,s,e,t);d&&o.set(q(d),d)}}return[...o.values()].sort((n,r)=>q(n).localeCompare(q(r)))}function Un(e,t=x()){return Xe(We(e),t)}function xt(e,t,o){let n=new Set(e.filter(r=>r.child_cardinality==="one").map(r=>r.child_id));return[...t].filter(([r,i])=>i.length>1&&n.has(r)).map(([r,i])=>({child_id:r,parent_ids:[...i],legacy_terminal:o.has(r)&&i.every(s=>o.has(s))})).sort((r,i)=>r.child_id.localeCompare(i.child_id))}function Tt(e,t,o){let n=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=n.get(i.child_id)??new Set;s.add(i.parent_id),n.set(i.child_id,s)}let r=[];for(let[i,s]of e){let d=$(s.parent);if(!d||!e.has(d))continue;let c=[...n.get(i)??[]].filter(u=>u!==d).sort();c.length!==0&&r.push({child_id:i,scalar_parent_id:d,dependency_parent_ids:c,legacy_terminal:o.has(i)&&o.has(d)&&c.every(u=>o.has(u))})}return r.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function Y(e,t=n=>n==="closed"||n==="canceled",o=x()){let n=We(e),r=Xe(n,o),i=Rt(r),s=new Set([...n].filter(([,c])=>t(c.status)).map(([c])=>c)),d=wt([...n.keys()],new Map([...i.children_by_parent].map(([c,u])=>[c,new Set(u)]))).map(c=>({item_ids:c,legacy_terminal:c.every(u=>s.has(u))}));return{relations:r,cycles:d,cardinality_violations:xt(r,i.parents_by_child,s),divergences:Tt(n,r,s)}}function jn(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function Rt(e){let t=new Map,o=new Map;for(let n of e){let r=t.get(n.child_id)??new Set;r.add(n.parent_id),t.set(n.child_id,r);let i=o.get(n.parent_id)??new Set;i.add(n.child_id),o.set(n.parent_id,i)}return{parents_by_child:new Map([...t].map(([n,r])=>[n,[...r].sort()])),children_by_parent:new Map([...o].map(([n,r])=>[n,[...r].sort()]))}}function se(e,t){let o=new Set(t);return e.every(n=>o.has(n))}function zn(e,t,o,n,r){let i=$(o);if(!i)return;let s=Y(e,n,r),d=Y(t,n,r),c=d.divergences.find(a=>!s.divergences.some(l=>l.child_id===a.child_id&&l.scalar_parent_id===a.scalar_parent_id&&se(a.dependency_parent_ids,l.dependency_parent_ids)));if(c){let a=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new E(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${a.join(", ")}.`,w.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:a})}let u=d.cardinality_violations.find(a=>(a.child_id===i||a.parent_ids.includes(i))&&!s.cardinality_violations.some(l=>l.child_id===a.child_id&&se(a.parent_ids,l.parent_ids)));if(u)throw new E(`Hierarchy mutation would assign ${u.child_id} to multiple parents: ${u.parent_ids.join(", ")}.`,w.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:u.child_id,verification_errors:u.parent_ids});let f=d.cycles.find(a=>a.item_ids.includes(i)&&!s.cycles.some(l=>se(a.item_ids,l.item_ids)));if(f)throw new E(`Hierarchy mutation would create a cycle: ${f.item_ids.join(" -> ")}.`,w.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:f.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof 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{}})();var Dt="global";function Xn(e){let t=e?.trim();if(t)return I(t)?Dt:t}function qn(e,t,o){return St(e,t,o)}function St(e,t,o){let n=e.trim();return I(o)||R(n)?n:Pe(n,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]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function A(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function K(e){let t=A(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function U(e,t,o=!0){let n=A(e);return o&&(I(t)||n!==void 0&&R(n))}function de(e,t){return U(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function qe(e,t,o,n){return U(e,t)?n.get(e):o.get(e.toLowerCase())}function O(e,t){let o=e.toLowerCase(),n=t.toLowerCase();return o!==n?o<n?-1:1:e!==t?e<t?-1:1:0}function Lt(e){let t=new Map;for(let o of e.dependencies??[]){if(typeof o!="object"||o===null)continue;let n=o,r=A(n.id);if(!r)continue;let i=typeof n.kind=="string"?n.kind:"related",s=`${i}\0${de(r,n.source_kind)}`,d=t.get(s);d?d.count+=1:t.set(s,{target_id:r,kind:i,count:1})}return t}function Ot(e,t=o=>o==="closed"||o==="canceled"){let o=[];for(let n of e)if(!(typeof n?.id!="string"||n.id.trim().length===0))for(let r of Lt(n).values())r.count<2||o.push({holder_id:n.id.trim(),target_id:r.target_id,kind:r.kind,occurrences:r.count,holder_status:n.status,legacy_terminal:t(n.status)});return o.sort((n,r)=>{let i=O(n.holder_id,r.holder_id);if(i!==0)return i;let s=O(n.target_id,r.target_id);return s!==0?s:O(n.kind,r.kind)})}function At(e,t,o,n,r){if(typeof o!="object"||o===null)return;let i=A(o.id);if(!i||de(i,o.source_kind)!==de(t))return;let s=r.resolve(typeof o.kind=="string"?o.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:n(e.status)}}function Bt(e,t=n=>n==="closed"||n==="canceled",o=x()){let n=new Map;for(let r of e){if(typeof r?.id!="string"||r.id.trim().length===0)continue;let i=A(r.blocked_by);if(i)for(let s of r.dependencies??[]){let d=At(r,i,s,t,o);d&&n.set(`${d.holder_id.toLowerCase()}\0${d.target_id.toLowerCase()}\0${d.dependency_kind}`,d)}}return[...n.values()].sort((r,i)=>{let s=O(r.holder_id,i.holder_id);if(s!==0)return s;let d=O(r.target_id,i.target_id);return d!==0?d:O(r.dependency_kind,i.dependency_kind)})}function ce(e,t=o=>o==="closed"||o==="canceled"){let o=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),n=new Set(o.map(c=>c.id.trim().toLowerCase())),r=new Map,i=(c,u,f,a,l)=>{let m=A(u);if(!m||n.has(m.toLowerCase())||U(m,void 0,l))return;let p={holder_id:c.id.trim(),target_id:m,kind:f,source:a,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:m.toLowerCase()==="no-active-blocker"};r.set(`${p.holder_id}::${p.target_id}::${p.kind}::${p.source}`,p)};for(let c of o){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let u of c.dependencies??[]){if(typeof u!="object"||u===null)continue;let f=u;I(f.source_kind)||i(c,f.id,typeof f.kind=="string"?f.kind:"related","dependency",!0)}}let s=[...r.values()].sort((c,u)=>c.holder_id.localeCompare(u.holder_id)||c.target_id.localeCompare(u.target_id)||c.kind.localeCompare(u.kind)||c.source.localeCompare(u.source)),d=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:d,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Nt(e){let t=new Map;for(let o of[...e.active,...e.legacy_terminal]){if(o.no_active_blocker_sentinel)continue;let n=o.target_id.trim(),r=n.toLowerCase();t.has(r)||t.set(r,n)}return[...t.values()].sort((o,n)=>o.localeCompare(n))}function Mt(e){let t=new Map;for(let o of e){let n=K(o.blocked_by);n&&U(n)&&!t.has(n)&&t.set(n,n);for(let r of o.dependencies??[]){if(typeof r!="object"||r===null||!U(r.id,r.source_kind))continue;let i=K(r.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((o,n)=>o.localeCompare(n))}var Ye=new WeakMap;function to(e){return e.hierarchyIntegrity??Ye.get(e)}function Pt(e,t=x()){let o={};for(let n of e)for(let r of n.dependencies??[]){if(typeof r!="object"||r===null)continue;let i=r.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),d=t.resolve(i);d&&s!==d.kind&&(o[s]=(o[s]??0)+1)}return Object.fromEntries(Object.entries(o).sort(([n],[r])=>n.localeCompare(r)))}function ae(e,t,o){let n=o??x(),r=e.filter(p=>typeof p?.id=="string"&&p.id.trim().length>0),i=new Map(r.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),s=ce(r,t),d=Nt(s);for(let p of d)i.set(p.toLowerCase(),p);let c=Mt(r),u=new Set(i.keys()),f=new Map;for(let p of c){let y=p;for(;u.has(y.toLowerCase());)y=`external:${y}`;f.set(p,y),u.add(y.toLowerCase())}let a=r.map(p=>{let y=K(p.parent),g=K(p.blocked_by),h=(p.dependencies??[]).flatMap(b=>{if(typeof b!="object"||b===null)return[];let _=b,C=K(_.id);return C?[{id:qe(C,_.source_kind,i,f),kind:typeof _.kind=="string"?_.kind:"related"}]:[]});return{id:p.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...g?{blocked_by:qe(g,void 0,i,f)}:{},dependencies:h}}),l=Y(r,t,n),m={graph:ke.fromItems([...a,...d.map(p=>({id:p})),...c.map(p=>({id:f.get(p)}))],n),details:[...r.map(p=>({id:p.id.trim(),title:p.title,status:p.status,...typeof p.type=="string"&&p.type.trim().length>0?{type:p.type.trim()}:{}})),...d.map(p=>({id:p,title:`[missing] ${p}`,status:"missing"})),...c.map(p=>({id:f.get(p),title:`[external] ${p}`,status:"external"}))],missingIdSet:new Set(d.map(p=>p.toLowerCase())),dangling:s,duplicateRows:Ot(r,t),orderingContradictions:Bt(r,t,n),legacyAliasCounts:Pt(r,n),hierarchyIntegrity:l};return Ye.set(m,l),m}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cf5a7b37-5b40-52b4-a19c-18b08de649c4")}catch{}})();function le(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function io(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;if(!le(t.requested_tokens)||t.basis!=="canonical_retry")return!1;switch(t.minimum_status){case"exact":return le(t.minimum_feasible_tokens)&&t.feasible_tokens===t.minimum_feasible_tokens&&t.reason===void 0;case"feasible_only":return t.minimum_feasible_tokens===null&&le(t.feasible_tokens)&&t.reason===void 0;case"unavailable":return t.minimum_feasible_tokens===null&&t.feasible_tokens===null&&["query_cost_limit","search_limit","output_constraints"].includes(t.reason);default:return!1}}var $t="PmCliError";function so(e){if(!Ut(e)||e.code!=="item_already_exists"||e.exitCode!==w.CONFLICT)return!1;let t=e.context;return typeof t=="object"&&t!==null&&t.code==="item_already_exists"&&typeof t.id=="string"&&t.id.trim().length>0&&typeof t.path=="string"&&t.path.trim().length>0}function Kt(e){if(!Number.isFinite(e))throw new TypeError("createPmCliExpectedError options.exitCode must be a finite number");let t=Math.trunc(e);if(t<=w.SUCCESS)throw new TypeError("createPmCliExpectedError options.exitCode must be a positive exit code");return t}function Ve(e,t={}){if(typeof e!="string"||e.trim().length===0)throw new TypeError("createPmCliExpectedError message must be a non-empty string");let o=new E(e,Kt(t.exitCode??w.USAGE),t.context??{});return"cause"in t&&Object.defineProperty(o,"cause",{value:t.cause,enumerable:!1,configurable:!0,writable:!0}),o}function Ut(e){if(!(e instanceof Error)||e.name!==$t)return!1;let t=e;return typeof t.exitCode=="number"&&Number.isFinite(t.exitCode)}import{createHash as jt}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]="e31ef0fb-e803-500b-b1e5-db9edfc880c4")}catch{}})();var zt=64,Ft=8;function Gt(e,t){let o=(e.dependencies??[]).map(n=>{if(typeof n!="object"||n===null)return"";let r=n;return`${typeof r.kind=="string"?r.kind:"related"}:${typeof r.id=="string"?r.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",o].join("\0")}function Qe(e,t=n=>n==="closed"||n==="canceled",o=T()){let n=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>Gt(i,t)).sort(),r=o.list().map(i=>Ce(i)).sort();return jt("sha256").update(n.join("")).update("").update(r.join("")).digest("hex")}function Je(e,t,o){let n=t??o;if(!Number.isInteger(n)||n<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return n}var ue=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Je("maxResultsPerWorkspace",t.maxResultsPerWorkspace,zt),this.#n=Je("maxWorkspaces",t.maxWorkspaces,Ft)}lookup(t,o,n){let r=this.#e.get(t),i=!0;(r===void 0||r.fingerprint!==o)&&(r={fingerprint:o,assembly:n(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,r);let s=r,d=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:o,memoize(c,u){let f=s.results.get(c);if(f!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,f),{value:structuredClone(f),reused:!0};let a=u();return s.results.size>=d&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(a)),{value:a,reused:!1}}}}clear(){this.#e.clear()}},Ze=new ue;function et(){return Ze}function fo(){Ze.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]="60255cfe-4293-5b4c-babd-278dfe5b6e2c")}catch{}})();var j=1200,Ht=["prerequisite","dependent","ancestor","descendant","provenance","related"],Wt=new TextEncoder;function fe(e,t,o){let n=e??t;if(!Number.isInteger(n)||n<1)throw new TypeError(`Relationship context ${o} must be positive`);return n}function V(e){return Math.max(1,Math.ceil(Wt.encode(JSON.stringify(e)).byteLength/4))}function pe(e,t,o){let n=o.resolve(e.kind);if(n?.ordering){let r=(n.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===r?"prerequisite":"dependent"}if(n?.hierarchy){let r=n.hierarchyDirection==="source_parent"?e.source:e.target;return t===r?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Xt(e,t,o,n){let r=e.filter(i=>i.source===t&&i.target===o||i.target===t&&i.source===o).map(i=>pe(i,o,n));return[...new Set(r)].sort()}function qt(e){return Ht.find(t=>e.includes(t))}function Yt(e,t,o,n){let r=n.direction??"both",i=n.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),d=[{id:t,distance:0}],c=[],u=0,f=!1;for(let a=0;a<d.length;a+=1){n.signal?.throwIfAborted();let l=d[a];if(l.distance>=i&&f)continue;let m=e.neighborEdges(l.id,{direction:r,kinds:n.kinds,signal:n.signal});if(u+=m.meta.inspectedEdges,l.distance>=i){m.value.some(p=>!s.has(p.id))&&(f=!0);continue}for(let{id:p,edge:y}of m.value){if(s.has(p))continue;s.add(p);let g={id:p,distance:l.distance+1,via:l.id,role:pe(y,p,o)};c.push(g),d.push(g)}}return c.sort((a,l)=>a.distance-l.distance||a.id.localeCompare(l.id)),{rows:c,visitedNodes:d.length,inspectedEdges:u,depthTruncated:f}}function Vt(e,t,o,n){let r={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:n.direction??"both",kinds:n.kinds,signal:n.signal}).value;for(let{id:s,edge:d}of i)r[pe(d,s,o)]+=1;return{directEdges:r,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Jt(e){let t=[],o=e.initialTokens;for(let n of e.candidates){if(t.length>=e.nodeLimit)break;let r=n.distance===1?Xt(e.rootEdges,e.rootId,n.id,e.registry):[],i={...e.details.get(n.id)??{id:n.id},distance:n.distance,role:r.length>0?qt(r):n.role,via:n.via,reasons:r.length>0?r:[`${n.role} via ${n.via} (depth ${n.distance})`]},s=V(i);if(o+s>e.tokenBudget)break;t.push(i),o+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:o}}function Qt(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,o=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),n=[],r=e.initialTokens;for(let i of o){if(n.length>=e.edgeLimit)break;let s=V(i);if(r+s>e.tokenBudget)break;n.push(i),r+=s}return{edges:n,usedTokens:r,candidateCount:o.length}}function tt(e,t,o,n={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let r=fe(n.nodeLimit,20,"nodeLimit"),i=fe(n.edgeLimit,40,"edgeLimit"),s=fe(n.tokenBudget,j,"tokenBudget"),d=n.registry??T(),c=new Map(o.map(L=>[L.id,L])),u=c.get(t)??{id:t},{evidence:f=[],...a}=u,l=[...f],m=Yt(e,t,d,n),{rootEdges:p,...y}=Vt(e,t,d,n),g=Le("relationship-context",{rootId:t,direction:n.direction??"both",kinds:[...n.kinds??[]].sort(),maxDepth:n.maxDepth??3}),h=Ae(m.rows,n.cursor,g,({id:L})=>L,"--cursor"),b=m.rows.slice(h),_=V(a)+V(l);if(_>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let C=Jt({candidates:b,details:c,rootEdges:p,rootId:t,registry:d,nodeLimit:r,tokenBudget:s,initialTokens:_}),{nodes:v}=C,J=new Set([t,...v.map(({id:L})=>L)]),he=Qt({graph:e,included:J,options:n,registry:d,edgeLimit:i,tokenBudget:s,initialTokens:C.usedTokens}),{edges:Q,usedTokens:ut}=he,z=h+v.length,Z=z<m.rows.length,ye=v.at(-1),ee=he.candidateCount-Q.length,_e=m.depthTruncated||Z||ee>0,ft={rootId:t,...a.status===void 0?{}:{rootStatus:a.status},...y,discoveredNodes:m.rows.length,returnedNodes:v.length,returnedEdges:Q.length,omittedNodes:m.rows.length-z,omittedEdges:ee,evidenceCount:l.length,hasMore:Z};return{root:a,summary:ft,nodes:v,edges:Q,evidence:l,meta:{exact:!0,truncated:_e,completeness:_e?"truncated":"complete",nodeLimit:r,edgeLimit:i,tokenBudget:s,usedTokens:ut,visitedNodes:m.visitedNodes,inspectedEdges:m.inspectedEdges,omittedNodes:m.rows.length-z,omittedEdges:ee,...Z&&ye?{nextCursor:Oe(g,ye.id,z-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]="aaf07c3b-4c16-5374-bf61-934114075578")}catch{}})();var Zt=["tree","graph","context"],en=["none","repeated"],tn=["outgoing","incoming","both"],nn=32,on=200,rn=400,sn=16e3;function dn(e){let t=e?.trim().toLowerCase()??"tree";if(Zt.includes(t))return t;throw new E(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,w.USAGE)}function B(e,t){if(e===void 0)return;let o=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(o)||o<1)throw new E(`Invalid --${t} value "${e}". Use a positive integer.`,w.USAGE);return o}function ot(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new E(`Invalid --max-depth value "${e}". Use a non-negative integer.`,w.USAGE);return t}function cn(e){let t=e?.trim().toLowerCase()??"none";if(en.includes(t))return t;throw new E(`Invalid --collapse value "${e}". Use "none" or "repeated".`,w.USAGE)}function an(e){let t=e?.trim().toLowerCase()??"both";if(tn.includes(t))return t;throw new E(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,w.USAGE)}function ln(e,t=T()){if(e===void 0)return;let o=(Array.isArray(e)?e:[e]).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);if(o.length===0)return;let n=new Set;for(let r of o){let i=t.resolve(r);if(!i){let s=t.list().map(d=>d.kind).join(", ");throw new E(`Invalid --kind value "${r}". Registered kinds: ${s}.`,w.USAGE)}n.add(i.kind)}return[...n].sort()}function un(e){if(!e||e.length===0)return[];let t=e.map(({id:n,kind:r})=>({id:n.trim(),kind:r.trim().toLowerCase()})).sort((n,r)=>{let i=n.kind.localeCompare(r.kind);return i!==0?i:n.id.localeCompare(r.id)}),o=new Map;for(let n of t){let r=`${n.kind.toLowerCase()}::${n.id.toLowerCase()}`;o.has(r)||o.set(r,{id:n.id,kind:n.kind})}return[...o.values()]}function fn(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:un(e.dependencies)}}function pn(e){return N(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function mn(e,t,o,n,r,i,s,d,c){for(let u of t.dependencies){let f=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:u.id,kind:u.kind}).length/3));if(d.nodes>=d.nodeLimit){e.truncated=!0,d.reasons.add("node_limit");break}if(d.edges>=d.edgeLimit){e.truncated=!0,d.reasons.add("edge_limit");break}if(d.estimatedTokens+f>=d.tokenBudget){e.truncated=!0,d.reasons.add("token_budget");break}d.edges+=1,d.estimatedTokens+=f,e.dependencies.push(rt(u.id,o,n,r,i,s,d,c+1,u.kind))}}function gn(e,t,o,n,r,i,s,d){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:n!==void 0&&d>=n?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):r==="repeated"&&i.has(o)?(e.collapsed=!0,!0):!1}function rt(e,t,o,n,r,i,s,d=0,c){let u=e.trim().toLowerCase(),f=t.get(u),a={id:f?.id??e,title:f?.title,type:f?.type,status:f?.status,via:c,missing:!f,cycle:o.has(u),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=pn(a),gn(a,f,u,n,r,i,s,d))return a;r==="repeated"&&i.add(u);let l=new Set(o);return l.add(u),mn(a,f,t,l,n,r,i,s,d),a}function nt(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function hn(e){let t=new Map,o=new Map,n=[e];for(;n.length>0;){let d=n.pop();t.set(d.id,nt(t.get(d.id),{id:d.id,title:d.title,type:d.type,status:d.status,missing:d.missing}));for(let c of d.dependencies){t.set(c.id,nt(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let u=c.via??"related",f=`${d.id}::${c.id}::${u}`;o.has(f)||o.set(f,{from:d.id,to:c.id,kind:u}),c.cycle||n.push(c)}}let r=[...t.values()].sort((d,c)=>d.id.localeCompare(c.id)),i=[...o.values()].sort((d,c)=>{let u=d.from.localeCompare(c.from);if(u!==0)return u;let f=d.to.localeCompare(c.to);return f!==0?f:d.kind.localeCompare(c.kind)}),s=r.filter(d=>d.missing).map(d=>d.id);return{root_id:e.id,nodes:r,edges:i,missing_ids:s}}function it(e,t,o){let n=new Set,r=new Set,i=new Set,s=new Set,d=[{id:e,depth:0}],c=0;for(;c<d.length;){let u=d[c++],f=u.id.trim().toLowerCase();n.add(f);let a=t.get(f);if(!a){i.add(f);continue}if(!(o!==void 0&&u.depth>=o)&&!s.has(f)){s.add(f);for(let l of a.dependencies)r.add(`${f}::${l.id.trim().toLowerCase()}::${l.kind}`),d.push({id:l.id,depth:u.depth+1})}}return{node_count:n.size,edge_count:r.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function yn(e,t=T()){let o=ot(e.maxDepth),n=B(e.nodeLimit,"node-limit"),r=B(e.edgeLimit,"edge-limit"),i=B(e.tokenBudget,"token-budget"),s=ln(e.kind,t);return{direction:an(e.direction),...s===void 0?{}:{kinds:s},...o===void 0?{}:{maxDepth:o},...n===void 0?{}:{nodeLimit:n},...r===void 0?{}:{edgeLimit:r},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function _n(e,t,o,n){return tt(e.graph,t,e.details.map(r=>r.id===t&&n.length>0?{...r,evidence:n}:r),o)}function me(e,t,o,n){for(let r of o.slice(0,n)){let i=r?.trim();i&&e.push(`${t}:${i}`)}}async function kn(e,t,o,n){let r=await Ue(e,t,o.id_prefix,o.item_format,n);if(!r)return[];let{document:i}=await je(r,{schema:o.schema}),s=i.metadata,d=s.files??[],c=s.tests??[],u=s.docs??[],f=[["files",d.length],["tests",c.length],["docs",u.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(f.every(([,l])=>l===0))return[];let a=[`linked:${f.map(([l,m])=>`${l}=${m}`).join(",")}`];return me(a,"file",d.map(l=>l.path),3),me(a,"test",c.map(l=>l.command??l.path),2),me(a,"doc",u.map(l=>l.path),2),a}function bn(e){let{canonicalId:t,context:o,missingCount:n,missingReferences:r,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:o.nodes.length+1,edge_count:o.edges.length,edge_basis:"deduplicated_directed",missing_count:n,missing_scope:"traversal",missing_reference_count:r.length,...s?{}:{missing_references:r.slice(0,i),context:o}}}function wn(e){let{row:t,missingReachableSet:o,packetIds:n,filteredKinds:r,registry:i}=e;if(t.no_active_blocker_sentinel||!o.has(t.target_id.trim().toLowerCase())||!n.has(t.holder_id))return!1;if(r===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(r.has(s.kind)||s.inverse!==void 0&&r.has(s.inverse))}function st(e,t){let o=xe(),n=t.commandOptionsOverride??(o?.command==="deps"?o.options:t.commandOptions);return Be("deps",{...n,...t.global,resolvedOutputFormat:t.format},e)}function ge(e,t){let o=st(e,t),n=r=>Me(r,t.format,t.global.lean===!0);return n(t.global.tokenAccounting===!0?Ne(o,n):o)}function dt(e,t,o){let n;for(;;){let r=N(new TextEncoder().encode(ge(e,t)).byteLength);if(r===n)return r;o(r),n=r}}function ct(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function at(e){let{assembly:t,canonicalId:o,contextOptions:n,rootEvidence:r,summaryOnly:i,rendering:s,missingCount:d,missingReferences:c}=e,u=n.edgeLimit??40,f=Math.min(u,c.length),a=n.tokenBudget,l;for(;;){let m=_n(t,o,{...n,...a===void 0?{}:{tokenBudget:a}},r);l??=m.meta.tokenBudget,a??=l;let p=bn({canonicalId:o,context:m,missingCount:d,missingReferences:c,referenceLimit:f,summaryOnly:i});if(i){if(N(new TextEncoder().encode(ge(S(p,!0,s.legacyAliasCounts),s)).byteLength)>l)throw new TypeError("Relationship context tokenBudget cannot fit the rendered summary");return p}if(m.meta.tokenBudget=l,m.meta.usedTokens=dt(S(p,!1,s.legacyAliasCounts),s,h=>{m.meta.usedTokens=h}),m.meta.usedTokens<=l)return p;if(f>0){f-=1;continue}let y=a,g=y*l/m.meta.usedTokens;a=Math.min(y-1,Math.max(1,Math.floor(g*.9)))}}function lt(e,t){let o=e.contextOptions,n={...e.rendering.global,outputFormat:e.rendering.format},r=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","context","--output-format",e.rendering.format,"--token-budget"],i=r.length;r.push(String(t));let s=new Set(["--pm-path","--format","--output-format","--token-budget"]),d={format:"context",tokenBudget:t,kind:o.kinds},c=[["--max-depth","maxDepth",o.maxDepth],["--node-limit","nodeLimit",o.nodeLimit],["--edge-limit","edgeLimit",o.edgeLimit],["--direction","direction",o.direction],["--cursor","cursor",o.cursor],["--output-include","outputInclude",n.outputInclude],["--output-limit","outputLimit",n.outputLimit],["--output-budget","outputBudget",n.outputBudget],["--output-session","outputSession",n.outputSession],["--output-cursor","outputCursor",n.outputCursor]];for(let[a,l,m]of c)m!==void 0&&(r.push(a,String(m)),s.add(a),d[l]=m);for(let a of o.kinds??[])r.push("--kind",a),s.add("--kind");let u=[["--summary","summary",e.summaryOnly],["--full","full",e.rendering.commandOptions.full],["--json","json",n.json],["--lean","lean",n.lean],["--output-row-contract","outputRowContract",n.outputRowContract],["--token-accounting","tokenAccounting",n.tokenAccounting],["--no-extensions","noExtensions",n.noExtensions],["--no-pager","noPager",n.noPager]];for(let[a,l,m]of u)m===!0&&(r.push(a),s.add(a),d[l]=!0);let f=Re.find(a=>a.command==="deps");return Reflect.set(d,Te,{canonical_include_modes:[],cli_invocation_observed:!0,explicit_legacy_aliases:Object.values(f.dimensions).flatMap(a=>a.legacy_aliases.flatMap(l=>s.has(l.flag)?[l.flag]:[]))}),De("deps",d),te(d.summary===!0,d.full===!0,"--summary"),n.outputInclude=d.outputInclude,{args:r,budgetIndex:i,summaryOnly:d.summary===!0,rendering:{...e.rendering,global:n,commandOptionsOverride:d}}}function vn(e,t,o){let n={...t.rendering,commandOptionsOverride:{...t.rendering.commandOptionsOverride,tokenBudget:o}},r;try{r=at({...e,contextOptions:{...e.contextOptions,tokenBudget:o},summaryOnly:t.summaryOnly,rootEvidence:t.summaryOnly?[]:e.rootEvidence,rendering:n})}catch(s){if(!ct(s))throw s;return"native_floor"}let i=st(S(r,t.summaryOnly,n.legacyAliasCounts),n);return Se(i)?"output_constraints":"fits"}async function En(e,t){let o=e.contextOptions.tokenBudget??j,n=lt(e,o),r=(n.summaryOnly?1:1+Math.min(e.contextOptions.edgeLimit??40,e.missingReferences.length))*(e.assembly.details.reduce((a,l)=>a+l.id.length+l.title.length+l.status.length+(l.type?.length??0),e.assembly.graph.edges().length+e.missingReferences.length)+(n.summaryOnly?[]:e.rootEvidence).reduce((a,l)=>a+l.length,0)),{findContextBudgetRecovery:i}=await import("./context-budget-recovery-5MKOCGY5.js"),s=i({requested:o,initialBudget:j,workUnits:r,probe:a=>vn(e,n,a)}),d=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","tree","--summary"],c=H(d),u=s.feasible_tokens===null?d:[...n.args];s.feasible_tokens!==null&&(u[n.budgetIndex]=String(s.feasible_tokens));let f=H(u);return Ve("Relationship context tokenBudget cannot fit the required rendered packet",{exitCode:w.USAGE,cause:t,context:{code:"invalid_argument_value",field:"tokenBudget",value:String(o),required:s.feasible_tokens===null?"Inspect the compact summary and review the output constraints.":"Retry the preserved context query with --token-budget "+s.feasible_tokens+".",why:"Budget advice is verified against the current query. A minimum is reported only after every smaller positive budget is checked.",examples:[f,c],nextSteps:[f],recovery:{recovery_mode:"compact",suggested_flags:["--token-budget"],token_budget:s,suggested_retry_args:u,suggested_retry:f,next_best_command:c,fallback_candidates:[{source:"relationship_summary",command:c,reason:"Inspect bounded counts separately from context rows."}]}}})}async function Cn(e){let{pmRoot:t,assembly:o,canonicalId:n,options:r,rootEvidence:i,summaryOnly:s,rendering:d}=e,c=yn(r,o.graph.registry()),u=o.graph.closure(n,{direction:c.direction,...c.kinds===void 0?{}:{kinds:c.kinds},maxDepth:c.maxDepth??3}),f=u.value.filter(h=>o.missingIdSet.has(h.toLowerCase())),a=new Set(f.map(h=>h.toLowerCase())),l=o.graph.registry(),m=c.kinds?new Set(c.kinds.map(h=>l.require(h).kind)):void 0,p=new Set([n,...u.value]),y=[...o.dangling.active,...o.dangling.legacy_terminal].filter(h=>wn({row:h,missingReachableSet:a,packetIds:p,filteredKinds:m,registry:l})),g={pmRoot:t,assembly:o,canonicalId:n,contextOptions:c,rootEvidence:i,summaryOnly:s,rendering:d,missingCount:f.length,missingReferences:y};try{return at(g)}catch(h){if(h instanceof E&&h.code==="invalid_query_cursor"){let b=lt({...g,contextOptions:{...c,cursor:void 0},rendering:{...d,global:{...d.global,outputCursor:void 0}}},c.tokenBudget??j),_=H(b.args);throw new E(h.message,h.exitCode,{...h.context,nextSteps:[...h.context.nextSteps,_],recovery:{suggested_retry:_,suggested_retry_args:b.args}})}throw ct(h)?await En(g,h):h}}function In(e){let t=[e],o;for(;t.length>0;){let n=t.pop();n.dependencies.length>0&&(o=n,t.push(...n.dependencies))}return o?(o.dependencies.pop(),o.truncated=!0,!0):!1}function xn(e,t,o,n,r,i,s){let d=r??nn,c=B(o.nodeLimit,"node-limit")??on,u=B(o.edgeLimit,"edge-limit")??rn,f=B(o.tokenBudget,"token-budget")??sn,a={nodeLimit:c,edgeLimit:u,tokenBudget:f,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},l=rt(e,n,new Set,d,t==="graph"?"repeated":i,new Set,a),m=it(e,n,void 0),p;for(;;){let y=hn(l),g=a.reasons.size===0?void 0:{reasons:[...a.reasons].sort(),limits:{max_depth:d,node_limit:c,edge_limit:u,token_budget:f},estimated_tokens:0,total_node_count:m.node_count,total_edge_count:m.edge_count,omitted_node_count:Math.max(0,m.node_count-y.nodes.length),omitted_edge_count:Math.max(0,m.edge_count-y.edges.length)},h={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...g?{truncation:g}:{}};if(p=t==="tree"?{...h,tree:l}:{...h,graph:y},(p.truncation===void 0?N(new TextEncoder().encode(ge(S(p,!1,s.legacyAliasCounts),s)).byteLength):dt(S(p,!1,s.legacyAliasCounts),s,b=>{p.truncation.estimated_tokens=b}))<=f)return p;if(!In(l))return a.reasons.add("token_budget"),p;a.reasons.add("token_budget")}}function S(e,t,o={}){let n={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:o,projection:{mode:t?"summary":"full",declared_field_groups:[n],included_field_groups:t?[]:[n.name]}}}async function Uo(e,t,o){let n=Ee(process.cwd(),o.path);await Ke(n);let r=dn(t.format),i=ot(t.maxDepth),s=cn(t.collapse);te(t.summary===!0,t.full===!0,"--summary");let d=t.summary===!0,c=await $e(n),u=we(c,G()),f=await ze(n,c.item_format,u.type_to_folder,void 0,c.schema),a=Ie(c.schema),l=new Map(f.map(g=>[g.id.trim().toLowerCase(),fn(g)])),m=ce(f,g=>D(g,a));for(let g of[...m.active,...m.legacy_terminal]){let h=l.get(g.holder_id.trim().toLowerCase()),b=g.kind.trim().toLowerCase();h&&!h.dependencies.some(_=>_.id.trim().toLowerCase()===g.target_id.trim().toLowerCase()&&_.kind===b)&&h.dependencies.push({id:g.target_id,kind:b})}if(!l.has(e.trim().toLowerCase()))throw new E(`Item ${e} not found`,w.NOT_FOUND);let p=o.outputFormat??(o.json===!0||o.json===void 0&&o.defaultOutputFormat==="json"?"json":"toon");if(r==="context"){let g=l.get(e.trim().toLowerCase()).id,h=d?[]:await kn(n,g,c,u.type_to_folder),b=v=>D(v,a),_=x(),C=et().lookup(n,Qe(f,b,_),()=>ae(f,b,_));return S(await Cn({pmRoot:n,assembly:C.assembly,canonicalId:g,options:t,rootEvidence:h,summaryOnly:d,rendering:{format:p,global:o,commandOptions:t,legacyAliasCounts:C.assembly.legacyAliasCounts}}),d,C.assembly.legacyAliasCounts)}let y=Object.fromEntries(Object.entries(ae(f,g=>D(g,a)).legacyAliasCounts));return d?S({id:e,format:r,...it(e,l,i)},!0,y):S(xn(e,r,t,l,i,s,{format:p,global:o,commandOptions:t,legacyAliasCounts:y}),!1,y)}export{oe as a,pt as b,P as c,X as d,Ge as e,mt as f,gt as g,ht as h,kt as i,Xn as j,qn as k,St as l,x as m,Un as n,Y as o,jn as p,Rt as q,zn as r,K as s,Ot as t,Bt as u,ce as v,Nt as w,to as x,ae as y,io as z,$t as A,so as B,Ve as C,Ut as D,Qe as E,ue as F,et as G,fo as H,j as I,tt as J,B as K,ot as L,an as M,ln as N,Uo as O};
2
+ //# sourceMappingURL=chunk-E2S42XCT.js.map
@@ -0,0 +1,2 @@
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();
2
+ //# sourceMappingURL=chunk-GHQVM6K6.js.map
@@ -0,0 +1,2 @@
1
+ import{e as S,f as _}from"./chunk-VE6MTRH5.js";import{a as I,g as T,i as F}from"./chunk-IAGFXKMZ.js";import{D as k,s as D,u as N,v as x}from"./chunk-P5D7MHDS.js";import{ia as E}from"./chunk-JMZPZQHR.js";import{y as h,z as v}from"./chunk-3LWH2RJC.js";import{Option as Ie}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]="201134b5-01e8-55ae-a099-137b9b6fae92")}catch{}})();function m(e,t,r){if(typeof r!="string")return;let i=r.trim();i.length!==0&&e.push(t,i)}function f(e,t,r){r===!0&&e.push(t)}function g(e,t,r){if(Array.isArray(r))for(let i of r){if(typeof i!="string")continue;let s=i.trim();s.length!==0&&e.push(t,s)}}function Y(e,t){let r=["test",e,"--run","--json","--progress"];return g(r,"--add",t.add),g(r,"--add-json",t.addJson),g(r,"--remove",t.remove),g(r,"--remove-index",Array.isArray(t.removeIndex)?t.removeIndex.map(i=>typeof i=="number"?String(i):i):t.removeIndex),m(r,"--match",t.match),m(r,"--only-index",typeof t.onlyIndex=="number"?String(t.onlyIndex):t.onlyIndex),f(r,"--only-last",t.onlyLast),g(r,"--measure",t.measure),m(r,"--metric-below",t.metricBelow),m(r,"--metric-diff",t.metricDiff),J(r,t),m(r,"--author",t.author),m(r,"--message",t.message),f(r,"--force",t.force),r}function J(e,t){m(e,"--timeout",t.timeout),g(e,"--env-set",t.envSet),g(e,"--env-clear",t.envClear),f(e,"--shared-host-safe",t.sharedHostSafe),m(e,"--pm-context",t.pmContext),f(e,"--override-linked-pm-context",t.overrideLinkedPmContext),m(e,"--workspace-context",t.workspaceContext),f(e,"--override-linked-workspace-context",t.overrideLinkedWorkspaceContext),f(e,"--allow-untrusted-linked-tests",t.allowUntrustedLinkedTests),f(e,"--fail-on-context-mismatch",t.failOnContextMismatch),f(e,"--fail-on-skipped",t.failOnSkipped),f(e,"--fail-on-empty-test-run",t.failOnEmptyTestRun),f(e,"--require-assertions-for-pm",t.requireAssertionsForPm),f(e,"--check-context",t.checkContext),f(e,"--auto-pm-context",t.autoPmContext)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f71d68b8-a4cd-5fda-83a0-0528ac44aed0")}catch{}})();function W(e,t){let r=[],i=new Set;for(let s of t.keys){if(!Object.hasOwn(e,s))continue;let l=e[s];if(l!=null){if(typeof l=="string"){r.push(l);continue}if(!Array.isArray(l)||!l.every(o=>typeof o=="string"))return;i.has(l)||(i.add(l),r.push(...l))}}return r.length>0?r.join("; "):void 0}function O(e,t){return e.find(r=>r.target===t)??{target:t,keys:[t]}}function n(e,t){return e[t]===!0?!0:void 0}function y(e,t){return e[t]===!1?!0:void 0}function B(e,t){return t.some(r=>e[r]===!0)?!0:void 0}function P(e,t){for(let[r,i]of Object.entries(t))r==="__proto__"||r==="constructor"||r==="prototype"||Object.hasOwn(e,r)||(e[r]=i)}function L(e){let t=s=>T(e,O(S,s)),r=s=>F(e,O(_,s)),i={title:t("title"),description:t("description"),body:t("body"),status:t("status"),closeReason:t("closeReason"),priority:t("priority"),type:t("type"),tags:t("tags"),addTags:r("addTags"),removeTags:r("removeTags"),deadline:t("deadline"),estimatedMinutes:t("estimatedMinutes"),acceptanceCriteria:W(e,O(_,"acceptanceCriteria")),addAc:r("addAc"),removeAc:r("removeAc"),definitionOfReady:t("definitionOfReady"),order:t("order"),rank:t("rank"),goal:t("goal"),objective:t("objective"),value:t("value"),impact:t("impact"),outcome:t("outcome"),whyNow:t("whyNow"),author:t("author"),message:t("message"),force:!!e.force,ownershipMetadataBypass:e.ownershipMetadataBypass===!0?!0:void 0,ownershipDependencyBypass:e.ownershipDependencyBypass===!0?!0:void 0,assignee:t("assignee"),parent:t("parent"),allowUnresolvedDeps:B(e,["allowUnresolvedDeps","allow_unresolved_deps"])===!0,reviewer:t("reviewer"),risk:t("risk"),confidence:t("confidence"),sprint:t("sprint"),release:t("release"),blockedBy:t("blockedBy"),blockedReason:t("blockedReason"),unblockNote:t("unblockNote"),reporter:t("reporter"),severity:t("severity"),environment:t("environment"),reproSteps:t("reproSteps"),resolution:t("resolution"),expectedResult:t("expectedResult"),actualResult:t("actualResult"),affectedVersion:t("affectedVersion"),fixedVersion:t("fixedVersion"),component:t("component"),regression:e.regression===!0?"true":t("regression"),customerImpact:t("customerImpact"),dep:r("dep"),depRemove:r("depRemove"),replaceDeps:n(e,"replaceDeps"),replaceTests:n(e,"replaceTests"),replaceFiles:n(e,"replaceFiles"),replaceDocs:n(e,"replaceDocs"),comment:r("comment"),note:r("note"),learning:r("learning"),file:r("file"),test:r("test"),doc:r("doc"),reminder:r("reminder"),event:r("event"),typeOption:r("typeOption"),field:r("field"),unset:r("unset"),clearDeps:n(e,"clearDeps"),clearComments:n(e,"clearComments"),clearNotes:n(e,"clearNotes"),clearLearnings:n(e,"clearLearnings"),clearFiles:n(e,"clearFiles"),clearTests:n(e,"clearTests"),clearDocs:n(e,"clearDocs"),clearReminders:n(e,"clearReminders"),clearEvents:n(e,"clearEvents"),clearTypeOptions:n(e,"clearTypeOptions")};return P(i,e),i}function d(e,t){let r=O(I,t),i=T(e,r);if(i!==void 0)return i;for(let s of r.keys){let l=e[s];if(Array.isArray(l)){let o=l.filter(u=>typeof u=="string");if(o.length>0)return o.join(",")}if(t==="ids"&&typeof l=="string")return l;if(typeof l=="number"&&Number.isFinite(l))return String(l)}}function $(e){let t=n(e,"filterFilesMissing"),r=n(e,"filterDocsMissing");return{filterReviewerMissing:n(e,"filterReviewerMissing"),filterRiskMissing:n(e,"filterRiskMissing"),filterConfidenceMissing:n(e,"filterConfidenceMissing"),filterSprintMissing:n(e,"filterSprintMissing"),filterReleaseMissing:n(e,"filterReleaseMissing"),hasNotes:n(e,"hasNotes"),hasLearnings:n(e,"hasLearnings"),hasFiles:n(e,"hasFiles"),hasDocs:n(e,"hasDocs"),hasTests:n(e,"hasTests"),hasComments:n(e,"hasComments"),hasDeps:n(e,"hasDeps"),hasBody:n(e,"hasBody"),hasLinkedCommand:n(e,"hasLinkedCommand"),noNotes:y(e,"notes"),noLearnings:y(e,"learnings"),noFiles:y(e,"files")??t,filterFilesMissing:t,noDocs:y(e,"docs")??r,filterDocsMissing:r,noTests:y(e,"tests"),noComments:y(e,"comments"),noDeps:y(e,"deps"),emptyBody:n(e,"emptyBody"),noLinkedCommand:y(e,"linkedCommand")}}function j(e){let t={status:d(e,"status"),type:d(e,"type"),tag:d(e,"tag"),priority:d(e,"priority"),deadlineBefore:d(e,"deadlineBefore"),deadlineAfter:d(e,"deadlineAfter"),updatedAfter:d(e,"updatedAfter"),updatedBefore:d(e,"updatedBefore"),createdAfter:d(e,"createdAfter"),createdBefore:d(e,"createdBefore"),today:n(e,"today"),recent:n(e,"recent"),ids:d(e,"ids"),assignee:d(e,"assignee"),assigneeFilter:d(e,"assigneeFilter"),parent:d(e,"parent"),sprint:d(e,"sprint"),release:d(e,"release"),limit:d(e,"limit"),offset:d(e,"offset"),noTruncate:y(e,"truncate"),includeBody:n(e,"includeBody"),strictRead:n(e,"strictRead"),compact:n(e,"compact"),brief:n(e,"brief"),full:n(e,"full"),fields:d(e,"fields"),sort:d(e,"sort"),order:d(e,"order"),tree:n(e,"tree"),treeDepth:d(e,"treeDepth"),filterAcMissing:n(e,"filterAcMissing"),filterEstimatesMissing:B(e,["filterEstimatesMissing","filterEstimateMissing"]),filterResolutionMissing:n(e,"filterResolutionMissing"),filterMetadataMissing:n(e,"filterMetadataMissing"),...$(e)};return P(t,e),t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9e3f7593-561d-563f-bd60-8c5a320fe425")}catch{}})();var K=Symbol("pm.mcp-mutation-transport"),X=new Set(["activity","aggregate","context","contracts","deps","files-discover","files-lookup","get","graph","health","history","history-attest","list","next","search","stats","telemetry","validate"]);function C(e){return K in e}function b(e,t){return C(e)?D(t):N(e,t)}function qe(e,t,r=[]){let i=N(e,{...e,...t});for(let s of r)Reflect.deleteProperty(i,s);return i}function a(e,t){let r=e[t];return typeof r=="string"&&r.trim().length>0?r:void 0}function c(e,t){let r=e[t];return typeof r=="string"?r.trim().length>0?r:void 0:typeof r=="number"&&Number.isFinite(r)?String(r):void 0}function Ye(e,t){let r=e[t];return typeof r=="string"?r:typeof r=="number"&&Number.isFinite(r)?String(r):void 0}function A(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Je(e,t){if(typeof e=="number"){if(!Number.isInteger(e))throw new v(`${t} must be a finite integer.`,h.USAGE);return e}if(typeof e=="string"&&e.trim().length>0){let r=Number(e);if(!Number.isInteger(r))throw new v(`${t} must be a finite integer.`,h.USAGE);return r}}function We(e,t){return typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:typeof t.limit=="number"&&Number.isFinite(t.limit)?t.limit:a(e,"limit")??a(t,"limit")}function $e(e){let t=a(e,"outputFormat");return{json:!0,quiet:!0,author:a(e,"author"),path:a(e,"path"),noExtensions:e.noExtensions===!0||e.no_extensions===!0,noPager:!0,outputInclude:a(e,"outputInclude"),outputLimit:c(e,"outputLimit"),outputBudget:c(e,"outputBudget"),outputSession:a(e,"outputSession"),outputCursor:a(e,"outputCursor"),outputFormat:t==="json"||t==="toon"?t:void 0}}var Q=new Set(["tags","blockedBy","blocked_by","skills","fields"]),z=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"]),Z=new Set([...z].filter(e=>e!=="file")),ee=new Set(["files","files-discover","docs","test","test-all"]),G=new Set(["comments","notes","learnings"]);function te(e,t){if(!(!G.has(e)||!Object.prototype.hasOwnProperty.call(t,"file")))throw new v(`MCP ${e} does not accept options.file. Pass annotation text in options.add instead.`,h.USAGE,{code:"mcp_annotation_file_unavailable",required:"Pass annotation text as JSON data; MCP annotation actions cannot read server-local files."})}var re=new Set(["claim","release","start-task","pause-task","close-task"]),ie={"history-attest":["verify","output","hashAlgorithm"],list:["status","type","tag","priority","limit","offset"],search:["mode","status","type","tag","priority","limit"],create:["title","type","status","description","body","priority","tags","parent","createMode","create_mode","allowMissingParent","allowDuplicate"],update:["parent","allowMissingParent","completedAt"],copy:["allowDuplicate"],close:["duplicateOf","completedAt","releaseAssignment"],claim:["start","next","ifAvailable"],release:["pause","handoff"],comments:["ifAbsent"],notes:["ifAbsent"],learnings:["ifAbsent"],extension:["dryRun","offline"],package:["dryRun","offline"],install:["dryRun"],upgrade:["scope","dryRun","cliOnly","packagesOnly","repair","tag","packageName"],append:["body"]},ne=["outputInclude","outputLimit","outputBudget","outputFormat","outputSession","outputCursor"];function V(e,t=""){let r={},i=ee.has(t),s=t==="files"||t==="files-discover"||t==="docs",l=G.has(t)?Z:z;for(let[o,u]of Object.entries(e)){if(Array.isArray(u)&&Q.has(o)){r[o]=u.join(",");continue}if(o==="note"&&s){r[o]=u;continue}if(typeof u=="string"&&l.has(o)){r[o]=[u];continue}if(typeof u=="string"&&i&&(o==="add"||o==="remove")){r[o]=[u];continue}r[o]=u}return Object.assign(r,Object.fromEntries(Object.getOwnPropertySymbols(e).map(o=>[o,Reflect.get(e,o)]))),r}function ae(e,t,r){let i=a(e,"author");return i!==void 0?i:r!==void 0&&re.has(r)?a(e,"assignee")??a(t,"assignee"):void 0}function se(e,t){return t!==void 0&&e.author===void 0?{...e,author:t}:e}function Ke(e,t){let r=A(e.options)?e.options:void 0,i=E(e.options),s={},l=p=>{i[p]!==void 0||e[p]===void 0||(s[p]=e[p])};for(let p of ie[t??""]??[])l(p);for(let p of ne)l(p);t!==void 0&&C(e)&&te(t,i);let o=V({...s,...i},t);if(t==="history-attest"&&C(e)&&(o.output!==void 0||typeof o.verify=="string"))throw new v("MCP history attest does not accept server-local proof paths. Export the returned JSON bundle and pass that JSON object as verify.",h.USAGE);let u=C(e)?e:r??e;return b(u,se(o,ae(e,o,t)))}function Xe(e){if(e.addNote===void 0)return e;let t={...e};return t.note===void 0&&typeof t.addNote=="string"&&(t.note=t.addNote),delete t.addNote,t}function Qe(e){let t={...e};return t.discoveryNote!==void 0&&t.note===void 0&&typeof t.discoveryNote=="string"&&(t.note=t.discoveryNote),delete t.discover,delete t.discoveryNote,t}function oe(e){let t=[],r=!0;for(let i of e.trim().toLowerCase()){if(i>="a"&&i<="z"||i>="0"&&i<="9"){t.push(i),r=!1;continue}r||(t.push("-"),r=!0)}return t.at(-1)==="-"&&t.pop(),t.join("")}function Ze(e){return!X.has(oe(e))}function et(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean).join(" ")}function le(e){return Array.isArray(e)?e.map(t=>String(t)).filter(t=>t.length>0):[]}function tt(e,t){let r=new Set(["action","args","author","cwd","fullChangedFields","id","options","path","query","reason","target"]),i={};for(let[l,o]of Object.entries(e))r.has(l)||(i[l]=o);let s={...i,...t};return delete s.args,delete s.author,s}function rt(e,t){let r=b(t??{},{...t});return{changedFields:e.fullChangedFields===!0?"full":"compact",idOnly:e.idOnly===!0,runnerOptions:r}}function M(e){return{type:c(e,"filterType"),tag:c(e,"filterTag"),priority:c(e,"filterPriority"),deadlineBefore:c(e,"filterDeadlineBefore"),deadlineAfter:c(e,"filterDeadlineAfter"),updatedAfter:c(e,"filterUpdatedAfter"),updatedBefore:c(e,"filterUpdatedBefore"),createdAfter:c(e,"filterCreatedAfter"),createdBefore:c(e,"filterCreatedBefore"),ids:k(e.ids),assignee:c(e,"filterAssignee"),assigneeFilter:c(e,"filterAssigneeFilter")??c(e,"filterAssignee_filter"),parent:c(e,"filterParent"),sprint:c(e,"filterSprint"),release:c(e,"filterRelease"),limit:c(e,"limit"),offset:c(e,"offset")}}function w(e){if(typeof e=="string"&&e.trim().length>0)return e;if(Array.isArray(e))return le(e)}function R(e){if(typeof e=="number"&&Number.isFinite(e)||typeof e=="string"&&e.trim().length>0)return e}function it(e){let t=w(e.kind),r=w(e.exemptIsolate),i=w(e.exemptIsolateType);return{...t===void 0?{}:{kind:t},maxDepth:R(e.maxDepth),limit:R(e.limit),after:a(e,"after"),direction:a(e,"direction"),maxPaths:R(e.maxPaths),sample:R(e.sample),...r===void 0?{}:{exemptIsolate:r},...i===void 0?{}:{exemptIsolateType:i},saveBaseline:e.saveBaseline===!0,rebuild:e.rebuild===!0,clear:e.clear===!0,summary:e.summary===!0,...e.full===!0?{full:!0}:{}}}function H(e){let t=j(e);return e.ids!==void 0&&(t.ids=k(e.ids)),t}function nt(e){return{status:a(e,"filterStatus"),list:A(e.list)?H(e.list):M(e),reason:a(e,"reason"),resolution:a(e,"resolution"),expectedResult:a(e,"expectedResult")??a(e,"expected_result")??a(e,"expected"),actualResult:a(e,"actualResult")??a(e,"actual_result")??a(e,"actual"),validateClose:a(e,"validateClose")??a(e,"validate_close"),author:a(e,"author"),message:a(e,"message"),force:e.force===!0?!0:void 0,dryRun:e.dryRun===!0||e.dry_run===!0?!0:void 0,rollback:a(e,"rollback"),checkpoint:e.checkpoint===!1||e.noCheckpoint===!0||e.no_checkpoint===!0?!1:void 0}}var de=new Set(["filterStatus","filterType","filterTag","filterPriority","filterDeadlineBefore","filterDeadlineAfter","filterUpdatedAfter","filterUpdatedBefore","filterCreatedAfter","filterCreatedBefore","filterAssignee","filterAssigneeFilter","filterAssignee_filter","filterParent","filterSprint","filterRelease","ids","list","update","limit","offset","dryRun","dry_run","rollback","checkpoint","noCheckpoint","no_checkpoint"]);function U(e){let t={};for(let[r,i]of Object.entries(e))de.has(r)||(t[r]=i);return q(t)}function q(e){let t=V(e,"update-many");for(let r of S)for(let i of r.keys){let s=t[i];typeof s=="number"&&Number.isFinite(s)&&(t[i]=String(s))}return L(t)}function at(e){if(A(e.list)||A(e.update)){let t=A(e.update)?e.update:U(e),r=b(e,q(t));return{status:c(e,"filterStatus"),list:A(e.list)?H(e.list):M(e),update:x(t,r),dryRun:e.dryRun===!0||e.dry_run===!0?!0:void 0,rollback:a(e,"rollback"),checkpoint:e.checkpoint===!1||e.noCheckpoint===!0||e.no_checkpoint===!0?!1:void 0}}return{status:c(e,"filterStatus"),list:M(e),update:b(e,U(e)),dryRun:e.dryRun===!0||e.dry_run===!0?!0:void 0,rollback:a(e,"rollback"),checkpoint:e.checkpoint===!1||e.noCheckpoint===!0||e.no_checkpoint===!0?!1:void 0}}export{Y as a,C as b,qe as c,a as d,c as e,Ye as f,A as g,Je as h,We as i,$e as j,ie as k,V as l,Ke as m,Xe as n,Qe as o,oe as p,Ze as q,et as r,le as s,tt as t,rt as u,M as v,it as w,nt as x,q as y,at as z};
2
+ //# sourceMappingURL=chunk-GRSQGMRR.js.map
@@ -1,6 +1,6 @@
1
- import{c as k}from"./chunk-KKRFSI2N.js";import{a,d as w}from"./chunk-E4II2D2B.js";import{Y as A,j as g,k as _,l as b}from"./chunk-AS3MOBO3.js";import{B as y,l as S,y as f,z as u}from"./chunk-HUZAXSIJ.js";import x from"node:fs/promises";import p 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]="74b72dd8-0877-55a4-9c80-d043f19e1f96")}catch{}})();var M=["extensions","docs","examples","assets","prompts"],P=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 U(e){return M.includes(e)}function R(e,t){if(t==null)return[];let n=Array.isArray(t)?t:[t],r=[];for(let o of n){if(typeof o!="string"||o.trim().length===0)throw new u(`Package manifest field pm.${e} must contain string paths.`,f.USAGE);r.push(o.trim())}return[...new Set(r)].sort((o,i)=>o.localeCompare(i))}function q(e){if(e==null)return{};if(typeof e!="object"||Array.isArray(e))throw new u("Package manifest field pm must be an object.",f.USAGE);let t={},n=e;for(let[r,o]of Object.entries(n)){if(!U(r))continue;let i=R(r,o);i.length>0&&(t[r]=i)}return t}function d(e,t){let n=e[t];return typeof n=="string"&&n.trim().length>0?n.trim():void 0}function v(e){if(!Array.isArray(e))return;let t=e.map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0);return t.length>0?[...new Set(t)].sort((n,r)=>n.localeCompare(r)):void 0}function T(e){if(typeof e=="string"&&e.trim().length>0)return e.trim();if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=e.url;return typeof t=="string"&&t.trim().length>0?t.trim():void 0}}function G(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n={docs:d(t,"docs"),npm:d(t,"npm"),repository:d(t,"repository"),report:d(t,"report")};return Object.values(n).some(r=>typeof r=="string")?n:void 0}function J(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n={image:d(t,"image"),video:d(t,"video")};return Object.values(n).some(r=>typeof r=="string")?n:void 0}function K(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n={display_name:d(t,"display_name")??d(t,"displayName"),category:d(t,"category"),summary:d(t,"summary"),links:G(t.links),media:J(t.media),tags:v(t.tags)};return Object.values(n).some(r=>r!==void 0)?n:void 0}async function V(e){let t=p.join(e,"package.json");if(!await y(t))return{source:"convention",resources:{}};let n;try{n=JSON.parse(await x.readFile(t,"utf8"))}catch(l){throw new u(`Failed to parse package manifest at "${t}": ${String(l)}`,f.USAGE)}if(typeof n!="object"||n===null||Array.isArray(n))throw new u(`Package manifest at "${t}" must be a JSON object.`,f.USAGE);let r=n,o=r.pm,i=o!=null,s=typeof o=="object"&&o!==null&&!Array.isArray(o)?o:{};return{source:i?"pm":"convention",package_json_path:t,package_name:typeof r.name=="string"?r.name:void 0,package_version:typeof r.version=="string"?r.version:void 0,package_private:r.private===!0,package_description:typeof r.description=="string"?r.description:void 0,package_keywords:v(r.keywords),package_homepage:typeof r.homepage=="string"?r.homepage:void 0,package_repository_url:T(r.repository),package_bugs_url:T(r.bugs),aliases:v(s.aliases),resources:q(o),catalog:K(s.catalog)}}async function I(e){if(!await y(e))return[];let t=await x.readdir(e,{withFileTypes:!0}),n=[];for(let r of t){if(!r.isDirectory())continue;let o=p.join(e,r.name);await y(p.join(o,"manifest.json"))&&n.push(o)}return n.sort((r,o)=>r.localeCompare(o))}async function ge(e){if(await y(p.join(e,"manifest.json")))return[e];let t=(await V(e)).resources.extensions??[],n=new Set;for(let r of t){if(r.includes("*")||r.startsWith("!"))throw new u(`Package extension entry "${r}" uses a glob/exclusion pattern. pm package installs currently require concrete extension paths or directories.`,f.USAGE);let o=p.resolve(e,r);if(!A(e,o))throw new u(`Package extension entry "${r}" resolves outside package root.`,f.USAGE);if(await y(p.join(o,"manifest.json"))){n.add(o);continue}for(let i of await I(o))n.add(i)}if(t.length===0)for(let r of P.extensions)for(let o of await I(p.join(e,r)))n.add(o);return[...n].sort((r,o)=>r.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]="3984f1ef-1703-5a83-a4fa-ec1cdc738572")}catch{}})();var j=[["commands","Commands"],["command_overrides","Command overrides"],["flag_commands","Flag commands"],["item_types","Item types"],["item_fields","Item fields"],["migrations","Migrations"],["profiles","Profiles"],["importers","Importers"],["exporters","Exporters"],["search_providers","Search providers"],["vector_store_adapters","Vector store adapters"],["assurance_providers","Assurance measurement providers"],["hooks","Lifecycle hooks"],["parser_overrides","Parser overrides"],["service_overrides","Service overrides"],["renderer_overrides","Renderer overrides"]];function E(e){return"#".repeat(e)}function C(e){if(!e.includes("`"))return`\`${e}\``;let t=0,n=0;for(let i of e)n=i==="`"?n+1:0,t=Math.max(t,n);let r="`".repeat(t+1),o=e.startsWith("`")||e.endsWith("`")?" ":"";return`${r}${o}${e}${o}${r}`}function Y(e){return e.length===0?"Capabilities: _none registered_":`Capabilities: ${e.map(C).join(", ")}`}function B(e,t,n){let r=[`${E(t)} ${e}`,""];return n.length===0?(r.push("_None._",""),r):(r.push(...n.map(o=>`- ${C(o)}`),""),r)}function W(e,t,n){return e===0&&!n?[]:[`${E(t)} Preflight overrides`,"",e>0?`- ${e} registered (this surface carries no per-entry identifier)`:"_None._",""]}function _e(e,t={}){let n=t.headingLevel??2;if(!Number.isInteger(n)||n<1||n>6)throw new RangeError(`headingLevel must be an integer in [1, 6], received ${String(t.headingLevel)}`);let r=Math.min(n+1,6),o=t.includeEmpty===!0,i=t.title??"Extension surfaces",s=[`${E(n)} ${i}`,""];(o||e.capabilities.length>0)&&s.push(Y(e.capabilities),"");for(let[l,c]of j){let m=e[l]??[];m.length===0&&!o||s.push(...B(c,r,m))}return s.push(...W(e.preflight_overrides,r,o)),!(e.preflight_overrides>0||j.some(([l])=>(e[l]?.length??0)>0))&&!o&&s.push("_This extension registers no surfaces._",""),`${s.join(`
1
+ import{c as k}from"./chunk-CUWNNU4N.js";import{a,d as w}from"./chunk-KVYUQS6Y.js";import{Y as A,j as g,k as _,l as b}from"./chunk-JMZPZQHR.js";import{B as y,l as S,y as f,z as u}from"./chunk-3LWH2RJC.js";import x from"node:fs/promises";import p 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]="74b72dd8-0877-55a4-9c80-d043f19e1f96")}catch{}})();var M=["extensions","docs","examples","assets","prompts"],P=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 U(e){return M.includes(e)}function R(e,t){if(t==null)return[];let n=Array.isArray(t)?t:[t],r=[];for(let o of n){if(typeof o!="string"||o.trim().length===0)throw new u(`Package manifest field pm.${e} must contain string paths.`,f.USAGE);r.push(o.trim())}return[...new Set(r)].sort((o,i)=>o.localeCompare(i))}function q(e){if(e==null)return{};if(typeof e!="object"||Array.isArray(e))throw new u("Package manifest field pm must be an object.",f.USAGE);let t={},n=e;for(let[r,o]of Object.entries(n)){if(!U(r))continue;let i=R(r,o);i.length>0&&(t[r]=i)}return t}function d(e,t){let n=e[t];return typeof n=="string"&&n.trim().length>0?n.trim():void 0}function v(e){if(!Array.isArray(e))return;let t=e.map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0);return t.length>0?[...new Set(t)].sort((n,r)=>n.localeCompare(r)):void 0}function T(e){if(typeof e=="string"&&e.trim().length>0)return e.trim();if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=e.url;return typeof t=="string"&&t.trim().length>0?t.trim():void 0}}function G(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n={docs:d(t,"docs"),npm:d(t,"npm"),repository:d(t,"repository"),report:d(t,"report")};return Object.values(n).some(r=>typeof r=="string")?n:void 0}function J(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n={image:d(t,"image"),video:d(t,"video")};return Object.values(n).some(r=>typeof r=="string")?n:void 0}function K(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n={display_name:d(t,"display_name")??d(t,"displayName"),category:d(t,"category"),summary:d(t,"summary"),links:G(t.links),media:J(t.media),tags:v(t.tags)};return Object.values(n).some(r=>r!==void 0)?n:void 0}async function V(e){let t=p.join(e,"package.json");if(!await y(t))return{source:"convention",resources:{}};let n;try{n=JSON.parse(await x.readFile(t,"utf8"))}catch(l){throw new u(`Failed to parse package manifest at "${t}": ${String(l)}`,f.USAGE)}if(typeof n!="object"||n===null||Array.isArray(n))throw new u(`Package manifest at "${t}" must be a JSON object.`,f.USAGE);let r=n,o=r.pm,i=o!=null,s=typeof o=="object"&&o!==null&&!Array.isArray(o)?o:{};return{source:i?"pm":"convention",package_json_path:t,package_name:typeof r.name=="string"?r.name:void 0,package_version:typeof r.version=="string"?r.version:void 0,package_private:r.private===!0,package_description:typeof r.description=="string"?r.description:void 0,package_keywords:v(r.keywords),package_homepage:typeof r.homepage=="string"?r.homepage:void 0,package_repository_url:T(r.repository),package_bugs_url:T(r.bugs),aliases:v(s.aliases),resources:q(o),catalog:K(s.catalog)}}async function I(e){if(!await y(e))return[];let t=await x.readdir(e,{withFileTypes:!0}),n=[];for(let r of t){if(!r.isDirectory())continue;let o=p.join(e,r.name);await y(p.join(o,"manifest.json"))&&n.push(o)}return n.sort((r,o)=>r.localeCompare(o))}async function ge(e){if(await y(p.join(e,"manifest.json")))return[e];let t=(await V(e)).resources.extensions??[],n=new Set;for(let r of t){if(r.includes("*")||r.startsWith("!"))throw new u(`Package extension entry "${r}" uses a glob/exclusion pattern. pm package installs currently require concrete extension paths or directories.`,f.USAGE);let o=p.resolve(e,r);if(!A(e,o))throw new u(`Package extension entry "${r}" resolves outside package root.`,f.USAGE);if(await y(p.join(o,"manifest.json"))){n.add(o);continue}for(let i of await I(o))n.add(i)}if(t.length===0)for(let r of P.extensions)for(let o of await I(p.join(e,r)))n.add(o);return[...n].sort((r,o)=>r.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]="3984f1ef-1703-5a83-a4fa-ec1cdc738572")}catch{}})();var j=[["commands","Commands"],["command_overrides","Command overrides"],["flag_commands","Flag commands"],["item_types","Item types"],["item_fields","Item fields"],["migrations","Migrations"],["profiles","Profiles"],["importers","Importers"],["exporters","Exporters"],["search_providers","Search providers"],["vector_store_adapters","Vector store adapters"],["assurance_providers","Assurance measurement providers"],["hooks","Lifecycle hooks"],["parser_overrides","Parser overrides"],["service_overrides","Service overrides"],["renderer_overrides","Renderer overrides"]];function E(e){return"#".repeat(e)}function C(e){if(!e.includes("`"))return`\`${e}\``;let t=0,n=0;for(let i of e)n=i==="`"?n+1:0,t=Math.max(t,n);let r="`".repeat(t+1),o=e.startsWith("`")||e.endsWith("`")?" ":"";return`${r}${o}${e}${o}${r}`}function Y(e){return e.length===0?"Capabilities: _none registered_":`Capabilities: ${e.map(C).join(", ")}`}function B(e,t,n){let r=[`${E(t)} ${e}`,""];return n.length===0?(r.push("_None._",""),r):(r.push(...n.map(o=>`- ${C(o)}`),""),r)}function W(e,t,n){return e===0&&!n?[]:[`${E(t)} Preflight overrides`,"",e>0?`- ${e} registered (this surface carries no per-entry identifier)`:"_None._",""]}function _e(e,t={}){let n=t.headingLevel??2;if(!Number.isInteger(n)||n<1||n>6)throw new RangeError(`headingLevel must be an integer in [1, 6], received ${String(t.headingLevel)}`);let r=Math.min(n+1,6),o=t.includeEmpty===!0,i=t.title??"Extension surfaces",s=[`${E(n)} ${i}`,""];(o||e.capabilities.length>0)&&s.push(Y(e.capabilities),"");for(let[l,c]of j){let m=e[l]??[];m.length===0&&!o||s.push(...B(c,r,m))}return s.push(...W(e.preflight_overrides,r,o)),!(e.preflight_overrides>0||j.some(([l])=>(e[l]?.length??0)>0))&&!o&&s.push("_This extension registers no surfaces._",""),`${s.join(`
2
2
  `).trimEnd()}
3
3
  `}(function(){try{var e=typeof window<"u"?window:typeof 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{}})();var H=["agile","ops","research"],X={agile:[{name:"Story",description:"User-facing outcome or capability slice expressed from a stakeholder perspective.",defaultStatus:"open",folder:"stories",aliases:["user-story"]},{name:"Spike",description:"Time-boxed investigation used to reduce uncertainty before implementation.",defaultStatus:"open",folder:"spikes",aliases:["research-spike"]}],ops:[{name:"Incident",description:"Operational disruption, degradation, or support escalation with recovery tracking.",defaultStatus:"open",folder:"incidents",aliases:["outage"]},{name:"Runbook",description:"Repeatable operational procedure, diagnostic path, or response playbook.",defaultStatus:"open",folder:"runbooks",aliases:["playbook"]}],research:[{name:"Experiment",description:"Validated-learning activity with hypothesis, method, and outcome tracking.",defaultStatus:"open",folder:"experiments",aliases:["study"]},{name:"Hypothesis",description:"Testable claim or assumption that should be supported, rejected, or refined.",defaultStatus:"open",folder:"hypotheses",aliases:["assumption"]}]};function Ee(e){if(e===void 0)return;let t=e.trim().toLowerCase().replaceAll("-","_");if(t.length===0)throw new Error("Type preset name must not be empty.");if(t==="agile"||t==="ops"||t==="research")return t;throw new Error(`Invalid type preset "${e}". Allowed: ${H.join(", ")}.`)}function Se(e){return X[e].map(t=>k(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="68be16cc-4cb4-5df6-90f0-897d4fe82339")}catch{}})();var Q=new Set(_),Z=new Set(b),D=new Set([...S.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"]),ee=["create","update"];function O(e){if(typeof e!="string")return"";let t=e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-");return t.startsWith("--")?t.slice(2):t}function $(e){return e.replaceAll("_","-")}function te(e,t){let n=new Set;for(let r of e){let o=O(r);o.length>0&&o!==t&&n.add(o)}return[...n].sort((r,o)=>r.localeCompare(o))}function re(e){let t=new Set;for(let n of e??[]){let r=n.trim();r.length>0&&t.add(r)}return[...t].sort((n,r)=>n.localeCompare(r))}function ne(e){let t=new Set,n=[];for(let r of e??[]){let o=r.trim().toLowerCase();if(o.length!==0){if(!Z.has(o))throw new Error(`Invalid field command "${r}". Allowed: ${b.join(", ")}.`);t.has(o)||(t.add(o),n.push(o))}}return e===void 0||n.length===0?[...ee]:n}function xe(e){let t=a(e.key);if(t.length===0)throw new Error("Field key must not be empty.");if(D.has(t))throw new Error(`Cannot define custom field "${t}": custom schema field "${t}" collides with built-in item metadata "${t}". Rename the custom field with a project-specific prefix. Reserved fields: ${[...D].sort((L,z)=>L.localeCompare(z)).join(", ")}.`);let n=typeof e.type=="string"&&e.type.trim().length>0?e.type.trim().toLowerCase():"string";if(!Q.has(n))throw new Error(`Invalid field type "${e.type}". Allowed: ${_.join(", ")}.`);let r=n,o=ne(e.commands),i=O(e.cliFlag),s=i.length>0&&i!==$(t)?i:void 0,l=s??$(t),c=te(e.aliases??[],l),m=e.description?.trim();return{key:t,type:r,commands:o,description:m&&m.length>0?m:void 0,cliFlag:s,cliAliases:c,required:e.required===!0,requiredOnCreate:e.requiredOnCreate===!0,allowUnset:e.allowUnset!==!1,requiredTypes:re(e.requiredTypes)}}function oe(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 ie(e){let t=oe(e);if(!t)return[];let n=[];for(let r of t){if(typeof r!="object"||r===null||Array.isArray(r))continue;let o=r;typeof o.key!="string"||o.key.trim().length===0||n.push(o)}return n}function je(e){if(e==null||e.trim().length===0)return{fields:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/fields.json contains invalid JSON.")}return{fields:ie(t)}}function Ce(e){return`${JSON.stringify({fields:e.fields},null,2)}
4
4
  `}function De(e,t){let n=e.fields.find(s=>a(s.key)===t.key),r=n!==void 0,o=e.fields.filter(s=>a(s.key)!==t.key),i={...n,key:t.key,type:t.type,commands:[...t.commands]};return F(i,"description",t.description),F(i,"cli_flag",t.cliFlag),t.cliAliases.length>0?i.cli_aliases=[...t.cliAliases]:delete i.cli_aliases,N(i,"required",t.required),N(i,"required_on_create",t.requiredOnCreate),t.allowUnset===!1?i.allow_unset=!1:delete i.allow_unset,t.requiredTypes.length>0?i.required_types=[...t.requiredTypes]:delete i.required_types,o.push(i),o.sort((s,l)=>a(s.key).localeCompare(a(l.key))),{file:{fields:o},definition:i,replaced:r}}function $e(e,t){let n=a(t);if(n.length===0)throw new Error("Field key must not be empty.");let r=[],o=e.fields.filter(i=>a(i.key)===n?(r.push(i),!1):!0);return r.length===0?{file:{fields:o},removed:!1}:{file:{fields:o},removed:!0,definition:r[0]}}function F(e,t,n){let r=e;n!==void 0&&n.length>0?r[t]=n:delete r[t]}function N(e,t,n){let r=e;n?r[t]=!0:delete r[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]="b1e4c04e-0ade-5d24-95e3-b8dca3832c5a")}catch{}})();var se=new Set(g),h=new Set(w.map(e=>a(e.id)).filter(e=>e.length>0));function ae(e){let t=new Set;for(let n of e){let r=a(n);r.length>0&&t.add(r)}return[...t].sort((n,r)=>n.localeCompare(r))}function Me(e){let t=a(e.id);if(t.length===0)throw new Error("Status id must not be empty.");if(h.has(t))throw new Error(`Cannot add-status the built-in status "${t}". Built-in statuses are reserved: ${[...h].join(", ")}.`);let n;if(e.roles!==void 0){n=[];let s=new Set;for(let l of e.roles){let c=typeof l=="string"?l.trim().toLowerCase():"";if(c.length!==0){if(!se.has(c))throw new Error(`Invalid status role "${l}". Allowed roles: ${g.join(", ")}.`);s.has(c)||(s.add(c),n.push(c))}}if(n.length===0)throw new Error(`Status role must include at least one lifecycle role. Allowed roles: ${g.join(", ")}.`)}let r=e.aliases===void 0?void 0:ae(e.aliases).filter(s=>s!==t),o=e.description?.trim(),i=typeof e.order=="number"&&Number.isFinite(e.order)?Math.trunc(e.order):void 0;return{id:t,roles:n,aliases:r,description:o&&o.length>0?o:void 0,order:i}}function le(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 de(e){let t=le(e);if(!t)return[];let n=[];for(let r of t){if(typeof r!="object"||r===null||Array.isArray(r))continue;let o=r;typeof o.id!="string"||o.id.trim().length===0||n.push(o)}return n}function Pe(e){if(e==null||e.trim().length===0)return{statuses:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/statuses.json contains invalid JSON.")}return{statuses:de(t)}}function Ue(e){return`${JSON.stringify({statuses:e.statuses},null,2)}
5
5
  `}function Re(e,t,n){let r=e.statuses.slice(),o=r.findIndex(l=>a(l.id)===t.id),i=o>=0?r[o]:n,s={...i,id:t.id};return t.roles!==void 0&&(t.roles.length>0?s.roles=[...t.roles]:s.roles!==void 0&&delete s.roles),t.aliases!==void 0&&(t.aliases.length>0?s.aliases=[...t.aliases]:s.aliases!==void 0&&delete s.aliases),t.description!==void 0&&(s.description=t.description),t.order!==void 0&&(s.order=t.order),o>=0?r[o]=s:r.push(s),{file:{statuses:r},definition:s,replaced:i!==void 0}}function qe(e,t){let n=a(t);if(n.length===0)throw new Error("Status id must not be empty.");if(h.has(n))throw new Error(`Cannot remove built-in status "${n}". Built-in statuses are reserved: ${[...h].join(", ")}.`);let r=e.statuses.slice(),o=r.findIndex(s=>a(s.id)===n);if(o<0)return{file:{statuses:r},removed:!1};let[i]=r.splice(o,1);return{file:{statuses:r},removed:!0,definition:i}}function Ge(e,t){let n=[e.id,...e.aliases??[]];for(let r of n){let o=a(r);if(o.length===0)continue;let i=t.get(o);if(i!==void 0&&i!==e.id)throw new Error(`Status token "${o}" already belongs to status "${i}". Choose a different id/alias to avoid shadowing it.`)}}export{M as a,P as b,V as c,ge as d,H as e,X as f,Ee as g,Se as h,xe as i,je as j,Ce as k,De as l,$e as m,h as n,Me as o,Pe as p,Ue as q,Re as r,qe as s,Ge as t,_e as u};
6
- //# sourceMappingURL=chunk-NI6NS44Q.js.map
6
+ //# sourceMappingURL=chunk-HNCMYF2W.js.map