@unbrained/pm-cli 2026.7.5 → 2026.7.7

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 (597) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/cli/commands/annotation-command.d.ts +1 -0
  3. package/dist/cli/commands/annotation-command.js +29 -2
  4. package/dist/cli/commands/annotation-command.js.map +1 -1
  5. package/dist/cli/commands/comments.js +3 -4
  6. package/dist/cli/commands/comments.js.map +1 -1
  7. package/dist/cli/commands/extension/bundled-catalog.d.ts +3 -0
  8. package/dist/cli/commands/extension/bundled-catalog.js +38 -28
  9. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  10. package/dist/cli/commands/extension/install-sources.js +81 -18
  11. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  12. package/dist/cli/commands/health.js +9 -5
  13. package/dist/cli/commands/health.js.map +1 -1
  14. package/dist/cli/commands/learnings.js +5 -3
  15. package/dist/cli/commands/learnings.js.map +1 -1
  16. package/dist/cli/commands/notes.js +5 -3
  17. package/dist/cli/commands/notes.js.map +1 -1
  18. package/dist/cli/commands/reindex.js +4 -3
  19. package/dist/cli/commands/reindex.js.map +1 -1
  20. package/dist/cli/commands/search.js +3 -3
  21. package/dist/cli/commands/search.js.map +1 -1
  22. package/dist/cli/commands/test.d.ts +9 -0
  23. package/dist/cli/commands/test.js +144 -105
  24. package/dist/cli/commands/test.js.map +1 -1
  25. package/dist/cli/extension-command-help.js +10 -2
  26. package/dist/cli/extension-command-help.js.map +1 -1
  27. package/dist/cli/register-list-query.d.ts +1 -1
  28. package/dist/cli/register-list-query.js +18 -27
  29. package/dist/cli/register-list-query.js.map +1 -1
  30. package/dist/cli/register-operations.d.ts +0 -8
  31. package/dist/cli/register-operations.js +41 -46
  32. package/dist/cli/register-operations.js.map +1 -1
  33. package/dist/cli/register-setup.js +113 -13
  34. package/dist/cli/register-setup.js.map +1 -1
  35. package/dist/cli/registration-helpers.d.ts +5 -1
  36. package/dist/cli/registration-helpers.js +14 -2
  37. package/dist/cli/registration-helpers.js.map +1 -1
  38. package/dist/cli-bundle/chunks/append-F7WPGIQL.js +11 -0
  39. package/dist/cli-bundle/chunks/{contracts-OJEXMKVW.js → append-PVCTBVJG.js} +8 -9
  40. package/dist/cli-bundle/chunks/{chunk-PPE4YUQM.js → chunk-2APXX4TZ.js} +17 -28
  41. package/dist/cli-bundle/chunks/chunk-2APXX4TZ.js.map +1 -0
  42. package/dist/cli-bundle/chunks/{docs-S6UTOTO5.js → chunk-2LEJGRQ7.js} +3 -12
  43. package/dist/cli-bundle/chunks/{docs-S6UTOTO5.js.map → chunk-2LEJGRQ7.js.map} +1 -1
  44. package/dist/cli-bundle/chunks/{chunk-T3ABIMGW.js → chunk-2TILG6F2.js} +3 -3
  45. package/dist/cli-bundle/chunks/{chunk-S5AYOUT5.js → chunk-3G6UMXT3.js} +6 -8
  46. package/dist/cli-bundle/chunks/{chunk-S5AYOUT5.js.map → chunk-3G6UMXT3.js.map} +1 -1
  47. package/dist/cli-bundle/chunks/{chunk-RCT3YJOK.js → chunk-3TYOW6RR.js} +8 -8
  48. package/dist/cli-bundle/chunks/{chunk-3JZNEQBA.js → chunk-3X542TEY.js} +7 -7
  49. package/dist/cli-bundle/chunks/{history-repair-EVTO6LIH.js → chunk-42LXP4VO.js} +14 -21
  50. package/dist/cli-bundle/chunks/{history-repair-EVTO6LIH.js.map → chunk-42LXP4VO.js.map} +1 -1
  51. package/dist/cli-bundle/chunks/{chunk-5J2XPTAD.js → chunk-43SIHQND.js} +36 -15
  52. package/dist/cli-bundle/chunks/chunk-43SIHQND.js.map +7 -0
  53. package/dist/cli-bundle/chunks/{history-repair-4N6SDVHK.js → chunk-43UQN754.js} +12 -19
  54. package/dist/cli-bundle/chunks/{history-repair-4N6SDVHK.js.map → chunk-43UQN754.js.map} +1 -1
  55. package/dist/cli-bundle/chunks/{chunk-OWTIRHX4.js → chunk-43YSKY75.js} +4 -6
  56. package/dist/cli-bundle/chunks/{chunk-OWTIRHX4.js.map → chunk-43YSKY75.js.map} +1 -1
  57. package/dist/cli-bundle/chunks/{notes-72YXN5JX.js → chunk-4BKDAEDF.js} +6 -13
  58. package/dist/cli-bundle/chunks/{notes-72YXN5JX.js.map → chunk-4BKDAEDF.js.map} +2 -2
  59. package/dist/cli-bundle/chunks/{close-many-AP4MWU36.js → chunk-4IQKDKGE.js} +18 -32
  60. package/dist/cli-bundle/chunks/{close-many-AP4MWU36.js.map → chunk-4IQKDKGE.js.map} +1 -1
  61. package/dist/cli-bundle/chunks/{chunk-ZCJAA3JK.js → chunk-4MZOKTI2.js} +6 -8
  62. package/dist/cli-bundle/chunks/{chunk-ZCJAA3JK.js.map → chunk-4MZOKTI2.js.map} +1 -1
  63. package/dist/cli-bundle/chunks/{chunk-IJ6CO3JV.js → chunk-52NS7JDP.js} +14 -20
  64. package/dist/cli-bundle/chunks/{chunk-IJ6CO3JV.js.map → chunk-52NS7JDP.js.map} +1 -1
  65. package/dist/cli-bundle/chunks/{chunk-T3F4DF23.js → chunk-565WYS5W.js} +12 -16
  66. package/dist/cli-bundle/chunks/{chunk-T3F4DF23.js.map → chunk-565WYS5W.js.map} +1 -1
  67. package/dist/cli-bundle/chunks/{copy-OTJOWFL6.js → chunk-5FIQ4EX3.js} +13 -19
  68. package/dist/cli-bundle/chunks/{copy-OTJOWFL6.js.map → chunk-5FIQ4EX3.js.map} +1 -1
  69. package/dist/cli-bundle/chunks/{config-V57QD47V.js → chunk-6G6O3OPQ.js} +259 -41
  70. package/dist/cli-bundle/chunks/chunk-6G6O3OPQ.js.map +1 -0
  71. package/dist/cli-bundle/chunks/{chunk-K3AGVXSF.js → chunk-6LCJRGPD.js} +9 -13
  72. package/dist/cli-bundle/chunks/{chunk-K3AGVXSF.js.map → chunk-6LCJRGPD.js.map} +1 -1
  73. package/dist/cli-bundle/chunks/{chunk-7MDXZAZS.js → chunk-6UQCNWFV.js} +6 -8
  74. package/dist/cli-bundle/chunks/{chunk-7MDXZAZS.js.map → chunk-6UQCNWFV.js.map} +1 -1
  75. package/dist/cli-bundle/chunks/{chunk-LEKT4K7I.js → chunk-6XTSYPPO.js} +1216 -387
  76. package/dist/cli-bundle/chunks/chunk-6XTSYPPO.js.map +7 -0
  77. package/dist/cli-bundle/chunks/chunk-7ML7JONU.js +5434 -0
  78. package/dist/cli-bundle/chunks/chunk-7ML7JONU.js.map +1 -0
  79. package/dist/cli-bundle/chunks/{chunk-TSPKZRRW.js → chunk-7PNQA24K.js} +30 -36
  80. package/dist/cli-bundle/chunks/{chunk-TSPKZRRW.js.map → chunk-7PNQA24K.js.map} +1 -1
  81. package/dist/cli-bundle/chunks/{chunk-YOF5VPKM.js → chunk-7VQ3JJN5.js} +2 -2
  82. package/dist/cli-bundle/chunks/{chunk-BFVHCAOO.js → chunk-7Y5N34HX.js} +8 -12
  83. package/dist/cli-bundle/chunks/{chunk-BFVHCAOO.js.map → chunk-7Y5N34HX.js.map} +1 -1
  84. package/dist/cli-bundle/chunks/{chunk-P5TFTLWW.js → chunk-AGAVEDIE.js} +7 -7
  85. package/dist/cli-bundle/chunks/{chunk-YFIE7YK6.js → chunk-AJUON7E6.js} +3 -3
  86. package/dist/cli-bundle/chunks/{close-many-OMZIGZB4.js → chunk-ARKHKYYS.js} +16 -30
  87. package/dist/cli-bundle/chunks/{close-many-OMZIGZB4.js.map → chunk-ARKHKYYS.js.map} +1 -1
  88. package/dist/cli-bundle/chunks/{chunk-7EQNAZX2.js → chunk-C5ACVMOI.js} +99 -51
  89. package/dist/cli-bundle/chunks/chunk-C5ACVMOI.js.map +7 -0
  90. package/dist/cli-bundle/chunks/{chunk-PJ3A56YF.js → chunk-CJQM7O7R.js} +16 -20
  91. package/dist/cli-bundle/chunks/{chunk-PJ3A56YF.js.map → chunk-CJQM7O7R.js.map} +1 -1
  92. package/dist/cli-bundle/chunks/{chunk-WISPVC2E.js → chunk-D2DCTFTL.js} +7 -9
  93. package/dist/cli-bundle/chunks/{chunk-WISPVC2E.js.map → chunk-D2DCTFTL.js.map} +1 -1
  94. package/dist/cli-bundle/chunks/{append-CZGUZ45Q.js → chunk-DDDWVPID.js} +7 -11
  95. package/dist/cli-bundle/chunks/{append-CZGUZ45Q.js.map → chunk-DDDWVPID.js.map} +1 -1
  96. package/dist/cli-bundle/chunks/{learnings-2HTPZNGZ.js → chunk-DG6BSXZ7.js} +6 -13
  97. package/dist/cli-bundle/chunks/{learnings-2HTPZNGZ.js.map → chunk-DG6BSXZ7.js.map} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-7WYXBPYQ.js → chunk-DR2V5OIV.js} +3 -3
  99. package/dist/cli-bundle/chunks/{chunk-YQMMMONE.js → chunk-E3LWJUGF.js} +4 -6
  100. package/dist/cli-bundle/chunks/{chunk-YQMMMONE.js.map → chunk-E3LWJUGF.js.map} +1 -1
  101. package/dist/cli-bundle/chunks/{chunk-D3UCE7RW.js → chunk-E3YQFSFE.js} +6 -10
  102. package/dist/cli-bundle/chunks/{chunk-D3UCE7RW.js.map → chunk-E3YQFSFE.js.map} +1 -1
  103. package/dist/cli-bundle/chunks/{chunk-PDXT6Q55.js → chunk-EDO7VXSO.js} +2 -2
  104. package/dist/cli-bundle/chunks/{chunk-FDBARR33.js → chunk-EIUBK2LT.js} +12 -18
  105. package/dist/cli-bundle/chunks/{chunk-FDBARR33.js.map → chunk-EIUBK2LT.js.map} +1 -1
  106. package/dist/cli-bundle/chunks/{chunk-HBYZDSK5.js → chunk-EMXPI36L.js} +14 -20
  107. package/dist/cli-bundle/chunks/{chunk-HBYZDSK5.js.map → chunk-EMXPI36L.js.map} +1 -1
  108. package/dist/cli-bundle/chunks/{chunk-4OFLJHX6.js → chunk-EOUVR7JN.js} +13 -8
  109. package/dist/cli-bundle/chunks/chunk-EOUVR7JN.js.map +1 -0
  110. package/dist/cli-bundle/chunks/{chunk-FUM6UMY4.js → chunk-EVEPHNXJ.js} +4 -4
  111. package/dist/cli-bundle/chunks/{deps-L2FPIAD3.js → chunk-F6MT7KKE.js} +6 -10
  112. package/dist/cli-bundle/chunks/{deps-L2FPIAD3.js.map → chunk-F6MT7KKE.js.map} +1 -1
  113. package/dist/cli-bundle/chunks/{chunk-FGQKEDE4.js → chunk-F6YC2A6X.js} +7 -11
  114. package/dist/cli-bundle/chunks/{chunk-FGQKEDE4.js.map → chunk-F6YC2A6X.js.map} +1 -1
  115. package/dist/cli-bundle/chunks/chunk-FILL6BB2.js +5514 -0
  116. package/dist/cli-bundle/chunks/chunk-FILL6BB2.js.map +7 -0
  117. package/dist/cli-bundle/chunks/{chunk-RX3HQSYG.js → chunk-FN6SB4HU.js} +2 -2
  118. package/dist/cli-bundle/chunks/chunk-GH73UOSJ.js +5359 -0
  119. package/dist/cli-bundle/chunks/chunk-GH73UOSJ.js.map +1 -0
  120. package/dist/cli-bundle/chunks/{chunk-JLA7EVYV.js → chunk-GLS6VMWI.js} +37 -16
  121. package/dist/cli-bundle/chunks/chunk-GLS6VMWI.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{files-JPU3FNJ7.js → chunk-GPIDUMMN.js} +10 -17
  123. package/dist/cli-bundle/chunks/{files-JPU3FNJ7.js.map → chunk-GPIDUMMN.js.map} +1 -1
  124. package/dist/cli-bundle/chunks/{history-compact-3F6VELO7.js → chunk-GTM5HQL4.js} +15 -21
  125. package/dist/cli-bundle/chunks/{history-compact-3F6VELO7.js.map → chunk-GTM5HQL4.js.map} +1 -1
  126. package/dist/cli-bundle/chunks/{chunk-DLQ4ZTCU.js → chunk-H2SMKL2N.js} +8 -8
  127. package/dist/cli-bundle/chunks/{chunk-S4APD35C.js → chunk-HHEWQXPD.js} +6 -6
  128. package/dist/cli-bundle/chunks/chunk-HHEWQXPD.js.map +7 -0
  129. package/dist/cli-bundle/chunks/{chunk-C3PMDWGX.js → chunk-HX6QXV5P.js} +2 -2
  130. package/dist/cli-bundle/chunks/{copy-LEE6P6EM.js → chunk-I74FMIWA.js} +11 -17
  131. package/dist/cli-bundle/chunks/{copy-LEE6P6EM.js.map → chunk-I74FMIWA.js.map} +1 -1
  132. package/dist/cli-bundle/chunks/chunk-IDIBF4E2.js +804 -0
  133. package/dist/cli-bundle/chunks/chunk-IDIBF4E2.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{comments-SAG5LSKL.js → chunk-II7R6KD4.js} +9 -13
  135. package/dist/cli-bundle/chunks/{comments-SAG5LSKL.js.map → chunk-II7R6KD4.js.map} +1 -1
  136. package/dist/cli-bundle/chunks/chunk-J2VGADNG.js +10320 -0
  137. package/dist/cli-bundle/chunks/chunk-J2VGADNG.js.map +1 -0
  138. package/dist/cli-bundle/chunks/{chunk-Y76TWC45.js → chunk-J7BOLHAV.js} +5 -7
  139. package/dist/cli-bundle/chunks/{chunk-Y76TWC45.js.map → chunk-J7BOLHAV.js.map} +1 -1
  140. package/dist/cli-bundle/chunks/{chunk-QHZO65XW.js → chunk-KTGJ2CBU.js} +4 -6
  141. package/dist/cli-bundle/chunks/{chunk-QHZO65XW.js.map → chunk-KTGJ2CBU.js.map} +1 -1
  142. package/dist/cli-bundle/chunks/{chunk-5VVUKE3U.js → chunk-LCFJ7XAM.js} +32 -2
  143. package/dist/cli-bundle/chunks/{chunk-5VVUKE3U.js.map → chunk-LCFJ7XAM.js.map} +3 -3
  144. package/dist/cli-bundle/chunks/{chunk-YMABYTNG.js → chunk-LZQU6XJG.js} +28 -34
  145. package/dist/cli-bundle/chunks/{chunk-YMABYTNG.js.map → chunk-LZQU6XJG.js.map} +1 -1
  146. package/dist/cli-bundle/chunks/{chunk-3Y4OESPP.js → chunk-M62RO3XK.js} +10 -14
  147. package/dist/cli-bundle/chunks/{chunk-3Y4OESPP.js.map → chunk-M62RO3XK.js.map} +1 -1
  148. package/dist/cli-bundle/chunks/{chunk-YPPVU5GX.js → chunk-MCEUKJKW.js} +9 -11
  149. package/dist/cli-bundle/chunks/{chunk-YPPVU5GX.js.map → chunk-MCEUKJKW.js.map} +1 -1
  150. package/dist/cli-bundle/chunks/{chunk-T5Y3QSNF.js → chunk-MHNMCDWR.js} +1447 -86
  151. package/dist/cli-bundle/chunks/chunk-MHNMCDWR.js.map +1 -0
  152. package/dist/cli-bundle/chunks/{chunk-HJE4JTKQ.js → chunk-MRFWUSVA.js} +4 -6
  153. package/dist/cli-bundle/chunks/{chunk-HJE4JTKQ.js.map → chunk-MRFWUSVA.js.map} +1 -1
  154. package/dist/cli-bundle/chunks/{chunk-P3VRG72Q.js → chunk-N6ZHDLUY.js} +6 -8
  155. package/dist/cli-bundle/chunks/{chunk-P3VRG72Q.js.map → chunk-N6ZHDLUY.js.map} +1 -1
  156. package/dist/cli-bundle/chunks/{delete-HQKGRNRZ.js → chunk-NWWL22C7.js} +8 -12
  157. package/dist/cli-bundle/chunks/{delete-HQKGRNRZ.js.map → chunk-NWWL22C7.js.map} +1 -1
  158. package/dist/cli-bundle/chunks/{chunk-N6DNM2FA.js → chunk-P3MJJW7P.js} +2 -2
  159. package/dist/cli-bundle/chunks/{chunk-5JE6SMYS.js → chunk-PDXJXEZJ.js} +2 -2
  160. package/dist/cli-bundle/chunks/{append-NSQBCXZJ.js → chunk-Q64AYQYW.js} +9 -13
  161. package/dist/cli-bundle/chunks/{append-NSQBCXZJ.js.map → chunk-Q64AYQYW.js.map} +1 -1
  162. package/dist/cli-bundle/chunks/{update-many-SLLAMHT7.js → chunk-QDABF2RB.js} +26 -47
  163. package/dist/cli-bundle/chunks/{update-many-SLLAMHT7.js.map → chunk-QDABF2RB.js.map} +1 -1
  164. package/dist/cli-bundle/chunks/{chunk-NBFCNJ7Q.js → chunk-QFBSP3NI.js} +529 -46
  165. package/dist/cli-bundle/chunks/chunk-QFBSP3NI.js.map +1 -0
  166. package/dist/cli-bundle/chunks/{focus-LFZ6IDBR.js → chunk-RB3KLPAH.js} +11 -16
  167. package/dist/cli-bundle/chunks/{focus-LFZ6IDBR.js.map → chunk-RB3KLPAH.js.map} +1 -1
  168. package/dist/cli-bundle/chunks/{chunk-YSAH5FY5.js → chunk-RY7PTTUB.js} +94 -53
  169. package/dist/cli-bundle/chunks/chunk-RY7PTTUB.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-WVSGSZ6J.js → chunk-S547WBYG.js} +1477 -86
  171. package/dist/cli-bundle/chunks/chunk-S547WBYG.js.map +7 -0
  172. package/dist/cli-bundle/chunks/{update-many-DC7X3EWM.js → chunk-S5BNGFN5.js} +24 -45
  173. package/dist/cli-bundle/chunks/{update-many-DC7X3EWM.js.map → chunk-S5BNGFN5.js.map} +1 -1
  174. package/dist/cli-bundle/chunks/{focus-WNMYCVYA.js → chunk-S6VC2A2K.js} +9 -14
  175. package/dist/cli-bundle/chunks/{focus-WNMYCVYA.js.map → chunk-S6VC2A2K.js.map} +1 -1
  176. package/dist/cli-bundle/chunks/{learnings-YBIHY3D6.js → chunk-SIM5JDON.js} +7 -14
  177. package/dist/cli-bundle/chunks/{learnings-YBIHY3D6.js.map → chunk-SIM5JDON.js.map} +1 -1
  178. package/dist/cli-bundle/chunks/{chunk-ZD34OFFQ.js → chunk-SY75LYXR.js} +12 -7
  179. package/dist/cli-bundle/chunks/chunk-SY75LYXR.js.map +7 -0
  180. package/dist/cli-bundle/chunks/{chunk-TT42JUMF.js → chunk-TEISGNSH.js} +7 -7
  181. package/dist/cli-bundle/chunks/chunk-TEISGNSH.js.map +1 -0
  182. package/dist/cli-bundle/chunks/{chunk-AAEQMOC6.js → chunk-TEKZOS7M.js} +2 -2
  183. package/dist/cli-bundle/chunks/{chunk-4QQ6PM7M.js → chunk-TGUK6XN6.js} +14 -18
  184. package/dist/cli-bundle/chunks/{chunk-4QQ6PM7M.js.map → chunk-TGUK6XN6.js.map} +1 -1
  185. package/dist/cli-bundle/chunks/{plan-R4NDQ27E.js → chunk-TNC6MZUD.js} +10 -21
  186. package/dist/cli-bundle/chunks/{plan-R4NDQ27E.js.map → chunk-TNC6MZUD.js.map} +1 -1
  187. package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js +10498 -0
  188. package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js.map +7 -0
  189. package/dist/cli-bundle/chunks/{chunk-YD5FML7K.js → chunk-UO7XAZK6.js} +27 -4
  190. package/dist/cli-bundle/chunks/chunk-UO7XAZK6.js.map +1 -0
  191. package/dist/cli-bundle/chunks/{docs-6CRCSVKK.js → chunk-V5ZWKJNY.js} +5 -14
  192. package/dist/cli-bundle/chunks/{docs-6CRCSVKK.js.map → chunk-V5ZWKJNY.js.map} +1 -1
  193. package/dist/cli-bundle/chunks/{notes-NJ7IQJX4.js → chunk-VGO73OCK.js} +7 -14
  194. package/dist/cli-bundle/chunks/{notes-NJ7IQJX4.js.map → chunk-VGO73OCK.js.map} +1 -1
  195. package/dist/cli-bundle/chunks/{chunk-NER3KUUS.js → chunk-VLEA2UTQ.js} +2 -2
  196. package/dist/cli-bundle/chunks/{files-6P57MRKL.js → chunk-W5HXHC7C.js} +8 -15
  197. package/dist/cli-bundle/chunks/{files-6P57MRKL.js.map → chunk-W5HXHC7C.js.map} +1 -1
  198. package/dist/cli-bundle/chunks/{chunk-ZMD35NYG.js → chunk-WCWVEXGA.js} +2 -2
  199. package/dist/cli-bundle/chunks/chunk-X47MKQXU.js +6690 -0
  200. package/dist/cli-bundle/chunks/chunk-X47MKQXU.js.map +7 -0
  201. package/dist/cli-bundle/chunks/{delete-62JQTYT4.js → chunk-XBX5CBRQ.js} +6 -10
  202. package/dist/cli-bundle/chunks/{delete-62JQTYT4.js.map → chunk-XBX5CBRQ.js.map} +1 -1
  203. package/dist/cli-bundle/chunks/{chunk-MTTXDAK4.js → chunk-XC3X7BQR.js} +541 -44
  204. package/dist/cli-bundle/chunks/chunk-XC3X7BQR.js.map +7 -0
  205. package/dist/cli-bundle/chunks/{history-compact-656Y2TN4.js → chunk-XHCVAZGM.js} +17 -23
  206. package/dist/cli-bundle/chunks/{history-compact-656Y2TN4.js.map → chunk-XHCVAZGM.js.map} +1 -1
  207. package/dist/cli-bundle/chunks/{chunk-ZAHXPXVY.js → chunk-XPMXPR7K.js} +7 -9
  208. package/dist/cli-bundle/chunks/{chunk-ZAHXPXVY.js.map → chunk-XPMXPR7K.js.map} +1 -1
  209. package/dist/cli-bundle/chunks/{deps-55FTG6Z5.js → chunk-XS2TMNXR.js} +8 -12
  210. package/dist/cli-bundle/chunks/{deps-55FTG6Z5.js.map → chunk-XS2TMNXR.js.map} +1 -1
  211. package/dist/cli-bundle/chunks/{plan-XWY5T67S.js → chunk-XXIYUTLK.js} +12 -23
  212. package/dist/cli-bundle/chunks/{plan-XWY5T67S.js.map → chunk-XXIYUTLK.js.map} +1 -1
  213. package/dist/cli-bundle/chunks/{chunk-7QH7DHUB.js → chunk-XZWL7VNE.js} +1220 -398
  214. package/dist/cli-bundle/chunks/chunk-XZWL7VNE.js.map +1 -0
  215. package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js +6624 -0
  216. package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js.map +1 -0
  217. package/dist/cli-bundle/chunks/{chunk-ABRA3BHY.js → chunk-Y7KYVCZM.js} +12 -18
  218. package/dist/cli-bundle/chunks/{chunk-ABRA3BHY.js.map → chunk-Y7KYVCZM.js.map} +1 -1
  219. package/dist/cli-bundle/chunks/{chunk-UI5BJ6DO.js → chunk-YCVWWIKY.js} +17 -28
  220. package/dist/cli-bundle/chunks/chunk-YCVWWIKY.js.map +7 -0
  221. package/dist/cli-bundle/chunks/chunk-YH5NBDFA.js +780 -0
  222. package/dist/cli-bundle/chunks/chunk-YH5NBDFA.js.map +1 -0
  223. package/dist/cli-bundle/chunks/chunk-YNCFP5AR.js +5509 -0
  224. package/dist/cli-bundle/chunks/chunk-YNCFP5AR.js.map +7 -0
  225. package/dist/cli-bundle/chunks/{comments-MIW5MZOX.js → chunk-YPD7SQ5P.js} +8 -12
  226. package/dist/cli-bundle/chunks/{comments-MIW5MZOX.js.map → chunk-YPD7SQ5P.js.map} +2 -2
  227. package/dist/cli-bundle/chunks/{chunk-T35XLYZF.js → chunk-YPMZMKN7.js} +2 -2
  228. package/dist/cli-bundle/chunks/{chunk-R3ZBLGTC.js → chunk-YTD5GICJ.js} +4 -4
  229. package/dist/cli-bundle/chunks/{config-DJJKZB5R.js → chunk-ZNEG2UDO.js} +264 -39
  230. package/dist/cli-bundle/chunks/{config-DJJKZB5R.js.map → chunk-ZNEG2UDO.js.map} +4 -4
  231. package/dist/cli-bundle/chunks/{chunk-EEY54JMF.js → chunk-ZO7CLOY2.js} +3 -3
  232. package/dist/cli-bundle/chunks/{close-3YRR3XY6.js → close-3YYQ5OG2.js} +5 -9
  233. package/dist/cli-bundle/chunks/close-Z3Q4U7TS.js +12 -0
  234. package/dist/cli-bundle/chunks/close-many-3L2RXH3M.js +22 -0
  235. package/dist/cli-bundle/chunks/close-many-D366FTIG.js +26 -0
  236. package/dist/cli-bundle/chunks/comments-54XDJNFE.js +17 -0
  237. package/dist/cli-bundle/chunks/comments-HGHC2PN6.js +13 -0
  238. package/dist/cli-bundle/chunks/copy-44RT5GDW.js +13 -0
  239. package/dist/cli-bundle/chunks/copy-UGMUGHZA.js +9 -0
  240. package/dist/cli-bundle/chunks/{create-XWWQFQ6S.js → create-4GWJWPXG.js} +9 -14
  241. package/dist/cli-bundle/chunks/create-AZXCUYKP.js +25 -0
  242. package/dist/cli-bundle/chunks/delete-Y6SXIQ4X.js +10 -0
  243. package/dist/cli-bundle/chunks/delete-YQ2VPXNF.js +14 -0
  244. package/dist/cli-bundle/chunks/deps-BU5EBJDU.js +17 -0
  245. package/dist/cli-bundle/chunks/deps-FMANWFRP.js +13 -0
  246. package/dist/cli-bundle/chunks/docs-OQBSJNIA.js +18 -0
  247. package/dist/cli-bundle/chunks/docs-VNPBZXEL.js +14 -0
  248. package/dist/cli-bundle/chunks/files-72HZEBOE.js +18 -0
  249. package/dist/cli-bundle/chunks/{activity-YKAKZTZ4.js → files-HTSB2KJG.js} +13 -13
  250. package/dist/cli-bundle/chunks/focus-FOG4ALC2.js +14 -0
  251. package/dist/cli-bundle/chunks/focus-SUTMKXGX.js +10 -0
  252. package/dist/cli-bundle/chunks/history-compact-M6IFAMBP.js +25 -0
  253. package/dist/cli-bundle/chunks/history-compact-NEXRPP2O.js +21 -0
  254. package/dist/cli-bundle/chunks/{history-redact-54ICFKXM.js → history-redact-NQX3OGZP.js} +7 -11
  255. package/dist/cli-bundle/chunks/history-redact-WQJBZ3PX.js +17 -0
  256. package/dist/cli-bundle/chunks/history-repair-CBHMHAJO.js +19 -0
  257. package/dist/cli-bundle/chunks/history-repair-NHOJG7WO.js +23 -0
  258. package/dist/cli-bundle/chunks/learnings-M64NTSOR.js +13 -0
  259. package/dist/cli-bundle/chunks/learnings-T63JGKKN.js +17 -0
  260. package/dist/cli-bundle/chunks/notes-73WE2UV2.js +13 -0
  261. package/dist/cli-bundle/chunks/notes-U7L6HQQ2.js +17 -0
  262. package/dist/cli-bundle/chunks/plan-OSCNYFGC.js +24 -0
  263. package/dist/cli-bundle/chunks/plan-OSCNYFGC.js.map +7 -0
  264. package/dist/cli-bundle/chunks/plan-TN537L24.js +28 -0
  265. package/dist/cli-bundle/chunks/plan-TN537L24.js.map +1 -0
  266. package/dist/cli-bundle/chunks/profile-MHAMXMHQ.js +37 -0
  267. package/dist/cli-bundle/chunks/profile-MHAMXMHQ.js.map +1 -0
  268. package/dist/cli-bundle/chunks/profile-TIGLAKJ7.js +33 -0
  269. package/dist/cli-bundle/chunks/profile-TIGLAKJ7.js.map +7 -0
  270. package/dist/cli-bundle/chunks/{register-list-query-5H66WFYF.js → register-list-query-OHXD7G5N.js} +41 -33
  271. package/dist/cli-bundle/chunks/register-list-query-OHXD7G5N.js.map +7 -0
  272. package/dist/cli-bundle/chunks/{register-list-query-FB3FNDLZ.js → register-list-query-ZCRABAPN.js} +42 -34
  273. package/dist/cli-bundle/chunks/register-list-query-ZCRABAPN.js.map +1 -0
  274. package/dist/cli-bundle/chunks/{register-mutation-UJO23C7R.js → register-mutation-P3G4XP6Q.js} +36 -41
  275. package/dist/cli-bundle/chunks/{register-mutation-UJO23C7R.js.map → register-mutation-P3G4XP6Q.js.map} +1 -1
  276. package/dist/cli-bundle/chunks/{register-mutation-Z2ETYHKS.js → register-mutation-XX4H56PE.js} +34 -39
  277. package/dist/cli-bundle/chunks/{register-mutation-Z2ETYHKS.js.map → register-mutation-XX4H56PE.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{register-operations-A3XAM5J7.js → register-operations-V6PIYEDU.js} +80 -52
  279. package/dist/cli-bundle/chunks/register-operations-V6PIYEDU.js.map +1 -0
  280. package/dist/cli-bundle/chunks/{register-operations-SG7HBSUP.js → register-operations-V6VKTG54.js} +79 -51
  281. package/dist/cli-bundle/chunks/register-operations-V6VKTG54.js.map +7 -0
  282. package/dist/cli-bundle/chunks/{register-setup-K6U3NVY5.js → register-setup-6RVAWT6W.js} +129 -31
  283. package/dist/cli-bundle/chunks/register-setup-6RVAWT6W.js.map +7 -0
  284. package/dist/cli-bundle/chunks/{register-setup-I45OGJUV.js → register-setup-6YVUSQYD.js} +130 -32
  285. package/dist/cli-bundle/chunks/register-setup-6YVUSQYD.js.map +1 -0
  286. package/dist/cli-bundle/chunks/{restore-YJ2ET6AT.js → restore-HC3YSWF7.js} +7 -11
  287. package/dist/cli-bundle/chunks/restore-HC3YSWF7.js.map +1 -0
  288. package/dist/cli-bundle/chunks/restore-LFAMMRYZ.js +15 -0
  289. package/dist/cli-bundle/chunks/restore-LFAMMRYZ.js.map +7 -0
  290. package/dist/cli-bundle/chunks/{schema-2PUXCZ25.js → schema-DAGSYO6E.js} +6 -10
  291. package/dist/cli-bundle/chunks/schema-DAGSYO6E.js.map +7 -0
  292. package/dist/cli-bundle/chunks/{schema-Y6DXXK2F.js → schema-UBXJCQAC.js} +6 -10
  293. package/dist/cli-bundle/chunks/schema-UBXJCQAC.js.map +1 -0
  294. package/dist/cli-bundle/chunks/update-CJGG5WMV.js +21 -0
  295. package/dist/cli-bundle/chunks/update-CJGG5WMV.js.map +7 -0
  296. package/dist/cli-bundle/chunks/update-LKD64AFP.js +25 -0
  297. package/dist/cli-bundle/chunks/update-LKD64AFP.js.map +1 -0
  298. package/dist/cli-bundle/chunks/update-many-G4SM7BHC.js +31 -0
  299. package/dist/cli-bundle/chunks/update-many-G4SM7BHC.js.map +7 -0
  300. package/dist/cli-bundle/chunks/update-many-VLIV3D7R.js +35 -0
  301. package/dist/cli-bundle/chunks/update-many-VLIV3D7R.js.map +1 -0
  302. package/dist/cli-bundle/main.js +29 -31
  303. package/dist/cli-bundle/main.js.map +2 -2
  304. package/dist/cli-bundle/sdk-runtime.js +136 -54
  305. package/dist/cli-bundle/sdk-testing.js +7 -8
  306. package/dist/cli-bundle/sdk.js +132 -84
  307. package/dist/cli-bundle/sdk.js.map +2 -2
  308. package/dist/core/history/drift-scan.js +3 -8
  309. package/dist/core/history/drift-scan.js.map +1 -1
  310. package/dist/core/output/mutation-projection.js +11 -5
  311. package/dist/core/output/mutation-projection.js.map +1 -1
  312. package/dist/core/search/cache.js +3 -3
  313. package/dist/core/search/cache.js.map +1 -1
  314. package/dist/core/search/semantic-defaults.d.ts +2 -0
  315. package/dist/core/search/semantic-defaults.js +11 -4
  316. package/dist/core/search/semantic-defaults.js.map +1 -1
  317. package/dist/core/search/vector-stores.d.ts +1 -1
  318. package/dist/core/search/vector-stores.js +33 -7
  319. package/dist/core/search/vector-stores.js.map +1 -1
  320. package/dist/mcp/server.d.ts +22 -50
  321. package/dist/mcp/server.js +62 -916
  322. package/dist/mcp/server.js.map +1 -1
  323. package/dist/sdk/cli-contracts/flag-contracts.js +7 -7
  324. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  325. package/dist/sdk/cli-contracts/tool-schema.js +9 -7
  326. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  327. package/dist/sdk/index.d.ts +4 -2
  328. package/dist/sdk/index.js +4 -4
  329. package/dist/sdk/index.js.map +1 -1
  330. package/dist/sdk/runtime.d.ts +312 -5
  331. package/dist/sdk/runtime.js +1391 -26
  332. package/dist/sdk/runtime.js.map +1 -1
  333. package/dist/sdk/start-task-status.d.ts +13 -0
  334. package/dist/sdk/start-task-status.js +19 -0
  335. package/dist/sdk/start-task-status.js.map +1 -0
  336. package/dist/sdk/workspace-contracts-cache.d.ts +17 -0
  337. package/dist/sdk/workspace-contracts-cache.js +36 -0
  338. package/dist/sdk/workspace-contracts-cache.js.map +1 -0
  339. package/docs/COMMANDS.md +10 -1
  340. package/docs/RELEASING.md +3 -1
  341. package/docs/SDK.md +81 -0
  342. package/docs/TESTING.md +3 -0
  343. package/docs/examples/sdk-app-embedding/run-embedded-pm.mjs +16 -2
  344. package/docs/examples/sdk-contract-consumer/inspect-contracts.mjs +16 -1
  345. package/package.json +1 -1
  346. package/dist/cli-bundle/chunks/activity-4XQIDNM5.js +0 -18
  347. package/dist/cli-bundle/chunks/aggregate-EQX2RGB7.js +0 -375
  348. package/dist/cli-bundle/chunks/aggregate-EQX2RGB7.js.map +0 -7
  349. package/dist/cli-bundle/chunks/aggregate-PEGZGJXD.js +0 -372
  350. package/dist/cli-bundle/chunks/aggregate-PEGZGJXD.js.map +0 -1
  351. package/dist/cli-bundle/chunks/chunk-37E72CNS.js +0 -217
  352. package/dist/cli-bundle/chunks/chunk-37E72CNS.js.map +0 -1
  353. package/dist/cli-bundle/chunks/chunk-3PL6LEKP.js +0 -1961
  354. package/dist/cli-bundle/chunks/chunk-3PL6LEKP.js.map +0 -1
  355. package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js +0 -1749
  356. package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js.map +0 -7
  357. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +0 -87
  358. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +0 -7
  359. package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js +0 -822
  360. package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js.map +0 -7
  361. package/dist/cli-bundle/chunks/chunk-4OFLJHX6.js.map +0 -1
  362. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js +0 -2181
  363. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js.map +0 -1
  364. package/dist/cli-bundle/chunks/chunk-57C2RLW5.js +0 -1704
  365. package/dist/cli-bundle/chunks/chunk-57C2RLW5.js.map +0 -1
  366. package/dist/cli-bundle/chunks/chunk-5B3X4Y22.js +0 -2330
  367. package/dist/cli-bundle/chunks/chunk-5B3X4Y22.js.map +0 -7
  368. package/dist/cli-bundle/chunks/chunk-5J2XPTAD.js.map +0 -7
  369. package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js +0 -995
  370. package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js.map +0 -1
  371. package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js +0 -819
  372. package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js.map +0 -1
  373. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +0 -23
  374. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +0 -7
  375. package/dist/cli-bundle/chunks/chunk-7EQNAZX2.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-7QH7DHUB.js.map +0 -1
  377. package/dist/cli-bundle/chunks/chunk-BVEUCSH2.js +0 -530
  378. package/dist/cli-bundle/chunks/chunk-BVEUCSH2.js.map +0 -7
  379. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js +0 -275
  380. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js.map +0 -7
  381. package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js +0 -231
  382. package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js.map +0 -7
  383. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js +0 -2184
  384. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js.map +0 -7
  385. package/dist/cli-bundle/chunks/chunk-EZFKWSC7.js +0 -1615
  386. package/dist/cli-bundle/chunks/chunk-EZFKWSC7.js.map +0 -7
  387. package/dist/cli-bundle/chunks/chunk-FJRKQREY.js +0 -228
  388. package/dist/cli-bundle/chunks/chunk-FJRKQREY.js.map +0 -1
  389. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js +0 -3237
  390. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js.map +0 -7
  391. package/dist/cli-bundle/chunks/chunk-HK72NWAD.js +0 -1570
  392. package/dist/cli-bundle/chunks/chunk-HK72NWAD.js.map +0 -1
  393. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js +0 -3206
  394. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js.map +0 -1
  395. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js +0 -371
  396. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js.map +0 -7
  397. package/dist/cli-bundle/chunks/chunk-JLA7EVYV.js.map +0 -1
  398. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js +0 -76
  399. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js.map +0 -1
  400. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js +0 -79
  401. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js.map +0 -7
  402. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js +0 -915
  403. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js.map +0 -1
  404. package/dist/cli-bundle/chunks/chunk-KLG4ZULO.js +0 -218
  405. package/dist/cli-bundle/chunks/chunk-KLG4ZULO.js.map +0 -7
  406. package/dist/cli-bundle/chunks/chunk-LEKT4K7I.js.map +0 -7
  407. package/dist/cli-bundle/chunks/chunk-MNZ7DRNC.js +0 -1858
  408. package/dist/cli-bundle/chunks/chunk-MNZ7DRNC.js.map +0 -1
  409. package/dist/cli-bundle/chunks/chunk-MTTXDAK4.js.map +0 -7
  410. package/dist/cli-bundle/chunks/chunk-MZ7VNEVY.js +0 -520
  411. package/dist/cli-bundle/chunks/chunk-MZ7VNEVY.js.map +0 -1
  412. package/dist/cli-bundle/chunks/chunk-N7X4WP6L.js +0 -1041
  413. package/dist/cli-bundle/chunks/chunk-N7X4WP6L.js.map +0 -7
  414. package/dist/cli-bundle/chunks/chunk-NBFCNJ7Q.js.map +0 -1
  415. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +0 -20
  416. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +0 -1
  417. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js +0 -918
  418. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js.map +0 -7
  419. package/dist/cli-bundle/chunks/chunk-OESSOFJ4.js +0 -1985
  420. package/dist/cli-bundle/chunks/chunk-OESSOFJ4.js.map +0 -7
  421. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js +0 -238
  422. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js.map +0 -1
  423. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js +0 -1977
  424. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js.map +0 -7
  425. package/dist/cli-bundle/chunks/chunk-PPAJG4GB.js +0 -1031
  426. package/dist/cli-bundle/chunks/chunk-PPAJG4GB.js.map +0 -1
  427. package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js.map +0 -1
  428. package/dist/cli-bundle/chunks/chunk-QZ342C63.js +0 -220
  429. package/dist/cli-bundle/chunks/chunk-QZ342C63.js.map +0 -7
  430. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js +0 -368
  431. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js.map +0 -1
  432. package/dist/cli-bundle/chunks/chunk-S4APD35C.js.map +0 -7
  433. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js +0 -1149
  434. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js.map +0 -1
  435. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js +0 -272
  436. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js.map +0 -1
  437. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js.map +0 -1
  438. package/dist/cli-bundle/chunks/chunk-TT42JUMF.js.map +0 -1
  439. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js +0 -165
  440. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js.map +0 -1
  441. package/dist/cli-bundle/chunks/chunk-UI5BJ6DO.js.map +0 -7
  442. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js +0 -1932
  443. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js.map +0 -1
  444. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js +0 -175
  445. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js.map +0 -7
  446. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +0 -84
  447. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +0 -1
  448. package/dist/cli-bundle/chunks/chunk-VZIYHZDX.js +0 -1868
  449. package/dist/cli-bundle/chunks/chunk-VZIYHZDX.js.map +0 -7
  450. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js.map +0 -7
  451. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js +0 -1152
  452. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js.map +0 -7
  453. package/dist/cli-bundle/chunks/chunk-YD5FML7K.js.map +0 -1
  454. package/dist/cli-bundle/chunks/chunk-YSAH5FY5.js.map +0 -1
  455. package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js +0 -1005
  456. package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js.map +0 -7
  457. package/dist/cli-bundle/chunks/chunk-Z2CRRZYF.js +0 -215
  458. package/dist/cli-bundle/chunks/chunk-Z2CRRZYF.js.map +0 -1
  459. package/dist/cli-bundle/chunks/chunk-ZD34OFFQ.js.map +0 -7
  460. package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js +0 -2306
  461. package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js.map +0 -1
  462. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js +0 -241
  463. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js.map +0 -7
  464. package/dist/cli-bundle/chunks/claim-4DROPSIS.js +0 -144
  465. package/dist/cli-bundle/chunks/claim-4DROPSIS.js.map +0 -1
  466. package/dist/cli-bundle/chunks/claim-VX54TV5U.js +0 -147
  467. package/dist/cli-bundle/chunks/claim-VX54TV5U.js.map +0 -7
  468. package/dist/cli-bundle/chunks/close-OB2Y4QP5.js +0 -16
  469. package/dist/cli-bundle/chunks/config-V57QD47V.js.map +0 -1
  470. package/dist/cli-bundle/chunks/context-4OQGIPSO.js +0 -45
  471. package/dist/cli-bundle/chunks/context-WLA6IAWE.js +0 -49
  472. package/dist/cli-bundle/chunks/contracts-HXJLKCRI.js +0 -12
  473. package/dist/cli-bundle/chunks/create-WKOZKPQR.js +0 -30
  474. package/dist/cli-bundle/chunks/eval-N6UHFWVO.js +0 -288
  475. package/dist/cli-bundle/chunks/eval-N6UHFWVO.js.map +0 -7
  476. package/dist/cli-bundle/chunks/eval-PHOTWYHI.js +0 -278
  477. package/dist/cli-bundle/chunks/eval-PHOTWYHI.js.map +0 -1
  478. package/dist/cli-bundle/chunks/extension-NBAH62ML.js +0 -40
  479. package/dist/cli-bundle/chunks/extension-ZF6ZZPOU.js +0 -44
  480. package/dist/cli-bundle/chunks/gc-AETFKZ44.js +0 -398
  481. package/dist/cli-bundle/chunks/gc-AETFKZ44.js.map +0 -7
  482. package/dist/cli-bundle/chunks/gc-RLBP4QVN.js +0 -388
  483. package/dist/cli-bundle/chunks/gc-RLBP4QVN.js.map +0 -1
  484. package/dist/cli-bundle/chunks/get-NH2MPBCI.js +0 -283
  485. package/dist/cli-bundle/chunks/get-NH2MPBCI.js.map +0 -1
  486. package/dist/cli-bundle/chunks/get-P4ZQXCPZ.js +0 -286
  487. package/dist/cli-bundle/chunks/get-P4ZQXCPZ.js.map +0 -7
  488. package/dist/cli-bundle/chunks/health-3GVPMQBL.js +0 -1612
  489. package/dist/cli-bundle/chunks/health-3GVPMQBL.js.map +0 -1
  490. package/dist/cli-bundle/chunks/health-DNTM72GJ.js +0 -1615
  491. package/dist/cli-bundle/chunks/health-DNTM72GJ.js.map +0 -7
  492. package/dist/cli-bundle/chunks/history-RYKLC72X.js +0 -20
  493. package/dist/cli-bundle/chunks/history-SGPYRAFT.js +0 -24
  494. package/dist/cli-bundle/chunks/history-redact-4H3FCKF3.js +0 -21
  495. package/dist/cli-bundle/chunks/init-RPIPQUNV.js +0 -32
  496. package/dist/cli-bundle/chunks/init-SKQAESQS.js +0 -28
  497. package/dist/cli-bundle/chunks/list-64LHZ3HM.js +0 -32
  498. package/dist/cli-bundle/chunks/list-7LXBTEKI.js +0 -36
  499. package/dist/cli-bundle/chunks/next-7ODPAQ4U.js +0 -306
  500. package/dist/cli-bundle/chunks/next-7ODPAQ4U.js.map +0 -7
  501. package/dist/cli-bundle/chunks/next-ODJUM4ZM.js +0 -303
  502. package/dist/cli-bundle/chunks/next-ODJUM4ZM.js.map +0 -1
  503. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js +0 -397
  504. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js.map +0 -1
  505. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js +0 -400
  506. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js.map +0 -7
  507. package/dist/cli-bundle/chunks/register-list-query-5H66WFYF.js.map +0 -7
  508. package/dist/cli-bundle/chunks/register-list-query-FB3FNDLZ.js.map +0 -1
  509. package/dist/cli-bundle/chunks/register-operations-A3XAM5J7.js.map +0 -1
  510. package/dist/cli-bundle/chunks/register-operations-SG7HBSUP.js.map +0 -7
  511. package/dist/cli-bundle/chunks/register-setup-I45OGJUV.js.map +0 -1
  512. package/dist/cli-bundle/chunks/register-setup-K6U3NVY5.js.map +0 -7
  513. package/dist/cli-bundle/chunks/restore-PXOFL6AM.js +0 -19
  514. package/dist/cli-bundle/chunks/scheduling-shortcuts-SSC4MYWQ.js +0 -91
  515. package/dist/cli-bundle/chunks/scheduling-shortcuts-SSC4MYWQ.js.map +0 -7
  516. package/dist/cli-bundle/chunks/scheduling-shortcuts-ULRG7MNP.js +0 -88
  517. package/dist/cli-bundle/chunks/scheduling-shortcuts-ULRG7MNP.js.map +0 -1
  518. package/dist/cli-bundle/chunks/search-3S72CTD6.js +0 -38
  519. package/dist/cli-bundle/chunks/search-WNUNBQXO.js +0 -34
  520. package/dist/cli-bundle/chunks/stats-IJYTRQGV.js +0 -250
  521. package/dist/cli-bundle/chunks/stats-IJYTRQGV.js.map +0 -7
  522. package/dist/cli-bundle/chunks/stats-L2D5Y2O5.js +0 -240
  523. package/dist/cli-bundle/chunks/stats-L2D5Y2O5.js.map +0 -1
  524. package/dist/cli-bundle/chunks/telemetry-L2CVOKVN.js +0 -309
  525. package/dist/cli-bundle/chunks/telemetry-L2CVOKVN.js.map +0 -7
  526. package/dist/cli-bundle/chunks/telemetry-QBYWQA76.js +0 -306
  527. package/dist/cli-bundle/chunks/telemetry-QBYWQA76.js.map +0 -1
  528. package/dist/cli-bundle/chunks/test-DQ2QFJ7W.js +0 -45
  529. package/dist/cli-bundle/chunks/test-W7QBLVJS.js +0 -41
  530. package/dist/cli-bundle/chunks/test-all-636NTRTT.js +0 -434
  531. package/dist/cli-bundle/chunks/test-all-636NTRTT.js.map +0 -1
  532. package/dist/cli-bundle/chunks/test-all-DWYK3RG6.js +0 -437
  533. package/dist/cli-bundle/chunks/test-all-DWYK3RG6.js.map +0 -7
  534. package/dist/cli-bundle/chunks/test-runs-245OINZR.js +0 -28
  535. package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js +0 -24
  536. package/dist/cli-bundle/chunks/update-SFLZPJXX.js +0 -30
  537. package/dist/cli-bundle/chunks/update-SJZ6S77U.js +0 -26
  538. package/dist/cli-bundle/chunks/upgrade-HFFXLZJA.js +0 -290
  539. package/dist/cli-bundle/chunks/upgrade-HFFXLZJA.js.map +0 -7
  540. package/dist/cli-bundle/chunks/upgrade-UYQKM7RF.js +0 -287
  541. package/dist/cli-bundle/chunks/upgrade-UYQKM7RF.js.map +0 -1
  542. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js +0 -2143
  543. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js.map +0 -7
  544. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js +0 -2105
  545. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js.map +0 -1
  546. /package/dist/cli-bundle/chunks/{activity-4XQIDNM5.js.map → append-F7WPGIQL.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{activity-YKAKZTZ4.js.map → append-PVCTBVJG.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-T3ABIMGW.js.map → chunk-2TILG6F2.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-RCT3YJOK.js.map → chunk-3TYOW6RR.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-3JZNEQBA.js.map → chunk-3X542TEY.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-YOF5VPKM.js.map → chunk-7VQ3JJN5.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-P5TFTLWW.js.map → chunk-AGAVEDIE.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-YFIE7YK6.js.map → chunk-AJUON7E6.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-7WYXBPYQ.js.map → chunk-DR2V5OIV.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-PDXT6Q55.js.map → chunk-EDO7VXSO.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-FUM6UMY4.js.map → chunk-EVEPHNXJ.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-RX3HQSYG.js.map → chunk-FN6SB4HU.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-DLQ4ZTCU.js.map → chunk-H2SMKL2N.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{chunk-C3PMDWGX.js.map → chunk-HX6QXV5P.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{chunk-N6DNM2FA.js.map → chunk-P3MJJW7P.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{chunk-5JE6SMYS.js.map → chunk-PDXJXEZJ.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{chunk-AAEQMOC6.js.map → chunk-TEKZOS7M.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{chunk-NER3KUUS.js.map → chunk-VLEA2UTQ.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{chunk-ZMD35NYG.js.map → chunk-WCWVEXGA.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{chunk-T35XLYZF.js.map → chunk-YPMZMKN7.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{chunk-R3ZBLGTC.js.map → chunk-YTD5GICJ.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{chunk-EEY54JMF.js.map → chunk-ZO7CLOY2.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{close-3YRR3XY6.js.map → close-3YYQ5OG2.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{close-OB2Y4QP5.js.map → close-Z3Q4U7TS.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{context-4OQGIPSO.js.map → close-many-3L2RXH3M.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{context-WLA6IAWE.js.map → close-many-D366FTIG.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{contracts-OJEXMKVW.js.map → comments-54XDJNFE.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{contracts-HXJLKCRI.js.map → comments-HGHC2PN6.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{create-XWWQFQ6S.js.map → copy-44RT5GDW.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{create-WKOZKPQR.js.map → copy-UGMUGHZA.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{extension-ZF6ZZPOU.js.map → create-4GWJWPXG.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{extension-NBAH62ML.js.map → create-AZXCUYKP.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{history-RYKLC72X.js.map → delete-Y6SXIQ4X.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{history-SGPYRAFT.js.map → delete-YQ2VPXNF.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{history-redact-54ICFKXM.js.map → deps-BU5EBJDU.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{history-redact-4H3FCKF3.js.map → deps-FMANWFRP.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{init-RPIPQUNV.js.map → docs-OQBSJNIA.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{init-SKQAESQS.js.map → docs-VNPBZXEL.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{list-64LHZ3HM.js.map → files-72HZEBOE.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{list-7LXBTEKI.js.map → files-HTSB2KJG.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{restore-YJ2ET6AT.js.map → focus-FOG4ALC2.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{restore-PXOFL6AM.js.map → focus-SUTMKXGX.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{schema-Y6DXXK2F.js.map → history-compact-M6IFAMBP.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{schema-2PUXCZ25.js.map → history-compact-NEXRPP2O.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{search-3S72CTD6.js.map → history-redact-NQX3OGZP.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{search-WNUNBQXO.js.map → history-redact-WQJBZ3PX.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{test-W7QBLVJS.js.map → history-repair-CBHMHAJO.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{test-DQ2QFJ7W.js.map → history-repair-NHOJG7WO.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{test-runs-ZRD4GCTT.js.map → learnings-M64NTSOR.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{test-runs-245OINZR.js.map → learnings-T63JGKKN.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{update-SJZ6S77U.js.map → notes-73WE2UV2.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{update-SFLZPJXX.js.map → notes-U7L6HQQ2.js.map} +0 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../cli/commands/linked-artifacts.ts"],
4
4
  "sourcesContent": ["/**\n * @module cli/commands/linked-artifacts\n *\n * Implements the pm linked artifacts command surface and its agent-facing runtime behavior.\n */\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport fg from \"fast-glob\";\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport {\n assertNoUnknownCsvKeys,\n createStdinTokenResolver,\n looksLikeGenericKeyValueEntry,\n parseCsvKv,\n} from \"../../core/item/parse.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { isRemoteLinkedArtifactReference } from \"../../core/validate/linked-artifact-reference.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { splitCommaList } from \"../../core/shared/split-comma-list.js\";\nimport { listAllFrontMatter, locateItem, mutateItem, readLocatedItem } from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { SCOPE_VALUES } from \"../../types/index.js\";\nimport { resolveAuthor } from \"../../core/shared/author.js\";\nimport type { LinkScope } from \"../../types/index.js\";\n\n/**\n * Restricts linked artifact values accepted by command, SDK, and storage contracts.\n */\nexport type LinkedArtifact = {\n path: string;\n scope: LinkScope;\n note?: string;\n};\n\n/** Allowed CSV/markdown keys for each structured linked-artifact option (GH-258). */\nexport const LINKED_ARTIFACT_ADD_KEYS = [\"path\", \"scope\", \"note\"] as const;\nexport const LINKED_ARTIFACT_ADD_GLOB_KEYS = [\"pattern\", \"glob\", \"path\", \"scope\", \"note\"] as const;\nexport const LINKED_ARTIFACT_REMOVE_KEYS = [\"path\"] as const;\nexport const LINKED_ARTIFACT_MIGRATE_KEYS = [\"from\", \"to\"] as const;\n/**\n * Keys that are valid on --add but meaningless on --remove (GH-277). Rejected\n * with audit-trail guidance (--message) rather than the generic unknown-key\n * error so agents are not left believing a removal note was recorded.\n */\nconst LINKED_ARTIFACT_REMOVE_UNSUPPORTED_KEYS: ReadonlySet<string> = new Set([\"note\", \"scope\"]);\n\n/**\n * Documents the linked artifact command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface LinkedArtifactCommandOptions {\n add?: string[];\n addGlob?: string[];\n remove?: string[];\n migrate?: string[];\n /**\n * GH-170 (pm-pfnx): standalone note applied to every link added by --add /\n * --add-glob in the same invocation. A per-entry embedded note (the\n * `path=...,note=...` pair syntax) takes precedence over this flag.\n * Requires at least one --add/--add-glob; rejected otherwise.\n */\n note?: string;\n list?: boolean;\n appendStable?: boolean;\n validatePaths?: boolean;\n audit?: boolean;\n author?: string;\n message?: string;\n force?: boolean;\n}\n\n/**\n * Documents the path migration payload exchanged by command, SDK, and package integrations.\n */\nexport interface PathMigration {\n from: string;\n to: string;\n}\n\n/**\n * Documents the add glob entry payload exchanged by command, SDK, and package integrations.\n */\nexport interface AddGlobEntry {\n pattern: string;\n scope: LinkScope;\n note?: string;\n}\n\n/**\n * Documents the linked path validation payload exchanged by command, SDK, and package integrations.\n */\nexport interface LinkedPathValidation {\n checked: number;\n existing_files: string[];\n missing_paths: string[];\n non_file_paths: string[];\n /**\n * Remote references (https:// URLs and other `scheme://` paths) recorded as\n * links — most often a PR/issue/design-doc URL added via `pm docs --add`.\n * These are not local files, so they bypass the existence probe and are\n * reported here rather than counted as missing.\n */\n remote_references: string[];\n}\n\n/**\n * Documents the linked path audit entry payload exchanged by command, SDK, and package integrations.\n */\nexport interface LinkedPathAuditEntry {\n path: string;\n linked_by_count: number;\n linked_item_ids: string[];\n}\n\n/**\n * Documents the linked artifact result payload exchanged by command, SDK, and package integrations.\n */\nexport interface LinkedArtifactResult {\n id: string;\n changed: boolean;\n count: number;\n migrations_applied?: number;\n validation?: LinkedPathValidation;\n audit?: LinkedPathAuditEntry[];\n artifacts: LinkedArtifact[];\n}\n\n/**\n * Configuration that adapts the shared linked-artifact command core to a\n * specific resource kind (files or docs) while preserving every behavioral\n * detail of the original twin implementations.\n */\nexport interface LinkedArtifactKindConfig {\n /** Metadata key under which the artifacts are stored (e.g. \"files\" | \"docs\"). */\n metadataKey: \"files\" | \"docs\";\n /** Mutation op recorded in history (e.g. \"files_add\" | \"docs_add\"). */\n op: \"files_add\" | \"docs_add\";\n /** Noun used in the \"bare <noun> path\" --add usage error (e.g. \"file\" | \"doc\"). */\n bareNoun: \"file\" | \"doc\";\n /**\n * Whether this kind honors the append-stable option. files supports it;\n * docs always sorts and must never expose append-stable behavior.\n */\n supportsAppendStable: boolean;\n}\n\n/**\n * Implements ensure scope for the public runtime surface of this module.\n */\nexport function ensureScope(raw: string | undefined): LinkScope {\n const value = (raw ?? \"project\") as LinkScope;\n if (!SCOPE_VALUES.includes(value)) {\n throw new PmCliError(\n `Invalid scope \"${raw}\". Valid scopes: ${SCOPE_VALUES.join(\", \")} (default: project).`,\n EXIT_CODE.USAGE,\n );\n }\n return value;\n}\n\n/**\n * Implements looks like structured path entry for the public runtime surface of this module.\n */\nexport function looksLikeStructuredPathEntry(raw: string): boolean {\n if (raw.startsWith(\"```\") || raw.includes(\"\\n\")) {\n return true;\n }\n if (/^(?:[-*+]\\s+)?(?:path|scope|note)\\s*[:=]/i.test(raw)) {\n return true;\n }\n // A first-key typo (e.g. `lable=main,path=…`) must still be parsed so the\n // unknown key is rejected rather than swallowed as a bare path (GH-258).\n return looksLikeGenericKeyValueEntry(raw);\n}\n\nfunction expandBareCommaSeparatedAddEntries(raw: string[]): string[] {\n return raw.flatMap((entry) => {\n const trimmed = entry.trim();\n if (trimmed.length === 0 || looksLikeStructuredPathEntry(trimmed) || !trimmed.includes(\",\")) {\n return [entry];\n }\n return splitCommaList(trimmed);\n });\n}\n\n/**\n * Implements parse add entries for the public runtime surface of this module.\n */\nexport function parseAddEntries(raw: string[] | undefined, bareNoun: \"file\" | \"doc\"): LinkedArtifact[] {\n if (!raw) return [];\n return expandBareCommaSeparatedAddEntries(raw).map((entry) => {\n const trimmed = entry.trim();\n const kv = looksLikeStructuredPathEntry(trimmed) ? parseCsvKv(entry, \"--add\") : { path: trimmed };\n assertNoUnknownCsvKeys(kv, \"--add\", LINKED_ARTIFACT_ADD_KEYS);\n if (!kv.path) {\n throw new PmCliError(`--add requires path=<value> or a bare ${bareNoun} path`, EXIT_CODE.USAGE);\n }\n return {\n path: kv.path,\n scope: ensureScope(kv.scope),\n note: kv.note?.trim() || undefined,\n };\n });\n}\n\n/**\n * Implements parse add glob entries for the public runtime surface of this module.\n */\nexport function parseAddGlobEntries(raw: string[] | undefined): AddGlobEntry[] {\n if (!raw) return [];\n return raw.map((entry) => {\n const trimmed = entry.trim();\n if (!trimmed) {\n throw new PmCliError(\"--add-glob requires a glob pattern value\", EXIT_CODE.USAGE);\n }\n if (trimmed.includes(\"=\") || /^(?:[-*+]\\s+)?(?:pattern|glob|path)\\s*[:=]/i.test(trimmed) || trimmed.startsWith(\"```\")) {\n const kv = parseCsvKv(trimmed, \"--add-glob\");\n assertNoUnknownCsvKeys(kv, \"--add-glob\", LINKED_ARTIFACT_ADD_GLOB_KEYS);\n const pattern = kv.pattern?.trim() || kv.glob?.trim() || kv.path?.trim();\n if (!pattern) {\n throw new PmCliError(\"--add-glob key/value form requires pattern=<glob>\", EXIT_CODE.USAGE);\n }\n return {\n pattern,\n scope: ensureScope(kv.scope),\n note: kv.note?.trim() || undefined,\n };\n }\n return {\n pattern: trimmed,\n scope: \"project\",\n };\n });\n}\n\n/**\n * Implements parse remove entries for the public runtime surface of this module.\n */\nexport function parseRemoveEntries(raw: string[] | undefined): string[] {\n if (!raw) return [];\n return raw.map((entry) => {\n const trimmed = entry.trim();\n if (!trimmed) {\n throw new PmCliError(\"--remove requires a path value\", EXIT_CODE.USAGE);\n }\n if (trimmed.includes(\"=\") || /^(?:[-*+]\\s+)?path\\s*[:=]/i.test(trimmed) || trimmed.startsWith(\"```\")) {\n const kv = parseCsvKv(trimmed, \"--remove\");\n // GH-277: --remove identifies an existing link by path only; it does not\n // attach per-link metadata. Reject the --add-only keys with guidance toward\n // the audit-trail path (--message) rather than the generic \"unrecognized\n // key\" error, which left agents believing they had recorded a removal note.\n const unsupportedRemoveKeys = Object.keys(kv).filter((key) =>\n LINKED_ARTIFACT_REMOVE_UNSUPPORTED_KEYS.has(key.toLowerCase()),\n );\n if (unsupportedRemoveKeys.length > 0) {\n throw new PmCliError(\n `--remove identifies a linked artifact by path only and does not accept ${unsupportedRemoveKeys\n .map((key) => `\"${key}\"`)\n .join(\", \")}. Pass just the path (path=<value>, path:<value>, or a bare path); record removal context with --message \"<why removed>\".`,\n EXIT_CODE.USAGE,\n );\n }\n assertNoUnknownCsvKeys(kv, \"--remove\", LINKED_ARTIFACT_REMOVE_KEYS);\n if (!kv.path) {\n throw new PmCliError(\"--remove key/value form requires path=<value>\", EXIT_CODE.USAGE);\n }\n return kv.path;\n }\n return trimmed;\n });\n}\n\n/**\n * Implements parse migrate entries for the public runtime surface of this module.\n */\nexport function parseMigrateEntries(raw: string[] | undefined): PathMigration[] {\n if (!raw) return [];\n return raw.map((entry) => {\n const kv = parseCsvKv(entry, \"--migrate\");\n assertNoUnknownCsvKeys(kv, \"--migrate\", LINKED_ARTIFACT_MIGRATE_KEYS);\n const from = kv.from?.trim();\n const to = kv.to?.trim();\n if (!from || !to) {\n throw new PmCliError(\"--migrate requires from=<value> and to=<value>\", EXIT_CODE.USAGE);\n }\n return { from, to };\n });\n}\n\n/**\n * Implements apply path migrations for the public runtime surface of this module.\n */\nexport function applyPathMigrations(artifactPath: string, migrations: PathMigration[]): string {\n let next = artifactPath;\n for (const migration of migrations) {\n if (next.startsWith(migration.from)) {\n next = `${migration.to}${next.slice(migration.from.length)}`;\n }\n }\n return next;\n}\n\n/**\n * Implements normalize linked path for the public runtime surface of this module.\n */\nexport function normalizeLinkedPath(value: string): string {\n return value.split(path.sep).join(\"/\");\n}\n\n/**\n * Implements expand add glob entries for the public runtime surface of this module.\n */\nexport async function expandAddGlobEntries(entries: AddGlobEntry[]): Promise<LinkedArtifact[]> {\n const expanded: LinkedArtifact[] = [];\n for (const entry of entries) {\n const absolutePattern = path.isAbsolute(entry.pattern);\n const matches = await fg(entry.pattern, {\n cwd: process.cwd(),\n absolute: absolutePattern,\n onlyFiles: true,\n dot: true,\n unique: true,\n followSymbolicLinks: true,\n });\n const sortedMatches = [...new Set(matches.map((match) => normalizeLinkedPath(path.normalize(match))))].sort((left, right) =>\n left.localeCompare(right),\n );\n for (const matchedPath of sortedMatches) {\n expanded.push({\n path: matchedPath,\n scope: entry.scope,\n note: entry.note,\n });\n }\n }\n return expanded;\n}\n\n/**\n * GH-170 (pm-pfnx): apply a standalone --note to the links added in this\n * invocation. Semantics (documented on pm-pfnx): the note is attached to EVERY\n * entry added via --add/--add-glob so a single flag annotates the whole batch\n * predictably; a per-entry embedded `note=` wins over the standalone flag; and\n * --note without any --add/--add-glob flag is a usage error because there is\n * nothing to annotate (it never retro-edits existing links). `hasAddFlags`\n * reflects flag presence, not match count, so a glob that legitimately matches\n * zero files is not an error.\n */\nexport function applyStandaloneNote(\n adds: LinkedArtifact[],\n note: string | undefined,\n hasAddFlags: boolean,\n): LinkedArtifact[] {\n if (note === undefined) {\n return adds;\n }\n if (!hasAddFlags) {\n throw new PmCliError(\n \"--note requires --add or --add-glob in the same invocation (the note annotates the links being added)\",\n EXIT_CODE.USAGE,\n );\n }\n const trimmed = note.trim();\n if (trimmed.length === 0) {\n return adds;\n }\n return adds.map((entry) => (entry.note === undefined ? { ...entry, note: trimmed } : entry));\n}\n\n/**\n * Implements artifact key for the public runtime surface of this module.\n */\nexport function artifactKey(value: Pick<LinkedArtifact, \"path\" | \"scope\">): string {\n return `${value.path}::${value.scope}`;\n}\n\n/**\n * Implements sort linked artifacts for the public runtime surface of this module.\n */\nexport function sortLinkedArtifacts(artifacts: LinkedArtifact[]): LinkedArtifact[] {\n return [...artifacts].sort((left, right) => {\n const byPath = left.path.localeCompare(right.path);\n if (byPath !== 0) return byPath;\n return left.scope.localeCompare(right.scope);\n });\n}\n\n/**\n * Implements dedupe linked artifacts for the public runtime surface of this module.\n */\nexport function dedupeLinkedArtifacts(artifacts: LinkedArtifact[]): LinkedArtifact[] {\n return [...new Map(artifacts.map((entry) => [artifactKey(entry), entry])).values()].map((entry) => ({\n ...entry,\n note: entry.note?.trim() || undefined,\n }));\n}\n\n/**\n * Implements validate linked paths for the public runtime surface of this module.\n */\nexport async function validateLinkedPaths(paths: string[]): Promise<LinkedPathValidation> {\n const uniquePaths = [...new Set(paths)].sort((left, right) => left.localeCompare(right));\n const existingFiles: string[] = [];\n const missingPaths: string[] = [];\n const nonFilePaths: string[] = [];\n const remoteReferences: string[] = [];\n for (const relativePath of uniquePaths) {\n // Remote references (https:// PR/issue/design-doc URLs) are not local\n // files; report them separately (trimmed, to match buildFilesCheck's\n // output shape) instead of probing a meaningless path.\n if (isRemoteLinkedArtifactReference(relativePath)) {\n remoteReferences.push(relativePath.trim());\n continue;\n }\n const resolvedPath = path.isAbsolute(relativePath) ? relativePath : path.resolve(process.cwd(), relativePath);\n try {\n const stats = await fs.stat(resolvedPath);\n if (stats.isFile()) {\n existingFiles.push(relativePath);\n } else {\n nonFilePaths.push(relativePath);\n }\n } catch (error: unknown) {\n if (typeof error === \"object\" && error !== null && \"code\" in error && (error as { code?: string }).code === \"ENOENT\") {\n missingPaths.push(relativePath);\n continue;\n }\n nonFilePaths.push(relativePath);\n }\n }\n return {\n checked: uniquePaths.length,\n existing_files: existingFiles,\n missing_paths: missingPaths,\n non_file_paths: nonFilePaths,\n remote_references: remoteReferences,\n };\n}\n\n/**\n * Implements build linked path audit for the public runtime surface of this module.\n */\nexport function buildLinkedPathAudit(\n paths: string[],\n allItems: Array<{ id: string; artifacts?: LinkedArtifact[] }>,\n): LinkedPathAuditEntry[] {\n const index = new Map<string, Set<string>>();\n for (const item of allItems) {\n for (const linkedArtifact of item.artifacts ?? []) {\n const seen = index.get(linkedArtifact.path) ?? new Set<string>();\n seen.add(item.id);\n index.set(linkedArtifact.path, seen);\n }\n }\n return [...new Set(paths)]\n .sort((left, right) => left.localeCompare(right))\n .map((linkedPath) => {\n const linkedIds = [...(index.get(linkedPath) ?? new Set<string>())].sort((left, right) => left.localeCompare(right));\n return {\n path: linkedPath,\n linked_by_count: linkedIds.length,\n linked_item_ids: linkedIds,\n };\n });\n}\n\n/**\n * Shared linked-artifact list/mutate command core used by runFiles and runDocs.\n * The kind config selects metadata key, op, bare-path noun, and whether\n * append-stable ordering is honored, preserving each twin's exact semantics.\n */\nexport async function runLinkedArtifacts(\n id: string,\n options: LinkedArtifactCommandOptions,\n global: GlobalOptions,\n config: LinkedArtifactKindConfig,\n): Promise<LinkedArtifactResult> {\n const { metadataKey } = config;\n const stdinResolver = createStdinTokenResolver();\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n const settings = await readSettings(pmRoot);\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n const resolvedAdds = await stdinResolver.resolveList(options.add, \"--add\");\n const resolvedAddGlobs = await stdinResolver.resolveList(options.addGlob, \"--add-glob\");\n const resolvedRemoves = await stdinResolver.resolveList(options.remove, \"--remove\");\n const resolvedMigrations = await stdinResolver.resolveList(options.migrate, \"--migrate\");\n const parsedAdds = parseAddEntries(resolvedAdds, config.bareNoun);\n const addGlobs = parseAddGlobEntries(resolvedAddGlobs);\n const expandedGlobAdds = await expandAddGlobEntries(addGlobs);\n const adds = applyStandaloneNote(\n [...parsedAdds, ...expandedGlobAdds],\n options.note,\n parsedAdds.length > 0 || addGlobs.length > 0,\n );\n const removes = parseRemoveEntries(resolvedRemoves);\n const migrations = parseMigrateEntries(resolvedMigrations);\n const shouldMutate = adds.length > 0 || removes.length > 0 || migrations.length > 0;\n\n const collectAuditItems = async (): Promise<Array<{ id: string; artifacts?: LinkedArtifact[] }>> =>\n (await listAllFrontMatter(pmRoot, settings.item_format, typeRegistry.type_to_folder, undefined, settings.schema)).map((entry) => ({\n id: entry.id,\n artifacts: (entry as Record<string, unknown>)[metadataKey] as LinkedArtifact[] | undefined,\n }));\n\n if (!shouldMutate) {\n const located = await locateItem(pmRoot, id, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (!located) {\n throw new PmCliError(`Item ${id} not found`, EXIT_CODE.NOT_FOUND);\n }\n const loaded = await readLocatedItem(located, { schema: settings.schema });\n const artifacts = ((loaded.document.metadata as Record<string, unknown>)[metadataKey] as LinkedArtifact[] | undefined) ?? [];\n return {\n id: located.id,\n artifacts,\n changed: false,\n count: artifacts.length,\n validation: options.validatePaths ? await validateLinkedPaths(artifacts.map((entry) => entry.path)) : undefined,\n audit: options.audit ? buildLinkedPathAudit(artifacts.map((entry) => entry.path), await collectAuditItems()) : undefined,\n };\n }\n\n const author = resolveAuthor(options.author, settings.author_default);\n const result = await mutateItem({\n pmRoot,\n settings,\n id,\n op: config.op,\n author,\n message: options.message,\n force: options.force,\n mutate(document) {\n const metadata = document.metadata as Record<string, unknown>;\n const next = [...((metadata[metadataKey] as LinkedArtifact[] | undefined) ?? [])];\n let migrationCount = 0;\n if (migrations.length > 0) {\n for (let index = 0; index < next.length; index += 1) {\n const migratedPath = applyPathMigrations(next[index].path, migrations);\n if (migratedPath !== next[index].path) {\n next[index] = { ...next[index], path: migratedPath };\n migrationCount += 1;\n }\n }\n }\n const migratedAdds = adds.map((entry) => {\n const migratedPath = applyPathMigrations(entry.path, migrations);\n if (migratedPath !== entry.path) {\n migrationCount += 1;\n }\n return {\n ...entry,\n path: migratedPath,\n };\n });\n const migratedRemoves = removes.map((entry) => applyPathMigrations(entry, migrations));\n for (const add of migratedAdds) {\n const exists = next.some((entry) => entry.path === add.path && entry.scope === add.scope);\n if (!exists) {\n next.push(add);\n }\n }\n if (migratedRemoves.length > 0) {\n for (let i = next.length - 1; i >= 0; i -= 1) {\n if (migratedRemoves.includes(next[i].path)) {\n next.splice(i, 1);\n }\n }\n }\n const deduped = dedupeLinkedArtifacts(next);\n const normalized = config.supportsAppendStable && options.appendStable ? deduped : sortLinkedArtifacts(deduped);\n if (normalized.length > 0) {\n metadata[metadataKey] = normalized;\n } else {\n delete metadata[metadataKey];\n }\n return { changedFields: [metadataKey], warnings: migrationCount > 0 ? [`path_migrations_applied:${migrationCount}`] : [] };\n },\n });\n\n const artifacts = ((result.item as Record<string, unknown>)[metadataKey] as LinkedArtifact[] | undefined) ?? [];\n const migrationWarning = result.warnings.find((warning) => warning.startsWith(\"path_migrations_applied:\"));\n const migrationCount = migrationWarning ? Number(migrationWarning.slice(\"path_migrations_applied:\".length)) : 0;\n const allItems = options.audit ? await collectAuditItems() : [];\n return {\n id: result.item.id,\n artifacts,\n changed: true,\n count: artifacts.length,\n migrations_applied: migrationCount > 0 ? migrationCount : undefined,\n validation: options.validatePaths ? await validateLinkedPaths(artifacts.map((entry) => entry.path)) : undefined,\n audit: options.audit ? buildLinkedPathAudit(artifacts.map((entry) => entry.path), allItems) : undefined,\n };\n}\n\n/**\n * Re-key the generic `artifacts` field to the resource-specific name (files/docs)\n * while preserving the original key order and presence so kind-specific result\n * shapes (and their deterministic JSON key ordering) stay byte-identical.\n */\nexport function renameArtifactsResultKey(result: LinkedArtifactResult, key: \"files\" | \"docs\"): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [field, value] of Object.entries(result)) {\n out[field === \"artifacts\" ? key : field] = value;\n }\n return out;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,QAAQ;;;;;;;;AAgCR,IAAM,2BAA2B,CAAC,QAAQ,SAAS,MAAM;AACzD,IAAM,gCAAgC,CAAC,WAAW,QAAQ,QAAQ,SAAS,MAAM;AACjF,IAAM,8BAA8B,CAAC,MAAM;AAC3C,IAAM,+BAA+B,CAAC,QAAQ,IAAI;AAMzD,IAAM,0CAA+D,oBAAI,IAAI,CAAC,QAAQ,OAAO,CAAC;AAwGxF,SAAU,YAAY,KAAuB;AACjD,QAAM,QAAS,OAAO;AACtB,MAAI,CAAC,aAAa,SAAS,KAAK,GAAG;AACjC,UAAM,IAAI,WACR,kBAAkB,GAAG,oBAAoB,aAAa,KAAK,IAAI,CAAC,wBAChE,UAAU,KAAK;EAEnB;AACA,SAAO;AACT;AAKM,SAAU,6BAA6B,KAAW;AACtD,MAAI,IAAI,WAAW,KAAK,KAAK,IAAI,SAAS,IAAI,GAAG;AAC/C,WAAO;EACT;AACA,MAAI,4CAA4C,KAAK,GAAG,GAAG;AACzD,WAAO;EACT;AAGA,SAAO,8BAA8B,GAAG;AAC1C;AAEA,SAAS,mCAAmC,KAAa;AACvD,SAAO,IAAI,QAAQ,CAAC,UAAS;AAC3B,UAAM,UAAU,MAAM,KAAI;AAC1B,QAAI,QAAQ,WAAW,KAAK,6BAA6B,OAAO,KAAK,CAAC,QAAQ,SAAS,GAAG,GAAG;AAC3F,aAAO,CAAC,KAAK;IACf;AACA,WAAO,eAAe,OAAO;EAC/B,CAAC;AACH;AAKM,SAAU,gBAAgB,KAA2B,UAAwB;AACjF,MAAI,CAAC;AAAK,WAAO,CAAA;AACjB,SAAO,mCAAmC,GAAG,EAAE,IAAI,CAAC,UAAS;AAC3D,UAAM,UAAU,MAAM,KAAI;AAC1B,UAAM,KAAK,6BAA6B,OAAO,IAAI,WAAW,OAAO,OAAO,IAAI,EAAE,MAAM,QAAO;AAC/F,2BAAuB,IAAI,SAAS,wBAAwB;AAC5D,QAAI,CAAC,GAAG,MAAM;AACZ,YAAM,IAAI,WAAW,yCAAyC,QAAQ,SAAS,UAAU,KAAK;IAChG;AACA,WAAO;MACL,MAAM,GAAG;MACT,OAAO,YAAY,GAAG,KAAK;MAC3B,MAAM,GAAG,MAAM,KAAI,KAAM;;EAE7B,CAAC;AACH;AAKM,SAAU,oBAAoB,KAAyB;AAC3D,MAAI,CAAC;AAAK,WAAO,CAAA;AACjB,SAAO,IAAI,IAAI,CAAC,UAAS;AACvB,UAAM,UAAU,MAAM,KAAI;AAC1B,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,WAAW,4CAA4C,UAAU,KAAK;IAClF;AACA,QAAI,QAAQ,SAAS,GAAG,KAAK,8CAA8C,KAAK,OAAO,KAAK,QAAQ,WAAW,KAAK,GAAG;AACrH,YAAM,KAAK,WAAW,SAAS,YAAY;AAC3C,6BAAuB,IAAI,cAAc,6BAA6B;AACtE,YAAM,UAAU,GAAG,SAAS,KAAI,KAAM,GAAG,MAAM,KAAI,KAAM,GAAG,MAAM,KAAI;AACtE,UAAI,CAAC,SAAS;AACZ,cAAM,IAAI,WAAW,qDAAqD,UAAU,KAAK;MAC3F;AACA,aAAO;QACL;QACA,OAAO,YAAY,GAAG,KAAK;QAC3B,MAAM,GAAG,MAAM,KAAI,KAAM;;IAE7B;AACA,WAAO;MACL,SAAS;MACT,OAAO;;EAEX,CAAC;AACH;AAKM,SAAU,mBAAmB,KAAyB;AAC1D,MAAI,CAAC;AAAK,WAAO,CAAA;AACjB,SAAO,IAAI,IAAI,CAAC,UAAS;AACvB,UAAM,UAAU,MAAM,KAAI;AAC1B,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,WAAW,kCAAkC,UAAU,KAAK;IACxE;AACA,QAAI,QAAQ,SAAS,GAAG,KAAK,6BAA6B,KAAK,OAAO,KAAK,QAAQ,WAAW,KAAK,GAAG;AACpG,YAAM,KAAK,WAAW,SAAS,UAAU;AAKzC,YAAM,wBAAwB,OAAO,KAAK,EAAE,EAAE,OAAO,CAAC,QACpD,wCAAwC,IAAI,IAAI,YAAW,CAAE,CAAC;AAEhE,UAAI,sBAAsB,SAAS,GAAG;AACpC,cAAM,IAAI,WACR,0EAA0E,sBACvE,IAAI,CAAC,QAAQ,IAAI,GAAG,GAAG,EACvB,KAAK,IAAI,CAAC,6HACb,UAAU,KAAK;MAEnB;AACA,6BAAuB,IAAI,YAAY,2BAA2B;AAClE,UAAI,CAAC,GAAG,MAAM;AACZ,cAAM,IAAI,WAAW,iDAAiD,UAAU,KAAK;MACvF;AACA,aAAO,GAAG;IACZ;AACA,WAAO;EACT,CAAC;AACH;AAKM,SAAU,oBAAoB,KAAyB;AAC3D,MAAI,CAAC;AAAK,WAAO,CAAA;AACjB,SAAO,IAAI,IAAI,CAAC,UAAS;AACvB,UAAM,KAAK,WAAW,OAAO,WAAW;AACxC,2BAAuB,IAAI,aAAa,4BAA4B;AACpE,UAAM,OAAO,GAAG,MAAM,KAAI;AAC1B,UAAM,KAAK,GAAG,IAAI,KAAI;AACtB,QAAI,CAAC,QAAQ,CAAC,IAAI;AAChB,YAAM,IAAI,WAAW,kDAAkD,UAAU,KAAK;IACxF;AACA,WAAO,EAAE,MAAM,GAAE;EACnB,CAAC;AACH;AAKM,SAAU,oBAAoB,cAAsB,YAA2B;AACnF,MAAI,OAAO;AACX,aAAW,aAAa,YAAY;AAClC,QAAI,KAAK,WAAW,UAAU,IAAI,GAAG;AACnC,aAAO,GAAG,UAAU,EAAE,GAAG,KAAK,MAAM,UAAU,KAAK,MAAM,CAAC;IAC5D;EACF;AACA,SAAO;AACT;AAKM,SAAU,oBAAoB,OAAa;AAC/C,SAAO,MAAM,MAAM,KAAK,GAAG,EAAE,KAAK,GAAG;AACvC;AAKA,eAAsB,qBAAqB,SAAuB;AAChE,QAAM,WAA6B,CAAA;AACnC,aAAW,SAAS,SAAS;AAC3B,UAAM,kBAAkB,KAAK,WAAW,MAAM,OAAO;AACrD,UAAM,UAAU,MAAM,GAAG,MAAM,SAAS;MACtC,KAAK,QAAQ,IAAG;MAChB,UAAU;MACV,WAAW;MACX,KAAK;MACL,QAAQ;MACR,qBAAqB;KACtB;AACD,UAAM,gBAAgB,CAAC,GAAG,IAAI,IAAI,QAAQ,IAAI,CAAC,UAAU,oBAAoB,KAAK,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,UACjH,KAAK,cAAc,KAAK,CAAC;AAE3B,eAAW,eAAe,eAAe;AACvC,eAAS,KAAK;QACZ,MAAM;QACN,OAAO,MAAM;QACb,MAAM,MAAM;OACb;IACH;EACF;AACA,SAAO;AACT;AAYM,SAAU,oBACd,MACA,MACA,aAAoB;AAEpB,MAAI,SAAS,QAAW;AACtB,WAAO;EACT;AACA,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,WACR,yGACA,UAAU,KAAK;EAEnB;AACA,QAAM,UAAU,KAAK,KAAI;AACzB,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;EACT;AACA,SAAO,KAAK,IAAI,CAAC,UAAW,MAAM,SAAS,SAAY,EAAE,GAAG,OAAO,MAAM,QAAO,IAAK,KAAM;AAC7F;AAKM,SAAU,YAAY,OAA6C;AACvE,SAAO,GAAG,MAAM,IAAI,KAAK,MAAM,KAAK;AACtC;AAKM,SAAU,oBAAoB,WAA2B;AAC7D,SAAO,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,UAAS;AACzC,UAAM,SAAS,KAAK,KAAK,cAAc,MAAM,IAAI;AACjD,QAAI,WAAW;AAAG,aAAO;AACzB,WAAO,KAAK,MAAM,cAAc,MAAM,KAAK;EAC7C,CAAC;AACH;AAKM,SAAU,sBAAsB,WAA2B;AAC/D,SAAO,CAAC,GAAG,IAAI,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,YAAY,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,OAAM,CAAE,EAAE,IAAI,CAAC,WAAW;IAClG,GAAG;IACH,MAAM,MAAM,MAAM,KAAI,KAAM;IAC5B;AACJ;AAKA,eAAsB,oBAAoB,OAAe;AACvD,QAAM,cAAc,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;AACvF,QAAM,gBAA0B,CAAA;AAChC,QAAM,eAAyB,CAAA;AAC/B,QAAM,eAAyB,CAAA;AAC/B,QAAM,mBAA6B,CAAA;AACnC,aAAW,gBAAgB,aAAa;AAItC,QAAI,gCAAgC,YAAY,GAAG;AACjD,uBAAiB,KAAK,aAAa,KAAI,CAAE;AACzC;IACF;AACA,UAAM,eAAe,KAAK,WAAW,YAAY,IAAI,eAAe,KAAK,QAAQ,QAAQ,IAAG,GAAI,YAAY;AAC5G,QAAI;AACF,YAAM,QAAQ,MAAM,GAAG,KAAK,YAAY;AACxC,UAAI,MAAM,OAAM,GAAI;AAClB,sBAAc,KAAK,YAAY;MACjC,OAAO;AACL,qBAAa,KAAK,YAAY;MAChC;IACF,SAAS,OAAgB;AACvB,UAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,SAAU,MAA4B,SAAS,UAAU;AACpH,qBAAa,KAAK,YAAY;AAC9B;MACF;AACA,mBAAa,KAAK,YAAY;IAChC;EACF;AACA,SAAO;IACL,SAAS,YAAY;IACrB,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,mBAAmB;;AAEvB;AAKM,SAAU,qBACd,OACA,UAA6D;AAE7D,QAAM,QAAQ,oBAAI,IAAG;AACrB,aAAW,QAAQ,UAAU;AAC3B,eAAW,kBAAkB,KAAK,aAAa,CAAA,GAAI;AACjD,YAAM,OAAO,MAAM,IAAI,eAAe,IAAI,KAAK,oBAAI,IAAG;AACtD,WAAK,IAAI,KAAK,EAAE;AAChB,YAAM,IAAI,eAAe,MAAM,IAAI;IACrC;EACF;AACA,SAAO,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,EACtB,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC,EAC/C,IAAI,CAAC,eAAc;AAClB,UAAM,YAAY,CAAC,GAAI,MAAM,IAAI,UAAU,KAAK,oBAAI,IAAG,CAAW,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;AACnH,WAAO;MACL,MAAM;MACN,iBAAiB,UAAU;MAC3B,iBAAiB;;EAErB,CAAC;AACL;AAOA,eAAsB,mBACpB,IACA,SACAA,SACA,QAAgC;AAEhC,QAAM,EAAE,YAAW,IAAK;AACxB,QAAM,gBAAgB,yBAAwB;AAC9C,QAAM,SAAS,cAAc,QAAQ,IAAG,GAAIA,QAAO,IAAI;AACvD,MAAI,CAAE,MAAM,WAAW,gBAAgB,MAAM,CAAC,GAAI;AAChD,UAAM,IAAI,WAAW,iCAAiC,MAAM,wBAAwB,UAAU,SAAS;EACzG;AACA,QAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAM,eAAe,wBAAwB,UAAU,gCAA+B,CAAE;AACxF,QAAM,eAAe,MAAM,cAAc,YAAY,QAAQ,KAAK,OAAO;AACzE,QAAM,mBAAmB,MAAM,cAAc,YAAY,QAAQ,SAAS,YAAY;AACtF,QAAM,kBAAkB,MAAM,cAAc,YAAY,QAAQ,QAAQ,UAAU;AAClF,QAAM,qBAAqB,MAAM,cAAc,YAAY,QAAQ,SAAS,WAAW;AACvF,QAAM,aAAa,gBAAgB,cAAc,OAAO,QAAQ;AAChE,QAAM,WAAW,oBAAoB,gBAAgB;AACrD,QAAM,mBAAmB,MAAM,qBAAqB,QAAQ;AAC5D,QAAM,OAAO,oBACX,CAAC,GAAG,YAAY,GAAG,gBAAgB,GACnC,QAAQ,MACR,WAAW,SAAS,KAAK,SAAS,SAAS,CAAC;AAE9C,QAAM,UAAU,mBAAmB,eAAe;AAClD,QAAM,aAAa,oBAAoB,kBAAkB;AACzD,QAAM,eAAe,KAAK,SAAS,KAAK,QAAQ,SAAS,KAAK,WAAW,SAAS;AAElF,QAAM,oBAAoB,aACvB,MAAM,mBAAmB,QAAQ,SAAS,aAAa,aAAa,gBAAgB,QAAW,SAAS,MAAM,GAAG,IAAI,CAAC,WAAW;IAChI,IAAI,MAAM;IACV,WAAY,MAAkC,WAAW;IACzD;AAEJ,MAAI,CAAC,cAAc;AACjB,UAAM,UAAU,MAAM,WAAW,QAAQ,IAAI,SAAS,WAAW,SAAS,aAAa,aAAa,cAAc;AAClH,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,WAAW,QAAQ,EAAE,cAAc,UAAU,SAAS;IAClE;AACA,UAAM,SAAS,MAAM,gBAAgB,SAAS,EAAE,QAAQ,SAAS,OAAM,CAAE;AACzE,UAAMC,aAAc,OAAO,SAAS,SAAqC,WAAW,KAAsC,CAAA;AAC1H,WAAO;MACL,IAAI,QAAQ;MACZ,WAAAA;MACA,SAAS;MACT,OAAOA,WAAU;MACjB,YAAY,QAAQ,gBAAgB,MAAM,oBAAoBA,WAAU,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,IAAI;MACtG,OAAO,QAAQ,QAAQ,qBAAqBA,WAAU,IAAI,CAAC,UAAU,MAAM,IAAI,GAAG,MAAM,kBAAiB,CAAE,IAAI;;EAEnH;AAEA,QAAM,SAAS,cAAc,QAAQ,QAAQ,SAAS,cAAc;AACpE,QAAM,SAAS,MAAM,WAAW;IAC9B;IACA;IACA;IACA,IAAI,OAAO;IACX;IACA,SAAS,QAAQ;IACjB,OAAO,QAAQ;IACf,OAAO,UAAQ;AACb,YAAM,WAAW,SAAS;AAC1B,YAAM,OAAO,CAAC,GAAK,SAAS,WAAW,KAAsC,CAAA,CAAG;AAChF,UAAIC,kBAAiB;AACrB,UAAI,WAAW,SAAS,GAAG;AACzB,iBAAS,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS,GAAG;AACnD,gBAAM,eAAe,oBAAoB,KAAK,KAAK,EAAE,MAAM,UAAU;AACrE,cAAI,iBAAiB,KAAK,KAAK,EAAE,MAAM;AACrC,iBAAK,KAAK,IAAI,EAAE,GAAG,KAAK,KAAK,GAAG,MAAM,aAAY;AAClD,YAAAA,mBAAkB;UACpB;QACF;MACF;AACA,YAAM,eAAe,KAAK,IAAI,CAAC,UAAS;AACtC,cAAM,eAAe,oBAAoB,MAAM,MAAM,UAAU;AAC/D,YAAI,iBAAiB,MAAM,MAAM;AAC/B,UAAAA,mBAAkB;QACpB;AACA,eAAO;UACL,GAAG;UACH,MAAM;;MAEV,CAAC;AACD,YAAM,kBAAkB,QAAQ,IAAI,CAAC,UAAU,oBAAoB,OAAO,UAAU,CAAC;AACrF,iBAAW,OAAO,cAAc;AAC9B,cAAM,SAAS,KAAK,KAAK,CAAC,UAAU,MAAM,SAAS,IAAI,QAAQ,MAAM,UAAU,IAAI,KAAK;AACxF,YAAI,CAAC,QAAQ;AACX,eAAK,KAAK,GAAG;QACf;MACF;AACA,UAAI,gBAAgB,SAAS,GAAG;AAC9B,iBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG;AAC5C,cAAI,gBAAgB,SAAS,KAAK,CAAC,EAAE,IAAI,GAAG;AAC1C,iBAAK,OAAO,GAAG,CAAC;UAClB;QACF;MACF;AACA,YAAM,UAAU,sBAAsB,IAAI;AAC1C,YAAM,aAAa,OAAO,wBAAwB,QAAQ,eAAe,UAAU,oBAAoB,OAAO;AAC9G,UAAI,WAAW,SAAS,GAAG;AACzB,iBAAS,WAAW,IAAI;MAC1B,OAAO;AACL,eAAO,SAAS,WAAW;MAC7B;AACA,aAAO,EAAE,eAAe,CAAC,WAAW,GAAG,UAAUA,kBAAiB,IAAI,CAAC,2BAA2BA,eAAc,EAAE,IAAI,CAAA,EAAE;IAC1H;GACD;AAED,QAAM,YAAc,OAAO,KAAiC,WAAW,KAAsC,CAAA;AAC7G,QAAM,mBAAmB,OAAO,SAAS,KAAK,CAAC,YAAY,QAAQ,WAAW,0BAA0B,CAAC;AACzG,QAAM,iBAAiB,mBAAmB,OAAO,iBAAiB,MAAM,2BAA2B,MAAM,CAAC,IAAI;AAC9G,QAAM,WAAW,QAAQ,QAAQ,MAAM,kBAAiB,IAAK,CAAA;AAC7D,SAAO;IACL,IAAI,OAAO,KAAK;IAChB;IACA,SAAS;IACT,OAAO,UAAU;IACjB,oBAAoB,iBAAiB,IAAI,iBAAiB;IAC1D,YAAY,QAAQ,gBAAgB,MAAM,oBAAoB,UAAU,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,IAAI;IACtG,OAAO,QAAQ,QAAQ,qBAAqB,UAAU,IAAI,CAAC,UAAU,MAAM,IAAI,GAAG,QAAQ,IAAI;;AAElG;AAOM,SAAU,yBAAyB,QAA8B,KAAqB;AAC1F,QAAM,MAA+B,CAAA;AACrC,aAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACnD,QAAI,UAAU,cAAc,MAAM,KAAK,IAAI;EAC7C;AACA,SAAO;AACT;",
5
+ "mappings": "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",
6
6
  "names": ["global", "artifacts", "migrationCount"]
7
7
  }
@@ -3,24 +3,19 @@ import {
3
3
  } from "./chunk-WW4E2DC3.js";
4
4
  import {
5
5
  createStdinTokenResolver
6
- } from "./chunk-T3ABIMGW.js";
6
+ } from "./chunk-2TILG6F2.js";
7
7
  import {
8
+ PmCliError,
8
9
  mutateItem,
10
+ readSettings,
9
11
  toItemRecord
10
- } from "./chunk-3U3VEWK6.js";
11
- import "./chunk-EZFKWSC7.js";
12
- import "./chunk-DRBV5UC2.js";
13
- import {
14
- PmCliError,
15
- readSettings
16
- } from "./chunk-P5YORJRH.js";
17
- import "./chunk-7C2O74AE.js";
12
+ } from "./chunk-YNCFP5AR.js";
18
13
  import {
19
14
  EXIT_CODE,
20
15
  getSettingsPath,
21
16
  pathExists,
22
17
  resolvePmRoot
23
- } from "./chunk-5VVUKE3U.js";
18
+ } from "./chunk-LCFJ7XAM.js";
24
19
 
25
20
  // dist/cli/commands/append.js
26
21
  !(function() {
@@ -67,7 +62,8 @@ async function runAppend(id, options, global2) {
67
62
  changed_fields: result.changedFields
68
63
  };
69
64
  }
65
+
70
66
  export {
71
67
  runAppend
72
68
  };
73
- //# sourceMappingURL=append-CZGUZ45Q.js.map
69
+ //# sourceMappingURL=chunk-DDDWVPID.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../cli/commands/append.ts"],
4
4
  "sourcesContent": ["/**\n * @module cli/commands/append\n *\n * Implements the pm append command surface and its agent-facing runtime behavior.\n */\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { resolveAuthor } from \"../../core/shared/author.js\";\nimport { toItemRecord } from \"../../core/item/item-record.js\";\nimport { createStdinTokenResolver } from \"../../core/item/parse.js\";\nimport { mutateItem } from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\n\n/**\n * Documents the append command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface AppendCommandOptions {\n body: string;\n author?: string;\n message?: string;\n force?: boolean;\n}\n\n/**\n * Documents the append result payload exchanged by command, SDK, and package integrations.\n */\nexport interface AppendResult {\n item: Record<string, unknown>;\n appended: string;\n changed_fields: string[];\n}\n\n\n/**\n * Implements run append for the public runtime surface of this module.\n */\nexport async function runAppend(id: string, options: AppendCommandOptions, global: GlobalOptions): Promise<AppendResult> {\n if (options.body === undefined) {\n throw new PmCliError(\"Missing required --body text\", EXIT_CODE.USAGE);\n }\n const stdinResolver = createStdinTokenResolver();\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n const settings = await readSettings(pmRoot);\n const author = resolveAuthor(options.author, settings.author_default);\n // options.body is guaranteed defined by the guard above, so resolveValue returns a defined string.\n const bodyInput = await stdinResolver.resolveValue(options.body, \"--body\");\n const appended = (bodyInput as string).trim();\n\n const result = await mutateItem({\n pmRoot,\n settings,\n id,\n op: \"append\",\n author,\n message: options.message,\n force: options.force,\n mutate(document) {\n if (appended.length === 0) {\n return { changedFields: [] };\n }\n const spacer = document.body.trim().length > 0 ? \"\\n\\n\" : \"\";\n document.body = `${document.body.replace(/\\s+$/, \"\")}${spacer}${appended}\\n`;\n return { changedFields: [\"body\"] };\n },\n });\n\n return {\n item: toItemRecord(result.item),\n appended: appended.length > 0 ? appended : \"\",\n changed_fields: result.changedFields,\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,eAAsB,UAAU,IAAY,SAA+BA,SAAqB;AAC9F,MAAI,QAAQ,SAAS,QAAW;AAC9B,UAAM,IAAI,WAAW,gCAAgC,UAAU,KAAK;EACtE;AACA,QAAM,gBAAgB,yBAAwB;AAC9C,QAAM,SAAS,cAAc,QAAQ,IAAG,GAAIA,QAAO,IAAI;AACvD,MAAI,CAAE,MAAM,WAAW,gBAAgB,MAAM,CAAC,GAAI;AAChD,UAAM,IAAI,WAAW,iCAAiC,MAAM,wBAAwB,UAAU,SAAS;EACzG;AACA,QAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAM,SAAS,cAAc,QAAQ,QAAQ,SAAS,cAAc;AAEpE,QAAM,YAAY,MAAM,cAAc,aAAa,QAAQ,MAAM,QAAQ;AACzE,QAAM,WAAY,UAAqB,KAAI;AAE3C,QAAM,SAAS,MAAM,WAAW;IAC9B;IACA;IACA;IACA,IAAI;IACJ;IACA,SAAS,QAAQ;IACjB,OAAO,QAAQ;IACf,OAAO,UAAQ;AACb,UAAI,SAAS,WAAW,GAAG;AACzB,eAAO,EAAE,eAAe,CAAA,EAAE;MAC5B;AACA,YAAM,SAAS,SAAS,KAAK,KAAI,EAAG,SAAS,IAAI,SAAS;AAC1D,eAAS,OAAO,GAAG,SAAS,KAAK,QAAQ,QAAQ,EAAE,CAAC,GAAG,MAAM,GAAG,QAAQ;;AACxE,aAAO,EAAE,eAAe,CAAC,MAAM,EAAC;IAClC;GACD;AAED,SAAO;IACL,MAAM,aAAa,OAAO,IAAI;IAC9B,UAAU,SAAS,SAAS,IAAI,WAAW;IAC3C,gBAAgB,OAAO;;AAE3B;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,eAAsB,UAAU,IAAY,SAA+BA,SAAqB;AAC9F,MAAI,QAAQ,SAAS,QAAW;AAC9B,UAAM,IAAI,WAAW,gCAAgC,UAAU,KAAK;EACtE;AACA,QAAM,gBAAgB,yBAAwB;AAC9C,QAAM,SAAS,cAAc,QAAQ,IAAG,GAAIA,QAAO,IAAI;AACvD,MAAI,CAAE,MAAM,WAAW,gBAAgB,MAAM,CAAC,GAAI;AAChD,UAAM,IAAI,WAAW,iCAAiC,MAAM,wBAAwB,UAAU,SAAS;EACzG;AACA,QAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAM,SAAS,cAAc,QAAQ,QAAQ,SAAS,cAAc;AAEpE,QAAM,YAAY,MAAM,cAAc,aAAa,QAAQ,MAAM,QAAQ;AACzE,QAAM,WAAY,UAAqB,KAAI;AAE3C,QAAM,SAAS,MAAM,WAAW;IAC9B;IACA;IACA;IACA,IAAI;IACJ;IACA,SAAS,QAAQ;IACjB,OAAO,QAAQ;IACf,OAAO,UAAQ;AACb,UAAI,SAAS,WAAW,GAAG;AACzB,eAAO,EAAE,eAAe,CAAA,EAAE;MAC5B;AACA,YAAM,SAAS,SAAS,KAAK,KAAI,EAAG,SAAS,IAAI,SAAS;AAC1D,eAAS,OAAO,GAAG,SAAS,KAAK,QAAQ,QAAQ,EAAE,CAAC,GAAG,MAAM,GAAG,QAAQ;;AACxE,aAAO,EAAE,eAAe,CAAC,MAAM,EAAC;IAClC;GACD;AAED,SAAO;IACL,MAAM,aAAa,OAAO,IAAI;IAC9B,UAAU,SAAS,SAAS,IAAI,WAAW;IAC3C,gBAAgB,OAAO;;AAE3B;",
6
6
  "names": ["global"]
7
7
  }
@@ -1,24 +1,16 @@
1
1
  import {
2
2
  parseAnnotationTextInput,
3
3
  runAnnotationCommand
4
- } from "./chunk-5J2XPTAD.js";
5
- import "./chunk-WW4E2DC3.js";
4
+ } from "./chunk-43SIHQND.js";
6
5
  import {
7
6
  createStdinTokenResolver
8
- } from "./chunk-T3ABIMGW.js";
9
- import "./chunk-EEY54JMF.js";
10
- import "./chunk-3U3VEWK6.js";
11
- import "./chunk-EZFKWSC7.js";
12
- import "./chunk-DRBV5UC2.js";
13
- import "./chunk-P5YORJRH.js";
14
- import "./chunk-7C2O74AE.js";
15
- import "./chunk-5VVUKE3U.js";
7
+ } from "./chunk-2TILG6F2.js";
16
8
 
17
9
  // dist/cli/commands/learnings.js
18
10
  !(function() {
19
11
  try {
20
12
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
21
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a9ffadfd-9838-58fb-9e0b-83f80b07fd49");
13
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b3090079-935c-5670-ad34-028d37b0bd8b");
22
14
  } catch (e2) {
23
15
  }
24
16
  })();
@@ -27,7 +19,7 @@ async function runLearnings(id, options, global2) {
27
19
  const addInput = options.add === void 0 ? void 0 : await stdinResolver.resolveValue(options.add, "--add");
28
20
  return runAnnotationCommand(id, options, global2, {
29
21
  // addInput is defined whenever options.add is defined (see resolveValue), so the cast is safe.
30
- input: options.add === void 0 ? { mode: "list" } : { mode: "add", value: addInput, emptyFlag: "--add" },
22
+ input: options.add === void 0 ? { mode: "list" } : { mode: "add", value: addInput, rawValue: options.add, emptyFlag: "--add" },
31
23
  collectionKey: "learnings",
32
24
  op: "learning_add",
33
25
  parseText: (raw) => parseAnnotationTextInput(raw),
@@ -42,7 +34,8 @@ async function runLearnings(id, options, global2) {
42
34
  }
43
35
  });
44
36
  }
37
+
45
38
  export {
46
39
  runLearnings
47
40
  };
48
- //# sourceMappingURL=learnings-2HTPZNGZ.js.map
41
+ //# sourceMappingURL=chunk-DG6BSXZ7.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../cli/commands/learnings.ts"],
4
- "sourcesContent": ["/**\n * @module cli/commands/learnings\n *\n * Implements the pm learnings command surface and its agent-facing runtime behavior.\n */\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { createStdinTokenResolver } from \"../../core/item/parse.js\";\nimport type { LogNote } from \"../../types/index.js\";\nimport { parseAnnotationTextInput, runAnnotationCommand } from \"./annotation-command.js\";\n\n/**\n * Documents the learnings command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface LearningsCommandOptions {\n add?: string;\n limit?: string;\n author?: string;\n message?: string;\n allowAuditLearning?: boolean;\n allowAuditComment?: boolean;\n force?: boolean;\n}\n\n/**\n * Documents the learnings result payload exchanged by command, SDK, and package integrations.\n */\nexport interface LearningsResult {\n id: string;\n learnings: LogNote[];\n count: number;\n}\n\n/**\n * Implements run learnings for the public runtime surface of this module.\n */\nexport async function runLearnings(\n id: string,\n options: LearningsCommandOptions,\n global: GlobalOptions,\n): Promise<LearningsResult> {\n const stdinResolver = createStdinTokenResolver();\n const addInput = options.add === undefined ? undefined : await stdinResolver.resolveValue(options.add, \"--add\");\n\n return runAnnotationCommand<\"learnings\", LogNote>(id, options, global, {\n // addInput is defined whenever options.add is defined (see resolveValue), so the cast is safe.\n input: options.add === undefined ? { mode: \"list\" } : { mode: \"add\", value: addInput as string, emptyFlag: \"--add\" },\n collectionKey: \"learnings\",\n op: \"learning_add\",\n parseText: (raw) => parseAnnotationTextInput(raw),\n allowAuditBypass: Boolean(options.allowAuditLearning || options.allowAuditComment),\n conflictGuidance: {\n required:\n \"For append-only learning audits on another owner's item, prefer --allow-audit-learning (legacy alias: --allow-audit-comment) before considering --force.\",\n examples: ['pm learnings pm-a1b2 --add \"audit learning\" --author \"reviewer\" --allow-audit-learning'],\n nextSteps: [\n \"Retry with --allow-audit-learning (or legacy --allow-audit-comment) for append-only learning audits that do not mutate item metadata beyond learnings.\",\n \"Use --force only when an ownership override is explicitly approved.\",\n ],\n },\n });\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAmCA,eAAsB,aACpB,IACA,SACAA,SAAqB;AAErB,QAAM,gBAAgB,yBAAwB;AAC9C,QAAM,WAAW,QAAQ,QAAQ,SAAY,SAAY,MAAM,cAAc,aAAa,QAAQ,KAAK,OAAO;AAE9G,SAAO,qBAA2C,IAAI,SAASA,SAAQ;;IAErE,OAAO,QAAQ,QAAQ,SAAY,EAAE,MAAM,OAAM,IAAK,EAAE,MAAM,OAAO,OAAO,UAAoB,WAAW,QAAO;IAClH,eAAe;IACf,IAAI;IACJ,WAAW,CAAC,QAAQ,yBAAyB,GAAG;IAChD,kBAAkB,QAAQ,QAAQ,sBAAsB,QAAQ,iBAAiB;IACjF,kBAAkB;MAChB,UACE;MACF,UAAU,CAAC,wFAAwF;MACnG,WAAW;QACT;QACA;;;GAGL;AACH;",
4
+ "sourcesContent": ["/**\n * @module cli/commands/learnings\n *\n * Implements the pm learnings command surface and its agent-facing runtime behavior.\n */\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { createStdinTokenResolver } from \"../../core/item/parse.js\";\nimport type { LogNote } from \"../../types/index.js\";\nimport { parseAnnotationTextInput, runAnnotationCommand } from \"./annotation-command.js\";\n\n/**\n * Documents the learnings command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface LearningsCommandOptions {\n add?: string;\n limit?: string;\n author?: string;\n message?: string;\n allowAuditLearning?: boolean;\n allowAuditComment?: boolean;\n force?: boolean;\n}\n\n/**\n * Documents the learnings result payload exchanged by command, SDK, and package integrations.\n */\nexport interface LearningsResult {\n id: string;\n learnings: LogNote[];\n count: number;\n}\n\n/**\n * Implements run learnings for the public runtime surface of this module.\n */\nexport async function runLearnings(\n id: string,\n options: LearningsCommandOptions,\n global: GlobalOptions,\n): Promise<LearningsResult> {\n const stdinResolver = createStdinTokenResolver();\n const addInput = options.add === undefined ? undefined : await stdinResolver.resolveValue(options.add, \"--add\");\n\n return runAnnotationCommand<\"learnings\", LogNote>(id, options, global, {\n // addInput is defined whenever options.add is defined (see resolveValue), so the cast is safe.\n input: options.add === undefined\n ? { mode: \"list\" }\n : { mode: \"add\", value: addInput as string, rawValue: options.add, emptyFlag: \"--add\" },\n collectionKey: \"learnings\",\n op: \"learning_add\",\n parseText: (raw) => parseAnnotationTextInput(raw),\n allowAuditBypass: Boolean(options.allowAuditLearning || options.allowAuditComment),\n conflictGuidance: {\n required:\n \"For append-only learning audits on another owner's item, prefer --allow-audit-learning (legacy alias: --allow-audit-comment) before considering --force.\",\n examples: ['pm learnings pm-a1b2 --add \"audit learning\" --author \"reviewer\" --allow-audit-learning'],\n nextSteps: [\n \"Retry with --allow-audit-learning (or legacy --allow-audit-comment) for append-only learning audits that do not mutate item metadata beyond learnings.\",\n \"Use --force only when an ownership override is explicitly approved.\",\n ],\n },\n });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAmCA,eAAsB,aACpB,IACA,SACAA,SAAqB;AAErB,QAAM,gBAAgB,yBAAwB;AAC9C,QAAM,WAAW,QAAQ,QAAQ,SAAY,SAAY,MAAM,cAAc,aAAa,QAAQ,KAAK,OAAO;AAE9G,SAAO,qBAA2C,IAAI,SAASA,SAAQ;;IAErE,OAAO,QAAQ,QAAQ,SACnB,EAAE,MAAM,OAAM,IACd,EAAE,MAAM,OAAO,OAAO,UAAoB,UAAU,QAAQ,KAAK,WAAW,QAAO;IACvF,eAAe;IACf,IAAI;IACJ,WAAW,CAAC,QAAQ,yBAAyB,GAAG;IAChD,kBAAkB,QAAQ,QAAQ,sBAAsB,QAAQ,iBAAiB;IACjF,kBAAkB;MAChB,UACE;MACF,UAAU,CAAC,wFAAwF;MACnG,WAAW;QACT;QACA;;;GAGL;AACH;",
6
6
  "names": ["global"]
7
7
  }
@@ -2,10 +2,10 @@
2
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]="cd15293c-3e04-5469-83ba-98eb60bd6b28")}catch(e){}}();
3
3
  import {
4
4
  PmCliError
5
- } from "./chunk-US3T3W5J.js";
5
+ } from "./chunk-GH73UOSJ.js";
6
6
  import {
7
7
  EXIT_CODE
8
- } from "./chunk-YD5FML7K.js";
8
+ } from "./chunk-UO7XAZK6.js";
9
9
 
10
10
  // dist/core/item/parse.js
11
11
  var STDIN_TOKEN = "-";
@@ -353,6 +353,6 @@ export {
353
353
  createStdinTokenResolver,
354
354
  parseOptionalNumber
355
355
  };
356
- //# sourceMappingURL=chunk-7WYXBPYQ.js.map
356
+ //# sourceMappingURL=chunk-DR2V5OIV.js.map
357
357
 
358
358
  //# debugId=cd15293c-3e04-5469-83ba-98eb60bd6b28
@@ -1,15 +1,13 @@
1
1
  import {
2
+ PmCliError,
2
3
  nowIso
3
- } from "./chunk-DRBV5UC2.js";
4
- import {
5
- PmCliError
6
- } from "./chunk-P5YORJRH.js";
4
+ } from "./chunk-YNCFP5AR.js";
7
5
  import {
8
6
  EXIT_CODE,
9
7
  pathExists,
10
8
  toErrorMessage,
11
9
  writeFileAtomic
12
- } from "./chunk-5VVUKE3U.js";
10
+ } from "./chunk-LCFJ7XAM.js";
13
11
 
14
12
  // dist/core/checkpoint/mutation-checkpoint.js
15
13
  import { mkdir, readFile } from "node:fs/promises";
@@ -130,4 +128,4 @@ export {
130
128
  loadMutationCheckpoint,
131
129
  restoreCheckpointItems
132
130
  };
133
- //# sourceMappingURL=chunk-YQMMMONE.js.map
131
+ //# sourceMappingURL=chunk-E3LWJUGF.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../core/checkpoint/mutation-checkpoint.ts"],
4
4
  "sourcesContent": ["/**\n * @module core/checkpoint/mutation-checkpoint\n *\n * Provides mutation checkpoint primitives for reversible multi-item operations.\n */\nimport { mkdir, readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { pathExists, writeFileAtomic } from \"../fs/fs-utils.js\";\nimport { EXIT_CODE } from \"../shared/constants.js\";\nimport { PmCliError } from \"../shared/errors.js\";\nimport { toErrorMessage } from \"../shared/primitives.js\";\nimport { nowIso } from \"../shared/time.js\";\n\n// Shared checkpoint + rollback machinery for bulk-mutation commands\n// (`update-many`, `close-many`). Each command owns its own checkpoint payload\n// shape (the extra fields it records) but reuses the common id/path/validation\n// helpers and the restore loop so the durable rollback contract — capture each\n// matched item's pre-mutation updated_at, then restore-to-timestamp on\n// rollback — stays identical across commands and is not duplicated.\n\n/**\n * Documents the mutation checkpoint item payload exchanged by command, SDK, and package integrations.\n */\nexport interface MutationCheckpointItem {\n id: string;\n target_updated_at: string;\n}\n\n/**\n * Documents the loaded mutation checkpoint payload exchanged by command, SDK, and package integrations.\n */\nexport interface LoadedMutationCheckpoint {\n /** The full on-disk record so callers can read their command-specific fields. */\n record: Record<string, unknown>;\n /** Validated item list (id + target_updated_at). */\n items: MutationCheckpointItem[];\n /** Absolute path the checkpoint was read from. */\n path: string;\n id: string;\n created_at: string;\n author: string;\n}\n\n/**\n * Documents the checkpoint rollback row payload exchanged by command, SDK, and package integrations.\n */\nexport interface CheckpointRollbackRow {\n id: string;\n status: \"restored\" | \"failed\";\n changed_fields?: string[];\n warnings?: string[];\n error?: string;\n}\n\n/**\n * Documents the checkpoint rollback result payload exchanged by command, SDK, and package integrations.\n */\nexport interface CheckpointRollbackResult {\n rows: CheckpointRollbackRow[];\n restored_ids: string[];\n failed_count: number;\n}\n\n/** Restore a single item to its captured pre-mutation timestamp. */\nexport type CheckpointRestoreFn = (\n id: string,\n targetUpdatedAt: string,\n) => Promise<{ changed_fields?: string[]; warnings?: string[] }>;\n\n/**\n * Implements normalize checkpoint id for the public runtime surface of this module.\n */\nexport function normalizeCheckpointId(raw: string): string {\n const trimmed = raw.trim();\n if (!trimmed) {\n throw new PmCliError(\"--rollback requires a non-empty checkpoint ID\", EXIT_CODE.USAGE);\n }\n if (!/^[a-zA-Z0-9._-]+$/.test(trimmed)) {\n throw new PmCliError(\"--rollback checkpoint ID must match [a-zA-Z0-9._-]+\", EXIT_CODE.USAGE);\n }\n return trimmed;\n}\n\n/**\n * Implements create checkpoint id for the public runtime surface of this module.\n */\nexport function createCheckpointId(prefix: string, nowValue: string): string {\n const compactTimestamp = nowValue.replace(/[-:.TZ]/g, \"\").slice(0, 14);\n const randomSuffix = Math.random().toString(36).slice(2, 8);\n return `${prefix}-${compactTimestamp}-${randomSuffix}`;\n}\n\n/**\n * Implements checkpoint directory path for the public runtime surface of this module.\n */\nexport function checkpointDirectoryPath(pmRoot: string, subdir: string): string {\n return path.join(pmRoot, \"checkpoints\", subdir);\n}\n\n/**\n * Implements checkpoint file path for the public runtime surface of this module.\n */\nexport function checkpointFilePath(pmRoot: string, subdir: string, checkpointId: string): string {\n return path.join(checkpointDirectoryPath(pmRoot, subdir), `${checkpointId}.json`);\n}\n\n/**\n * Implements write mutation checkpoint for the public runtime surface of this module.\n */\nexport async function writeMutationCheckpoint(\n pmRoot: string,\n subdir: string,\n checkpointId: string,\n payload: unknown,\n): Promise<string> {\n const checkpointDir = checkpointDirectoryPath(pmRoot, subdir);\n await mkdir(checkpointDir, { recursive: true });\n const filePath = checkpointFilePath(pmRoot, subdir, checkpointId);\n await writeFileAtomic(filePath, `${JSON.stringify(payload, null, 2)}\\n`);\n return filePath;\n}\n\nfunction parseCheckpointItems(record: Record<string, unknown>, checkpointId: string): MutationCheckpointItem[] {\n if (!Array.isArray(record.items)) {\n throw new PmCliError(`Checkpoint ${checkpointId} is missing items`, EXIT_CODE.GENERIC_FAILURE);\n }\n return record.items.map((entry) => {\n if (!entry || typeof entry !== \"object\") {\n throw new PmCliError(`Checkpoint ${checkpointId} contains an invalid item entry`, EXIT_CODE.GENERIC_FAILURE);\n }\n const row = entry as Record<string, unknown>;\n if (typeof row.id !== \"string\" || row.id.trim().length === 0) {\n throw new PmCliError(`Checkpoint ${checkpointId} contains an item entry without ID`, EXIT_CODE.GENERIC_FAILURE);\n }\n if (typeof row.target_updated_at !== \"string\" || row.target_updated_at.trim().length === 0) {\n throw new PmCliError(\n `Checkpoint ${checkpointId} contains an item entry without target_updated_at`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n return { id: row.id.trim(), target_updated_at: row.target_updated_at.trim() };\n });\n}\n\n/**\n * Implements load mutation checkpoint for the public runtime surface of this module.\n */\nexport async function loadMutationCheckpoint(\n pmRoot: string,\n subdir: string,\n rawCheckpointId: string,\n schemaVersion: number,\n): Promise<LoadedMutationCheckpoint> {\n const normalizedId = normalizeCheckpointId(rawCheckpointId);\n const filePath = checkpointFilePath(pmRoot, subdir, normalizedId);\n if (!(await pathExists(filePath))) {\n throw new PmCliError(`Checkpoint ${normalizedId} not found`, EXIT_CODE.NOT_FOUND);\n }\n const raw = await readFile(filePath, \"utf8\");\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw) as unknown;\n } catch (error: unknown) {\n throw new PmCliError(\n `Checkpoint ${normalizedId} contains invalid JSON: ${toErrorMessage(error)}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n if (!parsed || typeof parsed !== \"object\") {\n throw new PmCliError(`Checkpoint ${normalizedId} is invalid`, EXIT_CODE.GENERIC_FAILURE);\n }\n const record = parsed as Record<string, unknown>;\n if (record.schema_version !== schemaVersion) {\n throw new PmCliError(`Checkpoint ${normalizedId} has unsupported schema version`, EXIT_CODE.GENERIC_FAILURE);\n }\n const items = parseCheckpointItems(record, normalizedId);\n return {\n record,\n items,\n path: filePath,\n id: typeof record.id === \"string\" ? record.id : normalizedId,\n // Defensive recovery for malformed checkpoint metadata; normal writes\n // always include these fields, so fallbacks keep rollback inspectable.\n created_at: typeof record.created_at === \"string\" ? record.created_at : nowIso(),\n author: typeof record.author === \"string\" ? record.author : \"unknown\",\n };\n}\n\n/**\n * Restore every checkpointed item to its captured pre-mutation timestamp,\n * collecting per-item rows. A single item's failure is recorded and does not\n * abort the remaining restores.\n */\nexport async function restoreCheckpointItems(\n items: MutationCheckpointItem[],\n restore: CheckpointRestoreFn,\n): Promise<CheckpointRollbackResult> {\n const rows: CheckpointRollbackRow[] = [];\n const restoredIds: string[] = [];\n for (const entry of items) {\n try {\n const restored = await restore(entry.id, entry.target_updated_at);\n rows.push({\n id: entry.id,\n status: \"restored\",\n changed_fields: restored.changed_fields,\n warnings: restored.warnings,\n });\n restoredIds.push(entry.id);\n } catch (error: unknown) {\n rows.push({ id: entry.id, status: \"failed\", error: toErrorMessage(error) });\n }\n }\n return {\n rows,\n restored_ids: restoredIds,\n failed_count: rows.filter((row) => row.status === \"failed\").length,\n };\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,18 +1,14 @@
1
1
  import {
2
+ canonicalDocument,
2
3
  hashDocument,
3
- toItemRecord
4
- } from "./chunk-3U3VEWK6.js";
5
- import {
6
- canonicalDocument
7
- } from "./chunk-EZFKWSC7.js";
8
- import {
9
4
  orderObject,
10
5
  sha256Hex,
11
- stableStringify
12
- } from "./chunk-P5YORJRH.js";
6
+ stableStringify,
7
+ toItemRecord
8
+ } from "./chunk-YNCFP5AR.js";
13
9
  import {
14
10
  FRONT_MATTER_KEY_ORDER
15
- } from "./chunk-5VVUKE3U.js";
11
+ } from "./chunk-LCFJ7XAM.js";
16
12
 
17
13
  // dist/core/history/replay.js
18
14
  import jsonPatch from "fast-json-patch";
@@ -240,4 +236,4 @@ export {
240
236
  reanchorHistoryEntries,
241
237
  historyEntriesToRaw
242
238
  };
243
- //# sourceMappingURL=chunk-D3UCE7RW.js.map
239
+ //# sourceMappingURL=chunk-E3YQFSFE.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../core/history/replay.ts"],
4
4
  "sourcesContent": ["/**\n * @module core/history/replay\n *\n * Implements append-only history and replay behavior for Replay.\n */\nimport jsonPatch from \"fast-json-patch\";\nimport { FRONT_MATTER_KEY_ORDER } from \"../shared/constants.js\";\nimport { canonicalDocument } from \"../item/item-format.js\";\nimport { toItemRecord } from \"../item/item-record.js\";\nimport { orderObject, sha256Hex, stableStringify } from \"../shared/serialization.js\";\nimport { hashDocument } from \"./history.js\";\nimport type { HistoryEntry, HistoryPatchOp, ItemDocument, ItemMetadata } from \"../../types/index.js\";\n\n/**\n * Shared history replay/patch mechanics single-sourced for the history, restore,\n * history-redact, and history-repair commands plus the health/validate drift checks.\n *\n * Each command keeps its own thin error-formatting wrapper so the exact CLI error\n * contracts (restore's rich patch-failure context, redact's op tag, history's\n * generic message) are preserved; only the underlying replay/patch logic is shared.\n */\n\nexport interface ReplayDocument {\n metadata: Record<string, unknown>;\n body: string;\n}\n\nexport const EMPTY_REPLAY_DOCUMENT: ReplayDocument = {\n metadata: {},\n body: \"\",\n};\n\n/**\n * Implements clone empty replay document for the public runtime surface of this module.\n */\nexport function cloneEmptyReplayDocument(): ReplayDocument {\n return structuredClone(EMPTY_REPLAY_DOCUMENT);\n}\n\n/**\n * Implements replay hash for the public runtime surface of this module.\n */\nexport function replayHash(document: ReplayDocument): string {\n try {\n return hashDocument(replayToItemDocument(document));\n } catch {\n // Legacy/malformed replay states (for example a stream whose first entry never\n // established a full `create` document, so the canonicalizer cannot normalize it)\n // cannot be canonically hashed. Fall back to a deterministic structural hash so\n // re-anchor and verification stay internally consistent for these streams. Fully\n // formed documents always take the canonical path above, so valid streams are\n // unaffected.\n return sha256Hex(stableStringify({ replay_fallback: true, metadata: document.metadata, body: document.body }));\n }\n}\n\n/**\n * Implements replay to item document for the public runtime surface of this module.\n */\nexport function replayToItemDocument(document: ReplayDocument): ItemDocument {\n return {\n metadata: document.metadata as ItemMetadata,\n body: document.body,\n };\n}\n\n/**\n * Converts a materialized replay document into a canonical item document. Use\n * this when callers have already rejected the empty/deleted replay state and\n * need restored metadata validated through the normal front-matter rules.\n */\nexport function replayToCanonicalItemDocument(\n document: ReplayDocument,\n options: Parameters<typeof canonicalDocument>[1] = {},\n): ItemDocument {\n return canonicalDocument(replayToItemDocument(document), options);\n}\n\n/**\n * Canonicalize an item document into the ordered replay form used when comparing\n * a replayed chain against the on-disk item (restore + history-repair reconciliation).\n */\nexport function toReplayDocument(document: ItemDocument): ReplayDocument {\n if (!document.metadata || Object.keys(document.metadata).length === 0) {\n return {\n metadata: {},\n body: document.body ?? \"\",\n };\n }\n const canonical = canonicalDocument(document);\n return {\n metadata: orderObject(toItemRecord(canonical.metadata), FRONT_MATTER_KEY_ORDER),\n body: canonical.body,\n };\n}\n\n/**\n * Implements normalize replay patch path for the public runtime surface of this module.\n */\nexport function normalizeReplayPatchPath(path: string): string {\n if (path === \"/front_matter\") {\n return \"/metadata\";\n }\n if (path.startsWith(\"/front_matter/\")) {\n return `/metadata/${path.slice(\"/front_matter/\".length)}`;\n }\n return path;\n}\n\nfunction isHistoryPatchOp(value: unknown): value is HistoryPatchOp {\n return (\n typeof value === \"object\" &&\n value !== null &&\n typeof (value as { op?: unknown }).op === \"string\" &&\n typeof (value as { path?: unknown }).path === \"string\"\n );\n}\n\n/**\n * Implements normalize replay patch ops for the public runtime surface of this module.\n */\nexport function normalizeReplayPatchOps(patch: HistoryPatchOp[] | unknown): HistoryPatchOp[] {\n if (!Array.isArray(patch)) {\n return [];\n }\n return patch.filter(isHistoryPatchOp).map((operation) => ({\n ...operation,\n path: normalizeReplayPatchPath(operation.path),\n from: typeof operation.from === \"string\" ? normalizeReplayPatchPath(operation.from) : undefined,\n }));\n}\n\nfunction isReplayDocumentShape(value: unknown): value is { metadata: Record<string, unknown>; body: string } {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"metadata\" in value &&\n \"body\" in value &&\n typeof (value as { body: unknown }).body === \"string\" &&\n typeof (value as { metadata: unknown }).metadata === \"object\" &&\n (value as { metadata: unknown }).metadata !== null\n );\n}\n\n/**\n * Restricts replay apply result values accepted by command, SDK, and storage contracts.\n */\nexport type ReplayApplyResult =\n | { ok: true; document: ReplayDocument }\n | { ok: false; error: unknown };\n\n/**\n * Strictly apply a history patch (front_matter->metadata normalized) to a replay\n * document. Returns a result envelope rather than throwing so each caller can\n * format its own error contract.\n */\nexport function tryApplyReplayPatch(current: ReplayDocument, patch: HistoryPatchOp[]): ReplayApplyResult {\n try {\n const normalizedPatch = normalizeReplayPatchOps(patch);\n const applied = jsonPatch.applyPatch(\n structuredClone(current),\n normalizedPatch as jsonPatch.Operation[],\n true,\n false,\n ).newDocument as unknown;\n if (!isReplayDocumentShape(applied)) {\n return { ok: false, error: new Error(\"history_replay_invalid_document_shape\") };\n }\n return { ok: true, document: { metadata: applied.metadata, body: applied.body } };\n } catch (error) {\n return { ok: false, error };\n }\n}\n\n/**\n * Deterministically verify a history chain: each entry's before_hash must equal\n * the prior replayed after_hash, the patch must strictly apply, and the recorded\n * after_hash must equal the replayed result.\n */\nexport function verifyHistoryChain(entries: HistoryEntry[]): { ok: boolean; errors: string[] } {\n let replay = cloneEmptyReplayDocument();\n for (let index = 0; index < entries.length; index += 1) {\n const entry = entries[index];\n if (replayHash(replay) !== entry.before_hash) {\n return {\n ok: false,\n errors: [`verify_failed:before_hash_mismatch:entry_${index + 1}`],\n };\n }\n const applied = tryApplyReplayPatch(replay, entry.patch);\n if (!applied.ok) {\n return {\n ok: false,\n errors: [`verify_failed:patch_apply_failed:entry_${index + 1}`],\n };\n }\n replay = applied.document;\n if (replayHash(replay) !== entry.after_hash) {\n return {\n ok: false,\n errors: [`verify_failed:after_hash_mismatch:entry_${index + 1}`],\n };\n }\n }\n return { ok: true, errors: [] };\n}\n\n/**\n * Documents the lenient apply result payload exchanged by command, SDK, and package integrations.\n */\nexport interface LenientApplyResult {\n document: ReplayDocument;\n convertedReplaceToAdd: number;\n skippedOps: number;\n}\n\nfunction tryApplySingleOp(document: unknown, op: HistoryPatchOp): { ok: true; document: unknown } | { ok: false } {\n try {\n const applied = jsonPatch.applyPatch(\n structuredClone(document),\n [op as jsonPatch.Operation],\n true,\n false,\n ).newDocument as unknown;\n return { ok: true, document: applied };\n } catch {\n return { ok: false };\n }\n}\n\n/**\n * Apply a legacy patch op-by-op, recovering from drift that strict replay rejects:\n * a `replace` whose path no longer exists is retried as `add`, and any op that\n * still cannot apply against the current replay state is skipped. The resulting\n * document is what the repaired entry's recomputed patch should target.\n */\nexport function lenientApplyReplayPatch(current: ReplayDocument, patch: HistoryPatchOp[]): LenientApplyResult {\n let working: unknown = structuredClone(current);\n let convertedReplaceToAdd = 0;\n let skippedOps = 0;\n\n for (const op of normalizeReplayPatchOps(patch)) {\n const direct = tryApplySingleOp(working, op);\n if (direct.ok) {\n working = direct.document;\n continue;\n }\n if (op.op === \"replace\") {\n const asAdd = tryApplySingleOp(working, { ...op, op: \"add\" });\n if (asAdd.ok) {\n working = asAdd.document;\n convertedReplaceToAdd += 1;\n continue;\n }\n }\n skippedOps += 1;\n }\n\n const candidate = working as { metadata?: unknown; body?: unknown };\n const document: ReplayDocument = {\n metadata:\n typeof candidate.metadata === \"object\" && candidate.metadata !== null\n ? (candidate.metadata as Record<string, unknown>)\n : {},\n body: typeof candidate.body === \"string\" ? candidate.body : current.body,\n };\n return { document, convertedReplaceToAdd, skippedOps };\n}\n\n/**\n * Documents the reanchor entry detail payload exchanged by command, SDK, and package integrations.\n */\nexport interface ReanchorEntryDetail {\n index: number;\n rehashed: boolean;\n patch_repaired: boolean;\n converted_replace_to_add: number;\n skipped_ops: number;\n}\n\n/**\n * Documents the reanchor result payload exchanged by command, SDK, and package integrations.\n */\nexport interface ReanchorResult {\n entries: HistoryEntry[];\n finalDocument: ReplayDocument;\n entriesRehashed: number;\n entriesPatchRepaired: number;\n convertedReplaceToAdd: number;\n skippedOps: number;\n details: ReanchorEntryDetail[];\n}\n\n/**\n * Re-anchor a drifted history chain: replay every entry from empty, recompute the\n * before/after hashes, and only rewrite a patch when the original op set no longer\n * strictly applies (legacy drift). Clean entries keep their patch verbatim so the\n * on-disk diff stays minimal. The returned chain verifies via verifyHistoryChain.\n */\nexport function reanchorHistoryEntries(entries: HistoryEntry[]): ReanchorResult {\n let replay = cloneEmptyReplayDocument();\n const rewritten: HistoryEntry[] = [];\n const details: ReanchorEntryDetail[] = [];\n let entriesRehashed = 0;\n let entriesPatchRepaired = 0;\n let convertedReplaceToAdd = 0;\n let skippedOps = 0;\n\n for (let index = 0; index < entries.length; index += 1) {\n const entry = entries[index];\n const beforeHash = replayHash(replay);\n const strict = tryApplyReplayPatch(replay, entry.patch);\n\n let next: ReplayDocument;\n let outPatch: HistoryPatchOp[];\n let patchRepaired = false;\n let entryConverted = 0;\n let entrySkipped = 0;\n\n if (strict.ok) {\n next = strict.document;\n outPatch = entry.patch;\n } else {\n const lenient = lenientApplyReplayPatch(replay, entry.patch);\n next = lenient.document;\n outPatch = jsonPatch.compare(replay, next) as HistoryPatchOp[];\n patchRepaired = true;\n entryConverted = lenient.convertedReplaceToAdd;\n entrySkipped = lenient.skippedOps;\n convertedReplaceToAdd += entryConverted;\n skippedOps += entrySkipped;\n entriesPatchRepaired += 1;\n }\n\n const afterHash = replayHash(next);\n const rehashed = beforeHash !== entry.before_hash || afterHash !== entry.after_hash;\n if (rehashed) {\n entriesRehashed += 1;\n }\n\n rewritten.push({\n ...entry,\n patch: outPatch,\n before_hash: beforeHash,\n after_hash: afterHash,\n });\n details.push({\n index: index + 1,\n rehashed,\n patch_repaired: patchRepaired,\n converted_replace_to_add: entryConverted,\n skipped_ops: entrySkipped,\n });\n replay = next;\n }\n\n return {\n entries: rewritten,\n finalDocument: replay,\n entriesRehashed,\n entriesPatchRepaired,\n convertedReplaceToAdd,\n skippedOps,\n details,\n };\n}\n\n/**\n * Implements history entries to raw for the public runtime surface of this module.\n */\nexport function historyEntriesToRaw(entries: HistoryEntry[]): string {\n if (entries.length === 0) {\n return \"\";\n }\n return `${entries.map((entry) => JSON.stringify(entry)).join(\"\\n\")}\\n`;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  getRuntimePath,
5
5
  writeFileAtomic
6
- } from "./chunk-YD5FML7K.js";
6
+ } from "./chunk-UO7XAZK6.js";
7
7
 
8
8
  // dist/core/session/session-state.js
9
9
  import { promises as fs } from "node:fs";
@@ -53,6 +53,6 @@ export {
53
53
  setFocusedItem,
54
54
  clearFocusedItem
55
55
  };
56
- //# sourceMappingURL=chunk-PDXT6Q55.js.map
56
+ //# sourceMappingURL=chunk-EDO7VXSO.js.map
57
57
 
58
58
  //# debugId=c63f67f8-15be-5ba4-9853-406782c70ecb
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-WW4E2DC3.js";
4
4
  import {
5
5
  readHistoryEntries
6
- } from "./chunk-3Y4OESPP.js";
6
+ } from "./chunk-M62RO3XK.js";
7
7
  import {
8
8
  EMPTY_REPLAY_DOCUMENT,
9
9
  historyEntriesToRaw,
@@ -11,29 +11,23 @@ import {
11
11
  replayToItemDocument,
12
12
  tryApplyReplayPatch,
13
13
  verifyHistoryChain
14
- } from "./chunk-D3UCE7RW.js";
14
+ } from "./chunk-E3YQFSFE.js";
15
15
  import {
16
+ PmCliError,
16
17
  acquireLock,
18
+ canonicalDocument,
17
19
  createHistoryEntry,
20
+ getActiveExtensionRegistrations,
18
21
  locateItem,
19
- readLocatedItem
20
- } from "./chunk-3U3VEWK6.js";
21
- import {
22
- canonicalDocument,
23
22
  normalizeItemId,
24
23
  normalizeRawItemId,
25
- serializeItemDocument
26
- } from "./chunk-EZFKWSC7.js";
27
- import {
28
- nowIso
29
- } from "./chunk-DRBV5UC2.js";
30
- import {
31
- PmCliError,
32
- getActiveExtensionRegistrations,
24
+ nowIso,
25
+ readLocatedItem,
33
26
  readSettings,
34
27
  resolveGovernanceKnobs,
35
- runActiveOnWriteHooks
36
- } from "./chunk-P5YORJRH.js";
28
+ runActiveOnWriteHooks,
29
+ serializeItemDocument
30
+ } from "./chunk-YNCFP5AR.js";
37
31
  import {
38
32
  EXIT_CODE,
39
33
  getHistoryPath,
@@ -44,7 +38,7 @@ import {
44
38
  resolveItemTypeRegistry,
45
39
  resolvePmRoot,
46
40
  writeFileAtomic
47
- } from "./chunk-5VVUKE3U.js";
41
+ } from "./chunk-LCFJ7XAM.js";
48
42
 
49
43
  // dist/cli/commands/history-redact.js
50
44
  import fs2 from "node:fs/promises";
@@ -652,4 +646,4 @@ export {
652
646
  runHistoryRedact,
653
647
  _testOnly
654
648
  };
655
- //# sourceMappingURL=chunk-FDBARR33.js.map
649
+ //# sourceMappingURL=chunk-EIUBK2LT.js.map