@unbrained/pm-cli 2026.7.19 → 2026.7.20

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 (600) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/AGENTS.md +2 -0
  3. package/CHANGELOG.md +36 -0
  4. package/dist/cli/commands/append.js +13 -6
  5. package/dist/cli/commands/append.js.map +1 -1
  6. package/dist/cli/commands/calendar.d.ts +1 -1
  7. package/dist/cli/commands/calendar.js +2 -2
  8. package/dist/cli/commands/calendar.js.map +1 -1
  9. package/dist/cli/commands/comments.js +2 -5
  10. package/dist/cli/commands/comments.js.map +1 -1
  11. package/dist/cli/commands/completion.js +11 -3
  12. package/dist/cli/commands/completion.js.map +1 -1
  13. package/dist/cli/commands/context.d.ts +1 -1
  14. package/dist/cli/commands/context.js +2 -2
  15. package/dist/cli/commands/context.js.map +1 -1
  16. package/dist/cli/commands/contracts.js +4 -3
  17. package/dist/cli/commands/contracts.js.map +1 -1
  18. package/dist/cli/commands/copy.js +5 -3
  19. package/dist/cli/commands/copy.js.map +1 -1
  20. package/dist/cli/commands/create.d.ts +3 -1
  21. package/dist/cli/commands/create.js +5 -3
  22. package/dist/cli/commands/create.js.map +1 -1
  23. package/dist/cli/commands/merge.d.ts +8 -0
  24. package/dist/cli/commands/merge.js +12 -0
  25. package/dist/cli/commands/merge.js.map +1 -0
  26. package/dist/cli/commands/plan.d.ts +1 -1
  27. package/dist/cli/commands/plan.js +2 -2
  28. package/dist/cli/commands/plan.js.map +1 -1
  29. package/dist/cli/commands/update-many.d.ts +5 -0
  30. package/dist/cli/commands/update-many.js +81 -6
  31. package/dist/cli/commands/update-many.js.map +1 -1
  32. package/dist/cli/commands/update.d.ts +5 -1
  33. package/dist/cli/commands/update.js +50 -4
  34. package/dist/cli/commands/update.js.map +1 -1
  35. package/dist/cli/register-list-query.js +14 -2
  36. package/dist/cli/register-list-query.js.map +1 -1
  37. package/dist/cli/register-mutation.js +61 -2
  38. package/dist/cli/register-mutation.js.map +1 -1
  39. package/dist/cli/register-operations.js +5 -3
  40. package/dist/cli/register-operations.js.map +1 -1
  41. package/dist/cli/registration-helpers.js +4 -2
  42. package/dist/cli/registration-helpers.js.map +1 -1
  43. package/dist/cli-bundle/bundle-manifest.json +365 -333
  44. package/dist/cli-bundle/chunks/{append-MBXHNWSX.js → append-E6V54WOQ.js} +5 -5
  45. package/dist/cli-bundle/chunks/append-NNJ3EFIT.js +11 -0
  46. package/dist/cli-bundle/chunks/{chunk-M4B4RK4J.js → chunk-2BO4CA46.js} +14 -238
  47. package/dist/cli-bundle/chunks/{chunk-M4B4RK4J.js.map → chunk-2BO4CA46.js.map} +1 -1
  48. package/dist/cli-bundle/chunks/{chunk-MQOSMBWV.js → chunk-3AO5VSDR.js} +25 -6
  49. package/dist/cli-bundle/chunks/chunk-3AO5VSDR.js.map +7 -0
  50. package/dist/cli-bundle/chunks/{chunk-ODEIDKGW.js → chunk-3LPFHE3P.js} +596 -154
  51. package/dist/cli-bundle/chunks/chunk-3LPFHE3P.js.map +1 -0
  52. package/dist/cli-bundle/chunks/{chunk-YGEA4CLH.js → chunk-3MCTMJXI.js} +4 -4
  53. package/dist/cli-bundle/chunks/{chunk-N7FCFJ76.js → chunk-3P7UJQOX.js} +2 -2
  54. package/dist/cli-bundle/chunks/{chunk-7B7IHMLH.js → chunk-3VY6MIEO.js} +3 -3
  55. package/dist/cli-bundle/chunks/{chunk-3EZZTFL2.js → chunk-4F6BWJ4J.js} +51 -43
  56. package/dist/cli-bundle/chunks/chunk-4F6BWJ4J.js.map +7 -0
  57. package/dist/cli-bundle/chunks/{chunk-VA3H7VVC.js → chunk-4L23AGQ7.js} +9 -7
  58. package/dist/cli-bundle/chunks/chunk-4L23AGQ7.js.map +1 -0
  59. package/dist/cli-bundle/chunks/{chunk-5S6IZXK7.js → chunk-4U4Z6AHI.js} +7 -7
  60. package/dist/cli-bundle/chunks/{chunk-UOIFZ66L.js → chunk-4XGJLADW.js} +3 -3
  61. package/dist/cli-bundle/chunks/{chunk-SUNZKVAH.js → chunk-5IZJWSDB.js} +5 -5
  62. package/dist/cli-bundle/chunks/{chunk-QQ77W23U.js → chunk-5NTE36LD.js} +4 -4
  63. package/dist/cli-bundle/chunks/{chunk-EVAN5VJA.js → chunk-5OK4UGFV.js} +5 -8
  64. package/dist/cli-bundle/chunks/{chunk-EVAN5VJA.js.map → chunk-5OK4UGFV.js.map} +2 -2
  65. package/dist/cli-bundle/chunks/{chunk-H3YKUVDR.js → chunk-5UX66S6U.js} +26 -7
  66. package/dist/cli-bundle/chunks/chunk-5UX66S6U.js.map +1 -0
  67. package/dist/cli-bundle/chunks/{chunk-KGPLSHJD.js → chunk-6C2ZZX5Z.js} +2 -2
  68. package/dist/cli-bundle/chunks/{chunk-Q5NHJ6RO.js → chunk-6JUTHVQS.js} +2 -2
  69. package/dist/cli-bundle/chunks/{chunk-NTS2RKHN.js → chunk-6VIJ7UA5.js} +15 -15
  70. package/dist/cli-bundle/chunks/{chunk-BBGR4FKQ.js → chunk-6XMUURSS.js} +6 -6
  71. package/dist/cli-bundle/chunks/chunk-6XMUURSS.js.map +1 -0
  72. package/dist/cli-bundle/chunks/{chunk-XVB6BATY.js → chunk-72LQ4TKV.js} +3 -3
  73. package/dist/cli-bundle/chunks/{chunk-WCBB6VI3.js → chunk-7AVEY74G.js} +8 -5
  74. package/dist/cli-bundle/chunks/chunk-7AVEY74G.js.map +7 -0
  75. package/dist/cli-bundle/chunks/{chunk-YG56M3NE.js → chunk-7DOJC3HS.js} +8 -8
  76. package/dist/cli-bundle/chunks/chunk-7DOJC3HS.js.map +1 -0
  77. package/dist/cli-bundle/chunks/{chunk-KZ5AC6B5.js → chunk-7WCE6Y64.js} +2 -2
  78. package/dist/cli-bundle/chunks/{chunk-VQOG2ETB.js → chunk-AF2CCM5U.js} +4 -4
  79. package/dist/cli-bundle/chunks/{chunk-P24ZU5QV.js → chunk-AOEOYL3S.js} +49 -12
  80. package/dist/cli-bundle/chunks/chunk-AOEOYL3S.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-BZKE2O5V.js → chunk-BKIAH72N.js} +8 -6
  82. package/dist/cli-bundle/chunks/chunk-BKIAH72N.js.map +1 -0
  83. package/dist/cli-bundle/chunks/{chunk-RWAIRGBC.js → chunk-C3KD7U3T.js} +12 -243
  84. package/dist/cli-bundle/chunks/chunk-C3KD7U3T.js.map +7 -0
  85. package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js +334 -0
  86. package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js.map +1 -0
  87. package/dist/cli-bundle/chunks/{chunk-TELI67UP.js → chunk-CQTQKUUV.js} +6 -9
  88. package/dist/cli-bundle/chunks/{chunk-TELI67UP.js.map → chunk-CQTQKUUV.js.map} +1 -1
  89. package/dist/cli-bundle/chunks/{chunk-ZUCBPXNA.js → chunk-D6NXDNP3.js} +5 -5
  90. package/dist/cli-bundle/chunks/chunk-D6NXDNP3.js.map +7 -0
  91. package/dist/cli-bundle/chunks/{chunk-EAV3P54W.js → chunk-DAQ45GCS.js} +5 -5
  92. package/dist/cli-bundle/chunks/{chunk-6V4T4RD3.js → chunk-DVDBQA3B.js} +79 -22
  93. package/dist/cli-bundle/chunks/chunk-DVDBQA3B.js.map +1 -0
  94. package/dist/cli-bundle/chunks/chunk-E6LEMURX.js +249 -0
  95. package/dist/cli-bundle/chunks/chunk-E6LEMURX.js.map +7 -0
  96. package/dist/cli-bundle/chunks/{chunk-ZF52NVRT.js → chunk-E7ICD63T.js} +131 -179
  97. package/dist/cli-bundle/chunks/chunk-E7ICD63T.js.map +7 -0
  98. package/dist/cli-bundle/chunks/{chunk-RX53WHFI.js → chunk-EJDGV4GR.js} +3 -3
  99. package/dist/cli-bundle/chunks/{chunk-IXG5CMBR.js → chunk-FDHPAVVB.js} +4 -4
  100. package/dist/cli-bundle/chunks/{chunk-KAE727L2.js → chunk-FSRHYUDA.js} +2 -2
  101. package/dist/cli-bundle/chunks/chunk-FSRHYUDA.js.map +7 -0
  102. package/dist/cli-bundle/chunks/{chunk-46Z6FAVP.js → chunk-G3COA6GS.js} +51 -43
  103. package/dist/cli-bundle/chunks/chunk-G3COA6GS.js.map +1 -0
  104. package/dist/cli-bundle/chunks/{chunk-A4FVWFZY.js → chunk-GFQP7HAZ.js} +8 -6
  105. package/dist/cli-bundle/chunks/chunk-GFQP7HAZ.js.map +7 -0
  106. package/dist/cli-bundle/chunks/{chunk-2XPDCXK5.js → chunk-GIQSU6S2.js} +6 -6
  107. package/dist/cli-bundle/chunks/chunk-GIQSU6S2.js.map +1 -0
  108. package/dist/cli-bundle/chunks/{chunk-V4QHAMI5.js → chunk-GROYI4RB.js} +3 -3
  109. package/dist/cli-bundle/chunks/{chunk-77XFQRTD.js → chunk-GSJSM5BJ.js} +3 -3
  110. package/dist/cli-bundle/chunks/{chunk-QYGK2XQ3.js → chunk-GTLCVJOE.js} +3 -3
  111. package/dist/cli-bundle/chunks/{chunk-VSQE43NO.js → chunk-GV2262OF.js} +4 -4
  112. package/dist/cli-bundle/chunks/{chunk-N2TEEOXJ.js → chunk-GVI6FAFG.js} +8 -6
  113. package/dist/cli-bundle/chunks/chunk-GVI6FAFG.js.map +7 -0
  114. package/dist/cli-bundle/chunks/{chunk-A5EQPNV7.js → chunk-GVT754PX.js} +44 -3
  115. package/dist/cli-bundle/chunks/chunk-GVT754PX.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-Y2VSGFT4.js → chunk-HB3P4M52.js} +22 -7
  117. package/dist/cli-bundle/chunks/chunk-HB3P4M52.js.map +1 -0
  118. package/dist/cli-bundle/chunks/{chunk-STBCBDKF.js → chunk-HCEBZNC3.js} +6 -6
  119. package/dist/cli-bundle/chunks/{chunk-EEECAV5M.js → chunk-HEWM6CEN.js} +80 -25
  120. package/dist/cli-bundle/chunks/chunk-HEWM6CEN.js.map +7 -0
  121. package/dist/cli-bundle/chunks/{chunk-GKCEEXMA.js → chunk-HQ3SB4CN.js} +21 -6
  122. package/dist/cli-bundle/chunks/{chunk-GKCEEXMA.js.map → chunk-HQ3SB4CN.js.map} +2 -2
  123. package/dist/cli-bundle/chunks/{chunk-U6RYD446.js → chunk-HRW7GF6T.js} +7 -7
  124. package/dist/cli-bundle/chunks/{chunk-D35WYXWC.js → chunk-HYW67VJ5.js} +6 -3
  125. package/dist/cli-bundle/chunks/chunk-HYW67VJ5.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-OKWJUL6F.js → chunk-I577UHC7.js} +16 -9
  127. package/dist/cli-bundle/chunks/{chunk-OKWJUL6F.js.map → chunk-I577UHC7.js.map} +2 -2
  128. package/dist/cli-bundle/chunks/{chunk-XDWXPG2E.js → chunk-IAQE32BI.js} +4 -4
  129. package/dist/cli-bundle/chunks/{chunk-66SRNEBK.js → chunk-IJNK6WW2.js} +3 -3
  130. package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js +623 -0
  131. package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-A3GAQLBH.js → chunk-IX677TRO.js} +75 -12
  133. package/dist/cli-bundle/chunks/chunk-IX677TRO.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-RLLOZAM2.js → chunk-IY6VZ3IW.js} +29 -8
  135. package/dist/cli-bundle/chunks/chunk-IY6VZ3IW.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-SVAWG7EE.js → chunk-J4FBIFU6.js} +45 -4
  137. package/dist/cli-bundle/chunks/chunk-J4FBIFU6.js.map +1 -0
  138. package/dist/cli-bundle/chunks/{chunk-AGEBQRBG.js → chunk-JAPE62Y5.js} +9 -9
  139. package/dist/cli-bundle/chunks/{chunk-UWAQI3B7.js → chunk-JGUKMMRS.js} +3 -3
  140. package/dist/cli-bundle/chunks/{chunk-UU6EP25G.js → chunk-JH2ZSLO3.js} +2 -2
  141. package/dist/cli-bundle/chunks/{chunk-GRDK25BN.js → chunk-JHJSFOAM.js} +6 -6
  142. package/dist/cli-bundle/chunks/{chunk-FQO5THHM.js → chunk-JM6YAXTR.js} +2 -2
  143. package/dist/cli-bundle/chunks/{chunk-E7KBMWEF.js → chunk-JSLT7WVE.js} +2 -2
  144. package/dist/cli-bundle/chunks/{chunk-FIUTBFC6.js → chunk-K4CI6Y45.js} +2 -2
  145. package/dist/cli-bundle/chunks/{chunk-IEMXESIS.js → chunk-KSPWRNVP.js} +7 -7
  146. package/dist/cli-bundle/chunks/{chunk-3QNUDDY2.js → chunk-KZEANWJS.js} +14 -12
  147. package/dist/cli-bundle/chunks/{chunk-3QNUDDY2.js.map → chunk-KZEANWJS.js.map} +2 -2
  148. package/dist/cli-bundle/chunks/{chunk-BFJP4VYC.js → chunk-L7BH7IWU.js} +4 -4
  149. package/dist/cli-bundle/chunks/{chunk-2UCG5H6B.js → chunk-LPEYZRUR.js} +3 -3
  150. package/dist/cli-bundle/chunks/{chunk-FQF6VVPH.js → chunk-MYSS5H2A.js} +9 -7
  151. package/dist/cli-bundle/chunks/{chunk-FQF6VVPH.js.map → chunk-MYSS5H2A.js.map} +1 -1
  152. package/dist/cli-bundle/chunks/{chunk-IR3GOO6E.js → chunk-NHT3F4WZ.js} +15 -15
  153. package/dist/cli-bundle/chunks/{chunk-6BNV3G6C.js → chunk-NLR32VFS.js} +2 -2
  154. package/dist/cli-bundle/chunks/{chunk-BDC4TW4B.js → chunk-OV7MSW3I.js} +15 -13
  155. package/dist/cli-bundle/chunks/chunk-OV7MSW3I.js.map +1 -0
  156. package/dist/cli-bundle/chunks/{chunk-EI3UIMZM.js → chunk-OWXOPDHD.js} +4 -4
  157. package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js +246 -0
  158. package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js.map +1 -0
  159. package/dist/cli-bundle/chunks/{chunk-AQUNTB7G.js → chunk-PEQGTJ5Q.js} +3 -3
  160. package/dist/cli-bundle/chunks/{chunk-QFG4MB7P.js → chunk-POG76WWZ.js} +28 -7
  161. package/dist/cli-bundle/chunks/chunk-POG76WWZ.js.map +1 -0
  162. package/dist/cli-bundle/chunks/{chunk-MI3346YW.js → chunk-QANSTTC7.js} +129 -170
  163. package/dist/cli-bundle/chunks/chunk-QANSTTC7.js.map +1 -0
  164. package/dist/cli-bundle/chunks/{chunk-T6MOTLOJ.js → chunk-QJKL5PHS.js} +2 -2
  165. package/dist/cli-bundle/chunks/{chunk-SBW7EQC4.js → chunk-QLZ643FM.js} +76 -13
  166. package/dist/cli-bundle/chunks/chunk-QLZ643FM.js.map +1 -0
  167. package/dist/cli-bundle/chunks/{chunk-XKVHL3MB.js → chunk-QWRVBJ4D.js} +2 -2
  168. package/dist/cli-bundle/chunks/chunk-R3EWPG4A.js +106 -0
  169. package/dist/cli-bundle/chunks/chunk-R3EWPG4A.js.map +1 -0
  170. package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js +344 -0
  171. package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js.map +7 -0
  172. package/dist/cli-bundle/chunks/{chunk-VFA5EIEN.js → chunk-R7QV7ICM.js} +4 -4
  173. package/dist/cli-bundle/chunks/{chunk-NPEYH6CE.js → chunk-RDV4ZFYS.js} +12 -10
  174. package/dist/cli-bundle/chunks/{chunk-NPEYH6CE.js.map → chunk-RDV4ZFYS.js.map} +1 -1
  175. package/dist/cli-bundle/chunks/{chunk-K2L6FZBX.js → chunk-RJO3YAFM.js} +4 -4
  176. package/dist/cli-bundle/chunks/{chunk-YIC5NGXF.js → chunk-RMF7LMBS.js} +7 -7
  177. package/dist/cli-bundle/chunks/{chunk-YIC5NGXF.js.map → chunk-RMF7LMBS.js.map} +2 -2
  178. package/dist/cli-bundle/chunks/{chunk-MRXAHR4B.js → chunk-RZJLNXFG.js} +50 -13
  179. package/dist/cli-bundle/chunks/chunk-RZJLNXFG.js.map +1 -0
  180. package/dist/cli-bundle/chunks/{chunk-DJAGYYCQ.js → chunk-SC2HMDGB.js} +19 -3
  181. package/dist/cli-bundle/chunks/chunk-SC2HMDGB.js.map +1 -0
  182. package/dist/cli-bundle/chunks/{chunk-SGJB6PXA.js → chunk-SF3DT5HJ.js} +3 -3
  183. package/dist/cli-bundle/chunks/chunk-SG74J6MV.js +604 -0
  184. package/dist/cli-bundle/chunks/chunk-SG74J6MV.js.map +1 -0
  185. package/dist/cli-bundle/chunks/{chunk-Q3K5XPAQ.js → chunk-SR3JOATZ.js} +18 -2
  186. package/dist/cli-bundle/chunks/chunk-SR3JOATZ.js.map +7 -0
  187. package/dist/cli-bundle/chunks/{chunk-DUDLSQFG.js → chunk-SSKOQNMS.js} +14 -12
  188. package/dist/cli-bundle/chunks/{chunk-DUDLSQFG.js.map → chunk-SSKOQNMS.js.map} +1 -1
  189. package/dist/cli-bundle/chunks/{chunk-UNNCT5QY.js → chunk-SZVB53Y3.js} +3 -3
  190. package/dist/cli-bundle/chunks/{chunk-JBW2S2C6.js → chunk-T44FMVRL.js} +613 -157
  191. package/dist/cli-bundle/chunks/chunk-T44FMVRL.js.map +7 -0
  192. package/dist/cli-bundle/chunks/{chunk-GFZB5CLP.js → chunk-T6PPNM7V.js} +4 -4
  193. package/dist/cli-bundle/chunks/{chunk-UE7LK3RE.js → chunk-THAOZG4U.js} +9 -7
  194. package/dist/cli-bundle/chunks/chunk-THAOZG4U.js.map +1 -0
  195. package/dist/cli-bundle/chunks/{chunk-IGBBTPM5.js → chunk-TOBGV45Y.js} +4 -4
  196. package/dist/cli-bundle/chunks/chunk-TOBGV45Y.js.map +1 -0
  197. package/dist/cli-bundle/chunks/{chunk-W6IEJXNC.js → chunk-TVYYO5A7.js} +2 -2
  198. package/dist/cli-bundle/chunks/chunk-TYHJDFYW.js +109 -0
  199. package/dist/cli-bundle/chunks/chunk-TYHJDFYW.js.map +7 -0
  200. package/dist/cli-bundle/chunks/{chunk-DOASIOQR.js → chunk-UQLXSG72.js} +2 -2
  201. package/dist/cli-bundle/chunks/{chunk-IDUTGRDM.js → chunk-URXVHN3L.js} +3 -3
  202. package/dist/cli-bundle/chunks/chunk-URXVHN3L.js.map +1 -0
  203. package/dist/cli-bundle/chunks/{chunk-7CHWLT2J.js → chunk-UVN66B3M.js} +2 -2
  204. package/dist/cli-bundle/chunks/{chunk-Q6JPYR7I.js → chunk-UX6SSO2I.js} +2 -2
  205. package/dist/cli-bundle/chunks/{chunk-JPWUZOMR.js → chunk-UZDQXNUB.js} +75 -20
  206. package/dist/cli-bundle/chunks/chunk-UZDQXNUB.js.map +1 -0
  207. package/dist/cli-bundle/chunks/{chunk-OK7VSX3N.js → chunk-UZLJOEAC.js} +3 -3
  208. package/dist/cli-bundle/chunks/{chunk-4PSJVGRE.js → chunk-VDO2JMD4.js} +7 -7
  209. package/dist/cli-bundle/chunks/{chunk-IRJ6F23W.js → chunk-VQIHNHMJ.js} +2 -2
  210. package/dist/cli-bundle/chunks/{chunk-FQODDTE7.js → chunk-WUVEBQW6.js} +7 -5
  211. package/dist/cli-bundle/chunks/{chunk-FQODDTE7.js.map → chunk-WUVEBQW6.js.map} +1 -1
  212. package/dist/cli-bundle/chunks/{chunk-Q4PSG2GV.js → chunk-WVA4DVNV.js} +5 -5
  213. package/dist/cli-bundle/chunks/{chunk-Q4PSG2GV.js.map → chunk-WVA4DVNV.js.map} +1 -1
  214. package/dist/cli-bundle/chunks/{chunk-4M6RZJXF.js → chunk-WWNL6WMH.js} +3 -3
  215. package/dist/cli-bundle/chunks/chunk-WWNL6WMH.js.map +7 -0
  216. package/dist/cli-bundle/chunks/{chunk-3KPNOZOH.js → chunk-X6K5XTTN.js} +78 -21
  217. package/dist/cli-bundle/chunks/chunk-X6K5XTTN.js.map +7 -0
  218. package/dist/cli-bundle/chunks/{chunk-G33XIMRT.js → chunk-XJF7CDNH.js} +17 -10
  219. package/dist/cli-bundle/chunks/{chunk-G33XIMRT.js.map → chunk-XJF7CDNH.js.map} +1 -1
  220. package/dist/cli-bundle/chunks/{chunk-AR24KW26.js → chunk-YBT7O4KT.js} +17 -112
  221. package/dist/cli-bundle/chunks/chunk-YBT7O4KT.js.map +7 -0
  222. package/dist/cli-bundle/chunks/{chunk-CZA2DXCV.js → chunk-YQQNAKW3.js} +17 -105
  223. package/dist/cli-bundle/chunks/chunk-YQQNAKW3.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-OKPZDH43.js → chunk-YQWCZ5AC.js} +7 -5
  225. package/dist/cli-bundle/chunks/{chunk-OKPZDH43.js.map → chunk-YQWCZ5AC.js.map} +2 -2
  226. package/dist/cli-bundle/chunks/{chunk-LT5UWU7H.js → chunk-ZOJ3LR7O.js} +2 -2
  227. package/dist/cli-bundle/chunks/{chunk-3HSRP6T2.js → chunk-ZOY5K4D3.js} +2 -2
  228. package/dist/cli-bundle/chunks/{chunk-XXWDEQ6O.js → chunk-ZV2NTVMJ.js} +4 -4
  229. package/dist/cli-bundle/chunks/{chunk-UW6HCMP2.js → chunk-ZYPFOO3L.js} +9 -9
  230. package/dist/cli-bundle/chunks/close-O5QVZ6ET.js +12 -0
  231. package/dist/cli-bundle/chunks/{close-7NWA3GLA.js → close-QEMOYZN3.js} +5 -5
  232. package/dist/cli-bundle/chunks/close-many-SDA426VT.js +24 -0
  233. package/dist/cli-bundle/chunks/{close-many-YALQ7AXS.js → close-many-UTZANOCQ.js} +15 -14
  234. package/dist/cli-bundle/chunks/{comments-SQIQ5WYR.js → comments-LZN6FXXC.js} +7 -7
  235. package/dist/cli-bundle/chunks/comments-VBQ345ND.js +13 -0
  236. package/dist/cli-bundle/chunks/{copy-YDAMENCP.js → copy-DKTSSCK7.js} +4 -4
  237. package/dist/cli-bundle/chunks/copy-M7DDI6LS.js +9 -0
  238. package/dist/cli-bundle/chunks/{create-JSL6CXU3.js → create-GG4RBCGC.js} +11 -11
  239. package/dist/cli-bundle/chunks/create-JBC5KUW6.js +29 -0
  240. package/dist/cli-bundle/chunks/{delete-IGVOZEU2.js → delete-LCS3VPDH.js} +4 -4
  241. package/dist/cli-bundle/chunks/delete-MD7YXQLH.js +10 -0
  242. package/dist/cli-bundle/chunks/{deps-BQAXUQAK.js → deps-DELOO4TL.js} +6 -6
  243. package/dist/cli-bundle/chunks/{deps-CBPPSS6J.js → deps-FI4O6NQS.js} +6 -6
  244. package/dist/cli-bundle/chunks/docs-2UYBP5D6.js +14 -0
  245. package/dist/cli-bundle/chunks/{docs-NS2AZWCN.js → docs-6Z2MP526.js} +6 -6
  246. package/dist/cli-bundle/chunks/{files-XUUBQ76I.js → files-HEUGSJZL.js} +6 -6
  247. package/dist/cli-bundle/chunks/{files-PVWEPT5J.js → files-HKEAN5MA.js} +6 -6
  248. package/dist/cli-bundle/chunks/{focus-DHBHKK3E.js → focus-7SOUT5PZ.js} +5 -5
  249. package/dist/cli-bundle/chunks/focus-DRQ6FQH6.js +10 -0
  250. package/dist/cli-bundle/chunks/history-compact-65YVN5DB.js +17 -0
  251. package/dist/cli-bundle/chunks/{history-compact-3TNPYVFG.js → history-compact-7NDVP3PT.js} +7 -6
  252. package/dist/cli-bundle/chunks/{history-redact-KKFDICCF.js → history-redact-7YBL4XSG.js} +5 -4
  253. package/dist/cli-bundle/chunks/{history-redact-ELRL73XN.js → history-redact-IZGNJBU4.js} +5 -4
  254. package/dist/cli-bundle/chunks/{history-repair-J7WKZFAG.js → history-repair-7M4PYQUH.js} +8 -6
  255. package/dist/cli-bundle/chunks/history-repair-GNGETJLI.js +18 -0
  256. package/dist/cli-bundle/chunks/learnings-3YXDRWFT.js +13 -0
  257. package/dist/cli-bundle/chunks/{learnings-X4D6JCCG.js → learnings-ALC6IMNL.js} +7 -7
  258. package/dist/cli-bundle/chunks/notes-7JMLQ447.js +13 -0
  259. package/dist/cli-bundle/chunks/{notes-UQC6VS6N.js → notes-JFCLTC5C.js} +7 -7
  260. package/dist/cli-bundle/chunks/plan-KOIPWVOZ.js +26 -0
  261. package/dist/cli-bundle/chunks/{plan-5GKRBJJO.js → plan-T3XB3WTK.js} +12 -12
  262. package/dist/cli-bundle/chunks/{profile-5PQAPCLF.js → profile-OILJHKUW.js} +12 -11
  263. package/dist/cli-bundle/chunks/{profile-CW4BD3FO.js → profile-RJXA7PGS.js} +12 -11
  264. package/dist/cli-bundle/chunks/{register-list-query-PHIPDFP2.js → register-list-query-CFVG75P3.js} +30 -21
  265. package/dist/cli-bundle/chunks/{register-list-query-PHIPDFP2.js.map → register-list-query-CFVG75P3.js.map} +1 -1
  266. package/dist/cli-bundle/chunks/{register-list-query-HTDQE6VI.js → register-list-query-E7UVY4TN.js} +29 -20
  267. package/dist/cli-bundle/chunks/{register-list-query-HTDQE6VI.js.map → register-list-query-E7UVY4TN.js.map} +2 -2
  268. package/dist/cli-bundle/chunks/{register-mutation-BLEWM5I6.js → register-mutation-4VJTXBZW.js} +86 -32
  269. package/dist/cli-bundle/chunks/register-mutation-4VJTXBZW.js.map +7 -0
  270. package/dist/cli-bundle/chunks/{register-mutation-OTYHR7J6.js → register-mutation-IQ55E25C.js} +78 -33
  271. package/dist/cli-bundle/chunks/register-mutation-IQ55E25C.js.map +1 -0
  272. package/dist/cli-bundle/chunks/{register-operations-AMCUFYEW.js → register-operations-AR7RMX4W.js} +42 -38
  273. package/dist/cli-bundle/chunks/register-operations-AR7RMX4W.js.map +1 -0
  274. package/dist/cli-bundle/chunks/{register-operations-MRLHOZYR.js → register-operations-NOLZGORC.js} +41 -37
  275. package/dist/cli-bundle/chunks/register-operations-NOLZGORC.js.map +7 -0
  276. package/dist/cli-bundle/chunks/{register-setup-ZVKTDL4G.js → register-setup-BB77VUEE.js} +17 -16
  277. package/dist/cli-bundle/chunks/{register-setup-ZVKTDL4G.js.map → register-setup-BB77VUEE.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{register-setup-N2FOSWAG.js → register-setup-EYZ7VTPZ.js} +15 -14
  279. package/dist/cli-bundle/chunks/{register-setup-N2FOSWAG.js.map → register-setup-EYZ7VTPZ.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/restore-L6IAGOD7.js +15 -0
  281. package/dist/cli-bundle/chunks/{restore-HEQAG6EK.js → restore-ZH65GZFB.js} +7 -6
  282. package/dist/cli-bundle/chunks/{schema-Q5DAWJ2S.js → schema-4ERWM5QJ.js} +7 -6
  283. package/dist/cli-bundle/chunks/{schema-MAXAIHEC.js → schema-55DL3Q52.js} +7 -6
  284. package/dist/cli-bundle/chunks/{update-DWFXXJKP.js → update-FW6FKDOP.js} +15 -15
  285. package/dist/cli-bundle/chunks/update-TJHSPRPT.js +23 -0
  286. package/dist/cli-bundle/chunks/update-many-NNALYQCN.js +35 -0
  287. package/dist/cli-bundle/chunks/update-many-PWXX5WHO.js +39 -0
  288. package/dist/cli-bundle/main.js +62 -59
  289. package/dist/cli-bundle/main.js.map +1 -1
  290. package/dist/cli-bundle/sdk-runtime.js +62 -59
  291. package/dist/cli-bundle/sdk-testing.js +8 -8
  292. package/dist/cli-bundle/sdk.js +327 -57
  293. package/dist/cli-bundle/sdk.js.map +4 -4
  294. package/dist/core/config/nested-settings.d.ts +2 -0
  295. package/dist/core/config/nested-settings.js +18 -2
  296. package/dist/core/config/nested-settings.js.map +1 -1
  297. package/dist/core/diagnostics/remediation.js +38 -2
  298. package/dist/core/diagnostics/remediation.js.map +1 -1
  299. package/dist/core/extensions/extension-types.d.ts +1 -1
  300. package/dist/core/extensions/extension-types.js +2 -2
  301. package/dist/core/extensions/extension-types.js.map +1 -1
  302. package/dist/core/item/id.d.ts +19 -2
  303. package/dist/core/item/id.js +27 -6
  304. package/dist/core/item/id.js.map +1 -1
  305. package/dist/core/item/parse.d.ts +7 -0
  306. package/dist/core/item/parse.js +48 -2
  307. package/dist/core/item/parse.js.map +1 -1
  308. package/dist/core/schema/item-types-file.d.ts +2 -2
  309. package/dist/core/schema/item-types-file.js +2 -2
  310. package/dist/core/schema/item-types-file.js.map +1 -1
  311. package/dist/core/schema/runtime-schema.d.ts +3 -3
  312. package/dist/core/schema/runtime-schema.js +2 -2
  313. package/dist/core/schema/runtime-schema.js.map +1 -1
  314. package/dist/core/schema/type-workflows.d.ts +2 -2
  315. package/dist/core/schema/type-workflows.js +2 -2
  316. package/dist/core/schema/type-workflows.js.map +1 -1
  317. package/dist/core/shared/constants.js +5 -2
  318. package/dist/core/shared/constants.js.map +1 -1
  319. package/dist/core/store/settings-validator.d.ts +4 -0
  320. package/dist/core/store/settings-validator.js +8 -2
  321. package/dist/core/store/settings-validator.js.map +1 -1
  322. package/dist/core/store/settings.js +8 -2
  323. package/dist/core/store/settings.js.map +1 -1
  324. package/dist/sdk/annotations.js +24 -2
  325. package/dist/sdk/annotations.js.map +1 -1
  326. package/dist/sdk/cli-bootstrap.d.ts +1 -1
  327. package/dist/sdk/cli-bootstrap.js +3 -3
  328. package/dist/sdk/cli-bootstrap.js.map +1 -1
  329. package/dist/sdk/cli-contracts/commander-mutation-options.js +22 -2
  330. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  331. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  332. package/dist/sdk/cli-contracts/enum-contracts.js +3 -2
  333. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  334. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  335. package/dist/sdk/cli-contracts/flag-contracts.js +17 -2
  336. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  337. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +512 -0
  338. package/dist/sdk/cli-contracts/tool-option-contracts.js +21 -11
  339. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  340. package/dist/sdk/cli-contracts/tool-parameter-tables.js +13 -3
  341. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  342. package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -0
  343. package/dist/sdk/cli-contracts/tool-schema.js +14 -10
  344. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  345. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +69 -0
  346. package/dist/sdk/cli-contracts/typed-action-inputs.js +5 -0
  347. package/dist/sdk/cli-contracts/typed-action-inputs.js.map +1 -0
  348. package/dist/sdk/cli-contracts.d.ts +4 -3
  349. package/dist/sdk/cli-contracts.js +5 -5
  350. package/dist/sdk/cli-contracts.js.map +1 -1
  351. package/dist/sdk/extension/describe.d.ts +1 -1
  352. package/dist/sdk/extension/describe.js +2 -2
  353. package/dist/sdk/extension/describe.js.map +1 -1
  354. package/dist/sdk/extension/install-runtime.js +5 -3
  355. package/dist/sdk/extension/install-runtime.js.map +1 -1
  356. package/dist/sdk/extension.d.ts +2 -2
  357. package/dist/sdk/extension.js +2 -2
  358. package/dist/sdk/extension.js.map +1 -1
  359. package/dist/sdk/governance/gc.d.ts +14 -1
  360. package/dist/sdk/governance/gc.js +38 -2
  361. package/dist/sdk/governance/gc.js.map +1 -1
  362. package/dist/sdk/governance/storage-integrity.d.ts +84 -0
  363. package/dist/sdk/governance/storage-integrity.js +240 -0
  364. package/dist/sdk/governance/storage-integrity.js.map +1 -0
  365. package/dist/sdk/governance/validate.d.ts +3 -1
  366. package/dist/sdk/governance/validate.js +56 -2
  367. package/dist/sdk/governance/validate.js.map +1 -1
  368. package/dist/sdk/history-read.d.ts +1 -1
  369. package/dist/sdk/history-read.js +2 -2
  370. package/dist/sdk/history-read.js.map +1 -1
  371. package/dist/sdk/history-repair.d.ts +36 -0
  372. package/dist/sdk/history-repair.js +69 -4
  373. package/dist/sdk/history-repair.js.map +1 -1
  374. package/dist/sdk/index.d.ts +5 -2
  375. package/dist/sdk/index.js +5 -2
  376. package/dist/sdk/index.js.map +1 -1
  377. package/dist/sdk/init.js +3 -3
  378. package/dist/sdk/init.js.map +1 -1
  379. package/dist/sdk/item-transaction.d.ts +131 -0
  380. package/dist/sdk/item-transaction.js +280 -0
  381. package/dist/sdk/item-transaction.js.map +1 -0
  382. package/dist/sdk/merge/driver.d.ts +75 -0
  383. package/dist/sdk/merge/driver.js +166 -0
  384. package/dist/sdk/merge/driver.js.map +1 -0
  385. package/dist/sdk/merge/index.d.ts +11 -0
  386. package/dist/sdk/merge/index.js +15 -0
  387. package/dist/sdk/merge/index.js.map +1 -0
  388. package/dist/sdk/merge/install.d.ts +90 -0
  389. package/dist/sdk/merge/install.js +318 -0
  390. package/dist/sdk/merge/install.js.map +1 -0
  391. package/dist/sdk/merge/three-way.d.ts +126 -0
  392. package/dist/sdk/merge/three-way.js +545 -0
  393. package/dist/sdk/merge/three-way.js.map +1 -0
  394. package/dist/sdk/query/list.d.ts +19 -2
  395. package/dist/sdk/query/list.js +5 -2
  396. package/dist/sdk/query/list.js.map +1 -1
  397. package/dist/sdk/runtime.d.ts +17 -14
  398. package/dist/sdk/runtime.js +5 -5
  399. package/dist/sdk/runtime.js.map +1 -1
  400. package/dist/sdk/schema.d.ts +2 -2
  401. package/dist/sdk/schema.js +29 -2
  402. package/dist/sdk/schema.js.map +1 -1
  403. package/dist/sdk/stats.d.ts +1 -1
  404. package/dist/sdk/stats.js +2 -2
  405. package/dist/sdk/stats.js.map +1 -1
  406. package/dist/sdk/workspace-transaction-gc.d.ts +46 -0
  407. package/dist/sdk/workspace-transaction-gc.js +155 -0
  408. package/dist/sdk/workspace-transaction-gc.js.map +1 -0
  409. package/dist/sdk/workspace.d.ts +28 -4
  410. package/dist/sdk/workspace.js +61 -15
  411. package/dist/sdk/workspace.js.map +1 -1
  412. package/dist/types.d.ts +11 -7
  413. package/dist/types.js +2 -2
  414. package/dist/types.js.map +1 -1
  415. package/docs/AGENT_GUIDE.md +58 -47
  416. package/docs/COMMANDS.md +7 -0
  417. package/docs/CONFIGURATION.md +2 -0
  418. package/docs/MERGE_SAFETY.md +99 -0
  419. package/docs/README.md +1 -0
  420. package/docs/SDK.md +56 -0
  421. package/marketplace.json +2 -2
  422. package/package.json +3 -2
  423. package/packages/pm-beads/package.json +1 -1
  424. package/packages/pm-calendar/package.json +1 -1
  425. package/packages/pm-command-kit/package.json +1 -1
  426. package/packages/pm-governance-audit/package.json +1 -1
  427. package/packages/pm-guide-shell/package.json +1 -1
  428. package/packages/pm-kanban/package.json +1 -1
  429. package/packages/pm-lifecycle-hooks/package.json +1 -1
  430. package/packages/pm-linked-test-adapters/package.json +1 -1
  431. package/packages/pm-search-advanced/package.json +1 -1
  432. package/packages/pm-templates/package.json +1 -1
  433. package/packages/pm-todos/package.json +1 -1
  434. package/packages/pm-vcs/package.json +1 -1
  435. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  436. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  437. package/dist/cli-bundle/chunks/append-XUYF7NON.js +0 -11
  438. package/dist/cli-bundle/chunks/chunk-2XPDCXK5.js.map +0 -1
  439. package/dist/cli-bundle/chunks/chunk-3EZZTFL2.js.map +0 -7
  440. package/dist/cli-bundle/chunks/chunk-3KPNOZOH.js.map +0 -7
  441. package/dist/cli-bundle/chunks/chunk-46Z6FAVP.js.map +0 -1
  442. package/dist/cli-bundle/chunks/chunk-4M6RZJXF.js.map +0 -7
  443. package/dist/cli-bundle/chunks/chunk-6V4T4RD3.js.map +0 -1
  444. package/dist/cli-bundle/chunks/chunk-A3GAQLBH.js.map +0 -7
  445. package/dist/cli-bundle/chunks/chunk-A4FVWFZY.js.map +0 -7
  446. package/dist/cli-bundle/chunks/chunk-A5EQPNV7.js.map +0 -7
  447. package/dist/cli-bundle/chunks/chunk-AR24KW26.js.map +0 -7
  448. package/dist/cli-bundle/chunks/chunk-BBGR4FKQ.js.map +0 -1
  449. package/dist/cli-bundle/chunks/chunk-BDC4TW4B.js.map +0 -1
  450. package/dist/cli-bundle/chunks/chunk-BZKE2O5V.js.map +0 -1
  451. package/dist/cli-bundle/chunks/chunk-CZA2DXCV.js.map +0 -1
  452. package/dist/cli-bundle/chunks/chunk-D35WYXWC.js.map +0 -1
  453. package/dist/cli-bundle/chunks/chunk-DJAGYYCQ.js.map +0 -1
  454. package/dist/cli-bundle/chunks/chunk-EEECAV5M.js.map +0 -7
  455. package/dist/cli-bundle/chunks/chunk-H3YKUVDR.js.map +0 -1
  456. package/dist/cli-bundle/chunks/chunk-IDUTGRDM.js.map +0 -1
  457. package/dist/cli-bundle/chunks/chunk-IGBBTPM5.js.map +0 -1
  458. package/dist/cli-bundle/chunks/chunk-JBW2S2C6.js.map +0 -7
  459. package/dist/cli-bundle/chunks/chunk-JPWUZOMR.js.map +0 -1
  460. package/dist/cli-bundle/chunks/chunk-KAE727L2.js.map +0 -7
  461. package/dist/cli-bundle/chunks/chunk-MI3346YW.js.map +0 -1
  462. package/dist/cli-bundle/chunks/chunk-MQOSMBWV.js.map +0 -7
  463. package/dist/cli-bundle/chunks/chunk-MRXAHR4B.js.map +0 -1
  464. package/dist/cli-bundle/chunks/chunk-N2TEEOXJ.js.map +0 -7
  465. package/dist/cli-bundle/chunks/chunk-ODEIDKGW.js.map +0 -1
  466. package/dist/cli-bundle/chunks/chunk-P24ZU5QV.js.map +0 -7
  467. package/dist/cli-bundle/chunks/chunk-Q3K5XPAQ.js.map +0 -7
  468. package/dist/cli-bundle/chunks/chunk-QFG4MB7P.js.map +0 -1
  469. package/dist/cli-bundle/chunks/chunk-RLLOZAM2.js.map +0 -7
  470. package/dist/cli-bundle/chunks/chunk-RWAIRGBC.js.map +0 -7
  471. package/dist/cli-bundle/chunks/chunk-SBW7EQC4.js.map +0 -1
  472. package/dist/cli-bundle/chunks/chunk-SVAWG7EE.js.map +0 -1
  473. package/dist/cli-bundle/chunks/chunk-UE7LK3RE.js.map +0 -1
  474. package/dist/cli-bundle/chunks/chunk-VA3H7VVC.js.map +0 -1
  475. package/dist/cli-bundle/chunks/chunk-WCBB6VI3.js.map +0 -7
  476. package/dist/cli-bundle/chunks/chunk-Y2VSGFT4.js.map +0 -1
  477. package/dist/cli-bundle/chunks/chunk-YG56M3NE.js.map +0 -1
  478. package/dist/cli-bundle/chunks/chunk-ZF52NVRT.js.map +0 -7
  479. package/dist/cli-bundle/chunks/chunk-ZUCBPXNA.js.map +0 -7
  480. package/dist/cli-bundle/chunks/close-ZZCDDWJT.js +0 -12
  481. package/dist/cli-bundle/chunks/close-many-QCZHFCON.js +0 -23
  482. package/dist/cli-bundle/chunks/comments-FMQNYPSZ.js +0 -13
  483. package/dist/cli-bundle/chunks/copy-GI3RCVZP.js +0 -9
  484. package/dist/cli-bundle/chunks/create-LXMLYJNM.js +0 -29
  485. package/dist/cli-bundle/chunks/delete-5DFAXJNI.js +0 -10
  486. package/dist/cli-bundle/chunks/docs-KCWPLQOV.js +0 -14
  487. package/dist/cli-bundle/chunks/focus-3EJVFI3D.js +0 -10
  488. package/dist/cli-bundle/chunks/history-compact-JHYVDYLW.js +0 -16
  489. package/dist/cli-bundle/chunks/history-repair-REMI7DDI.js +0 -16
  490. package/dist/cli-bundle/chunks/learnings-O6V5WDCV.js +0 -13
  491. package/dist/cli-bundle/chunks/notes-ZSZREWZA.js +0 -13
  492. package/dist/cli-bundle/chunks/plan-EZW2YDDY.js +0 -26
  493. package/dist/cli-bundle/chunks/register-mutation-BLEWM5I6.js.map +0 -7
  494. package/dist/cli-bundle/chunks/register-mutation-OTYHR7J6.js.map +0 -1
  495. package/dist/cli-bundle/chunks/register-operations-AMCUFYEW.js.map +0 -1
  496. package/dist/cli-bundle/chunks/register-operations-MRLHOZYR.js.map +0 -7
  497. package/dist/cli-bundle/chunks/restore-A55MLFAI.js +0 -14
  498. package/dist/cli-bundle/chunks/update-5DTSCWVF.js +0 -23
  499. package/dist/cli-bundle/chunks/update-many-6T4ZLZS7.js +0 -34
  500. package/dist/cli-bundle/chunks/update-many-MYRK6VBJ.js +0 -38
  501. /package/dist/cli-bundle/chunks/{append-MBXHNWSX.js.map → append-E6V54WOQ.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{append-XUYF7NON.js.map → append-NNJ3EFIT.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{chunk-YGEA4CLH.js.map → chunk-3MCTMJXI.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{chunk-N7FCFJ76.js.map → chunk-3P7UJQOX.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{chunk-7B7IHMLH.js.map → chunk-3VY6MIEO.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{chunk-5S6IZXK7.js.map → chunk-4U4Z6AHI.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{chunk-UOIFZ66L.js.map → chunk-4XGJLADW.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{chunk-SUNZKVAH.js.map → chunk-5IZJWSDB.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{chunk-QQ77W23U.js.map → chunk-5NTE36LD.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{chunk-KGPLSHJD.js.map → chunk-6C2ZZX5Z.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{chunk-Q5NHJ6RO.js.map → chunk-6JUTHVQS.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{chunk-NTS2RKHN.js.map → chunk-6VIJ7UA5.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{chunk-XVB6BATY.js.map → chunk-72LQ4TKV.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{chunk-KZ5AC6B5.js.map → chunk-7WCE6Y64.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{chunk-VQOG2ETB.js.map → chunk-AF2CCM5U.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{chunk-EAV3P54W.js.map → chunk-DAQ45GCS.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{chunk-RX53WHFI.js.map → chunk-EJDGV4GR.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{chunk-IXG5CMBR.js.map → chunk-FDHPAVVB.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{chunk-V4QHAMI5.js.map → chunk-GROYI4RB.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{chunk-77XFQRTD.js.map → chunk-GSJSM5BJ.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{chunk-QYGK2XQ3.js.map → chunk-GTLCVJOE.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{chunk-VSQE43NO.js.map → chunk-GV2262OF.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{chunk-STBCBDKF.js.map → chunk-HCEBZNC3.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{chunk-U6RYD446.js.map → chunk-HRW7GF6T.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{chunk-XDWXPG2E.js.map → chunk-IAQE32BI.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{chunk-66SRNEBK.js.map → chunk-IJNK6WW2.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{chunk-AGEBQRBG.js.map → chunk-JAPE62Y5.js.map} +0 -0
  528. /package/dist/cli-bundle/chunks/{chunk-UWAQI3B7.js.map → chunk-JGUKMMRS.js.map} +0 -0
  529. /package/dist/cli-bundle/chunks/{chunk-UU6EP25G.js.map → chunk-JH2ZSLO3.js.map} +0 -0
  530. /package/dist/cli-bundle/chunks/{chunk-GRDK25BN.js.map → chunk-JHJSFOAM.js.map} +0 -0
  531. /package/dist/cli-bundle/chunks/{chunk-FQO5THHM.js.map → chunk-JM6YAXTR.js.map} +0 -0
  532. /package/dist/cli-bundle/chunks/{chunk-E7KBMWEF.js.map → chunk-JSLT7WVE.js.map} +0 -0
  533. /package/dist/cli-bundle/chunks/{chunk-FIUTBFC6.js.map → chunk-K4CI6Y45.js.map} +0 -0
  534. /package/dist/cli-bundle/chunks/{chunk-IEMXESIS.js.map → chunk-KSPWRNVP.js.map} +0 -0
  535. /package/dist/cli-bundle/chunks/{chunk-BFJP4VYC.js.map → chunk-L7BH7IWU.js.map} +0 -0
  536. /package/dist/cli-bundle/chunks/{chunk-2UCG5H6B.js.map → chunk-LPEYZRUR.js.map} +0 -0
  537. /package/dist/cli-bundle/chunks/{chunk-IR3GOO6E.js.map → chunk-NHT3F4WZ.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{chunk-6BNV3G6C.js.map → chunk-NLR32VFS.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{chunk-EI3UIMZM.js.map → chunk-OWXOPDHD.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{chunk-AQUNTB7G.js.map → chunk-PEQGTJ5Q.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{chunk-T6MOTLOJ.js.map → chunk-QJKL5PHS.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{chunk-XKVHL3MB.js.map → chunk-QWRVBJ4D.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{chunk-VFA5EIEN.js.map → chunk-R7QV7ICM.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{chunk-K2L6FZBX.js.map → chunk-RJO3YAFM.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{chunk-SGJB6PXA.js.map → chunk-SF3DT5HJ.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{chunk-UNNCT5QY.js.map → chunk-SZVB53Y3.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{chunk-GFZB5CLP.js.map → chunk-T6PPNM7V.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-W6IEJXNC.js.map → chunk-TVYYO5A7.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-DOASIOQR.js.map → chunk-UQLXSG72.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-7CHWLT2J.js.map → chunk-UVN66B3M.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-Q6JPYR7I.js.map → chunk-UX6SSO2I.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-OK7VSX3N.js.map → chunk-UZLJOEAC.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-4PSJVGRE.js.map → chunk-VDO2JMD4.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-IRJ6F23W.js.map → chunk-VQIHNHMJ.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-LT5UWU7H.js.map → chunk-ZOJ3LR7O.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-3HSRP6T2.js.map → chunk-ZOY5K4D3.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-XXWDEQ6O.js.map → chunk-ZV2NTVMJ.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-UW6HCMP2.js.map → chunk-ZYPFOO3L.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{close-ZZCDDWJT.js.map → close-O5QVZ6ET.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{close-7NWA3GLA.js.map → close-QEMOYZN3.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{close-many-QCZHFCON.js.map → close-many-SDA426VT.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{close-many-YALQ7AXS.js.map → close-many-UTZANOCQ.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{comments-SQIQ5WYR.js.map → comments-LZN6FXXC.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{comments-FMQNYPSZ.js.map → comments-VBQ345ND.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{copy-YDAMENCP.js.map → copy-DKTSSCK7.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{copy-GI3RCVZP.js.map → copy-M7DDI6LS.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{create-JSL6CXU3.js.map → create-GG4RBCGC.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{create-LXMLYJNM.js.map → create-JBC5KUW6.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{delete-IGVOZEU2.js.map → delete-LCS3VPDH.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{delete-5DFAXJNI.js.map → delete-MD7YXQLH.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{deps-BQAXUQAK.js.map → deps-DELOO4TL.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{deps-CBPPSS6J.js.map → deps-FI4O6NQS.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{docs-KCWPLQOV.js.map → docs-2UYBP5D6.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{docs-NS2AZWCN.js.map → docs-6Z2MP526.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{files-XUUBQ76I.js.map → files-HEUGSJZL.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{files-PVWEPT5J.js.map → files-HKEAN5MA.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{focus-DHBHKK3E.js.map → focus-7SOUT5PZ.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{focus-3EJVFI3D.js.map → focus-DRQ6FQH6.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{history-compact-JHYVDYLW.js.map → history-compact-65YVN5DB.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{history-compact-3TNPYVFG.js.map → history-compact-7NDVP3PT.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{history-redact-KKFDICCF.js.map → history-redact-7YBL4XSG.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{history-redact-ELRL73XN.js.map → history-redact-IZGNJBU4.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{history-repair-J7WKZFAG.js.map → history-repair-7M4PYQUH.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{history-repair-REMI7DDI.js.map → history-repair-GNGETJLI.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{learnings-O6V5WDCV.js.map → learnings-3YXDRWFT.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{learnings-X4D6JCCG.js.map → learnings-ALC6IMNL.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{notes-ZSZREWZA.js.map → notes-7JMLQ447.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{notes-UQC6VS6N.js.map → notes-JFCLTC5C.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{plan-EZW2YDDY.js.map → plan-KOIPWVOZ.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{plan-5GKRBJJO.js.map → plan-T3XB3WTK.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{profile-5PQAPCLF.js.map → profile-OILJHKUW.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{profile-CW4BD3FO.js.map → profile-RJXA7PGS.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{restore-A55MLFAI.js.map → restore-L6IAGOD7.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{restore-HEQAG6EK.js.map → restore-ZH65GZFB.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{schema-Q5DAWJ2S.js.map → schema-4ERWM5QJ.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{schema-MAXAIHEC.js.map → schema-55DL3Q52.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{update-DWFXXJKP.js.map → update-FW6FKDOP.js.map} +0 -0
  598. /package/dist/cli-bundle/chunks/{update-5DTSCWVF.js.map → update-TJHSPRPT.js.map} +0 -0
  599. /package/dist/cli-bundle/chunks/{update-many-6T4ZLZS7.js.map → update-many-NNALYQCN.js.map} +0 -0
  600. /package/dist/cli-bundle/chunks/{update-many-MYRK6VBJ.js.map → update-many-PWXX5WHO.js.map} +0 -0
@@ -1,29 +1,32 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="36449c46-4651-5a6f-93c6-1065305d35d8")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="17c1b721-84a1-59e2-8865-f28ad0b84cc7")}catch(e){}}();
3
3
  import {
4
4
  EXECUTABLE_COMMAND_ALIASES,
5
5
  PM_CORE_COMMAND_NAMES
6
- } from "./chunk-JPWUZOMR.js";
6
+ } from "./chunk-UZDQXNUB.js";
7
7
  import {
8
8
  ensureTypeFolderScaffold
9
- } from "./chunk-H3YKUVDR.js";
9
+ } from "./chunk-5UX66S6U.js";
10
+ import {
11
+ ensurePmGitignore
12
+ } from "./chunk-CFHAODHQ.js";
10
13
  import {
11
14
  splitCommaList
12
15
  } from "./chunk-NETP4DY4.js";
13
16
  import {
14
17
  describeExtensionActivation,
15
18
  renderExtensionSurfaceMarkdown
16
- } from "./chunk-Q5NHJ6RO.js";
19
+ } from "./chunk-6JUTHVQS.js";
17
20
  import {
18
21
  TYPE_PRESET_NAMES,
19
22
  normalizeTypePresetName,
20
23
  resolveTypePresetDefinitions
21
- } from "./chunk-UNNCT5QY.js";
24
+ } from "./chunk-SZVB53Y3.js";
22
25
  import {
23
26
  parseItemTypesFile,
24
27
  serializeItemTypesFile,
25
28
  upsertItemType
26
- } from "./chunk-IGBBTPM5.js";
29
+ } from "./chunk-TOBGV45Y.js";
27
30
  import {
28
31
  createSerialQueue,
29
32
  getActiveExtensionRegistrations,
@@ -32,7 +35,7 @@ import {
32
35
  readSettings,
33
36
  runActiveOnWriteHooks,
34
37
  writeSettings
35
- } from "./chunk-QFG4MB7P.js";
38
+ } from "./chunk-POG76WWZ.js";
36
39
  import {
37
40
  DEFAULT_EXTENSION_PRIORITY,
38
41
  DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
@@ -64,47 +67,7 @@ import {
64
67
  resolvePmPackageRootFromModule,
65
68
  resolvePmRoot,
66
69
  writeFileAtomic
67
- } from "./chunk-D35WYXWC.js";
68
-
69
- // dist/sdk/workspace.js
70
- import { readFile, writeFile } from "node:fs/promises";
71
- import path from "node:path";
72
- var PM_GITIGNORE_START = "# pm-cli:runtime-cache:start";
73
- var PM_GITIGNORE_END = "# pm-cli:runtime-cache:end";
74
- var PM_GITIGNORE_BLOCK = [
75
- PM_GITIGNORE_START,
76
- ".agents/pm/runtime/",
77
- ".agents/pm/search/",
78
- ".agents/pm/locks/",
79
- PM_GITIGNORE_END
80
- ].join("\n");
81
- function getPmGitignoreBlock() {
82
- return PM_GITIGNORE_BLOCK;
83
- }
84
- async function ensurePmGitignore(workspaceRoot) {
85
- const gitignorePath = path.join(workspaceRoot, ".gitignore");
86
- let current = "";
87
- try {
88
- current = await readFile(gitignorePath, "utf8");
89
- } catch (error) {
90
- if (!(error instanceof Error && "code" in error && error.code === "ENOENT")) {
91
- throw error;
92
- }
93
- }
94
- const start = current.indexOf(PM_GITIGNORE_START);
95
- const end = current.indexOf(PM_GITIGNORE_END);
96
- const withoutManagedBlock = start >= 0 && end >= start ? `${current.slice(0, start)}${current.slice(end + PM_GITIGNORE_END.length)}` : current;
97
- const prefix = withoutManagedBlock.trimEnd();
98
- const next = `${prefix.length > 0 ? `${prefix}
99
-
100
- ` : ""}${PM_GITIGNORE_BLOCK}
101
- `;
102
- if (next === current) {
103
- return { path: gitignorePath, changed: false };
104
- }
105
- await writeFile(gitignorePath, next, "utf8");
106
- return { path: gitignorePath, changed: true };
107
- }
70
+ } from "./chunk-HYW67VJ5.js";
108
71
 
109
72
  // dist/sdk/command-line.js
110
73
  var quoteWindowsCommandArg = (arg) => {
@@ -138,7 +101,7 @@ var renderPmCommand = (argv, platform = process.platform) => {
138
101
 
139
102
  // dist/core/packages/manifest.js
140
103
  import fs from "node:fs/promises";
141
- import path2 from "node:path";
104
+ import path from "node:path";
142
105
  var PM_PACKAGE_RESOURCE_KINDS = [
143
106
  "extensions",
144
107
  "docs",
@@ -256,7 +219,7 @@ function normalizePackageCatalogMetadata(raw) {
256
219
  return Object.values(catalog).some((value) => value !== void 0) ? catalog : void 0;
257
220
  }
258
221
  async function readPmPackageManifest(packageRoot) {
259
- const packageJsonPath = path2.join(packageRoot, "package.json");
222
+ const packageJsonPath = path.join(packageRoot, "package.json");
260
223
  if (!await pathExists(packageJsonPath)) {
261
224
  return {
262
225
  source: "convention",
@@ -302,15 +265,15 @@ async function listExtensionManifestDirectories(parentDirectory) {
302
265
  if (!entry.isDirectory()) {
303
266
  continue;
304
267
  }
305
- const directory = path2.join(parentDirectory, entry.name);
306
- if (await pathExists(path2.join(directory, "manifest.json"))) {
268
+ const directory = path.join(parentDirectory, entry.name);
269
+ if (await pathExists(path.join(directory, "manifest.json"))) {
307
270
  candidates.push(directory);
308
271
  }
309
272
  }
310
273
  return candidates.sort((left, right) => left.localeCompare(right));
311
274
  }
312
275
  async function collectPackageExtensionDirectories(packageRoot) {
313
- if (await pathExists(path2.join(packageRoot, "manifest.json"))) {
276
+ if (await pathExists(path.join(packageRoot, "manifest.json"))) {
314
277
  return [packageRoot];
315
278
  }
316
279
  const manifest = await readPmPackageManifest(packageRoot);
@@ -320,11 +283,11 @@ async function collectPackageExtensionDirectories(packageRoot) {
320
283
  if (entry.includes("*") || entry.startsWith("!")) {
321
284
  throw new PmCliError(`Package extension entry "${entry}" uses a glob/exclusion pattern. pm package installs currently require concrete extension paths or directories.`, EXIT_CODE.USAGE);
322
285
  }
323
- const absolute = path2.resolve(packageRoot, entry);
286
+ const absolute = path.resolve(packageRoot, entry);
324
287
  if (!isPathWithinDirectory(packageRoot, absolute)) {
325
288
  throw new PmCliError(`Package extension entry "${entry}" resolves outside package root.`, EXIT_CODE.USAGE);
326
289
  }
327
- if (await pathExists(path2.join(absolute, "manifest.json"))) {
290
+ if (await pathExists(path.join(absolute, "manifest.json"))) {
328
291
  discovered.add(absolute);
329
292
  continue;
330
293
  }
@@ -334,7 +297,7 @@ async function collectPackageExtensionDirectories(packageRoot) {
334
297
  }
335
298
  if (manifestEntries.length === 0) {
336
299
  for (const root of PM_PACKAGE_CONVENTIONAL_RESOURCE_ROOTS.extensions) {
337
- for (const child of await listExtensionManifestDirectories(path2.join(packageRoot, root))) {
300
+ for (const child of await listExtensionManifestDirectories(path.join(packageRoot, root))) {
338
301
  discovered.add(child);
339
302
  }
340
303
  }
@@ -344,11 +307,11 @@ async function collectPackageExtensionDirectories(packageRoot) {
344
307
 
345
308
  // dist/sdk/extension/scaffold.js
346
309
  import fs3 from "node:fs/promises";
347
- import path4 from "node:path";
310
+ import path3 from "node:path";
348
311
 
349
312
  // dist/sdk/extension/shared.js
350
313
  import fs2 from "node:fs/promises";
351
- import path3 from "node:path";
314
+ import path2 from "node:path";
352
315
  function normalizeStringList(values) {
353
316
  return [
354
317
  ...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))
@@ -419,7 +382,7 @@ function parseExtensionManifest(raw) {
419
382
  };
420
383
  }
421
384
  async function validateExtensionDirectory(directory) {
422
- const manifestPath = path3.join(directory, "manifest.json");
385
+ const manifestPath = path2.join(directory, "manifest.json");
423
386
  if (!await pathExists(manifestPath)) {
424
387
  throw new PmCliError(`Extension manifest is missing at "${manifestPath}".`, EXIT_CODE.USAGE);
425
388
  }
@@ -433,7 +396,7 @@ async function validateExtensionDirectory(directory) {
433
396
  if (!manifest) {
434
397
  throw new PmCliError(`Extension manifest at "${manifestPath}" is invalid.`, EXIT_CODE.USAGE);
435
398
  }
436
- const entryPath = path3.resolve(directory, manifest.entry);
399
+ const entryPath = path2.resolve(directory, manifest.entry);
437
400
  if (!isPathWithinDirectory(directory, entryPath)) {
438
401
  throw new PmCliError(`Extension entry "${manifest.entry}" resolves outside extension directory "${directory}".`, EXIT_CODE.USAGE);
439
402
  }
@@ -2558,8 +2521,8 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
2558
2521
  }
2559
2522
  const style = declarative ? "declarative" : "imperative";
2560
2523
  const normalizedTarget = target.trim();
2561
- const targetPath = path4.resolve(process.cwd(), normalizedTarget);
2562
- const extensionName = normalizeManagedDirectoryName(path4.basename(targetPath));
2524
+ const targetPath = path3.resolve(process.cwd(), normalizedTarget);
2525
+ const extensionName = normalizeManagedDirectoryName(path3.basename(targetPath));
2563
2526
  const commandName = buildScaffoldCommandName(extensionName);
2564
2527
  const scaffoldFiles = buildStarterExtensionScaffoldFiles(extensionName, commandName, vocabulary, resolvedCapability, declarative);
2565
2528
  let createdDirectory = false;
@@ -2573,7 +2536,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
2573
2536
  createdDirectory = true;
2574
2537
  }
2575
2538
  for (const [relativePath, content] of Object.entries(scaffoldFiles)) {
2576
- const absolutePath = path4.join(targetPath, relativePath);
2539
+ const absolutePath = path3.join(targetPath, relativePath);
2577
2540
  if (!await pathExists(absolutePath)) {
2578
2541
  continue;
2579
2542
  }
@@ -2584,7 +2547,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
2584
2547
  }
2585
2548
  const files = [];
2586
2549
  for (const [relativePath, content] of Object.entries(scaffoldFiles)) {
2587
- const absolutePath = path4.join(targetPath, relativePath);
2550
+ const absolutePath = path3.join(targetPath, relativePath);
2588
2551
  if (await pathExists(absolutePath)) {
2589
2552
  files.push({
2590
2553
  path: relativePath,
@@ -2592,7 +2555,7 @@ async function scaffoldExtensionProject(target, vocabulary = "extension", capabi
2592
2555
  });
2593
2556
  continue;
2594
2557
  }
2595
- await fs3.mkdir(path4.dirname(absolutePath), { recursive: true });
2558
+ await fs3.mkdir(path3.dirname(absolutePath), { recursive: true });
2596
2559
  await fs3.writeFile(absolutePath, content, "utf8");
2597
2560
  files.push({
2598
2561
  path: relativePath,
@@ -2681,15 +2644,15 @@ function renderExtensionDescribeMarkdown(result, noun) {
2681
2644
 
2682
2645
  // dist/sdk/extension.js
2683
2646
  import fs9 from "node:fs/promises";
2684
- import path10 from "node:path";
2647
+ import path9 from "node:path";
2685
2648
 
2686
2649
  // dist/sdk/extension/managed-state.js
2687
2650
  import fs4 from "node:fs/promises";
2688
- import path5 from "node:path";
2651
+ import path4 from "node:path";
2689
2652
  var MANAGED_EXTENSION_STATE_FILENAME = ".managed-extensions.json";
2690
2653
  var MANAGED_EXTENSION_STATE_VERSION = 1;
2691
2654
  function resolveManagedExtensionStatePath(extensionsRoot) {
2692
- return path5.join(extensionsRoot, MANAGED_EXTENSION_STATE_FILENAME);
2655
+ return path4.join(extensionsRoot, MANAGED_EXTENSION_STATE_FILENAME);
2693
2656
  }
2694
2657
  function createEmptyManagedExtensionState() {
2695
2658
  return {
@@ -2858,13 +2821,13 @@ function upsertManagedEntry(state, entry) {
2858
2821
  import { execFile } from "node:child_process";
2859
2822
  import fs6 from "node:fs/promises";
2860
2823
  import os from "node:os";
2861
- import path7 from "node:path";
2824
+ import path6 from "node:path";
2862
2825
  import { fileURLToPath } from "node:url";
2863
2826
  import { promisify } from "node:util";
2864
2827
 
2865
2828
  // dist/sdk/extension/bundled-catalog.js
2866
2829
  import fs5 from "node:fs/promises";
2867
- import path6 from "node:path";
2830
+ import path5 from "node:path";
2868
2831
  var PM_PACKAGE_ROOT_ENV = "PM_CLI_PACKAGE_ROOT";
2869
2832
  var LEGACY_BUNDLED_PACKAGE_ALIASES = {
2870
2833
  beads: {
@@ -2881,7 +2844,7 @@ function resolvePackageRootCandidates() {
2881
2844
  const candidates = [];
2882
2845
  const envRoot = process.env[PM_PACKAGE_ROOT_ENV];
2883
2846
  if (typeof envRoot === "string" && envRoot.trim().length > 0) {
2884
- candidates.push(path6.resolve(envRoot.trim()));
2847
+ candidates.push(path5.resolve(envRoot.trim()));
2885
2848
  }
2886
2849
  candidates.push(resolvePmPackageRootFromModule(import.meta.url, ["../../.."]));
2887
2850
  return [...new Set(candidates)];
@@ -2897,8 +2860,8 @@ async function resolveBundledExtensionAliasSource(input3) {
2897
2860
  return null;
2898
2861
  }
2899
2862
  for (const packageRoot2 of resolvePackageRootCandidates()) {
2900
- const legacyExtensionPath = path6.join(packageRoot2, ".agents", "pm", "extensions", alias.legacy_extension_directory);
2901
- if (await pathExists(path6.join(legacyExtensionPath, "manifest.json"))) {
2863
+ const legacyExtensionPath = path5.join(packageRoot2, ".agents", "pm", "extensions", alias.legacy_extension_directory);
2864
+ if (await pathExists(path5.join(legacyExtensionPath, "manifest.json"))) {
2902
2865
  return legacyExtensionPath;
2903
2866
  }
2904
2867
  }
@@ -2916,8 +2879,8 @@ async function collectManifestPackageEntries(packagesRoot, entriesByAlias) {
2916
2879
  if (!entry.isDirectory() || !entry.name.startsWith("pm-")) {
2917
2880
  continue;
2918
2881
  }
2919
- const candidateRoot = path6.join(packagesRoot, entry.name);
2920
- if (!await pathExists(path6.join(candidateRoot, "package.json"))) {
2882
+ const candidateRoot = path5.join(packagesRoot, entry.name);
2883
+ if (!await pathExists(path5.join(candidateRoot, "package.json"))) {
2921
2884
  continue;
2922
2885
  }
2923
2886
  const manifest = await readPmPackageManifest(candidateRoot);
@@ -2939,7 +2902,7 @@ async function collectManifestPackageEntries(packagesRoot, entriesByAlias) {
2939
2902
  async function collectBundledPackageEntries() {
2940
2903
  const entriesByAlias = /* @__PURE__ */ new Map();
2941
2904
  for (const packageRoot of resolvePackageRootCandidates()) {
2942
- const packagesRoot = path6.join(packageRoot, "packages");
2905
+ const packagesRoot = path5.join(packageRoot, "packages");
2943
2906
  if (!await pathExists(packagesRoot)) {
2944
2907
  continue;
2945
2908
  }
@@ -2950,8 +2913,8 @@ async function collectBundledPackageEntries() {
2950
2913
  continue;
2951
2914
  }
2952
2915
  for (const packageRoot of resolvePackageRootCandidates()) {
2953
- const packagePath = path6.join(packageRoot, "packages", legacy.package_directory);
2954
- if (await pathExists(path6.join(packagePath, "package.json"))) {
2916
+ const packagePath = path5.join(packageRoot, "packages", legacy.package_directory);
2917
+ if (await pathExists(path5.join(packagePath, "package.json"))) {
2955
2918
  entriesByAlias.set(alias, {
2956
2919
  alias,
2957
2920
  package_directory: legacy.package_directory,
@@ -3014,7 +2977,7 @@ function buildBundledCatalogPackageEntry(manifest, bundledEntry, scope, installe
3014
2977
  alias: bundledEntry.alias,
3015
2978
  bundled: true,
3016
2979
  available: true,
3017
- installed: installedBuiltinAliases.has(bundledEntry.alias) || installedLocations.has(path6.resolve(bundledEntry.package_root)),
2980
+ installed: installedBuiltinAliases.has(bundledEntry.alias) || installedLocations.has(path5.resolve(bundledEntry.package_root)),
3018
2981
  install_target: bundledEntry.alias,
3019
2982
  install_command: `pm install ${bundledEntry.alias} ${installScopeFlag}`,
3020
2983
  package_name: manifest.package_name,
@@ -3039,7 +3002,7 @@ async function buildBundledPackageCatalog(scope, global, options = {}) {
3039
3002
  const roots = resolveExtensionRoots(resolvePmRoot(process.cwd(), global.path), process.cwd());
3040
3003
  const selectedRoot = scope === "global" ? roots.global : roots.project;
3041
3004
  const managedStateRead = await readManagedExtensionState(selectedRoot);
3042
- const installedLocations = new Set(managedStateRead.state.entries.filter((entry) => entry.scope === scope).filter((entry) => entry.source.kind !== "builtin").map((entry) => path6.resolve(entry.source.location)));
3005
+ const installedLocations = new Set(managedStateRead.state.entries.filter((entry) => entry.scope === scope).filter((entry) => entry.source.kind !== "builtin").map((entry) => path5.resolve(entry.source.location)));
3043
3006
  const installedBuiltinAliases = new Set(managedStateRead.state.entries.filter((entry) => entry.scope === scope && entry.source.kind === "builtin").flatMap((entry) => [
3044
3007
  entry.source.name,
3045
3008
  entry.source.input,
@@ -3209,7 +3172,7 @@ function parseExtensionInstallSource(input3, options = {}) {
3209
3172
  return {
3210
3173
  kind: "local",
3211
3174
  input: normalizedInput,
3212
- absolute_path: path7.resolve(process.cwd(), normalizedInput)
3175
+ absolute_path: path6.resolve(process.cwd(), normalizedInput)
3213
3176
  };
3214
3177
  }
3215
3178
  async function runGitCommand(args, execRunner = execFileAsync, timeoutMs) {
@@ -3317,8 +3280,8 @@ function wrapNpmPackResolutionError(spec, error) {
3317
3280
  return new PmCliError(recovery.message, EXIT_CODE.NOT_FOUND, recovery.context);
3318
3281
  }
3319
3282
  async function resolveLocalNpmPackagePath(spec) {
3320
- if (path7.isAbsolute(spec) || spec.startsWith(".") || spec.startsWith("..")) {
3321
- const absolutePath = path7.resolve(process.cwd(), spec);
3283
+ if (path6.isAbsolute(spec) || spec.startsWith(".") || spec.startsWith("..")) {
3284
+ const absolutePath = path6.resolve(process.cwd(), spec);
3322
3285
  return await pathExists(absolutePath) ? absolutePath : null;
3323
3286
  }
3324
3287
  try {
@@ -3330,7 +3293,7 @@ async function resolveLocalNpmPackagePath(spec) {
3330
3293
  } catch {
3331
3294
  }
3332
3295
  if (!/^[a-z][a-z0-9+.-]*:/i.test(spec)) {
3333
- const absolutePath = path7.resolve(process.cwd(), spec);
3296
+ const absolutePath = path6.resolve(process.cwd(), spec);
3334
3297
  if (await pathExists(absolutePath)) {
3335
3298
  return absolutePath;
3336
3299
  }
@@ -3366,7 +3329,7 @@ function normalizeNpmLocalFileAliasSpec(spec, cwd = process.cwd()) {
3366
3329
  return spec;
3367
3330
  }
3368
3331
  if (!target.startsWith("/")) {
3369
- return `${packageName}@${path7.resolve(cwd, target)}`;
3332
+ return `${packageName}@${path6.resolve(cwd, target)}`;
3370
3333
  }
3371
3334
  let decodedPath;
3372
3335
  try {
@@ -3383,7 +3346,7 @@ function parsePackedNpmPackage(stdout, packDirectory) {
3383
3346
  const first = Array.isArray(parsed) ? parsed[0] : void 0;
3384
3347
  if (first && typeof first.filename === "string" && first.filename.trim().length > 0) {
3385
3348
  return {
3386
- tarball: path7.resolve(packDirectory, first.filename),
3349
+ tarball: path6.resolve(packDirectory, first.filename),
3387
3350
  package: typeof first.name === "string" ? first.name : void 0,
3388
3351
  version: typeof first.version === "string" ? first.version : void 0
3389
3352
  };
@@ -3395,7 +3358,7 @@ function parsePackedNpmPackage(stdout, packDirectory) {
3395
3358
  throw new PmCliError("npm pack did not report a tarball filename.", EXIT_CODE.GENERIC_FAILURE);
3396
3359
  }
3397
3360
  return {
3398
- tarball: path7.resolve(packDirectory, lastLine)
3361
+ tarball: path6.resolve(packDirectory, lastLine)
3399
3362
  };
3400
3363
  }
3401
3364
  async function resolveNpmSourceDirectory(source) {
@@ -3404,7 +3367,7 @@ async function resolveNpmSourceDirectory(source) {
3404
3367
  async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
3405
3368
  const localPackageRoot = await resolveLocalNpmPackagePath(source.spec);
3406
3369
  if (localPackageRoot) {
3407
- const packageJsonPath = path7.join(localPackageRoot, "package.json");
3370
+ const packageJsonPath = path6.join(localPackageRoot, "package.json");
3408
3371
  const packageJson = await pathExists(packageJsonPath) ? JSON.parse(await fs6.readFile(packageJsonPath, "utf8")) : {};
3409
3372
  return {
3410
3373
  directory: await resolvePackageExtensionDirectory(localPackageRoot, source.input),
@@ -3414,9 +3377,9 @@ async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
3414
3377
  }
3415
3378
  };
3416
3379
  }
3417
- const tempRoot = await fs6.mkdtemp(path7.join(os.tmpdir(), "pm-npm-package-source-"));
3418
- const packDirectory = path7.join(tempRoot, "pack");
3419
- const extractDirectory = path7.join(tempRoot, "extract");
3380
+ const tempRoot = await fs6.mkdtemp(path6.join(os.tmpdir(), "pm-npm-package-source-"));
3381
+ const packDirectory = path6.join(tempRoot, "pack");
3382
+ const extractDirectory = path6.join(tempRoot, "extract");
3420
3383
  await fs6.mkdir(packDirectory, { recursive: true });
3421
3384
  await fs6.mkdir(extractDirectory, { recursive: true });
3422
3385
  try {
@@ -3430,7 +3393,7 @@ async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
3430
3393
  ]);
3431
3394
  const packed = parsePackedNpmPackage(packStdout, packDirectory);
3432
3395
  await execFileAsync("tar", ["-xzf", packed.tarball, "-C", extractDirectory], { encoding: "utf8" });
3433
- const packageRoot = path7.join(extractDirectory, "package");
3396
+ const packageRoot = path6.join(extractDirectory, "package");
3434
3397
  await installNpmPackageRuntimeDependencies(packageRoot);
3435
3398
  const directory = await resolvePackageExtensionDirectory(packageRoot, source.input);
3436
3399
  return {
@@ -3451,7 +3414,7 @@ async function resolveNpmSourceDirectoryWithRunner(source, npmRunner) {
3451
3414
  }
3452
3415
  }
3453
3416
  async function installNpmPackageRuntimeDependencies(packageRoot) {
3454
- const packageJsonPath = path7.join(packageRoot, "package.json");
3417
+ const packageJsonPath = path6.join(packageRoot, "package.json");
3455
3418
  if (!await pathExists(packageJsonPath)) {
3456
3419
  return;
3457
3420
  }
@@ -3478,8 +3441,8 @@ async function installNpmPackageRuntimeDependencies(packageRoot) {
3478
3441
  `, "utf8");
3479
3442
  try {
3480
3443
  await Promise.all([
3481
- fs6.rm(path7.join(packageRoot, "package-lock.json"), { force: true }),
3482
- fs6.rm(path7.join(packageRoot, "npm-shrinkwrap.json"), { force: true })
3444
+ fs6.rm(path6.join(packageRoot, "package-lock.json"), { force: true }),
3445
+ fs6.rm(path6.join(packageRoot, "npm-shrinkwrap.json"), { force: true })
3483
3446
  ]);
3484
3447
  if (dependencySpecs.length > 0) {
3485
3448
  await runNpmCommand([
@@ -3537,8 +3500,8 @@ async function linkHostedPmCliDependency(packageRoot) {
3537
3500
  "../../.."
3538
3501
  ]);
3539
3502
  const [scope, packageName] = PM_CLI_PACKAGE_NAME.split("/");
3540
- const scopedDirectory = path7.join(packageRoot, "node_modules", scope);
3541
- const linkPath = path7.join(scopedDirectory, packageName);
3503
+ const scopedDirectory = path6.join(packageRoot, "node_modules", scope);
3504
+ const linkPath = path6.join(scopedDirectory, packageName);
3542
3505
  await fs6.mkdir(scopedDirectory, { recursive: true });
3543
3506
  await fs6.rm(linkPath, { recursive: true, force: true });
3544
3507
  await fs6.symlink(hostPackageRoot, linkPath, resolveDirectorySymlinkType(process.platform));
@@ -3571,7 +3534,7 @@ async function resolvePackageExtensionDirectory(packageRoot, sourceLabel) {
3571
3534
  return discovered[0];
3572
3535
  }
3573
3536
  if (discovered.length > 1) {
3574
- const choices = discovered.map((entry) => path7.relative(packageRoot, entry).replaceAll(path7.sep, "/")).sort((left, right) => left.localeCompare(right));
3537
+ const choices = discovered.map((entry) => path6.relative(packageRoot, entry).replaceAll(path6.sep, "/")).sort((left, right) => left.localeCompare(right));
3575
3538
  throw new PmCliError(`Package source "${sourceLabel}" contains multiple extension manifests. Provide an explicit extension path. Candidates: ${choices.join(", ")}`, EXIT_CODE.USAGE);
3576
3539
  }
3577
3540
  throw new PmCliError(`Unable to locate a pm extension manifest in package source "${sourceLabel}". Package installs currently activate only extension resources, so add package.json pm.extensions or an extensions/ directory. Metadata-only resources like pm.docs/pm.examples are catalog metadata and do not activate commands.`, EXIT_CODE.USAGE);
@@ -3580,26 +3543,26 @@ async function resolveGithubSourceDirectory(cloneDirectory, source) {
3580
3543
  const candidatePaths = [];
3581
3544
  if (source.subpath) {
3582
3545
  candidatePaths.push(source.subpath);
3583
- candidatePaths.push(path7.posix.join(".agents/pm/extensions", source.subpath));
3584
- candidatePaths.push(path7.posix.join(".custom/pm-extensions", source.subpath));
3585
- candidatePaths.push(path7.posix.join(".custom/pm-extension", source.subpath));
3546
+ candidatePaths.push(path6.posix.join(".agents/pm/extensions", source.subpath));
3547
+ candidatePaths.push(path6.posix.join(".custom/pm-extensions", source.subpath));
3548
+ candidatePaths.push(path6.posix.join(".custom/pm-extension", source.subpath));
3586
3549
  }
3587
3550
  for (const candidate of candidatePaths) {
3588
- const absolute = path7.resolve(cloneDirectory, candidate);
3551
+ const absolute = path6.resolve(cloneDirectory, candidate);
3589
3552
  if (!isPathWithinDirectory(cloneDirectory, absolute)) {
3590
3553
  continue;
3591
3554
  }
3592
- if (await pathExists(path7.join(absolute, "manifest.json"))) {
3555
+ if (await pathExists(path6.join(absolute, "manifest.json"))) {
3593
3556
  return { directory: absolute, resolved_subpath: candidate };
3594
3557
  }
3595
3558
  }
3596
- if (await pathExists(path7.join(cloneDirectory, "manifest.json"))) {
3559
+ if (await pathExists(path6.join(cloneDirectory, "manifest.json"))) {
3597
3560
  return { directory: cloneDirectory, resolved_subpath: "." };
3598
3561
  }
3599
3562
  const discoveredDirectory = await resolvePackageExtensionDirectory(cloneDirectory, source.input);
3600
3563
  return {
3601
3564
  directory: discoveredDirectory,
3602
- resolved_subpath: path7.relative(cloneDirectory, discoveredDirectory).replaceAll(path7.sep, "/")
3565
+ resolved_subpath: path6.relative(cloneDirectory, discoveredDirectory).replaceAll(path6.sep, "/")
3603
3566
  };
3604
3567
  }
3605
3568
  function looksLikeBarePackageName(input3) {
@@ -3621,7 +3584,7 @@ async function buildLocalSourceNotFoundError(source) {
3621
3584
  let bundledAliases = [];
3622
3585
  try {
3623
3586
  const envPackageRoot = process.env.PM_CLI_PACKAGE_ROOT;
3624
- const cacheKey = typeof envPackageRoot === "string" && envPackageRoot.trim().length > 0 ? path7.resolve(envPackageRoot.trim()) : "";
3587
+ const cacheKey = typeof envPackageRoot === "string" && envPackageRoot.trim().length > 0 ? path6.resolve(envPackageRoot.trim()) : "";
3625
3588
  if (bundledPackageAliasesCache?.key !== cacheKey) {
3626
3589
  bundledPackageAliasesCache = {
3627
3590
  key: cacheKey,
@@ -3674,12 +3637,12 @@ async function resolveInstallSource(source) {
3674
3637
  source,
3675
3638
  directory: resolved.directory,
3676
3639
  cleanup: resolved.cleanup,
3677
- resolved_subpath: path7.relative(path7.dirname(resolved.directory), resolved.directory).replaceAll(path7.sep, "/"),
3640
+ resolved_subpath: path6.relative(path6.dirname(resolved.directory), resolved.directory).replaceAll(path6.sep, "/"),
3678
3641
  npm_package: resolved.package,
3679
3642
  npm_version: resolved.version
3680
3643
  };
3681
3644
  }
3682
- const cloneDirectory = await fs6.mkdtemp(path7.join(os.tmpdir(), "pm-extension-source-"));
3645
+ const cloneDirectory = await fs6.mkdtemp(path6.join(os.tmpdir(), "pm-extension-source-"));
3683
3646
  const cloneArgs = ["clone", "--depth", "1"];
3684
3647
  if (source.ref) {
3685
3648
  cloneArgs.push("--branch", source.ref);
@@ -4233,7 +4196,7 @@ function buildDoctorConsistencySummary(scope, installedExtensions, loadedExtensi
4233
4196
  import { randomUUID } from "node:crypto";
4234
4197
  import fs7 from "node:fs/promises";
4235
4198
  import os2 from "node:os";
4236
- import path8 from "node:path";
4199
+ import path7 from "node:path";
4237
4200
  var EXTENSION_INSTALL_COPY_ATTEMPTS = 3;
4238
4201
  var EXTENSION_INSTALL_LOCK_ATTEMPTS = 120;
4239
4202
  var EXTENSION_INSTALL_LOCK_DELAY_MS = 250;
@@ -4250,7 +4213,7 @@ var sleep = (ms) => new Promise((resolve) => {
4250
4213
  setTimeout(resolve, ms);
4251
4214
  });
4252
4215
  var ensureExtensionModuleTypeMarker = async (destinationDirectory) => {
4253
- const markerPath = path8.join(destinationDirectory, "package.json");
4216
+ const markerPath = path7.join(destinationDirectory, "package.json");
4254
4217
  if (await pathExists(markerPath)) {
4255
4218
  return;
4256
4219
  }
@@ -4258,25 +4221,25 @@ var ensureExtensionModuleTypeMarker = async (destinationDirectory) => {
4258
4221
  `, "utf8");
4259
4222
  };
4260
4223
  var resolveCanonicalExtensionInstallDestination = async (destinationDirectory) => {
4261
- const resolvedDestination = path8.resolve(destinationDirectory);
4262
- const destinationParent = path8.dirname(resolvedDestination);
4263
- const destinationRoot = path8.parse(destinationParent).root;
4224
+ const resolvedDestination = path7.resolve(destinationDirectory);
4225
+ const destinationParent = path7.dirname(resolvedDestination);
4226
+ const destinationRoot = path7.parse(destinationParent).root;
4264
4227
  let canonicalDestinationParent = await fs7.realpath(destinationRoot).catch(() => destinationRoot);
4265
- const relativeDestinationParent = path8.relative(destinationRoot, destinationParent);
4266
- const destinationSegments = relativeDestinationParent === "" ? [] : relativeDestinationParent.split(path8.sep);
4228
+ const relativeDestinationParent = path7.relative(destinationRoot, destinationParent);
4229
+ const destinationSegments = relativeDestinationParent === "" ? [] : relativeDestinationParent.split(path7.sep);
4267
4230
  for (const [index, segment] of destinationSegments.entries()) {
4268
- const candidate = path8.join(canonicalDestinationParent, segment);
4231
+ const candidate = path7.join(canonicalDestinationParent, segment);
4269
4232
  try {
4270
4233
  canonicalDestinationParent = await fs7.realpath(candidate);
4271
4234
  } catch {
4272
- canonicalDestinationParent = path8.join(canonicalDestinationParent, ...destinationSegments.slice(index));
4235
+ canonicalDestinationParent = path7.join(canonicalDestinationParent, ...destinationSegments.slice(index));
4273
4236
  break;
4274
4237
  }
4275
4238
  }
4276
- return path8.join(canonicalDestinationParent, path8.basename(resolvedDestination));
4239
+ return path7.join(canonicalDestinationParent, path7.basename(resolvedDestination));
4277
4240
  };
4278
4241
  var copyExtensionDirectoryWithoutSelfNesting = async (sourceDirectory, destinationDirectory, copyDirectory, temporaryDirectory = os2.tmpdir()) => {
4279
- const resolvedSource = path8.resolve(sourceDirectory);
4242
+ const resolvedSource = path7.resolve(sourceDirectory);
4280
4243
  const canonicalSource = await fs7.realpath(resolvedSource).catch(() => resolvedSource);
4281
4244
  const canonicalDestination = await resolveCanonicalExtensionInstallDestination(destinationDirectory);
4282
4245
  if (canonicalSource === canonicalDestination) {
@@ -4289,13 +4252,13 @@ var copyExtensionDirectoryWithoutSelfNesting = async (sourceDirectory, destinati
4289
4252
  });
4290
4253
  return;
4291
4254
  }
4292
- const systemTempDirectory = path8.resolve(temporaryDirectory);
4293
- const stagingBase = isPathWithinDirectory(canonicalSource, systemTempDirectory) ? path8.dirname(canonicalSource) : systemTempDirectory;
4255
+ const systemTempDirectory = await fs7.realpath(path7.resolve(temporaryDirectory)).catch(() => resolveCanonicalExtensionInstallDestination(temporaryDirectory));
4256
+ const stagingBase = isPathWithinDirectory(canonicalSource, systemTempDirectory) ? path7.dirname(canonicalSource) : systemTempDirectory;
4294
4257
  if (isPathWithinDirectory(canonicalSource, stagingBase)) {
4295
4258
  throw new PmCliError(`Extension source "${sourceDirectory}" contains its install destination and no external staging directory is available. Install a narrower package directory instead.`, EXIT_CODE.USAGE, { code: "extension_install_source_contains_destination" });
4296
4259
  }
4297
- const stagingRoot = await fs7.mkdtemp(path8.join(stagingBase, "pm-extension-copy-"));
4298
- const stagedDirectory = path8.join(stagingRoot, "extension");
4260
+ const stagingRoot = await fs7.mkdtemp(path7.join(stagingBase, "pm-extension-copy-"));
4261
+ const stagedDirectory = path7.join(stagingRoot, "extension");
4299
4262
  try {
4300
4263
  await copyDirectory(sourceDirectory, stagedDirectory, {
4301
4264
  recursive: true,
@@ -4326,7 +4289,7 @@ var copyExtensionDirectoryForInstall = async (sourceDirectory, destinationDirect
4326
4289
  var readExtensionInstallLockOwnerToken = async (lockPath) => {
4327
4290
  let ownerContents;
4328
4291
  try {
4329
- ownerContents = await fs7.readFile(path8.join(lockPath, "owner.json"), "utf8");
4292
+ ownerContents = await fs7.readFile(path7.join(lockPath, "owner.json"), "utf8");
4330
4293
  } catch (error) {
4331
4294
  if (!isErrnoCode(error, "ENOENT"))
4332
4295
  throw error;
@@ -4389,7 +4352,7 @@ var startExtensionInstallLockHeartbeat = (lockPath, ownerToken, intervalMs) => {
4389
4352
  var createExtensionInstallLock = async (lockPath, owner) => {
4390
4353
  await fs7.mkdir(lockPath);
4391
4354
  try {
4392
- await fs7.writeFile(path8.join(lockPath, "owner.json"), `${JSON.stringify(owner, null, 2)}
4355
+ await fs7.writeFile(path7.join(lockPath, "owner.json"), `${JSON.stringify(owner, null, 2)}
4393
4356
  `, "utf8");
4394
4357
  } catch (error) {
4395
4358
  await fs7.rm(lockPath, { recursive: true, force: true }).catch(() => {
@@ -4416,8 +4379,8 @@ var acquireExtensionInstallLock = async (lockPath, owner, attempts, delayMs, sta
4416
4379
  return false;
4417
4380
  };
4418
4381
  var withExtensionInstallLock = async (settingsRoot, destinationDirectoryName, run, options) => {
4419
- const lockRoot = path8.join(settingsRoot, "runtime", "extension-install-locks");
4420
- const lockPath = path8.join(lockRoot, "scope.lock");
4382
+ const lockRoot = path7.join(settingsRoot, "runtime", "extension-install-locks");
4383
+ const lockPath = path7.join(lockRoot, "scope.lock");
4421
4384
  await fs7.mkdir(lockRoot, { recursive: true });
4422
4385
  const { attempts: rawAttempts = EXTENSION_INSTALL_LOCK_ATTEMPTS, delay_ms: rawDelayMs = EXTENSION_INSTALL_LOCK_DELAY_MS, stale_ms: rawStaleMs = EXTENSION_INSTALL_LOCK_STALE_MS, heartbeat_ms: rawHeartbeatMs } = options ?? {};
4423
4386
  if (![rawAttempts, rawDelayMs, rawStaleMs, rawHeartbeatMs].filter((value) => value !== void 0).every(Number.isFinite)) {
@@ -4518,7 +4481,7 @@ var checkGithubUpdate = async (source, gitCommandRunner = runGitCommand) => {
4518
4481
 
4519
4482
  // dist/sdk/extension/install-snapshot.js
4520
4483
  import fs8 from "node:fs/promises";
4521
- import path9 from "node:path";
4484
+ import path8 from "node:path";
4522
4485
  var readOptionalMetadataFile = async (filePath) => fs8.readFile(filePath).catch((error) => {
4523
4486
  if (isErrnoCode(error, "ENOENT"))
4524
4487
  return null;
@@ -4562,7 +4525,7 @@ var restoreExtensionInstallSnapshot = async (snapshot) => {
4562
4525
  if (contents === null) {
4563
4526
  await fs8.rm(filePath, { force: true });
4564
4527
  } else {
4565
- await fs8.mkdir(path9.dirname(filePath), { recursive: true });
4528
+ await fs8.mkdir(path8.dirname(filePath), { recursive: true });
4566
4529
  await fs8.writeFile(filePath, contents);
4567
4530
  }
4568
4531
  }
@@ -4962,8 +4925,8 @@ var buildMissingManifestInspection = (directoryName, scope, settings, managedEnt
4962
4925
  };
4963
4926
  };
4964
4927
  var inspectInstalledExtensionDirectory = async (extensionsRoot, directoryName, scope, settings, managedByName, managedByDirectory) => {
4965
- const extensionDirectory = path10.join(extensionsRoot, directoryName);
4966
- const manifestPath = path10.join(extensionDirectory, "manifest.json");
4928
+ const extensionDirectory = path9.join(extensionsRoot, directoryName);
4929
+ const manifestPath = path9.join(extensionDirectory, "manifest.json");
4967
4930
  const managedDirectoryEntry = managedByDirectory.get(normalizeExtensionNameForMatch(directoryName));
4968
4931
  if (!await pathExists(manifestPath)) {
4969
4932
  return buildMissingManifestInspection(directoryName, scope, settings, managedDirectoryEntry);
@@ -5135,7 +5098,7 @@ var adoptUnmanagedExtensions = async (extensionsRoot, scope, installedExtensions
5135
5098
  let nextState = state;
5136
5099
  const adoptedEntries = [];
5137
5100
  for (const candidate of sortedCandidates) {
5138
- const extensionDirectory = path10.join(extensionsRoot, candidate.directory);
5101
+ const extensionDirectory = path9.join(extensionsRoot, candidate.directory);
5139
5102
  const validated = await validateExtensionDirectory(extensionDirectory);
5140
5103
  const now = nowIso();
5141
5104
  const sourceRecord = {
@@ -5543,12 +5506,12 @@ var persistExtensionInstall = async (ctx, input3) => {
5543
5506
  const settings = await readSettings(resolvedRoots.settings_root);
5544
5507
  const managedStateRead = await readManagedExtensionState(resolvedRoots.selected_root);
5545
5508
  warnings.push(...managedStateRead.warnings);
5546
- const destinationDirectory = path10.join(resolvedRoots.selected_root, destinationDirectoryName);
5509
+ const destinationDirectory = path9.join(resolvedRoots.selected_root, destinationDirectoryName);
5547
5510
  const destinationExists = await pathExists(destinationDirectory);
5548
5511
  const installInPlace = await areDirectoriesEquivalent(validated.directory, destinationDirectory);
5549
5512
  await fs9.mkdir(resolvedRoots.selected_root, { recursive: true });
5550
- const backupRoot = await fs9.mkdtemp(path10.join(resolvedRoots.selected_root, ".pm-extension-install-backup-"));
5551
- const backupDirectory = path10.join(backupRoot, "destination");
5513
+ const backupRoot = await fs9.mkdtemp(path9.join(resolvedRoots.selected_root, ".pm-extension-install-backup-"));
5514
+ const backupDirectory = path9.join(backupRoot, "destination");
5552
5515
  try {
5553
5516
  const snapshot = await captureExtensionInstallSnapshot(resolvedRoots.selected_root, resolvedRoots.settings_root, destinationDirectory, destinationExists, backupDirectory);
5554
5517
  const sourceRecord = buildInstallManagedSource(input3.bundledAliasName, input3.bundledPackageName, input3.installSource, input3.resolvedSource);
@@ -5849,7 +5812,7 @@ var runExtensionAdoptAction = async (ctx) => {
5849
5812
  }
5850
5813
  });
5851
5814
  }
5852
- const extensionDirectory = path10.join(resolvedRoots.selected_root, candidate.directory);
5815
+ const extensionDirectory = path9.join(resolvedRoots.selected_root, candidate.directory);
5853
5816
  const validated = await validateExtensionDirectory(extensionDirectory);
5854
5817
  const now = nowIso();
5855
5818
  const sourceRecord = buildAdoptedExtensionSource(githubOption, extensionTarget, extensionDirectory, options.ref);
@@ -5897,7 +5860,7 @@ var resolveRequiredInstalledExtension = async (ctx) => {
5897
5860
  var runExtensionUninstallAction = async (ctx) => {
5898
5861
  const { resolvedRoots, withResult } = ctx;
5899
5862
  const { settings, managedStateRead, candidate } = await resolveRequiredInstalledExtension(ctx);
5900
- const destinationDirectory = path10.join(resolvedRoots.selected_root, candidate.directory);
5863
+ const destinationDirectory = path9.join(resolvedRoots.selected_root, candidate.directory);
5901
5864
  await fs9.rm(destinationDirectory, { recursive: true, force: true });
5902
5865
  const updatedState = {
5903
5866
  ...managedStateRead.state,
@@ -6389,7 +6352,7 @@ var dispatchExtensionAction = (ctx) => requiresExtensionStateLock(ctx) ? withExt
6389
6352
 
6390
6353
  // dist/sdk/init-agent-guidance.js
6391
6354
  import fs10 from "node:fs/promises";
6392
- import path11 from "node:path";
6355
+ import path10 from "node:path";
6393
6356
  import readline from "node:readline/promises";
6394
6357
  import { stdin as input, stdout as output } from "node:process";
6395
6358
  var INIT_AGENT_GUIDANCE_MODE_VALUES = [
@@ -6440,11 +6403,11 @@ function setAgentGuidanceReadlineFactoryForTests(factory) {
6440
6403
  createAgentGuidanceReadlineInterface = factory ?? (() => readline.createInterface({ input, output }));
6441
6404
  }
6442
6405
  function toPortableRelativePath(projectRoot, targetPath) {
6443
- const relative = path11.relative(projectRoot, targetPath);
6406
+ const relative = path10.relative(projectRoot, targetPath);
6444
6407
  if (relative.length === 0) {
6445
- return path11.basename(targetPath);
6408
+ return path10.basename(targetPath);
6446
6409
  }
6447
- return relative.split(path11.sep).join("/");
6410
+ return relative.split(path10.sep).join("/");
6448
6411
  }
6449
6412
  function ensureTrailingNewline(value) {
6450
6413
  return value.endsWith("\n") ? value : `${value}
@@ -6507,14 +6470,14 @@ function upsertAgentGuidanceBlock(existingContent) {
6507
6470
  };
6508
6471
  }
6509
6472
  function resolveProjectRoot(pmRoot, cwd) {
6510
- const parent = path11.dirname(pmRoot);
6511
- if (path11.basename(pmRoot) === "pm" && path11.basename(parent) === ".agents") {
6512
- return path11.dirname(parent);
6473
+ const parent = path10.dirname(pmRoot);
6474
+ if (path10.basename(pmRoot) === "pm" && path10.basename(parent) === ".agents") {
6475
+ return path10.dirname(parent);
6513
6476
  }
6514
- return path11.resolve(cwd, pmRoot);
6477
+ return path10.resolve(cwd, pmRoot);
6515
6478
  }
6516
6479
  function resolveTargetGuidancePath(scans, projectRoot) {
6517
- const existingAgents = scans.find((entry) => path11.basename(entry.file_path) === "AGENTS.md" && entry.exists);
6480
+ const existingAgents = scans.find((entry) => path10.basename(entry.file_path) === "AGENTS.md" && entry.exists);
6518
6481
  if (existingAgents) {
6519
6482
  return existingAgents.file_path;
6520
6483
  }
@@ -6522,7 +6485,7 @@ function resolveTargetGuidancePath(scans, projectRoot) {
6522
6485
  if (existingAny) {
6523
6486
  return existingAny.file_path;
6524
6487
  }
6525
- return path11.join(projectRoot, "AGENTS.md");
6488
+ return path10.join(projectRoot, "AGENTS.md");
6526
6489
  }
6527
6490
  function parsePromptChoice(answer, currentDefault) {
6528
6491
  const normalized = answer.trim().toLowerCase();
@@ -6564,7 +6527,7 @@ function normalizeAgentGuidanceState(settings) {
6564
6527
  async function scanGuidanceFiles(projectRoot) {
6565
6528
  const scans = [];
6566
6529
  for (const filename of AGENT_GUIDANCE_TARGET_FILENAMES) {
6567
- const filePath = path11.join(projectRoot, filename);
6530
+ const filePath = path10.join(projectRoot, filename);
6568
6531
  const exists = await pathExists(filePath);
6569
6532
  if (!exists) {
6570
6533
  scans.push({
@@ -6792,7 +6755,7 @@ async function runInitAgentGuidance(options) {
6792
6755
 
6793
6756
  // dist/sdk/init.js
6794
6757
  import fs11 from "node:fs/promises";
6795
- import path12 from "node:path";
6758
+ import path11 from "node:path";
6796
6759
  import readline2 from "node:readline/promises";
6797
6760
  import { stdin as input2, stdout as output2 } from "node:process";
6798
6761
  import { hostname, userInfo } from "node:os";
@@ -6896,7 +6859,7 @@ function isPathLikeInitTarget(rawValue) {
6896
6859
  if (trimmed.length === 0) {
6897
6860
  return false;
6898
6861
  }
6899
- return path12.isAbsolute(trimmed) || /^[a-z]:/iu.test(trimmed) || trimmed.startsWith(".") || trimmed.includes("/") || trimmed.includes("\\");
6862
+ return path11.isAbsolute(trimmed) || /^[a-z]:/iu.test(trimmed) || trimmed.startsWith(".") || trimmed.includes("/") || trimmed.includes("\\");
6900
6863
  }
6901
6864
  function resolveInitInvocation(cwd, global, prefixArg, workspaceArg) {
6902
6865
  const normalizedWorkspace = workspaceArg?.trim();
@@ -6907,8 +6870,8 @@ function resolveInitInvocation(cwd, global, prefixArg, workspaceArg) {
6907
6870
  if (global.path !== void 0 || isPathLikeInitTarget(prefixArg)) {
6908
6871
  throw new PmCliError("--workspace cannot be combined with --pm-path/--path or a path-like positional target.", EXIT_CODE.USAGE);
6909
6872
  }
6910
- const workspaceRoot = path12.resolve(cwd, normalizedWorkspace);
6911
- const pmRoot2 = path12.join(workspaceRoot, ".agents", "pm");
6873
+ const workspaceRoot = path11.resolve(cwd, normalizedWorkspace);
6874
+ const pmRoot2 = path11.join(workspaceRoot, ".agents", "pm");
6912
6875
  return {
6913
6876
  pmRoot: pmRoot2,
6914
6877
  prefixArg,
@@ -6920,7 +6883,7 @@ function resolveInitInvocation(cwd, global, prefixArg, workspaceArg) {
6920
6883
  };
6921
6884
  }
6922
6885
  if (global.path === void 0 && isPathLikeInitTarget(prefixArg)) {
6923
- const positionalTarget = path12.resolve(cwd, prefixArg.trim());
6886
+ const positionalTarget = path11.resolve(cwd, prefixArg.trim());
6924
6887
  return {
6925
6888
  pmRoot: positionalTarget,
6926
6889
  prefixArg: void 0,
@@ -7042,10 +7005,10 @@ async function isLikelyWorkspaceRoot(candidate) {
7042
7005
  "package.json",
7043
7006
  "pnpm-workspace.yaml",
7044
7007
  "AGENTS.md",
7045
- path12.join(".agents", "pm")
7008
+ path11.join(".agents", "pm")
7046
7009
  ];
7047
7010
  for (const indicator of indicators) {
7048
- if (await pathExists(path12.join(candidate, indicator))) {
7011
+ if (await pathExists(path11.join(candidate, indicator))) {
7049
7012
  return true;
7050
7013
  }
7051
7014
  }
@@ -7055,13 +7018,13 @@ async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, explicitTrack
7055
7018
  if (!explicitTrackerTarget || force) {
7056
7019
  return;
7057
7020
  }
7058
- if (await pathExists(path12.join(pmRoot, "settings.json"))) {
7021
+ if (await pathExists(path11.join(pmRoot, "settings.json"))) {
7059
7022
  return;
7060
7023
  }
7061
7024
  if (!await isLikelyWorkspaceRoot(pmRoot)) {
7062
7025
  return;
7063
7026
  }
7064
- const nestedTracker = path12.join(pmRoot, ".agents", "pm");
7027
+ const nestedTracker = path11.join(pmRoot, ".agents", "pm");
7065
7028
  throw new PmCliError(`Refusing to initialize tracker files directly in workspace root "${pmRoot}".`, EXIT_CODE.USAGE, {
7066
7029
  code: "workspace_root_pm_path",
7067
7030
  type: "urn:pm-cli:error:workspace_root_pm_path",
@@ -7085,7 +7048,7 @@ async function ensureInitDirectories(pmRoot, subdirs) {
7085
7048
  const createdDirs = [];
7086
7049
  const warnings = [];
7087
7050
  for (const subdir of subdirs) {
7088
- const target = subdir ? path12.join(pmRoot, subdir) : pmRoot;
7051
+ const target = subdir ? path11.join(pmRoot, subdir) : pmRoot;
7089
7052
  const existed = await pathExists(target);
7090
7053
  await fs11.mkdir(target, { recursive: true });
7091
7054
  if (existed) {
@@ -7320,10 +7283,10 @@ async function ensureInitTypeDirectories(params) {
7320
7283
  params.warnings.push(...scaffold.warnings);
7321
7284
  }
7322
7285
  function resolveInitWorkspaceRoot(target) {
7323
- const trackerRoot = path12.resolve(target.tracker_root);
7324
- const agentsRoot = path12.dirname(trackerRoot);
7325
- if (path12.basename(trackerRoot) === "pm" && path12.basename(agentsRoot) === ".agents") {
7326
- return path12.dirname(agentsRoot);
7286
+ const trackerRoot = path11.resolve(target.tracker_root);
7287
+ const agentsRoot = path11.dirname(trackerRoot);
7288
+ if (path11.basename(trackerRoot) === "pm" && path11.basename(agentsRoot) === ".agents") {
7289
+ return path11.dirname(agentsRoot);
7327
7290
  }
7328
7291
  return target.workspace_root;
7329
7292
  }
@@ -7380,7 +7343,7 @@ async function runInit(prefixArg, global, options = {}) {
7380
7343
  const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);
7381
7344
  createdDirs.push(...baseDirs.createdDirs);
7382
7345
  warnings.push(...baseDirs.warnings);
7383
- const settingsPath = path12.join(pmRoot, "settings.json");
7346
+ const settingsPath = path11.join(pmRoot, "settings.json");
7384
7347
  const settingsExists = await pathExists(settingsPath);
7385
7348
  const settingsResolution = await resolveInitSettings({
7386
7349
  pmRoot,
@@ -7415,7 +7378,7 @@ async function runInit(prefixArg, global, options = {}) {
7415
7378
  }
7416
7379
  await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });
7417
7380
  if (workspaceRoot) {
7418
- const gitignore = await ensurePmGitignore(workspaceRoot);
7381
+ const gitignore = await ensurePmGitignore(workspaceRoot, { pmRoot });
7419
7382
  if (gitignore.changed) {
7420
7383
  warnings.push(`updated:gitignore:${gitignore.path}`);
7421
7384
  }
@@ -7444,10 +7407,6 @@ async function runInit(prefixArg, global, options = {}) {
7444
7407
  }
7445
7408
 
7446
7409
  export {
7447
- PM_GITIGNORE_START,
7448
- PM_GITIGNORE_END,
7449
- getPmGitignoreBlock,
7450
- ensurePmGitignore,
7451
7410
  quoteWindowsCommandArg,
7452
7411
  quoteCommandArg,
7453
7412
  renderPmCommand,
@@ -7470,6 +7429,6 @@ export {
7470
7429
  _testOnly2,
7471
7430
  runInit
7472
7431
  };
7473
- //# sourceMappingURL=chunk-MI3346YW.js.map
7432
+ //# sourceMappingURL=chunk-QANSTTC7.js.map
7474
7433
 
7475
- //# debugId=36449c46-4651-5a6f-93c6-1065305d35d8
7434
+ //# debugId=17c1b721-84a1-59e2-8865-f28ad0b84cc7