@unbrained/pm-cli 2026.6.6 → 2026.6.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 (546) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +5 -1
  3. package/dist/cli/commander-usage.js +74 -4
  4. package/dist/cli/commander-usage.js.map +1 -1
  5. package/dist/cli/commands/aggregate.d.ts +8 -0
  6. package/dist/cli/commands/aggregate.js +84 -7
  7. package/dist/cli/commands/aggregate.js.map +1 -1
  8. package/dist/cli/commands/calendar.js +10 -3
  9. package/dist/cli/commands/calendar.js.map +1 -1
  10. package/dist/cli/commands/close-many.js +13 -10
  11. package/dist/cli/commands/close-many.js.map +1 -1
  12. package/dist/cli/commands/close.d.ts +1 -1
  13. package/dist/cli/commands/close.js +20 -10
  14. package/dist/cli/commands/close.js.map +1 -1
  15. package/dist/cli/commands/completion.js +68 -13
  16. package/dist/cli/commands/completion.js.map +1 -1
  17. package/dist/cli/commands/config.d.ts +5 -4
  18. package/dist/cli/commands/config.js +50 -2
  19. package/dist/cli/commands/config.js.map +1 -1
  20. package/dist/cli/commands/contracts.js +4 -3
  21. package/dist/cli/commands/contracts.js.map +1 -1
  22. package/dist/cli/commands/copy.d.ts +14 -0
  23. package/dist/cli/commands/copy.js +153 -0
  24. package/dist/cli/commands/copy.js.map +1 -0
  25. package/dist/cli/commands/extension/doctor.js +62 -2
  26. package/dist/cli/commands/extension/doctor.js.map +1 -1
  27. package/dist/cli/commands/extension/install-sources.d.ts +8 -0
  28. package/dist/cli/commands/extension/install-sources.js +82 -2
  29. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  30. package/dist/cli/commands/extension.d.ts +29 -0
  31. package/dist/cli/commands/extension.js +61 -2
  32. package/dist/cli/commands/extension.js.map +1 -1
  33. package/dist/cli/commands/get.d.ts +9 -0
  34. package/dist/cli/commands/get.js +23 -2
  35. package/dist/cli/commands/get.js.map +1 -1
  36. package/dist/cli/commands/history-compact.d.ts +39 -0
  37. package/dist/cli/commands/history-compact.js +262 -0
  38. package/dist/cli/commands/history-compact.js.map +1 -0
  39. package/dist/cli/commands/index.d.ts +2 -0
  40. package/dist/cli/commands/index.js +4 -2
  41. package/dist/cli/commands/index.js.map +1 -1
  42. package/dist/cli/commands/list.d.ts +2 -0
  43. package/dist/cli/commands/list.js +87 -9
  44. package/dist/cli/commands/list.js.map +1 -1
  45. package/dist/cli/commands/reindex.js +8 -4
  46. package/dist/cli/commands/reindex.js.map +1 -1
  47. package/dist/cli/commands/search.d.ts +1 -0
  48. package/dist/cli/commands/search.js +232 -35
  49. package/dist/cli/commands/search.js.map +1 -1
  50. package/dist/cli/error-guidance.js +26 -2
  51. package/dist/cli/error-guidance.js.map +1 -1
  52. package/dist/cli/extension-command-help.d.ts +1 -0
  53. package/dist/cli/extension-command-help.js +3 -2
  54. package/dist/cli/extension-command-help.js.map +1 -1
  55. package/dist/cli/help-content.js +10 -2
  56. package/dist/cli/help-content.js.map +1 -1
  57. package/dist/cli/main.d.ts +3 -0
  58. package/dist/cli/main.js +13 -21
  59. package/dist/cli/main.js.map +1 -1
  60. package/dist/cli/register-list-query.js +19 -4
  61. package/dist/cli/register-list-query.js.map +1 -1
  62. package/dist/cli/register-mutation.js +52 -17
  63. package/dist/cli/register-mutation.js.map +1 -1
  64. package/dist/cli/register-operations.js +31 -7
  65. package/dist/cli/register-operations.js.map +1 -1
  66. package/dist/cli/register-setup.js +5 -5
  67. package/dist/cli/register-setup.js.map +1 -1
  68. package/dist/cli/registration-helpers.js +21 -3
  69. package/dist/cli/registration-helpers.js.map +1 -1
  70. package/dist/cli-bundle/chunks/activity-5UROHJ3D.js +16 -0
  71. package/dist/cli-bundle/chunks/{activity-JM6DTDND.js → activity-YVB3QRTE.js} +11 -11
  72. package/dist/cli-bundle/chunks/{aggregate-VNAHUNNF.js → aggregate-LH66F75F.js} +87 -17
  73. package/dist/cli-bundle/chunks/aggregate-LH66F75F.js.map +7 -0
  74. package/dist/cli-bundle/chunks/{aggregate-GI7WSZPH.js → aggregate-OHSWFQJM.js} +88 -18
  75. package/dist/cli-bundle/chunks/aggregate-OHSWFQJM.js.map +1 -0
  76. package/dist/cli-bundle/chunks/{append-WMKRXKCE.js → append-2PPYFAG5.js} +8 -8
  77. package/dist/cli-bundle/chunks/{append-7H5N64R2.js → append-AUGT5W6J.js} +8 -8
  78. package/dist/cli-bundle/chunks/{chunk-6P6GGMOG.js → chunk-2IF7WLB7.js} +2 -2
  79. package/dist/cli-bundle/chunks/{chunk-T3LC5LKB.js → chunk-2IXCHCLM.js} +5 -6
  80. package/dist/cli-bundle/chunks/chunk-2IXCHCLM.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-KAG77BY3.js → chunk-2OJHLWBZ.js} +2 -2
  82. package/dist/cli-bundle/chunks/{chunk-GXSUPCBV.js → chunk-3A2CMEM7.js} +4 -4
  83. package/dist/cli-bundle/chunks/{chunk-UM2GBHS4.js → chunk-3EOBJOF4.js} +4 -4
  84. package/dist/cli-bundle/chunks/{chunk-Q7SPNHLW.js → chunk-42LOFGJS.js} +91 -16
  85. package/dist/cli-bundle/chunks/chunk-42LOFGJS.js.map +7 -0
  86. package/dist/cli-bundle/chunks/{chunk-PRJCELV4.js → chunk-4CHEG6UK.js} +8 -8
  87. package/dist/cli-bundle/chunks/{chunk-4LL6TK5B.js → chunk-4GHZR3BA.js} +56 -28
  88. package/dist/cli-bundle/chunks/chunk-4GHZR3BA.js.map +1 -0
  89. package/dist/cli-bundle/chunks/{chunk-OZ7NSQHL.js → chunk-5AXMRKN5.js} +8 -8
  90. package/dist/cli-bundle/chunks/{chunk-GCOQW437.js → chunk-6J4K6JLA.js} +3 -3
  91. package/dist/cli-bundle/chunks/{chunk-2RSPZI5H.js → chunk-6RZXO5M2.js} +8 -8
  92. package/dist/cli-bundle/chunks/{chunk-KJ33AOCY.js → chunk-AVJD6VTA.js} +3 -3
  93. package/dist/cli-bundle/chunks/{chunk-TCD3R2PF.js → chunk-B2KZGPM2.js} +39 -8
  94. package/dist/cli-bundle/chunks/chunk-B2KZGPM2.js.map +1 -0
  95. package/dist/cli-bundle/chunks/{chunk-I6BNFU5X.js → chunk-B5RF3IP7.js} +3 -3
  96. package/dist/cli-bundle/chunks/{chunk-RZN6VURO.js → chunk-C5W2UH56.js} +3 -3
  97. package/dist/cli-bundle/chunks/{chunk-3LB74A67.js → chunk-CKLBZHS7.js} +6 -6
  98. package/dist/cli-bundle/chunks/{chunk-KWU6HG75.js → chunk-CLD3XNCH.js} +91 -10
  99. package/dist/cli-bundle/chunks/chunk-CLD3XNCH.js.map +1 -0
  100. package/dist/cli-bundle/chunks/{chunk-QO7EBBOM.js → chunk-FHHBD7PN.js} +38 -7
  101. package/dist/cli-bundle/chunks/chunk-FHHBD7PN.js.map +7 -0
  102. package/dist/cli-bundle/chunks/{chunk-3VAM3NNM.js → chunk-FY6Z3FYY.js} +3 -3
  103. package/dist/cli-bundle/chunks/{chunk-RWPSOIEE.js → chunk-GNIUOLZ2.js} +7 -7
  104. package/dist/cli-bundle/chunks/{chunk-MITFDD35.js → chunk-GPXQBR3H.js} +12 -12
  105. package/dist/cli-bundle/chunks/{chunk-2VBQ6ZXS.js → chunk-GUZBNB3G.js} +27 -5
  106. package/dist/cli-bundle/chunks/chunk-GUZBNB3G.js.map +1 -0
  107. package/dist/cli-bundle/chunks/{chunk-I2HSTRJF.js → chunk-H7EO3QA3.js} +5 -5
  108. package/dist/cli-bundle/chunks/{chunk-77GFDHGF.js → chunk-HLC3KTLP.js} +2 -2
  109. package/dist/cli-bundle/chunks/{chunk-OVQCEJPG.js → chunk-HMMMWBK2.js} +2 -2
  110. package/dist/cli-bundle/chunks/{chunk-KJE2FOS4.js → chunk-HRMHZ4RV.js} +26 -4
  111. package/dist/cli-bundle/chunks/chunk-HRMHZ4RV.js.map +7 -0
  112. package/dist/cli-bundle/chunks/{chunk-XLTD2HN3.js → chunk-HV5SSZXF.js} +2 -2
  113. package/dist/cli-bundle/chunks/{chunk-GU2ZJ2VV.js → chunk-IMCJBN2Q.js} +23 -14
  114. package/dist/cli-bundle/chunks/chunk-IMCJBN2Q.js.map +7 -0
  115. package/dist/cli-bundle/chunks/{chunk-2HVRUSQA.js → chunk-KNGVP5WJ.js} +3 -3
  116. package/dist/cli-bundle/chunks/{chunk-ECCMVXGM.js → chunk-KR6R465K.js} +304 -215
  117. package/dist/cli-bundle/chunks/chunk-KR6R465K.js.map +7 -0
  118. package/dist/cli-bundle/chunks/{chunk-3BWOVLTH.js → chunk-LI65XLJR.js} +8 -8
  119. package/dist/cli-bundle/chunks/{chunk-NUZ5HKR4.js → chunk-LIN2BPJ7.js} +2 -2
  120. package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js +112 -0
  121. package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-N7ACFE26.js → chunk-LQHBENVW.js} +3 -3
  123. package/dist/cli-bundle/chunks/{chunk-23YFZ3IG.js → chunk-LXO6V66E.js} +14 -14
  124. package/dist/cli-bundle/chunks/{chunk-PDDFYW4X.js → chunk-M2PW7EZU.js} +26 -7
  125. package/dist/cli-bundle/chunks/chunk-M2PW7EZU.js.map +7 -0
  126. package/dist/cli-bundle/chunks/{chunk-PIU6RSL3.js → chunk-MOYM2C3J.js} +9 -9
  127. package/dist/cli-bundle/chunks/{chunk-PROOHX4K.js → chunk-MWRS7Z4P.js} +94 -13
  128. package/dist/cli-bundle/chunks/chunk-MWRS7Z4P.js.map +7 -0
  129. package/dist/cli-bundle/chunks/{chunk-FRAUKRU2.js → chunk-NHR2QXXZ.js} +24 -15
  130. package/dist/cli-bundle/chunks/chunk-NHR2QXXZ.js.map +1 -0
  131. package/dist/cli-bundle/chunks/{chunk-IJGCZSIQ.js → chunk-NQL32HQ5.js} +12 -12
  132. package/dist/cli-bundle/chunks/{chunk-52MAOQ6J.js → chunk-O7HSSFCC.js} +65 -16
  133. package/dist/cli-bundle/chunks/chunk-O7HSSFCC.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-6ER6DXH5.js → chunk-OKSKJKHX.js} +9 -9
  135. package/dist/cli-bundle/chunks/{chunk-IOR7LGF4.js → chunk-QQL5QSTZ.js} +88 -7
  136. package/dist/cli-bundle/chunks/chunk-QQL5QSTZ.js.map +1 -0
  137. package/dist/cli-bundle/chunks/{chunk-2VVCGBNV.js → chunk-R3V3YCMH.js} +9 -9
  138. package/dist/cli-bundle/chunks/{chunk-UBOPJT3S.js → chunk-RVPTZKBC.js} +9 -9
  139. package/dist/cli-bundle/chunks/{chunk-WKY2IBOQ.js → chunk-SFFVGNHC.js} +3 -3
  140. package/dist/cli-bundle/chunks/{chunk-WSMOSYRD.js → chunk-SQPKRA54.js} +14 -14
  141. package/dist/cli-bundle/chunks/chunk-THDEID2Z.js +115 -0
  142. package/dist/cli-bundle/chunks/chunk-THDEID2Z.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-W7XABV4H.js → chunk-TINUJMWN.js} +92 -17
  144. package/dist/cli-bundle/chunks/chunk-TINUJMWN.js.map +1 -0
  145. package/dist/cli-bundle/chunks/{chunk-YL2DJGYS.js → chunk-TNPBPNII.js} +7 -7
  146. package/dist/cli-bundle/chunks/{chunk-XTGLRY2Y.js → chunk-TP4DDY27.js} +6 -6
  147. package/dist/cli-bundle/chunks/{chunk-AY43SBIN.js → chunk-TYJJOTUA.js} +6 -6
  148. package/dist/cli-bundle/chunks/{chunk-LCM63IXU.js → chunk-UAQOQ7IE.js} +2 -2
  149. package/dist/cli-bundle/chunks/{chunk-BQHUILZS.js → chunk-UEWA73ZZ.js} +5 -5
  150. package/dist/cli-bundle/chunks/{chunk-PO3GSVFV.js → chunk-UIIQC5YO.js} +2 -2
  151. package/dist/cli-bundle/chunks/{chunk-U5SXYXSY.js → chunk-UJUT6AHZ.js} +241 -35
  152. package/dist/cli-bundle/chunks/chunk-UJUT6AHZ.js.map +7 -0
  153. package/dist/cli-bundle/chunks/{chunk-HZGUAH22.js → chunk-UT6WFXW2.js} +6 -7
  154. package/dist/cli-bundle/chunks/chunk-UT6WFXW2.js.map +1 -0
  155. package/dist/cli-bundle/chunks/{chunk-LB3RUL2N.js → chunk-UYQ7HXH4.js} +10 -6
  156. package/dist/cli-bundle/chunks/chunk-UYQ7HXH4.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-R6UFP2GE.js → chunk-V6EYFTRL.js} +7 -7
  158. package/dist/cli-bundle/chunks/{chunk-3FI4SEFT.js → chunk-WAA7UI6M.js} +58 -30
  159. package/dist/cli-bundle/chunks/chunk-WAA7UI6M.js.map +7 -0
  160. package/dist/cli-bundle/chunks/{chunk-AO442XLN.js → chunk-WCQZBDDH.js} +10 -6
  161. package/dist/cli-bundle/chunks/{chunk-AO442XLN.js.map → chunk-WCQZBDDH.js.map} +2 -2
  162. package/dist/cli-bundle/chunks/{chunk-SKJWX3QB.js → chunk-WR5567FH.js} +87 -6
  163. package/dist/cli-bundle/chunks/chunk-WR5567FH.js.map +7 -0
  164. package/dist/cli-bundle/chunks/{chunk-XSJCLN2R.js → chunk-WYEXLDDY.js} +3 -3
  165. package/dist/cli-bundle/chunks/{chunk-5SFCOO6B.js → chunk-X4IZKYHP.js} +234 -28
  166. package/dist/cli-bundle/chunks/chunk-X4IZKYHP.js.map +1 -0
  167. package/dist/cli-bundle/chunks/{chunk-E5FJNAZA.js → chunk-X7UHMKPE.js} +3 -3
  168. package/dist/cli-bundle/chunks/{chunk-WOPXVEZP.js → chunk-XS3O2TFJ.js} +27 -8
  169. package/dist/cli-bundle/chunks/chunk-XS3O2TFJ.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-TPH5XEVD.js → chunk-XYNT7UFP.js} +303 -207
  171. package/dist/cli-bundle/chunks/chunk-XYNT7UFP.js.map +1 -0
  172. package/dist/cli-bundle/chunks/{chunk-GGYWB3Y2.js → chunk-YBZW2QQ7.js} +6 -6
  173. package/dist/cli-bundle/chunks/{chunk-ME2YH6FN.js → chunk-YO3THIJF.js} +7 -7
  174. package/dist/cli-bundle/chunks/{chunk-5FDATVEZ.js → chunk-YPH4ESA2.js} +66 -17
  175. package/dist/cli-bundle/chunks/chunk-YPH4ESA2.js.map +1 -0
  176. package/dist/cli-bundle/chunks/{claim-X2P4IB7J.js → claim-BJ4QMPJC.js} +10 -10
  177. package/dist/cli-bundle/chunks/{claim-4DBF6RVG.js → claim-KW743OSW.js} +10 -10
  178. package/dist/cli-bundle/chunks/close-P4ZBKODL.js +13 -0
  179. package/dist/cli-bundle/chunks/{close-PTYFA45H.js → close-SYHSRZDC.js} +8 -8
  180. package/dist/cli-bundle/chunks/{close-many-7CGIDPTJ.js → close-many-DBLEYFOY.js} +29 -26
  181. package/dist/cli-bundle/chunks/close-many-DBLEYFOY.js.map +7 -0
  182. package/dist/cli-bundle/chunks/{close-many-ERFO6LHR.js → close-many-LAC5VR4G.js} +30 -27
  183. package/dist/cli-bundle/chunks/close-many-LAC5VR4G.js.map +1 -0
  184. package/dist/cli-bundle/chunks/{comments-QKBYCWKD.js → comments-JEO6HHVM.js} +10 -10
  185. package/dist/cli-bundle/chunks/{comments-OONGABK5.js → comments-YT2PQ5DD.js} +10 -10
  186. package/dist/cli-bundle/chunks/{config-6FXCQKIF.js → config-RZRVS3ZV.js} +127 -11
  187. package/dist/cli-bundle/chunks/config-RZRVS3ZV.js.map +1 -0
  188. package/dist/cli-bundle/chunks/{config-U4RZ4CQB.js → config-YJSAAADD.js} +128 -12
  189. package/dist/cli-bundle/chunks/config-YJSAAADD.js.map +7 -0
  190. package/dist/cli-bundle/chunks/{context-FYYJGFWS.js → context-LGYEEKAW.js} +14 -14
  191. package/dist/cli-bundle/chunks/{context-FYYJGFWS.js.map → context-LGYEEKAW.js.map} +2 -2
  192. package/dist/cli-bundle/chunks/{context-YMJ3Z2HQ.js → context-ZUH5IOOI.js} +15 -15
  193. package/dist/cli-bundle/chunks/context-ZUH5IOOI.js.map +1 -0
  194. package/dist/cli-bundle/chunks/{contracts-RFSPGVVJ.js → contracts-YXJ6NXKH.js} +7 -5
  195. package/dist/cli-bundle/chunks/contracts-YXJ6NXKH.js.map +7 -0
  196. package/dist/cli-bundle/chunks/{contracts-QDB6OMLQ.js → contracts-ZIBXROPE.js} +8 -6
  197. package/dist/cli-bundle/chunks/contracts-ZIBXROPE.js.map +1 -0
  198. package/dist/cli-bundle/chunks/copy-BZALX5MQ.js +182 -0
  199. package/dist/cli-bundle/chunks/copy-BZALX5MQ.js.map +1 -0
  200. package/dist/cli-bundle/chunks/copy-YPWEIAPD.js +185 -0
  201. package/dist/cli-bundle/chunks/copy-YPWEIAPD.js.map +7 -0
  202. package/dist/cli-bundle/chunks/create-4DS2QWQC.js +27 -0
  203. package/dist/cli-bundle/chunks/{create-I5L4EYYZ.js → create-CF7EVRX7.js} +13 -13
  204. package/dist/cli-bundle/chunks/{delete-7HPGI4GZ.js → delete-KR4VBWVE.js} +7 -7
  205. package/dist/cli-bundle/chunks/{delete-VXUPH5RS.js → delete-XLZRTRKR.js} +7 -7
  206. package/dist/cli-bundle/chunks/{deps-JSRRWC3Z.js → deps-2YTXD3VM.js} +7 -7
  207. package/dist/cli-bundle/chunks/{deps-SCZIFK2Z.js → deps-GZMFMTGS.js} +7 -7
  208. package/dist/cli-bundle/chunks/{docs-GJK6K4VP.js → docs-SLROFEQ4.js} +9 -9
  209. package/dist/cli-bundle/chunks/{docs-WW4N3MBM.js → docs-ZHISRR2D.js} +9 -9
  210. package/dist/cli-bundle/chunks/{extension-J7IBMFTD.js → extension-3C7OOI4F.js} +8 -6
  211. package/dist/cli-bundle/chunks/{extension-VDY2U33M.js → extension-XYCUXICD.js} +8 -6
  212. package/dist/cli-bundle/chunks/{files-ISZJGILQ.js → files-FUWF2FYJ.js} +9 -9
  213. package/dist/cli-bundle/chunks/{files-WKOD326U.js → files-J4I5IU4O.js} +9 -9
  214. package/dist/cli-bundle/chunks/{gc-JDVJ6OQ2.js → gc-34NXSNSN.js} +3 -3
  215. package/dist/cli-bundle/chunks/{gc-ULPVWMTN.js → gc-SPIIZX3A.js} +3 -3
  216. package/dist/cli-bundle/chunks/{get-RV37HT3G.js → get-SZKNRHMA.js} +34 -12
  217. package/dist/cli-bundle/chunks/get-SZKNRHMA.js.map +1 -0
  218. package/dist/cli-bundle/chunks/{get-WXU6WI5P.js → get-VITKYP6S.js} +33 -11
  219. package/dist/cli-bundle/chunks/get-VITKYP6S.js.map +7 -0
  220. package/dist/cli-bundle/chunks/{health-6L6EH4WR.js → health-4SNTA2TF.js} +12 -11
  221. package/dist/cli-bundle/chunks/{health-6L6EH4WR.js.map → health-4SNTA2TF.js.map} +1 -1
  222. package/dist/cli-bundle/chunks/{health-LOI2HHKB.js → health-7G3EPM57.js} +14 -13
  223. package/dist/cli-bundle/chunks/{health-LOI2HHKB.js.map → health-7G3EPM57.js.map} +1 -1
  224. package/dist/cli-bundle/chunks/{history-PKN67D5O.js → history-SDAWYZR3.js} +10 -10
  225. package/dist/cli-bundle/chunks/history-YDUEILKP.js +20 -0
  226. package/dist/cli-bundle/chunks/history-compact-DMW536VH.js +287 -0
  227. package/dist/cli-bundle/chunks/history-compact-DMW536VH.js.map +1 -0
  228. package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js +290 -0
  229. package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js.map +7 -0
  230. package/dist/cli-bundle/chunks/{history-redact-V4FOJGS7.js → history-redact-EPJ7GENL.js} +11 -11
  231. package/dist/cli-bundle/chunks/history-redact-KASLLPE7.js +19 -0
  232. package/dist/cli-bundle/chunks/{history-repair-SDMHR7JT.js → history-repair-IJ7LLBET.js} +11 -11
  233. package/dist/cli-bundle/chunks/{history-repair-HIBCBIKK.js → history-repair-YNESJRT6.js} +11 -11
  234. package/dist/cli-bundle/chunks/init-IGSS4GNH.js +17 -0
  235. package/dist/cli-bundle/chunks/{init-P56QYWJF.js → init-YHVBTEET.js} +9 -8
  236. package/dist/cli-bundle/chunks/{learnings-GDFRG5J7.js → learnings-4YBMIVCZ.js} +10 -10
  237. package/dist/cli-bundle/chunks/{learnings-MIXSESLK.js → learnings-T4PF24YN.js} +10 -10
  238. package/dist/cli-bundle/chunks/{list-FGOWQMSM.js → list-3KEVBOYW.js} +10 -10
  239. package/dist/cli-bundle/chunks/list-E44O2K64.js +20 -0
  240. package/dist/cli-bundle/chunks/{notes-4XVSH2AZ.js → notes-FLUCNJSH.js} +10 -10
  241. package/dist/cli-bundle/chunks/{notes-5UK3GEH2.js → notes-GJKALVZM.js} +10 -10
  242. package/dist/cli-bundle/chunks/{plan-SLMODHWX.js → plan-T5MMZLI3.js} +13 -13
  243. package/dist/cli-bundle/chunks/{plan-DUMBV3QB.js → plan-YYMIL3HV.js} +13 -13
  244. package/dist/cli-bundle/chunks/{register-list-query-POCFZ5JW.js → register-list-query-I65EZ3HB.js} +29 -25
  245. package/dist/cli-bundle/chunks/register-list-query-I65EZ3HB.js.map +1 -0
  246. package/dist/cli-bundle/chunks/{register-list-query-WST76HSQ.js → register-list-query-OECMHO4G.js} +28 -24
  247. package/dist/cli-bundle/chunks/register-list-query-OECMHO4G.js.map +7 -0
  248. package/dist/cli-bundle/chunks/{register-mutation-N5GSUZJV.js → register-mutation-2FLXORLR.js} +65 -47
  249. package/dist/cli-bundle/chunks/register-mutation-2FLXORLR.js.map +1 -0
  250. package/dist/cli-bundle/chunks/{register-mutation-OA675SOU.js → register-mutation-5GPDEKHR.js} +64 -46
  251. package/dist/cli-bundle/chunks/register-mutation-5GPDEKHR.js.map +7 -0
  252. package/dist/cli-bundle/chunks/{register-operations-GNHBE5I3.js → register-operations-BNGAUMGK.js} +58 -35
  253. package/dist/cli-bundle/chunks/register-operations-BNGAUMGK.js.map +1 -0
  254. package/dist/cli-bundle/chunks/{register-operations-N3PMHXH5.js → register-operations-GQKT35H5.js} +57 -34
  255. package/dist/cli-bundle/chunks/register-operations-GQKT35H5.js.map +7 -0
  256. package/dist/cli-bundle/chunks/{register-setup-JIMPKJKV.js → register-setup-DNDCGZ4O.js} +18 -18
  257. package/dist/cli-bundle/chunks/{register-setup-JIMPKJKV.js.map → register-setup-DNDCGZ4O.js.map} +1 -1
  258. package/dist/cli-bundle/chunks/{register-setup-ZHJI2DI3.js → register-setup-EJY44FPH.js} +17 -17
  259. package/dist/cli-bundle/chunks/{register-setup-ZHJI2DI3.js.map → register-setup-EJY44FPH.js.map} +2 -2
  260. package/dist/cli-bundle/chunks/{restore-PBL6T5TW.js → restore-DDJGVZIN.js} +11 -11
  261. package/dist/cli-bundle/chunks/restore-SJSASGZP.js +17 -0
  262. package/dist/cli-bundle/chunks/{schema-2NOO6NGB.js → schema-B7NQ6XVP.js} +8 -8
  263. package/dist/cli-bundle/chunks/{schema-EBI4NLUO.js → schema-HEGYH6CE.js} +8 -8
  264. package/dist/cli-bundle/chunks/{search-JPUQTVCY.js → search-DVVQ4UO2.js} +421 -42
  265. package/dist/cli-bundle/chunks/search-DVVQ4UO2.js.map +1 -0
  266. package/dist/cli-bundle/chunks/{search-OA6JX27A.js → search-JNEZJV7H.js} +427 -41
  267. package/dist/cli-bundle/chunks/search-JNEZJV7H.js.map +7 -0
  268. package/dist/cli-bundle/chunks/{stats-CV54BAWY.js → stats-7JDIJRDH.js} +7 -7
  269. package/dist/cli-bundle/chunks/{stats-XYB6KTFG.js → stats-SYTJRR4Z.js} +7 -7
  270. package/dist/cli-bundle/chunks/{telemetry-LMJ7PFUO.js → telemetry-4HHWD5Y7.js} +4 -4
  271. package/dist/cli-bundle/chunks/{telemetry-NCMEPJNR.js → telemetry-EGWP7ZUX.js} +4 -4
  272. package/dist/cli-bundle/chunks/{test-WBROAJIE.js → test-IIELLSZX.js} +14 -13
  273. package/dist/cli-bundle/chunks/test-ML5RLWXE.js +32 -0
  274. package/dist/cli-bundle/chunks/{test-all-NTOZ7C3M.js → test-all-7DNCMML7.js} +14 -13
  275. package/dist/cli-bundle/chunks/{test-all-NTOZ7C3M.js.map → test-all-7DNCMML7.js.map} +1 -1
  276. package/dist/cli-bundle/chunks/{test-all-N6NSRDTV.js → test-all-IHTUJRRC.js} +16 -15
  277. package/dist/cli-bundle/chunks/{test-all-N6NSRDTV.js.map → test-all-IHTUJRRC.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{test-runs-V6A7LPWZ.js → test-runs-5FEMBV3A.js} +5 -5
  279. package/dist/cli-bundle/chunks/{test-runs-WMVTQU3Y.js → test-runs-RNKZ37PS.js} +5 -5
  280. package/dist/cli-bundle/chunks/update-6C67X4KS.js +21 -0
  281. package/dist/cli-bundle/chunks/update-VF26YPT3.js +25 -0
  282. package/dist/cli-bundle/chunks/{update-many-KGGEYABR.js → update-many-BSZZZYXY.js} +22 -22
  283. package/dist/cli-bundle/chunks/{update-many-EM6OXYGO.js → update-many-BWKJJEBF.js} +22 -22
  284. package/dist/cli-bundle/chunks/{upgrade-LXPOQKFV.js → upgrade-RSE5PC44.js} +7 -6
  285. package/dist/cli-bundle/chunks/{upgrade-LXPOQKFV.js.map → upgrade-RSE5PC44.js.map} +1 -1
  286. package/dist/cli-bundle/chunks/{upgrade-BLI7XBAJ.js → upgrade-YWI5DJFA.js} +5 -4
  287. package/dist/cli-bundle/chunks/{upgrade-BLI7XBAJ.js.map → upgrade-YWI5DJFA.js.map} +1 -1
  288. package/dist/cli-bundle/chunks/{validate-AGOAUOVW.js → validate-NK3WKB7C.js} +18 -17
  289. package/dist/cli-bundle/chunks/{validate-AGOAUOVW.js.map → validate-NK3WKB7C.js.map} +1 -1
  290. package/dist/cli-bundle/chunks/{validate-L5J6A7YO.js → validate-UCEOB7S6.js} +20 -19
  291. package/dist/cli-bundle/chunks/{validate-L5J6A7YO.js.map → validate-UCEOB7S6.js.map} +1 -1
  292. package/dist/cli-bundle/main.js +127 -43
  293. package/dist/cli-bundle/main.js.map +3 -3
  294. package/dist/core/config/nested-settings.d.ts +8 -6
  295. package/dist/core/config/nested-settings.js +71 -5
  296. package/dist/core/config/nested-settings.js.map +1 -1
  297. package/dist/core/config/positional-value.js +4 -2
  298. package/dist/core/config/positional-value.js.map +1 -1
  299. package/dist/core/extensions/extension-types.d.ts +36 -0
  300. package/dist/core/extensions/extension-types.js +2 -2
  301. package/dist/core/extensions/extension-types.js.map +1 -1
  302. package/dist/core/extensions/loader.js +46 -5
  303. package/dist/core/extensions/loader.js.map +1 -1
  304. package/dist/core/history/drift-scan.d.ts +3 -4
  305. package/dist/core/history/drift-scan.js +71 -18
  306. package/dist/core/history/drift-scan.js.map +1 -1
  307. package/dist/core/item/id.js +4 -5
  308. package/dist/core/item/id.js.map +1 -1
  309. package/dist/core/item/item-format.js +7 -3
  310. package/dist/core/item/item-format.js.map +1 -1
  311. package/dist/core/item/toon-decode.d.ts +7 -0
  312. package/dist/core/item/toon-decode.js +11 -2
  313. package/dist/core/item/toon-decode.js.map +1 -1
  314. package/dist/core/item/type-registry.js +25 -7
  315. package/dist/core/item/type-registry.js.map +1 -1
  316. package/dist/core/search/cache.js +5 -3
  317. package/dist/core/search/cache.js.map +1 -1
  318. package/dist/core/search/corpus.d.ts +6 -0
  319. package/dist/core/search/corpus.js +22 -9
  320. package/dist/core/search/corpus.js.map +1 -1
  321. package/dist/core/search/embedding-batches.js +10 -7
  322. package/dist/core/search/embedding-batches.js.map +1 -1
  323. package/dist/core/search/relevance.d.ts +29 -0
  324. package/dist/core/search/relevance.js +226 -0
  325. package/dist/core/search/relevance.js.map +1 -0
  326. package/dist/core/search/vector-stores.d.ts +3 -0
  327. package/dist/core/search/vector-stores.js +23 -10
  328. package/dist/core/search/vector-stores.js.map +1 -1
  329. package/dist/core/shared/constants.js +15 -2
  330. package/dist/core/shared/constants.js.map +1 -1
  331. package/dist/core/shared/errors.d.ts +6 -0
  332. package/dist/core/shared/errors.js +2 -2
  333. package/dist/core/shared/errors.js.map +1 -1
  334. package/dist/core/shared/primitives.d.ts +8 -0
  335. package/dist/core/shared/primitives.js +29 -2
  336. package/dist/core/shared/primitives.js.map +1 -1
  337. package/dist/core/shared/time.js +42 -6
  338. package/dist/core/shared/time.js.map +1 -1
  339. package/dist/core/store/paths.js +25 -7
  340. package/dist/core/store/paths.js.map +1 -1
  341. package/dist/core/store/settings-validator.d.ts +11 -0
  342. package/dist/core/store/settings-validator.js +14 -2
  343. package/dist/core/store/settings-validator.js.map +1 -1
  344. package/dist/core/store/settings.js +109 -12
  345. package/dist/core/store/settings.js.map +1 -1
  346. package/dist/core/telemetry/runtime.js +85 -4
  347. package/dist/core/telemetry/runtime.js.map +1 -1
  348. package/dist/mcp/server.js +36 -9
  349. package/dist/mcp/server.js.map +1 -1
  350. package/dist/sdk/cli-contracts/commander-types.d.ts +1 -0
  351. package/dist/sdk/cli-contracts/commander-types.js +13 -2
  352. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  353. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  354. package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
  355. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  356. package/dist/sdk/cli-contracts/tool-option-contracts.js +7 -2
  357. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  358. package/dist/sdk/cli-contracts/tool-parameter-tables.js +31 -2
  359. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  360. package/dist/sdk/cli-contracts.d.ts +3 -1
  361. package/dist/sdk/cli-contracts.js +36 -6
  362. package/dist/sdk/cli-contracts.js.map +1 -1
  363. package/dist/sdk/index.d.ts +2 -2
  364. package/dist/sdk/index.js +3 -3
  365. package/dist/sdk/index.js.map +1 -1
  366. package/dist/sdk/testing.d.ts +51 -1
  367. package/dist/sdk/testing.js +93 -2
  368. package/dist/sdk/testing.js.map +1 -1
  369. package/dist/types.d.ts +14 -0
  370. package/dist/types.js +2 -2
  371. package/dist/types.js.map +1 -1
  372. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  373. package/docs/CODEX_PLUGIN.md +1 -1
  374. package/docs/COMMANDS.md +9 -2
  375. package/docs/CONFIGURATION.md +22 -1
  376. package/docs/EXTENSIONS.md +22 -9
  377. package/docs/QUICKSTART.md +1 -1
  378. package/docs/SDK.md +66 -0
  379. package/docs/TESTING.md +14 -0
  380. package/package.json +2 -1
  381. package/packages/pm-governance-audit/README.md +14 -0
  382. package/packages/pm-governance-audit/extensions/governance-audit/index.js +39 -1
  383. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +40 -2
  384. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +1 -1
  385. package/packages/pm-governance-audit/package.json +4 -2
  386. package/packages/pm-lifecycle-hooks/README.md +21 -0
  387. package/packages/pm-search-advanced/README.md +38 -0
  388. package/packages/pm-search-advanced/extensions/search-advanced/index.js +17 -0
  389. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +17 -0
  390. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +216 -1
  391. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +271 -2
  392. package/plugins/pm-claude/README.md +4 -4
  393. package/plugins/pm-codex/README.md +1 -1
  394. package/dist/cli-bundle/chunks/activity-CVXTCHYY.js +0 -16
  395. package/dist/cli-bundle/chunks/aggregate-GI7WSZPH.js.map +0 -1
  396. package/dist/cli-bundle/chunks/aggregate-VNAHUNNF.js.map +0 -7
  397. package/dist/cli-bundle/chunks/chunk-2VBQ6ZXS.js.map +0 -1
  398. package/dist/cli-bundle/chunks/chunk-3FI4SEFT.js.map +0 -7
  399. package/dist/cli-bundle/chunks/chunk-4LL6TK5B.js.map +0 -1
  400. package/dist/cli-bundle/chunks/chunk-52MAOQ6J.js.map +0 -7
  401. package/dist/cli-bundle/chunks/chunk-5FDATVEZ.js.map +0 -1
  402. package/dist/cli-bundle/chunks/chunk-5SFCOO6B.js.map +0 -1
  403. package/dist/cli-bundle/chunks/chunk-ECCMVXGM.js.map +0 -7
  404. package/dist/cli-bundle/chunks/chunk-FRAUKRU2.js.map +0 -1
  405. package/dist/cli-bundle/chunks/chunk-GU2ZJ2VV.js.map +0 -7
  406. package/dist/cli-bundle/chunks/chunk-HZGUAH22.js.map +0 -1
  407. package/dist/cli-bundle/chunks/chunk-IOR7LGF4.js.map +0 -1
  408. package/dist/cli-bundle/chunks/chunk-KJE2FOS4.js.map +0 -7
  409. package/dist/cli-bundle/chunks/chunk-KWU6HG75.js.map +0 -1
  410. package/dist/cli-bundle/chunks/chunk-LB3RUL2N.js.map +0 -1
  411. package/dist/cli-bundle/chunks/chunk-PDDFYW4X.js.map +0 -7
  412. package/dist/cli-bundle/chunks/chunk-PROOHX4K.js.map +0 -7
  413. package/dist/cli-bundle/chunks/chunk-Q7SPNHLW.js.map +0 -7
  414. package/dist/cli-bundle/chunks/chunk-QO7EBBOM.js.map +0 -7
  415. package/dist/cli-bundle/chunks/chunk-SKJWX3QB.js.map +0 -7
  416. package/dist/cli-bundle/chunks/chunk-T3LC5LKB.js.map +0 -7
  417. package/dist/cli-bundle/chunks/chunk-TCD3R2PF.js.map +0 -1
  418. package/dist/cli-bundle/chunks/chunk-TPH5XEVD.js.map +0 -1
  419. package/dist/cli-bundle/chunks/chunk-U5SXYXSY.js.map +0 -7
  420. package/dist/cli-bundle/chunks/chunk-W7XABV4H.js.map +0 -1
  421. package/dist/cli-bundle/chunks/chunk-WOPXVEZP.js.map +0 -1
  422. package/dist/cli-bundle/chunks/close-3HDWDA3L.js +0 -13
  423. package/dist/cli-bundle/chunks/close-many-7CGIDPTJ.js.map +0 -7
  424. package/dist/cli-bundle/chunks/close-many-ERFO6LHR.js.map +0 -1
  425. package/dist/cli-bundle/chunks/config-6FXCQKIF.js.map +0 -1
  426. package/dist/cli-bundle/chunks/config-U4RZ4CQB.js.map +0 -7
  427. package/dist/cli-bundle/chunks/context-YMJ3Z2HQ.js.map +0 -1
  428. package/dist/cli-bundle/chunks/contracts-QDB6OMLQ.js.map +0 -1
  429. package/dist/cli-bundle/chunks/contracts-RFSPGVVJ.js.map +0 -7
  430. package/dist/cli-bundle/chunks/create-JTZNCTQC.js +0 -27
  431. package/dist/cli-bundle/chunks/get-RV37HT3G.js.map +0 -1
  432. package/dist/cli-bundle/chunks/get-WXU6WI5P.js.map +0 -7
  433. package/dist/cli-bundle/chunks/history-2BA3T5AE.js +0 -20
  434. package/dist/cli-bundle/chunks/history-redact-JBZNXHGR.js +0 -19
  435. package/dist/cli-bundle/chunks/init-HIVSNX3O.js +0 -16
  436. package/dist/cli-bundle/chunks/list-MUSQNMTD.js +0 -20
  437. package/dist/cli-bundle/chunks/register-list-query-POCFZ5JW.js.map +0 -1
  438. package/dist/cli-bundle/chunks/register-list-query-WST76HSQ.js.map +0 -7
  439. package/dist/cli-bundle/chunks/register-mutation-N5GSUZJV.js.map +0 -1
  440. package/dist/cli-bundle/chunks/register-mutation-OA675SOU.js.map +0 -7
  441. package/dist/cli-bundle/chunks/register-operations-GNHBE5I3.js.map +0 -1
  442. package/dist/cli-bundle/chunks/register-operations-N3PMHXH5.js.map +0 -7
  443. package/dist/cli-bundle/chunks/restore-D4RGNX33.js +0 -17
  444. package/dist/cli-bundle/chunks/search-JPUQTVCY.js.map +0 -1
  445. package/dist/cli-bundle/chunks/search-OA6JX27A.js.map +0 -7
  446. package/dist/cli-bundle/chunks/test-MXX3E5JL.js +0 -31
  447. package/dist/cli-bundle/chunks/update-OSV3NAQB.js +0 -25
  448. package/dist/cli-bundle/chunks/update-YRXSUGYQ.js +0 -21
  449. /package/dist/cli-bundle/chunks/{activity-CVXTCHYY.js.map → activity-5UROHJ3D.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{activity-JM6DTDND.js.map → activity-YVB3QRTE.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{append-WMKRXKCE.js.map → append-2PPYFAG5.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{append-7H5N64R2.js.map → append-AUGT5W6J.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{chunk-6P6GGMOG.js.map → chunk-2IF7WLB7.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{chunk-KAG77BY3.js.map → chunk-2OJHLWBZ.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{chunk-GXSUPCBV.js.map → chunk-3A2CMEM7.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{chunk-UM2GBHS4.js.map → chunk-3EOBJOF4.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{chunk-PRJCELV4.js.map → chunk-4CHEG6UK.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{chunk-OZ7NSQHL.js.map → chunk-5AXMRKN5.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{chunk-GCOQW437.js.map → chunk-6J4K6JLA.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{chunk-2RSPZI5H.js.map → chunk-6RZXO5M2.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{chunk-KJ33AOCY.js.map → chunk-AVJD6VTA.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{chunk-I6BNFU5X.js.map → chunk-B5RF3IP7.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{chunk-RZN6VURO.js.map → chunk-C5W2UH56.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{chunk-3LB74A67.js.map → chunk-CKLBZHS7.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{chunk-3VAM3NNM.js.map → chunk-FY6Z3FYY.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{chunk-RWPSOIEE.js.map → chunk-GNIUOLZ2.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{chunk-MITFDD35.js.map → chunk-GPXQBR3H.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{chunk-I2HSTRJF.js.map → chunk-H7EO3QA3.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{chunk-77GFDHGF.js.map → chunk-HLC3KTLP.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{chunk-OVQCEJPG.js.map → chunk-HMMMWBK2.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{chunk-XLTD2HN3.js.map → chunk-HV5SSZXF.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{chunk-2HVRUSQA.js.map → chunk-KNGVP5WJ.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{chunk-3BWOVLTH.js.map → chunk-LI65XLJR.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{chunk-NUZ5HKR4.js.map → chunk-LIN2BPJ7.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{chunk-N7ACFE26.js.map → chunk-LQHBENVW.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{chunk-23YFZ3IG.js.map → chunk-LXO6V66E.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{chunk-PIU6RSL3.js.map → chunk-MOYM2C3J.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{chunk-IJGCZSIQ.js.map → chunk-NQL32HQ5.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{chunk-6ER6DXH5.js.map → chunk-OKSKJKHX.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{chunk-2VVCGBNV.js.map → chunk-R3V3YCMH.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{chunk-UBOPJT3S.js.map → chunk-RVPTZKBC.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{chunk-WKY2IBOQ.js.map → chunk-SFFVGNHC.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{chunk-WSMOSYRD.js.map → chunk-SQPKRA54.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{chunk-YL2DJGYS.js.map → chunk-TNPBPNII.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{chunk-XTGLRY2Y.js.map → chunk-TP4DDY27.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{chunk-AY43SBIN.js.map → chunk-TYJJOTUA.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{chunk-LCM63IXU.js.map → chunk-UAQOQ7IE.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{chunk-BQHUILZS.js.map → chunk-UEWA73ZZ.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{chunk-PO3GSVFV.js.map → chunk-UIIQC5YO.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{chunk-R6UFP2GE.js.map → chunk-V6EYFTRL.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{chunk-XSJCLN2R.js.map → chunk-WYEXLDDY.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{chunk-E5FJNAZA.js.map → chunk-X7UHMKPE.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{chunk-GGYWB3Y2.js.map → chunk-YBZW2QQ7.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{chunk-ME2YH6FN.js.map → chunk-YO3THIJF.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{claim-X2P4IB7J.js.map → claim-BJ4QMPJC.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{claim-4DBF6RVG.js.map → claim-KW743OSW.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{close-3HDWDA3L.js.map → close-P4ZBKODL.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{close-PTYFA45H.js.map → close-SYHSRZDC.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{comments-QKBYCWKD.js.map → comments-JEO6HHVM.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{comments-OONGABK5.js.map → comments-YT2PQ5DD.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{create-JTZNCTQC.js.map → create-4DS2QWQC.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{create-I5L4EYYZ.js.map → create-CF7EVRX7.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{delete-7HPGI4GZ.js.map → delete-KR4VBWVE.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{delete-VXUPH5RS.js.map → delete-XLZRTRKR.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{deps-JSRRWC3Z.js.map → deps-2YTXD3VM.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{deps-SCZIFK2Z.js.map → deps-GZMFMTGS.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{docs-GJK6K4VP.js.map → docs-SLROFEQ4.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{docs-WW4N3MBM.js.map → docs-ZHISRR2D.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{extension-J7IBMFTD.js.map → extension-3C7OOI4F.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{extension-VDY2U33M.js.map → extension-XYCUXICD.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{files-ISZJGILQ.js.map → files-FUWF2FYJ.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{files-WKOD326U.js.map → files-J4I5IU4O.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{gc-JDVJ6OQ2.js.map → gc-34NXSNSN.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{gc-ULPVWMTN.js.map → gc-SPIIZX3A.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{history-PKN67D5O.js.map → history-SDAWYZR3.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{history-2BA3T5AE.js.map → history-YDUEILKP.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{history-redact-V4FOJGS7.js.map → history-redact-EPJ7GENL.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{history-redact-JBZNXHGR.js.map → history-redact-KASLLPE7.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{history-repair-SDMHR7JT.js.map → history-repair-IJ7LLBET.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{history-repair-HIBCBIKK.js.map → history-repair-YNESJRT6.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{init-HIVSNX3O.js.map → init-IGSS4GNH.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{init-P56QYWJF.js.map → init-YHVBTEET.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{learnings-GDFRG5J7.js.map → learnings-4YBMIVCZ.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{learnings-MIXSESLK.js.map → learnings-T4PF24YN.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{list-FGOWQMSM.js.map → list-3KEVBOYW.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{list-MUSQNMTD.js.map → list-E44O2K64.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{notes-4XVSH2AZ.js.map → notes-FLUCNJSH.js.map} +0 -0
  528. /package/dist/cli-bundle/chunks/{notes-5UK3GEH2.js.map → notes-GJKALVZM.js.map} +0 -0
  529. /package/dist/cli-bundle/chunks/{plan-SLMODHWX.js.map → plan-T5MMZLI3.js.map} +0 -0
  530. /package/dist/cli-bundle/chunks/{plan-DUMBV3QB.js.map → plan-YYMIL3HV.js.map} +0 -0
  531. /package/dist/cli-bundle/chunks/{restore-PBL6T5TW.js.map → restore-DDJGVZIN.js.map} +0 -0
  532. /package/dist/cli-bundle/chunks/{restore-D4RGNX33.js.map → restore-SJSASGZP.js.map} +0 -0
  533. /package/dist/cli-bundle/chunks/{schema-2NOO6NGB.js.map → schema-B7NQ6XVP.js.map} +0 -0
  534. /package/dist/cli-bundle/chunks/{schema-EBI4NLUO.js.map → schema-HEGYH6CE.js.map} +0 -0
  535. /package/dist/cli-bundle/chunks/{stats-CV54BAWY.js.map → stats-7JDIJRDH.js.map} +0 -0
  536. /package/dist/cli-bundle/chunks/{stats-XYB6KTFG.js.map → stats-SYTJRR4Z.js.map} +0 -0
  537. /package/dist/cli-bundle/chunks/{telemetry-LMJ7PFUO.js.map → telemetry-4HHWD5Y7.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{telemetry-NCMEPJNR.js.map → telemetry-EGWP7ZUX.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{test-WBROAJIE.js.map → test-IIELLSZX.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{test-MXX3E5JL.js.map → test-ML5RLWXE.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{test-runs-V6A7LPWZ.js.map → test-runs-5FEMBV3A.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{test-runs-WMVTQU3Y.js.map → test-runs-RNKZ37PS.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{update-YRXSUGYQ.js.map → update-6C67X4KS.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{update-OSV3NAQB.js.map → update-VF26YPT3.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{update-many-KGGEYABR.js.map → update-many-BSZZZYXY.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{update-many-EM6OXYGO.js.map → update-many-BWKJJEBF.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bb310f96-79d3-5bd1-a4aa-b8a8ac741afb")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="40eb6325-776d-5b33-887f-abbdee742b52")}catch(e){}}();
3
3
  import { validateSettings } from "./settings-validator.js";
4
4
  import { runActiveOnReadHooks, runActiveOnWriteHooks } from "../extensions/index.js";
5
5
  import { GOVERNANCE_PRESET_DEFAULTS, SETTINGS_DEFAULTS } from "../shared/constants.js";
@@ -10,6 +10,7 @@ import { orderObject, stableValueEquals } from "../shared/serialization.js";
10
10
  import { normalizeItemTypeDefinition } from "../item/item-type-definition.js";
11
11
  const SETTINGS_WRITE_OP = "settings:write";
12
12
  const SETTINGS_PERSIST_SOURCE_SYMBOL = Symbol("pm.settings.persist_source");
13
+ const MAX_VECTOR_STORE_COLLECTION_NAME_LENGTH = 128;
13
14
  function resolveGovernanceKnobsFromPreset(preset) {
14
15
  return structuredClone(GOVERNANCE_PRESET_DEFAULTS[preset]);
15
16
  }
@@ -33,6 +34,9 @@ function withGovernanceExtras(base, governance) {
33
34
  governance.workflow_enforcement === "strict") {
34
35
  base.workflow_enforcement = governance.workflow_enforcement;
35
36
  }
37
+ if (governance.require_close_reason === false) {
38
+ base.require_close_reason = false;
39
+ }
36
40
  return base;
37
41
  }
38
42
  function normalizeGovernanceForPersist(governance) {
@@ -55,14 +59,19 @@ function normalizeGovernanceForPersist(governance) {
55
59
  // governance regardless of preset (see normalizeGovernanceForPersist).
56
60
  function resolveGovernanceExtras(rawGovernance) {
57
61
  const createDefaultType = typeof rawGovernance.create_default_type === "string" ? rawGovernance.create_default_type.trim() : undefined;
58
- return {
59
- create_default_type: createDefaultType && createDefaultType.length > 0 ? createDefaultType : undefined,
60
- workflow_enforcement: rawGovernance.workflow_enforcement === "off" ||
61
- rawGovernance.workflow_enforcement === "warn" ||
62
- rawGovernance.workflow_enforcement === "strict"
63
- ? rawGovernance.workflow_enforcement
64
- : undefined,
65
- };
62
+ const extras = {};
63
+ if (createDefaultType && createDefaultType.length > 0) {
64
+ extras.create_default_type = createDefaultType;
65
+ }
66
+ if (rawGovernance.workflow_enforcement === "off" ||
67
+ rawGovernance.workflow_enforcement === "warn" ||
68
+ rawGovernance.workflow_enforcement === "strict") {
69
+ extras.workflow_enforcement = rawGovernance.workflow_enforcement;
70
+ }
71
+ if (typeof rawGovernance.require_close_reason === "boolean") {
72
+ extras.require_close_reason = rawGovernance.require_close_reason;
73
+ }
74
+ return extras;
66
75
  }
67
76
  export function resolveGovernanceKnobs(settings) {
68
77
  const rawGovernance = settings.governance ?? {};
@@ -70,6 +79,7 @@ export function resolveGovernanceKnobs(settings) {
70
79
  const extras = resolveGovernanceExtras(rawGovernance);
71
80
  if (preset === "custom") {
72
81
  const baseline = resolveGovernanceKnobsFromPreset("default");
82
+ const requireCloseReason = extras.require_close_reason ?? baseline.require_close_reason;
73
83
  return {
74
84
  preset,
75
85
  ownership_enforcement: rawGovernance.ownership_enforcement ?? baseline.ownership_enforcement,
@@ -79,12 +89,16 @@ export function resolveGovernanceKnobs(settings) {
79
89
  metadata_profile: rawGovernance.metadata_profile ?? baseline.metadata_profile,
80
90
  force_required_for_stale_lock: rawGovernance.force_required_for_stale_lock ?? baseline.force_required_for_stale_lock,
81
91
  ...extras,
92
+ require_close_reason: requireCloseReason,
82
93
  };
83
94
  }
95
+ const baseline = resolveGovernanceKnobsFromPreset(preset);
96
+ const requireCloseReason = extras.require_close_reason ?? baseline.require_close_reason;
84
97
  return {
85
98
  preset,
86
- ...resolveGovernanceKnobsFromPreset(preset),
99
+ ...baseline,
87
100
  ...extras,
101
+ require_close_reason: requireCloseReason,
88
102
  };
89
103
  }
90
104
  function cloneDefaults() {
@@ -96,6 +110,44 @@ function normalizeSearchMutationRefreshPolicy(value) {
96
110
  }
97
111
  return SETTINGS_DEFAULTS.search.mutation_refresh_policy;
98
112
  }
113
+ function normalizeSearchQueryExpansionEnabled(value) {
114
+ if (typeof value === "boolean") {
115
+ return value;
116
+ }
117
+ return SETTINGS_DEFAULTS.search.query_expansion.enabled;
118
+ }
119
+ function normalizeSearchQueryExpansionProvider(value) {
120
+ if (typeof value !== "string") {
121
+ return SETTINGS_DEFAULTS.search.query_expansion.provider;
122
+ }
123
+ return value.trim();
124
+ }
125
+ function normalizeSearchRerankEnabled(value) {
126
+ if (typeof value === "boolean") {
127
+ return value;
128
+ }
129
+ return SETTINGS_DEFAULTS.search.rerank.enabled;
130
+ }
131
+ function normalizeSearchRerankModel(value) {
132
+ if (typeof value !== "string") {
133
+ return SETTINGS_DEFAULTS.search.rerank.model;
134
+ }
135
+ return value.trim();
136
+ }
137
+ function normalizeSearchRerankTopK(value) {
138
+ if (typeof value === "number" && Number.isFinite(value) && Number.isInteger(value) && value > 0) {
139
+ return value;
140
+ }
141
+ return SETTINGS_DEFAULTS.search.rerank.top_k;
142
+ }
143
+ function normalizeVectorStoreCollectionName(value) {
144
+ if (typeof value !== "string") {
145
+ return SETTINGS_DEFAULTS.vector_store.collection_name;
146
+ }
147
+ const sanitized = value.trim().replaceAll(/[^a-zA-Z0-9_-]/g, "_");
148
+ const truncated = sanitized.slice(0, MAX_VECTOR_STORE_COLLECTION_NAME_LENGTH);
149
+ return truncated.length > 0 ? truncated : SETTINGS_DEFAULTS.vector_store.collection_name;
150
+ }
99
151
  function buildSettingsPersistSourceSnapshot(parsedSettings, runtimeSettings) {
100
152
  const sourceSchema = parsedSettings.schema;
101
153
  const sourceStatuses = Array.isArray(sourceSchema?.statuses) ? sourceSchema?.statuses : undefined;
@@ -413,6 +465,19 @@ function mergeSettings(settings) {
413
465
  ...defaults.search,
414
466
  ...settings.search,
415
467
  mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
468
+ query_expansion: {
469
+ ...defaults.search.query_expansion,
470
+ ...(settings.search?.query_expansion ?? {}),
471
+ enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
472
+ provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider),
473
+ },
474
+ rerank: {
475
+ ...defaults.search.rerank,
476
+ ...(settings.search?.rerank ?? {}),
477
+ enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
478
+ model: normalizeSearchRerankModel(settings.search?.rerank?.model),
479
+ top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k),
480
+ },
416
481
  },
417
482
  providers: {
418
483
  openai: { ...defaults.providers.openai, ...settings.providers.openai },
@@ -420,6 +485,7 @@ function mergeSettings(settings) {
420
485
  },
421
486
  vector_store: {
422
487
  adapter: settings.vector_store.adapter ?? defaults.vector_store.adapter,
488
+ collection_name: normalizeVectorStoreCollectionName(settings.vector_store.collection_name),
423
489
  qdrant: { ...defaults.vector_store.qdrant, ...settings.vector_store.qdrant },
424
490
  lancedb: { ...defaults.vector_store.lancedb, ...settings.vector_store.lancedb },
425
491
  },
@@ -461,6 +527,19 @@ export function serializeSettings(settings, options = {}) {
461
527
  ...SETTINGS_DEFAULTS.search,
462
528
  ...settings.search,
463
529
  mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
530
+ query_expansion: {
531
+ ...SETTINGS_DEFAULTS.search.query_expansion,
532
+ ...(settings.search?.query_expansion ?? {}),
533
+ enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
534
+ provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider),
535
+ },
536
+ rerank: {
537
+ ...SETTINGS_DEFAULTS.search.rerank,
538
+ ...(settings.search?.rerank ?? {}),
539
+ enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
540
+ model: normalizeSearchRerankModel(settings.search?.rerank?.model),
541
+ top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k),
542
+ },
464
543
  },
465
544
  context: {
466
545
  default_depth: settings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
@@ -476,6 +555,13 @@ export function serializeSettings(settings, options = {}) {
476
555
  disabled: normalizeStringList(settings.extensions?.disabled),
477
556
  policy: normalizeExtensionPolicySettings(settings.extensions?.policy),
478
557
  },
558
+ vector_store: {
559
+ ...(settings.vector_store ?? {}),
560
+ adapter: settings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
561
+ collection_name: normalizeVectorStoreCollectionName(settings.vector_store?.collection_name),
562
+ qdrant: { ...(settings.vector_store?.qdrant ?? {}) },
563
+ lancedb: { ...(settings.vector_store?.lancedb ?? {}) },
564
+ },
479
565
  };
480
566
  const ordered = orderObject({
481
567
  ...normalizedSettings,
@@ -520,6 +606,7 @@ export function serializeSettings(settings, options = {}) {
520
606
  "ownership_enforcement",
521
607
  "create_mode_default",
522
608
  "close_validation_default",
609
+ "require_close_reason",
523
610
  "parent_reference",
524
611
  "metadata_profile",
525
612
  "force_required_for_stale_lock",
@@ -605,16 +692,26 @@ export function serializeSettings(settings, options = {}) {
605
692
  "hybrid_semantic_weight",
606
693
  "max_results",
607
694
  "embedding_model",
695
+ "embedding_corpus_max_characters",
608
696
  "embedding_batch_size",
609
697
  "embedding_timeout_ms",
610
698
  "scanner_max_batch_retries",
611
699
  "provider",
612
700
  "mutation_refresh_policy",
701
+ "query_expansion",
702
+ "rerank",
613
703
  ]);
704
+ ordered.search.query_expansion = orderObject((ordered.search.query_expansion ?? {}), ["enabled", "provider"]);
705
+ ordered.search.rerank = orderObject((ordered.search.rerank ?? {}), ["enabled", "model", "top_k"]);
614
706
  ordered.providers = orderObject(ordered.providers, ["openai", "ollama"]);
615
707
  ordered.providers.openai = orderObject((ordered.providers.openai ?? {}), ["base_url", "api_key", "model"]);
616
708
  ordered.providers.ollama = orderObject((ordered.providers.ollama ?? {}), ["base_url", "model"]);
617
- ordered.vector_store = orderObject(ordered.vector_store, ["adapter", "qdrant", "lancedb"]);
709
+ ordered.vector_store = orderObject(ordered.vector_store, [
710
+ "adapter",
711
+ "collection_name",
712
+ "qdrant",
713
+ "lancedb",
714
+ ]);
618
715
  ordered.vector_store.qdrant = orderObject((ordered.vector_store.qdrant ?? {}), ["url", "api_key"]);
619
716
  ordered.vector_store.lancedb = orderObject((ordered.vector_store.lancedb ?? {}), ["path"]);
620
717
  return `${JSON.stringify(ordered, null, 2)}\n`;
@@ -688,4 +785,4 @@ export async function writeSettings(pmRoot, settings, op = SETTINGS_WRITE_OP) {
688
785
  });
689
786
  }
690
787
  //# sourceMappingURL=settings.js.map
691
- //# debugId=bb310f96-79d3-5bd1-a4aa-b8a8ac741afb
788
+ //# debugId=40eb6325-776d-5b33-887f-abbdee742b52
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sources":["core/store/settings.ts"],"sourceRoot":"/","sourcesContent":["import { validateSettings, type ParsedSettings } from \"./settings-validator.js\";\nimport { runActiveOnReadHooks, runActiveOnWriteHooks } from \"../extensions/index.js\";\nimport { GOVERNANCE_PRESET_DEFAULTS, SETTINGS_DEFAULTS } from \"../shared/constants.js\";\nimport { readFileIfExists, writeFileAtomic } from \"../fs/fs-utils.js\";\nimport {\n ensureRuntimeSchemaFileScaffold,\n loadRuntimeSchemaFromOptionalFiles,\n normalizeRuntimeSchemaSettings,\n} from \"../schema/runtime-schema.js\";\nimport { getSettingsPath } from \"./paths.js\";\nimport { orderObject, stableValueEquals } from \"../shared/serialization.js\";\nimport { normalizeItemTypeDefinition } from \"../item/item-type-definition.js\";\nimport type {\n ExtensionSandboxProfile,\n ExtensionPolicyMode,\n ExtensionPolicyOverrideSettings,\n ExtensionPolicySettings,\n ExtensionTrustMode,\n GovernanceSettings,\n ItemTypeDefinition,\n PmSettings,\n GovernancePreset,\n SearchMutationRefreshPolicy,\n ValidateMetadataRequiredField,\n} from \"../../types/index.js\";\n\nconst SETTINGS_WRITE_OP = \"settings:write\";\nconst SETTINGS_PERSIST_SOURCE_SYMBOL = Symbol(\"pm.settings.persist_source\");\n\ninterface SettingsPersistSourceSnapshot {\n has_source_item_type_definitions: boolean;\n source_item_type_definitions: ItemTypeDefinition[];\n has_source_schema_statuses: boolean;\n source_schema_statuses: PmSettings[\"schema\"][\"statuses\"];\n has_source_schema_fields: boolean;\n source_schema_fields: PmSettings[\"schema\"][\"fields\"];\n has_source_schema_type_workflows: boolean;\n source_schema_type_workflows: NonNullable<PmSettings[\"schema\"][\"type_workflows\"]>;\n runtime_item_type_definitions: ItemTypeDefinition[];\n runtime_schema_statuses: PmSettings[\"schema\"][\"statuses\"];\n runtime_schema_fields: PmSettings[\"schema\"][\"fields\"];\n runtime_schema_type_workflows: NonNullable<PmSettings[\"schema\"][\"type_workflows\"]>;\n}\n\ninterface SerializeSettingsOptions {\n persist_source?: SettingsPersistSourceSnapshot;\n}\n\nexport interface SettingsReadMetadata {\n has_explicit_item_format: boolean;\n}\n\nexport interface SettingsReadResult {\n settings: PmSettings;\n metadata: SettingsReadMetadata;\n warnings: string[];\n}\n\nfunction resolveGovernanceKnobsFromPreset(preset: Exclude<GovernancePreset, \"custom\">): Omit<GovernanceSettings, \"preset\"> {\n return structuredClone(GOVERNANCE_PRESET_DEFAULTS[preset]);\n}\n\nfunction normalizeGovernancePreset(value: GovernancePreset | undefined): GovernancePreset {\n if (value === \"minimal\" || value === \"default\" || value === \"strict\" || value === \"custom\") {\n return value;\n }\n return SETTINGS_DEFAULTS.governance.preset;\n}\n\n// `create_default_type` and `workflow_enforcement` are orthogonal to the\n// governance preset (they tune create/update behavior, not the preset knobs),\n// so they must survive a write regardless of preset — otherwise a project on a\n// non-custom preset would silently drop them on every settings write.\nfunction withGovernanceExtras(\n base: Partial<GovernanceSettings> & { preset: GovernancePreset },\n governance: GovernanceSettings,\n): Partial<GovernanceSettings> & { preset: GovernancePreset } {\n const createDefaultType =\n typeof governance.create_default_type === \"string\" ? governance.create_default_type.trim() : undefined;\n if (createDefaultType && createDefaultType.length > 0) {\n base.create_default_type = createDefaultType;\n }\n if (\n governance.workflow_enforcement === \"off\" ||\n governance.workflow_enforcement === \"warn\" ||\n governance.workflow_enforcement === \"strict\"\n ) {\n base.workflow_enforcement = governance.workflow_enforcement;\n }\n return base;\n}\n\nfunction normalizeGovernanceForPersist(governance: GovernanceSettings): Partial<GovernanceSettings> & { preset: GovernancePreset } {\n if (governance.preset === \"custom\") {\n return withGovernanceExtras(\n {\n preset: \"custom\",\n ownership_enforcement: governance.ownership_enforcement,\n create_mode_default: governance.create_mode_default,\n close_validation_default: governance.close_validation_default,\n parent_reference: governance.parent_reference,\n metadata_profile: governance.metadata_profile,\n force_required_for_stale_lock: governance.force_required_for_stale_lock,\n },\n governance,\n );\n }\n return withGovernanceExtras(\n {\n preset: governance.preset,\n },\n governance,\n );\n}\n\n// Preset-orthogonal knobs that must be carried through resolve from the raw\n// governance regardless of preset (see normalizeGovernanceForPersist).\nfunction resolveGovernanceExtras(\n rawGovernance: Partial<GovernanceSettings>,\n): Pick<GovernanceSettings, \"create_default_type\" | \"workflow_enforcement\"> {\n const createDefaultType =\n typeof rawGovernance.create_default_type === \"string\" ? rawGovernance.create_default_type.trim() : undefined;\n return {\n create_default_type: createDefaultType && createDefaultType.length > 0 ? createDefaultType : undefined,\n workflow_enforcement:\n rawGovernance.workflow_enforcement === \"off\" ||\n rawGovernance.workflow_enforcement === \"warn\" ||\n rawGovernance.workflow_enforcement === \"strict\"\n ? rawGovernance.workflow_enforcement\n : undefined,\n };\n}\n\nexport function resolveGovernanceKnobs(\n settings: Pick<PmSettings, \"governance\"> | { governance?: Partial<GovernanceSettings> },\n): GovernanceSettings {\n const rawGovernance = settings.governance ?? {};\n const preset = normalizeGovernancePreset(rawGovernance.preset);\n const extras = resolveGovernanceExtras(rawGovernance);\n if (preset === \"custom\") {\n const baseline = resolveGovernanceKnobsFromPreset(\"default\");\n return {\n preset,\n ownership_enforcement: rawGovernance.ownership_enforcement ?? baseline.ownership_enforcement,\n create_mode_default: rawGovernance.create_mode_default ?? baseline.create_mode_default,\n close_validation_default: rawGovernance.close_validation_default ?? baseline.close_validation_default,\n parent_reference: rawGovernance.parent_reference ?? baseline.parent_reference,\n metadata_profile: rawGovernance.metadata_profile ?? baseline.metadata_profile,\n force_required_for_stale_lock: rawGovernance.force_required_for_stale_lock ?? baseline.force_required_for_stale_lock,\n ...extras,\n };\n }\n return {\n preset,\n ...resolveGovernanceKnobsFromPreset(preset),\n ...extras,\n };\n}\n\nfunction cloneDefaults(): PmSettings {\n return structuredClone(SETTINGS_DEFAULTS);\n}\n\nfunction normalizeSearchMutationRefreshPolicy(value: unknown): SearchMutationRefreshPolicy {\n if (value === \"cache_only\" || value === \"semantic_configured\" || value === \"semantic_auto\") {\n return value;\n }\n return SETTINGS_DEFAULTS.search.mutation_refresh_policy;\n}\n\nfunction buildSettingsPersistSourceSnapshot(\n parsedSettings: ParsedSettings,\n runtimeSettings: PmSettings,\n): SettingsPersistSourceSnapshot {\n const sourceSchema = parsedSettings.schema;\n const sourceStatuses = Array.isArray(sourceSchema?.statuses) ? sourceSchema?.statuses : undefined;\n const sourceFields = Array.isArray(sourceSchema?.fields) ? sourceSchema?.fields : undefined;\n const sourceTypeWorkflows = Array.isArray(sourceSchema?.type_workflows) ? sourceSchema?.type_workflows : undefined;\n return {\n has_source_item_type_definitions: Array.isArray(parsedSettings.item_types?.definitions),\n source_item_type_definitions: normalizeItemTypeDefinitions(parsedSettings.item_types?.definitions),\n has_source_schema_statuses: sourceStatuses !== undefined,\n source_schema_statuses: sourceStatuses ? structuredClone(sourceStatuses) : [],\n has_source_schema_fields: sourceFields !== undefined,\n source_schema_fields: sourceFields ? structuredClone(sourceFields) : [],\n has_source_schema_type_workflows: sourceTypeWorkflows !== undefined,\n source_schema_type_workflows: sourceTypeWorkflows ? structuredClone(sourceTypeWorkflows) : [],\n runtime_item_type_definitions: normalizeItemTypeDefinitions(runtimeSettings.item_types?.definitions),\n runtime_schema_statuses: structuredClone(runtimeSettings.schema.statuses),\n runtime_schema_fields: structuredClone(runtimeSettings.schema.fields),\n runtime_schema_type_workflows: structuredClone(runtimeSettings.schema.type_workflows ?? []),\n };\n}\n\nfunction attachSettingsPersistSourceSnapshot(settings: PmSettings, source: SettingsPersistSourceSnapshot): void {\n Object.defineProperty(settings as unknown as Record<PropertyKey, unknown>, SETTINGS_PERSIST_SOURCE_SYMBOL, {\n value: source,\n writable: true,\n configurable: true,\n enumerable: false,\n });\n}\n\nfunction getSettingsPersistSourceSnapshot(settings: PmSettings): SettingsPersistSourceSnapshot | undefined {\n const candidate = (settings as unknown as Record<PropertyKey, unknown>)[SETTINGS_PERSIST_SOURCE_SYMBOL];\n if (!candidate || typeof candidate !== \"object\") {\n return undefined;\n }\n return candidate as SettingsPersistSourceSnapshot;\n}\n\nfunction resolvePersistedFileBackedSchemaSections(\n settings: PmSettings,\n source: SettingsPersistSourceSnapshot | undefined,\n): {\n item_type_definitions: ItemTypeDefinition[];\n schema_statuses: PmSettings[\"schema\"][\"statuses\"];\n schema_fields: PmSettings[\"schema\"][\"fields\"];\n schema_type_workflows: PmSettings[\"schema\"][\"type_workflows\"];\n} {\n const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);\n const currentItemTypeDefinitions = normalizeItemTypeDefinitions(settings.item_types?.definitions);\n if (!source) {\n return {\n item_type_definitions: currentItemTypeDefinitions,\n schema_statuses: normalizedSchema.statuses,\n schema_fields: normalizedSchema.fields,\n schema_type_workflows: normalizedSchema.type_workflows,\n };\n }\n\n const currentTypeWorkflows = normalizedSchema.type_workflows ?? [];\n const itemTypeDefinitionsUnchanged = stableValueEquals(currentItemTypeDefinitions, source.runtime_item_type_definitions);\n const schemaStatusesUnchanged = stableValueEquals(normalizedSchema.statuses, source.runtime_schema_statuses);\n const schemaFieldsUnchanged = stableValueEquals(normalizedSchema.fields, source.runtime_schema_fields);\n const schemaTypeWorkflowsUnchanged = stableValueEquals(currentTypeWorkflows, source.runtime_schema_type_workflows);\n\n return {\n item_type_definitions: itemTypeDefinitionsUnchanged\n ? source.has_source_item_type_definitions\n ? normalizeItemTypeDefinitions(source.source_item_type_definitions)\n : []\n : currentItemTypeDefinitions,\n schema_statuses: schemaStatusesUnchanged\n ? source.has_source_schema_statuses\n ? structuredClone(source.source_schema_statuses)\n : []\n : normalizedSchema.statuses,\n schema_fields: schemaFieldsUnchanged\n ? source.has_source_schema_fields\n ? structuredClone(source.source_schema_fields)\n : []\n : normalizedSchema.fields,\n schema_type_workflows: schemaTypeWorkflowsUnchanged\n ? source.has_source_schema_type_workflows\n ? structuredClone(source.source_schema_type_workflows)\n : undefined\n : normalizedSchema.type_workflows,\n };\n}\n\nfunction buildFallbackSettingsReadResult(warning?: string): SettingsReadResult {\n return {\n settings: cloneDefaults(),\n metadata: {\n has_explicit_item_format: false,\n },\n warnings: warning ? [warning] : [],\n };\n}\n\nfunction hasExplicitItemFormat(raw: unknown): boolean {\n if (typeof raw !== \"object\" || raw === null || Array.isArray(raw)) {\n return false;\n }\n const itemFormat = (raw as Record<string, unknown>).item_format;\n return itemFormat === \"toon\" || itemFormat === \"json_markdown\";\n}\n\nfunction normalizeStringList(values: string[] | undefined): string[] {\n return [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) =>\n left.localeCompare(right),\n );\n}\n\nfunction normalizeAgentGuidanceSettings(\n value: Partial<PmSettings[\"agent_guidance\"]> | undefined,\n): PmSettings[\"agent_guidance\"] {\n const defaults = SETTINGS_DEFAULTS.agent_guidance;\n const templateVersion = value?.template_version;\n return {\n prompt_completed: value?.prompt_completed === true,\n declined: value?.declined === true,\n declined_at: typeof value?.declined_at === \"string\" ? value.declined_at : defaults.declined_at,\n template_version:\n typeof templateVersion === \"number\" && Number.isInteger(templateVersion) && templateVersion > 0\n ? templateVersion\n : defaults.template_version,\n last_checked_files: normalizeStringList(value?.last_checked_files ?? defaults.last_checked_files),\n };\n}\n\nfunction normalizeLowerStringList(values: string[] | undefined): string[] {\n return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n}\n\nfunction normalizeExtensionPolicyMode(value: ExtensionPolicyMode | undefined): ExtensionPolicyMode {\n if (value === \"off\" || value === \"warn\" || value === \"enforce\") {\n return value;\n }\n return SETTINGS_DEFAULTS.extensions.policy.mode;\n}\n\nfunction normalizeExtensionTrustMode(value: ExtensionTrustMode | undefined): ExtensionTrustMode {\n if (value === \"off\" || value === \"warn\" || value === \"enforce\") {\n return value;\n }\n return SETTINGS_DEFAULTS.extensions.policy.trust_mode;\n}\n\nfunction normalizeExtensionSandboxProfile(value: ExtensionSandboxProfile | undefined): ExtensionSandboxProfile {\n if (value === \"none\" || value === \"restricted\" || value === \"strict\") {\n return value;\n }\n return SETTINGS_DEFAULTS.extensions.policy.default_sandbox_profile;\n}\n\nfunction normalizeExtensionPolicyOverride(\n override: ExtensionPolicyOverrideSettings,\n): ExtensionPolicyOverrideSettings | null {\n const name = override.name.trim().toLowerCase();\n if (name.length === 0) {\n return null;\n }\n const normalized: ExtensionPolicyOverrideSettings = {\n name,\n };\n if (override.disabled === true) {\n normalized.disabled = true;\n }\n if (override.require_trusted === true) {\n normalized.require_trusted = true;\n }\n if (override.require_provenance === true) {\n normalized.require_provenance = true;\n }\n if (override.sandbox_profile !== undefined) {\n normalized.sandbox_profile = normalizeExtensionSandboxProfile(override.sandbox_profile);\n }\n const allowedCapabilities = normalizeLowerStringList(override.allowed_capabilities);\n const blockedCapabilities = normalizeLowerStringList(override.blocked_capabilities);\n const allowedSurfaces = normalizeLowerStringList(override.allowed_surfaces);\n const blockedSurfaces = normalizeLowerStringList(override.blocked_surfaces);\n const allowedCommands = normalizeLowerStringList(override.allowed_commands);\n const blockedCommands = normalizeLowerStringList(override.blocked_commands);\n const allowedActions = normalizeLowerStringList(override.allowed_actions);\n const blockedActions = normalizeLowerStringList(override.blocked_actions);\n const allowedServices = normalizeLowerStringList(override.allowed_services);\n const blockedServices = normalizeLowerStringList(override.blocked_services);\n if (allowedCapabilities.length > 0) {\n normalized.allowed_capabilities = allowedCapabilities;\n }\n if (blockedCapabilities.length > 0) {\n normalized.blocked_capabilities = blockedCapabilities;\n }\n if (allowedSurfaces.length > 0) {\n normalized.allowed_surfaces = allowedSurfaces;\n }\n if (blockedSurfaces.length > 0) {\n normalized.blocked_surfaces = blockedSurfaces;\n }\n if (allowedCommands.length > 0) {\n normalized.allowed_commands = allowedCommands;\n }\n if (blockedCommands.length > 0) {\n normalized.blocked_commands = blockedCommands;\n }\n if (allowedActions.length > 0) {\n normalized.allowed_actions = allowedActions;\n }\n if (blockedActions.length > 0) {\n normalized.blocked_actions = blockedActions;\n }\n if (allowedServices.length > 0) {\n normalized.allowed_services = allowedServices;\n }\n if (blockedServices.length > 0) {\n normalized.blocked_services = blockedServices;\n }\n return normalized;\n}\n\nfunction normalizeExtensionPolicyOverrides(\n overrides: ExtensionPolicyOverrideSettings[] | undefined,\n): ExtensionPolicyOverrideSettings[] {\n const dedupedByName = new Map<string, ExtensionPolicyOverrideSettings>();\n for (const override of overrides ?? []) {\n const normalized = normalizeExtensionPolicyOverride(override);\n if (!normalized) {\n continue;\n }\n dedupedByName.set(normalized.name, normalized);\n }\n return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));\n}\n\nfunction normalizeExtensionPolicySettings(policy: Partial<ExtensionPolicySettings> | undefined): ExtensionPolicySettings {\n const defaults = SETTINGS_DEFAULTS.extensions.policy;\n return {\n mode: normalizeExtensionPolicyMode(policy?.mode),\n trust_mode: normalizeExtensionTrustMode(policy?.trust_mode),\n require_provenance: policy?.require_provenance === true,\n trusted_extensions: normalizeLowerStringList(policy?.trusted_extensions ?? defaults.trusted_extensions),\n default_sandbox_profile: normalizeExtensionSandboxProfile(policy?.default_sandbox_profile),\n allowed_extensions: normalizeLowerStringList(policy?.allowed_extensions ?? defaults.allowed_extensions),\n blocked_extensions: normalizeLowerStringList(policy?.blocked_extensions ?? defaults.blocked_extensions),\n allowed_capabilities: normalizeLowerStringList(policy?.allowed_capabilities ?? defaults.allowed_capabilities),\n blocked_capabilities: normalizeLowerStringList(policy?.blocked_capabilities ?? defaults.blocked_capabilities),\n allowed_surfaces: normalizeLowerStringList(policy?.allowed_surfaces ?? defaults.allowed_surfaces),\n blocked_surfaces: normalizeLowerStringList(policy?.blocked_surfaces ?? defaults.blocked_surfaces),\n allowed_commands: normalizeLowerStringList(policy?.allowed_commands ?? defaults.allowed_commands),\n blocked_commands: normalizeLowerStringList(policy?.blocked_commands ?? defaults.blocked_commands),\n allowed_actions: normalizeLowerStringList(policy?.allowed_actions ?? defaults.allowed_actions),\n blocked_actions: normalizeLowerStringList(policy?.blocked_actions ?? defaults.blocked_actions),\n allowed_services: normalizeLowerStringList(policy?.allowed_services ?? defaults.allowed_services),\n blocked_services: normalizeLowerStringList(policy?.blocked_services ?? defaults.blocked_services),\n extension_overrides: normalizeExtensionPolicyOverrides(policy?.extension_overrides ?? defaults.extension_overrides),\n };\n}\n\nfunction normalizeValidationMetadataRequiredFields(values: string[] | undefined): ValidateMetadataRequiredField[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim().toLowerCase().replaceAll(\"-\", \"_\")))]\n .filter((value) => value.length > 0)\n .sort((left, right) => left.localeCompare(right));\n return normalized.filter((value): value is ValidateMetadataRequiredField =>\n [\n \"author\",\n \"acceptance_criteria\",\n \"estimated_minutes\",\n \"close_reason\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n ].includes(value),\n );\n}\n\nfunction normalizeValidationPatternList(values: string[] | undefined): string[] {\n return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n}\n\nexport function normalizeItemTypeDefinitions(definitions: ItemTypeDefinition[] | undefined): ItemTypeDefinition[] {\n const normalized = (definitions ?? [])\n .map((definition) => normalizeItemTypeDefinition(definition))\n .filter((definition): definition is ItemTypeDefinition => definition !== null);\n const dedupedByName = new Map<string, ItemTypeDefinition>();\n for (const definition of normalized) {\n dedupedByName.set(definition.name.toLowerCase(), definition);\n }\n return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));\n}\n\nfunction mergeSettings(settings: ParsedSettings): PmSettings {\n const defaults = cloneDefaults();\n const governance = resolveGovernanceKnobs({\n governance: settings.governance ?? { preset: \"default\" },\n });\n return {\n ...defaults,\n ...settings,\n item_format: settings.item_format === \"json_markdown\" ? \"toon\" : (settings.item_format ?? defaults.item_format),\n locks: { ...defaults.locks, ...settings.locks },\n output: { ...defaults.output, ...settings.output },\n history: { ...defaults.history, ...(settings.history ?? {}) },\n validation: {\n ...defaults.validation,\n ...(settings.validation ?? {}),\n parent_reference: governance.parent_reference,\n metadata_profile: governance.metadata_profile,\n metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),\n lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_stale_blocker_reason_patterns ??\n defaults.validation.lifecycle_stale_blocker_reason_patterns,\n ),\n lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_blocked_reason_patterns ??\n defaults.validation.lifecycle_closure_like_blocked_reason_patterns,\n ),\n lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_resolution_patterns ??\n defaults.validation.lifecycle_closure_like_resolution_patterns,\n ),\n lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_actual_result_patterns ??\n defaults.validation.lifecycle_closure_like_actual_result_patterns,\n ),\n },\n governance,\n workflow: {\n definition_of_done: [...(settings.workflow?.definition_of_done ?? defaults.workflow.definition_of_done)],\n },\n testing: {\n record_results_to_items: settings.testing?.record_results_to_items ?? defaults.testing.record_results_to_items,\n },\n telemetry: {\n enabled: settings.telemetry?.enabled ?? defaults.telemetry.enabled,\n first_run_prompt_completed:\n settings.telemetry?.first_run_prompt_completed ?? defaults.telemetry.first_run_prompt_completed,\n capture_level: settings.telemetry?.capture_level ?? defaults.telemetry.capture_level,\n endpoint: settings.telemetry?.endpoint ?? defaults.telemetry.endpoint,\n installation_id: settings.telemetry?.installation_id ?? defaults.telemetry.installation_id,\n retention_days: settings.telemetry?.retention_days ?? defaults.telemetry.retention_days,\n },\n agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance ?? defaults.agent_guidance),\n item_types: {\n definitions: normalizeItemTypeDefinitions(settings.item_types?.definitions),\n },\n schema: normalizeRuntimeSchemaSettings(settings.schema ?? defaults.schema),\n context: {\n default_depth: settings.context?.default_depth ?? defaults.context.default_depth,\n activity_limit: settings.context?.activity_limit ?? defaults.context.activity_limit,\n stale_threshold_days: settings.context?.stale_threshold_days ?? defaults.context.stale_threshold_days,\n sections: {\n ...defaults.context.sections,\n ...(settings.context?.sections ?? {}),\n },\n },\n extensions: {\n enabled: [...settings.extensions.enabled],\n disabled: [...settings.extensions.disabled],\n policy: normalizeExtensionPolicySettings(settings.extensions.policy ?? defaults.extensions.policy),\n },\n search: {\n ...defaults.search,\n ...settings.search,\n mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),\n },\n providers: {\n openai: { ...defaults.providers.openai, ...settings.providers.openai },\n ollama: { ...defaults.providers.ollama, ...settings.providers.ollama },\n },\n vector_store: {\n adapter: settings.vector_store.adapter ?? defaults.vector_store.adapter,\n qdrant: { ...defaults.vector_store.qdrant, ...settings.vector_store.qdrant },\n lancedb: { ...defaults.vector_store.lancedb, ...settings.vector_store.lancedb },\n },\n };\n}\n\nexport function serializeSettings(settings: PmSettings, options: SerializeSettingsOptions = {}): string {\n const governance = resolveGovernanceKnobs(settings);\n const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);\n const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(settings, options.persist_source);\n const normalizedSettings: PmSettings = {\n ...settings,\n item_format: \"toon\",\n validation: {\n ...settings.validation,\n parent_reference: governance.parent_reference,\n metadata_profile: governance.metadata_profile,\n metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),\n lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_stale_blocker_reason_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns,\n ),\n lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_blocked_reason_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns,\n ),\n lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_resolution_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns,\n ),\n lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_actual_result_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns,\n ),\n },\n governance,\n agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance),\n item_types: {\n definitions: persistedFileBackedSections.item_type_definitions,\n },\n schema: {\n ...normalizedSchema,\n statuses: persistedFileBackedSections.schema_statuses,\n fields: persistedFileBackedSections.schema_fields,\n type_workflows: persistedFileBackedSections.schema_type_workflows,\n },\n search: {\n ...SETTINGS_DEFAULTS.search,\n ...settings.search,\n mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),\n },\n context: {\n default_depth: settings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,\n activity_limit: settings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,\n stale_threshold_days: settings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,\n sections: {\n ...SETTINGS_DEFAULTS.context.sections,\n ...(settings.context?.sections ?? {}),\n },\n },\n extensions: {\n enabled: normalizeStringList(settings.extensions?.enabled),\n disabled: normalizeStringList(settings.extensions?.disabled),\n policy: normalizeExtensionPolicySettings(settings.extensions?.policy),\n },\n };\n const ordered = orderObject(\n {\n ...(normalizedSettings as unknown as Record<string, unknown>),\n governance: normalizeGovernanceForPersist(governance) as unknown,\n },\n [\n \"version\",\n \"id_prefix\",\n \"author_default\",\n \"item_format\",\n \"locks\",\n \"output\",\n \"history\",\n \"validation\",\n \"governance\",\n \"workflow\",\n \"testing\",\n \"telemetry\",\n \"agent_guidance\",\n \"item_types\",\n \"schema\",\n \"context\",\n \"extensions\",\n \"search\",\n \"providers\",\n \"vector_store\",\n ],\n );\n\n ordered.locks = orderObject(ordered.locks as Record<string, unknown>, [\"ttl_seconds\"]);\n ordered.output = orderObject(ordered.output as Record<string, unknown>, [\"default_format\"]);\n ordered.history = orderObject(ordered.history as Record<string, unknown>, [\"missing_stream\"]);\n ordered.validation = orderObject(ordered.validation as Record<string, unknown>, [\n \"sprint_release_format\",\n \"parent_reference\",\n \"metadata_profile\",\n \"metadata_required_fields\",\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n ]);\n ordered.governance = orderObject(ordered.governance as Record<string, unknown>, [\n \"preset\",\n \"ownership_enforcement\",\n \"create_mode_default\",\n \"close_validation_default\",\n \"parent_reference\",\n \"metadata_profile\",\n \"force_required_for_stale_lock\",\n \"create_default_type\",\n \"workflow_enforcement\",\n ]);\n ordered.workflow = orderObject(ordered.workflow as Record<string, unknown>, [\"definition_of_done\"]);\n ordered.testing = orderObject(ordered.testing as Record<string, unknown>, [\"record_results_to_items\"]);\n ordered.telemetry = orderObject(ordered.telemetry as Record<string, unknown>, [\n \"enabled\",\n \"first_run_prompt_completed\",\n \"capture_level\",\n \"endpoint\",\n \"installation_id\",\n \"retention_days\",\n ]);\n ordered.agent_guidance = orderObject(ordered.agent_guidance as Record<string, unknown>, [\n \"prompt_completed\",\n \"declined\",\n \"declined_at\",\n \"template_version\",\n \"last_checked_files\",\n ]);\n ordered.item_types = orderObject(ordered.item_types as Record<string, unknown>, [\"definitions\"]);\n ordered.schema = orderObject(ordered.schema as Record<string, unknown>, [\n \"version\",\n \"files\",\n \"statuses\",\n \"fields\",\n \"workflow\",\n \"type_workflows\",\n \"unknown_field_policy\",\n ]);\n (ordered.schema as Record<string, unknown>).files = orderObject(\n ((ordered.schema as Record<string, unknown>).files ?? {}) as Record<string, unknown>,\n [\"types\", \"statuses\", \"fields\", \"workflows\"],\n );\n (ordered.schema as Record<string, unknown>).workflow = orderObject(\n ((ordered.schema as Record<string, unknown>).workflow ?? {}) as Record<string, unknown>,\n [\"draft_status\", \"open_status\", \"in_progress_status\", \"blocked_status\", \"close_status\", \"canceled_status\"],\n );\n ordered.context = orderObject(ordered.context as Record<string, unknown>, [\n \"default_depth\",\n \"activity_limit\",\n \"stale_threshold_days\",\n \"sections\",\n ]);\n (ordered.context as Record<string, unknown>).sections = orderObject(\n ((ordered.context as Record<string, unknown>).sections ?? {}) as Record<string, unknown>,\n [\"hierarchy\", \"activity\", \"progress\", \"blockers\", \"files\", \"workload\", \"staleness\", \"tests\"],\n );\n ordered.extensions = orderObject(ordered.extensions as Record<string, unknown>, [\"enabled\", \"disabled\", \"policy\"]);\n (ordered.extensions as Record<string, unknown>).policy = orderObject(\n (((ordered.extensions as Record<string, unknown>).policy ?? {}) as Record<string, unknown>),\n [\n \"mode\",\n \"trust_mode\",\n \"require_provenance\",\n \"trusted_extensions\",\n \"default_sandbox_profile\",\n \"allowed_extensions\",\n \"blocked_extensions\",\n \"allowed_capabilities\",\n \"blocked_capabilities\",\n \"allowed_surfaces\",\n \"blocked_surfaces\",\n \"allowed_commands\",\n \"blocked_commands\",\n \"allowed_actions\",\n \"blocked_actions\",\n \"allowed_services\",\n \"blocked_services\",\n \"extension_overrides\",\n ],\n );\n ((ordered.extensions as Record<string, unknown>).policy as Record<string, unknown>).extension_overrides = (\n (((ordered.extensions as Record<string, unknown>).policy as Record<string, unknown>).extension_overrides ?? []) as unknown[]\n ).map((entry) =>\n orderObject((entry ?? {}) as Record<string, unknown>, [\n \"name\",\n \"disabled\",\n \"require_trusted\",\n \"require_provenance\",\n \"sandbox_profile\",\n \"allowed_capabilities\",\n \"blocked_capabilities\",\n \"allowed_surfaces\",\n \"blocked_surfaces\",\n \"allowed_commands\",\n \"blocked_commands\",\n \"allowed_actions\",\n \"blocked_actions\",\n \"allowed_services\",\n \"blocked_services\",\n ]),\n );\n ordered.search = orderObject(ordered.search as Record<string, unknown>, [\n \"score_threshold\",\n \"hybrid_semantic_weight\",\n \"max_results\",\n \"embedding_model\",\n \"embedding_batch_size\",\n \"embedding_timeout_ms\",\n \"scanner_max_batch_retries\",\n \"provider\",\n \"mutation_refresh_policy\",\n ]);\n ordered.providers = orderObject(ordered.providers as Record<string, unknown>, [\"openai\", \"ollama\"]);\n (ordered.providers as Record<string, unknown>).openai = orderObject(\n ((ordered.providers as Record<string, unknown>).openai ?? {}) as Record<string, unknown>,\n [\"base_url\", \"api_key\", \"model\"],\n );\n (ordered.providers as Record<string, unknown>).ollama = orderObject(\n ((ordered.providers as Record<string, unknown>).ollama ?? {}) as Record<string, unknown>,\n [\"base_url\", \"model\"],\n );\n ordered.vector_store = orderObject(ordered.vector_store as Record<string, unknown>, [\"adapter\", \"qdrant\", \"lancedb\"]);\n (ordered.vector_store as Record<string, unknown>).qdrant = orderObject(\n ((ordered.vector_store as Record<string, unknown>).qdrant ?? {}) as Record<string, unknown>,\n [\"url\", \"api_key\"],\n );\n (ordered.vector_store as Record<string, unknown>).lancedb = orderObject(\n ((ordered.vector_store as Record<string, unknown>).lancedb ?? {}) as Record<string, unknown>,\n [\"path\"],\n );\n\n return `${JSON.stringify(ordered, null, 2)}\\n`;\n}\n\nexport async function readSettingsWithMetadata(pmRoot: string): Promise<SettingsReadResult> {\n const settingsPath = getSettingsPath(pmRoot);\n const raw = await readFileIfExists(settingsPath);\n if (raw === null) {\n return buildFallbackSettingsReadResult();\n }\n await runActiveOnReadHooks({\n path: settingsPath,\n scope: \"project\",\n });\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw) as unknown;\n } catch {\n return buildFallbackSettingsReadResult(\"settings_read_invalid_json\");\n }\n\n const validated = validateSettings(parsed);\n if (!validated.success) {\n return buildFallbackSettingsReadResult(\"settings_read_invalid_schema\");\n }\n\n try {\n const mergedSettings = mergeSettings(validated.data);\n const schemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, mergedSettings.schema);\n const loadedSchemaSections = await loadRuntimeSchemaFromOptionalFiles(pmRoot, mergedSettings.schema);\n const settings: PmSettings = {\n ...mergedSettings,\n item_types: {\n definitions: normalizeItemTypeDefinitions([\n ...mergedSettings.item_types.definitions,\n ...(loadedSchemaSections.type_definitions_from_file ?? []),\n ]),\n },\n schema: loadedSchemaSections.schema,\n };\n attachSettingsPersistSourceSnapshot(settings, buildSettingsPersistSourceSnapshot(validated.data, settings));\n return {\n settings,\n metadata: {\n has_explicit_item_format: hasExplicitItemFormat(parsed),\n },\n warnings: [\n ...(validated.data.item_format === \"json_markdown\"\n ? [\"settings_item_format_legacy_json_markdown_coerced_to_toon\"]\n : []),\n ...schemaScaffold.created_paths.map((createdPath) => `runtime_schema_bootstrap_created:${createdPath}`),\n ...loadedSchemaSections.warnings,\n ],\n };\n } catch {\n return buildFallbackSettingsReadResult(\"settings_read_merge_failed\");\n }\n}\n\nexport async function readSettings(pmRoot: string): Promise<PmSettings> {\n return (await readSettingsWithMetadata(pmRoot)).settings;\n}\n\nexport async function writeSettings(pmRoot: string, settings: PmSettings, op = SETTINGS_WRITE_OP): Promise<void> {\n const settingsPath = getSettingsPath(pmRoot);\n await writeFileAtomic(\n settingsPath,\n serializeSettings(settings, {\n persist_source: getSettingsPersistSourceSnapshot(settings),\n }),\n );\n await runActiveOnWriteHooks({\n path: settingsPath,\n scope: \"project\",\n op,\n });\n}\n"],"names":[],"mappings":"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","debugId":"bb310f96-79d3-5bd1-a4aa-b8a8ac741afb"}
1
+ {"version":3,"file":"settings.js","sources":["core/store/settings.ts"],"sourceRoot":"/","sourcesContent":["import { validateSettings, type ParsedSettings } from \"./settings-validator.js\";\nimport { runActiveOnReadHooks, runActiveOnWriteHooks } from \"../extensions/index.js\";\nimport { GOVERNANCE_PRESET_DEFAULTS, SETTINGS_DEFAULTS } from \"../shared/constants.js\";\nimport { readFileIfExists, writeFileAtomic } from \"../fs/fs-utils.js\";\nimport {\n ensureRuntimeSchemaFileScaffold,\n loadRuntimeSchemaFromOptionalFiles,\n normalizeRuntimeSchemaSettings,\n} from \"../schema/runtime-schema.js\";\nimport { getSettingsPath } from \"./paths.js\";\nimport { orderObject, stableValueEquals } from \"../shared/serialization.js\";\nimport { normalizeItemTypeDefinition } from \"../item/item-type-definition.js\";\nimport type {\n ExtensionSandboxProfile,\n ExtensionPolicyMode,\n ExtensionPolicyOverrideSettings,\n ExtensionPolicySettings,\n ExtensionTrustMode,\n GovernanceSettings,\n ItemTypeDefinition,\n PmSettings,\n GovernancePreset,\n SearchMutationRefreshPolicy,\n ValidateMetadataRequiredField,\n} from \"../../types/index.js\";\n\nconst SETTINGS_WRITE_OP = \"settings:write\";\nconst SETTINGS_PERSIST_SOURCE_SYMBOL = Symbol(\"pm.settings.persist_source\");\nconst MAX_VECTOR_STORE_COLLECTION_NAME_LENGTH = 128;\n\ninterface SettingsPersistSourceSnapshot {\n has_source_item_type_definitions: boolean;\n source_item_type_definitions: ItemTypeDefinition[];\n has_source_schema_statuses: boolean;\n source_schema_statuses: PmSettings[\"schema\"][\"statuses\"];\n has_source_schema_fields: boolean;\n source_schema_fields: PmSettings[\"schema\"][\"fields\"];\n has_source_schema_type_workflows: boolean;\n source_schema_type_workflows: NonNullable<PmSettings[\"schema\"][\"type_workflows\"]>;\n runtime_item_type_definitions: ItemTypeDefinition[];\n runtime_schema_statuses: PmSettings[\"schema\"][\"statuses\"];\n runtime_schema_fields: PmSettings[\"schema\"][\"fields\"];\n runtime_schema_type_workflows: NonNullable<PmSettings[\"schema\"][\"type_workflows\"]>;\n}\n\ninterface SerializeSettingsOptions {\n persist_source?: SettingsPersistSourceSnapshot;\n}\n\nexport interface SettingsReadMetadata {\n has_explicit_item_format: boolean;\n}\n\nexport interface SettingsReadResult {\n settings: PmSettings;\n metadata: SettingsReadMetadata;\n warnings: string[];\n}\n\nfunction resolveGovernanceKnobsFromPreset(preset: Exclude<GovernancePreset, \"custom\">): Omit<GovernanceSettings, \"preset\"> {\n return structuredClone(GOVERNANCE_PRESET_DEFAULTS[preset]);\n}\n\nfunction normalizeGovernancePreset(value: GovernancePreset | undefined): GovernancePreset {\n if (value === \"minimal\" || value === \"default\" || value === \"strict\" || value === \"custom\") {\n return value;\n }\n return SETTINGS_DEFAULTS.governance.preset;\n}\n\n// `create_default_type` and `workflow_enforcement` are orthogonal to the\n// governance preset (they tune create/update behavior, not the preset knobs),\n// so they must survive a write regardless of preset — otherwise a project on a\n// non-custom preset would silently drop them on every settings write.\nfunction withGovernanceExtras(\n base: Partial<GovernanceSettings> & { preset: GovernancePreset },\n governance: GovernanceSettings,\n): Partial<GovernanceSettings> & { preset: GovernancePreset } {\n const createDefaultType =\n typeof governance.create_default_type === \"string\" ? governance.create_default_type.trim() : undefined;\n if (createDefaultType && createDefaultType.length > 0) {\n base.create_default_type = createDefaultType;\n }\n if (\n governance.workflow_enforcement === \"off\" ||\n governance.workflow_enforcement === \"warn\" ||\n governance.workflow_enforcement === \"strict\"\n ) {\n base.workflow_enforcement = governance.workflow_enforcement;\n }\n if (governance.require_close_reason === false) {\n base.require_close_reason = false;\n }\n return base;\n}\n\nfunction normalizeGovernanceForPersist(governance: GovernanceSettings): Partial<GovernanceSettings> & { preset: GovernancePreset } {\n if (governance.preset === \"custom\") {\n return withGovernanceExtras(\n {\n preset: \"custom\",\n ownership_enforcement: governance.ownership_enforcement,\n create_mode_default: governance.create_mode_default,\n close_validation_default: governance.close_validation_default,\n parent_reference: governance.parent_reference,\n metadata_profile: governance.metadata_profile,\n force_required_for_stale_lock: governance.force_required_for_stale_lock,\n },\n governance,\n );\n }\n return withGovernanceExtras(\n {\n preset: governance.preset,\n },\n governance,\n );\n}\n\n// Preset-orthogonal knobs that must be carried through resolve from the raw\n// governance regardless of preset (see normalizeGovernanceForPersist).\nfunction resolveGovernanceExtras(\n rawGovernance: Partial<GovernanceSettings>,\n): Partial<Pick<GovernanceSettings, \"create_default_type\" | \"workflow_enforcement\" | \"require_close_reason\">> {\n const createDefaultType =\n typeof rawGovernance.create_default_type === \"string\" ? rawGovernance.create_default_type.trim() : undefined;\n const extras: Partial<Pick<GovernanceSettings, \"create_default_type\" | \"workflow_enforcement\" | \"require_close_reason\">> =\n {};\n if (createDefaultType && createDefaultType.length > 0) {\n extras.create_default_type = createDefaultType;\n }\n if (\n rawGovernance.workflow_enforcement === \"off\" ||\n rawGovernance.workflow_enforcement === \"warn\" ||\n rawGovernance.workflow_enforcement === \"strict\"\n ) {\n extras.workflow_enforcement = rawGovernance.workflow_enforcement;\n }\n if (typeof rawGovernance.require_close_reason === \"boolean\") {\n extras.require_close_reason = rawGovernance.require_close_reason;\n }\n return extras;\n}\n\nexport function resolveGovernanceKnobs(\n settings: Pick<PmSettings, \"governance\"> | { governance?: Partial<GovernanceSettings> },\n): GovernanceSettings {\n const rawGovernance = settings.governance ?? {};\n const preset = normalizeGovernancePreset(rawGovernance.preset);\n const extras = resolveGovernanceExtras(rawGovernance);\n if (preset === \"custom\") {\n const baseline = resolveGovernanceKnobsFromPreset(\"default\");\n const requireCloseReason = extras.require_close_reason ?? baseline.require_close_reason;\n return {\n preset,\n ownership_enforcement: rawGovernance.ownership_enforcement ?? baseline.ownership_enforcement,\n create_mode_default: rawGovernance.create_mode_default ?? baseline.create_mode_default,\n close_validation_default: rawGovernance.close_validation_default ?? baseline.close_validation_default,\n parent_reference: rawGovernance.parent_reference ?? baseline.parent_reference,\n metadata_profile: rawGovernance.metadata_profile ?? baseline.metadata_profile,\n force_required_for_stale_lock: rawGovernance.force_required_for_stale_lock ?? baseline.force_required_for_stale_lock,\n ...extras,\n require_close_reason: requireCloseReason,\n };\n }\n const baseline = resolveGovernanceKnobsFromPreset(preset);\n const requireCloseReason = extras.require_close_reason ?? baseline.require_close_reason;\n return {\n preset,\n ...baseline,\n ...extras,\n require_close_reason: requireCloseReason,\n };\n}\n\nfunction cloneDefaults(): PmSettings {\n return structuredClone(SETTINGS_DEFAULTS);\n}\n\nfunction normalizeSearchMutationRefreshPolicy(value: unknown): SearchMutationRefreshPolicy {\n if (value === \"cache_only\" || value === \"semantic_configured\" || value === \"semantic_auto\") {\n return value;\n }\n return SETTINGS_DEFAULTS.search.mutation_refresh_policy;\n}\n\nfunction normalizeSearchQueryExpansionEnabled(value: unknown): boolean {\n if (typeof value === \"boolean\") {\n return value;\n }\n return SETTINGS_DEFAULTS.search.query_expansion.enabled;\n}\n\nfunction normalizeSearchQueryExpansionProvider(value: unknown): string {\n if (typeof value !== \"string\") {\n return SETTINGS_DEFAULTS.search.query_expansion.provider;\n }\n return value.trim();\n}\n\nfunction normalizeSearchRerankEnabled(value: unknown): boolean {\n if (typeof value === \"boolean\") {\n return value;\n }\n return SETTINGS_DEFAULTS.search.rerank.enabled;\n}\n\nfunction normalizeSearchRerankModel(value: unknown): string {\n if (typeof value !== \"string\") {\n return SETTINGS_DEFAULTS.search.rerank.model;\n }\n return value.trim();\n}\n\nfunction normalizeSearchRerankTopK(value: unknown): number {\n if (typeof value === \"number\" && Number.isFinite(value) && Number.isInteger(value) && value > 0) {\n return value;\n }\n return SETTINGS_DEFAULTS.search.rerank.top_k;\n}\n\nfunction normalizeVectorStoreCollectionName(value: unknown): string {\n if (typeof value !== \"string\") {\n return SETTINGS_DEFAULTS.vector_store.collection_name;\n }\n const sanitized = value.trim().replaceAll(/[^a-zA-Z0-9_-]/g, \"_\");\n const truncated = sanitized.slice(0, MAX_VECTOR_STORE_COLLECTION_NAME_LENGTH);\n return truncated.length > 0 ? truncated : SETTINGS_DEFAULTS.vector_store.collection_name;\n}\n\nfunction buildSettingsPersistSourceSnapshot(\n parsedSettings: ParsedSettings,\n runtimeSettings: PmSettings,\n): SettingsPersistSourceSnapshot {\n const sourceSchema = parsedSettings.schema;\n const sourceStatuses = Array.isArray(sourceSchema?.statuses) ? sourceSchema?.statuses : undefined;\n const sourceFields = Array.isArray(sourceSchema?.fields) ? sourceSchema?.fields : undefined;\n const sourceTypeWorkflows = Array.isArray(sourceSchema?.type_workflows) ? sourceSchema?.type_workflows : undefined;\n return {\n has_source_item_type_definitions: Array.isArray(parsedSettings.item_types?.definitions),\n source_item_type_definitions: normalizeItemTypeDefinitions(parsedSettings.item_types?.definitions),\n has_source_schema_statuses: sourceStatuses !== undefined,\n source_schema_statuses: sourceStatuses ? structuredClone(sourceStatuses) : [],\n has_source_schema_fields: sourceFields !== undefined,\n source_schema_fields: sourceFields ? structuredClone(sourceFields) : [],\n has_source_schema_type_workflows: sourceTypeWorkflows !== undefined,\n source_schema_type_workflows: sourceTypeWorkflows ? structuredClone(sourceTypeWorkflows) : [],\n runtime_item_type_definitions: normalizeItemTypeDefinitions(runtimeSettings.item_types?.definitions),\n runtime_schema_statuses: structuredClone(runtimeSettings.schema.statuses),\n runtime_schema_fields: structuredClone(runtimeSettings.schema.fields),\n runtime_schema_type_workflows: structuredClone(runtimeSettings.schema.type_workflows ?? []),\n };\n}\n\nfunction attachSettingsPersistSourceSnapshot(settings: PmSettings, source: SettingsPersistSourceSnapshot): void {\n Object.defineProperty(settings as unknown as Record<PropertyKey, unknown>, SETTINGS_PERSIST_SOURCE_SYMBOL, {\n value: source,\n writable: true,\n configurable: true,\n enumerable: false,\n });\n}\n\nfunction getSettingsPersistSourceSnapshot(settings: PmSettings): SettingsPersistSourceSnapshot | undefined {\n const candidate = (settings as unknown as Record<PropertyKey, unknown>)[SETTINGS_PERSIST_SOURCE_SYMBOL];\n if (!candidate || typeof candidate !== \"object\") {\n return undefined;\n }\n return candidate as SettingsPersistSourceSnapshot;\n}\n\nfunction resolvePersistedFileBackedSchemaSections(\n settings: PmSettings,\n source: SettingsPersistSourceSnapshot | undefined,\n): {\n item_type_definitions: ItemTypeDefinition[];\n schema_statuses: PmSettings[\"schema\"][\"statuses\"];\n schema_fields: PmSettings[\"schema\"][\"fields\"];\n schema_type_workflows: PmSettings[\"schema\"][\"type_workflows\"];\n} {\n const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);\n const currentItemTypeDefinitions = normalizeItemTypeDefinitions(settings.item_types?.definitions);\n if (!source) {\n return {\n item_type_definitions: currentItemTypeDefinitions,\n schema_statuses: normalizedSchema.statuses,\n schema_fields: normalizedSchema.fields,\n schema_type_workflows: normalizedSchema.type_workflows,\n };\n }\n\n const currentTypeWorkflows = normalizedSchema.type_workflows ?? [];\n const itemTypeDefinitionsUnchanged = stableValueEquals(currentItemTypeDefinitions, source.runtime_item_type_definitions);\n const schemaStatusesUnchanged = stableValueEquals(normalizedSchema.statuses, source.runtime_schema_statuses);\n const schemaFieldsUnchanged = stableValueEquals(normalizedSchema.fields, source.runtime_schema_fields);\n const schemaTypeWorkflowsUnchanged = stableValueEquals(currentTypeWorkflows, source.runtime_schema_type_workflows);\n\n return {\n item_type_definitions: itemTypeDefinitionsUnchanged\n ? source.has_source_item_type_definitions\n ? normalizeItemTypeDefinitions(source.source_item_type_definitions)\n : []\n : currentItemTypeDefinitions,\n schema_statuses: schemaStatusesUnchanged\n ? source.has_source_schema_statuses\n ? structuredClone(source.source_schema_statuses)\n : []\n : normalizedSchema.statuses,\n schema_fields: schemaFieldsUnchanged\n ? source.has_source_schema_fields\n ? structuredClone(source.source_schema_fields)\n : []\n : normalizedSchema.fields,\n schema_type_workflows: schemaTypeWorkflowsUnchanged\n ? source.has_source_schema_type_workflows\n ? structuredClone(source.source_schema_type_workflows)\n : undefined\n : normalizedSchema.type_workflows,\n };\n}\n\nfunction buildFallbackSettingsReadResult(warning?: string): SettingsReadResult {\n return {\n settings: cloneDefaults(),\n metadata: {\n has_explicit_item_format: false,\n },\n warnings: warning ? [warning] : [],\n };\n}\n\nfunction hasExplicitItemFormat(raw: unknown): boolean {\n if (typeof raw !== \"object\" || raw === null || Array.isArray(raw)) {\n return false;\n }\n const itemFormat = (raw as Record<string, unknown>).item_format;\n return itemFormat === \"toon\" || itemFormat === \"json_markdown\";\n}\n\nfunction normalizeStringList(values: string[] | undefined): string[] {\n return [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) =>\n left.localeCompare(right),\n );\n}\n\nfunction normalizeAgentGuidanceSettings(\n value: Partial<PmSettings[\"agent_guidance\"]> | undefined,\n): PmSettings[\"agent_guidance\"] {\n const defaults = SETTINGS_DEFAULTS.agent_guidance;\n const templateVersion = value?.template_version;\n return {\n prompt_completed: value?.prompt_completed === true,\n declined: value?.declined === true,\n declined_at: typeof value?.declined_at === \"string\" ? value.declined_at : defaults.declined_at,\n template_version:\n typeof templateVersion === \"number\" && Number.isInteger(templateVersion) && templateVersion > 0\n ? templateVersion\n : defaults.template_version,\n last_checked_files: normalizeStringList(value?.last_checked_files ?? defaults.last_checked_files),\n };\n}\n\nfunction normalizeLowerStringList(values: string[] | undefined): string[] {\n return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n}\n\nfunction normalizeExtensionPolicyMode(value: ExtensionPolicyMode | undefined): ExtensionPolicyMode {\n if (value === \"off\" || value === \"warn\" || value === \"enforce\") {\n return value;\n }\n return SETTINGS_DEFAULTS.extensions.policy.mode;\n}\n\nfunction normalizeExtensionTrustMode(value: ExtensionTrustMode | undefined): ExtensionTrustMode {\n if (value === \"off\" || value === \"warn\" || value === \"enforce\") {\n return value;\n }\n return SETTINGS_DEFAULTS.extensions.policy.trust_mode;\n}\n\nfunction normalizeExtensionSandboxProfile(value: ExtensionSandboxProfile | undefined): ExtensionSandboxProfile {\n if (value === \"none\" || value === \"restricted\" || value === \"strict\") {\n return value;\n }\n return SETTINGS_DEFAULTS.extensions.policy.default_sandbox_profile;\n}\n\nfunction normalizeExtensionPolicyOverride(\n override: ExtensionPolicyOverrideSettings,\n): ExtensionPolicyOverrideSettings | null {\n const name = override.name.trim().toLowerCase();\n if (name.length === 0) {\n return null;\n }\n const normalized: ExtensionPolicyOverrideSettings = {\n name,\n };\n if (override.disabled === true) {\n normalized.disabled = true;\n }\n if (override.require_trusted === true) {\n normalized.require_trusted = true;\n }\n if (override.require_provenance === true) {\n normalized.require_provenance = true;\n }\n if (override.sandbox_profile !== undefined) {\n normalized.sandbox_profile = normalizeExtensionSandboxProfile(override.sandbox_profile);\n }\n const allowedCapabilities = normalizeLowerStringList(override.allowed_capabilities);\n const blockedCapabilities = normalizeLowerStringList(override.blocked_capabilities);\n const allowedSurfaces = normalizeLowerStringList(override.allowed_surfaces);\n const blockedSurfaces = normalizeLowerStringList(override.blocked_surfaces);\n const allowedCommands = normalizeLowerStringList(override.allowed_commands);\n const blockedCommands = normalizeLowerStringList(override.blocked_commands);\n const allowedActions = normalizeLowerStringList(override.allowed_actions);\n const blockedActions = normalizeLowerStringList(override.blocked_actions);\n const allowedServices = normalizeLowerStringList(override.allowed_services);\n const blockedServices = normalizeLowerStringList(override.blocked_services);\n if (allowedCapabilities.length > 0) {\n normalized.allowed_capabilities = allowedCapabilities;\n }\n if (blockedCapabilities.length > 0) {\n normalized.blocked_capabilities = blockedCapabilities;\n }\n if (allowedSurfaces.length > 0) {\n normalized.allowed_surfaces = allowedSurfaces;\n }\n if (blockedSurfaces.length > 0) {\n normalized.blocked_surfaces = blockedSurfaces;\n }\n if (allowedCommands.length > 0) {\n normalized.allowed_commands = allowedCommands;\n }\n if (blockedCommands.length > 0) {\n normalized.blocked_commands = blockedCommands;\n }\n if (allowedActions.length > 0) {\n normalized.allowed_actions = allowedActions;\n }\n if (blockedActions.length > 0) {\n normalized.blocked_actions = blockedActions;\n }\n if (allowedServices.length > 0) {\n normalized.allowed_services = allowedServices;\n }\n if (blockedServices.length > 0) {\n normalized.blocked_services = blockedServices;\n }\n return normalized;\n}\n\nfunction normalizeExtensionPolicyOverrides(\n overrides: ExtensionPolicyOverrideSettings[] | undefined,\n): ExtensionPolicyOverrideSettings[] {\n const dedupedByName = new Map<string, ExtensionPolicyOverrideSettings>();\n for (const override of overrides ?? []) {\n const normalized = normalizeExtensionPolicyOverride(override);\n if (!normalized) {\n continue;\n }\n dedupedByName.set(normalized.name, normalized);\n }\n return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));\n}\n\nfunction normalizeExtensionPolicySettings(policy: Partial<ExtensionPolicySettings> | undefined): ExtensionPolicySettings {\n const defaults = SETTINGS_DEFAULTS.extensions.policy;\n return {\n mode: normalizeExtensionPolicyMode(policy?.mode),\n trust_mode: normalizeExtensionTrustMode(policy?.trust_mode),\n require_provenance: policy?.require_provenance === true,\n trusted_extensions: normalizeLowerStringList(policy?.trusted_extensions ?? defaults.trusted_extensions),\n default_sandbox_profile: normalizeExtensionSandboxProfile(policy?.default_sandbox_profile),\n allowed_extensions: normalizeLowerStringList(policy?.allowed_extensions ?? defaults.allowed_extensions),\n blocked_extensions: normalizeLowerStringList(policy?.blocked_extensions ?? defaults.blocked_extensions),\n allowed_capabilities: normalizeLowerStringList(policy?.allowed_capabilities ?? defaults.allowed_capabilities),\n blocked_capabilities: normalizeLowerStringList(policy?.blocked_capabilities ?? defaults.blocked_capabilities),\n allowed_surfaces: normalizeLowerStringList(policy?.allowed_surfaces ?? defaults.allowed_surfaces),\n blocked_surfaces: normalizeLowerStringList(policy?.blocked_surfaces ?? defaults.blocked_surfaces),\n allowed_commands: normalizeLowerStringList(policy?.allowed_commands ?? defaults.allowed_commands),\n blocked_commands: normalizeLowerStringList(policy?.blocked_commands ?? defaults.blocked_commands),\n allowed_actions: normalizeLowerStringList(policy?.allowed_actions ?? defaults.allowed_actions),\n blocked_actions: normalizeLowerStringList(policy?.blocked_actions ?? defaults.blocked_actions),\n allowed_services: normalizeLowerStringList(policy?.allowed_services ?? defaults.allowed_services),\n blocked_services: normalizeLowerStringList(policy?.blocked_services ?? defaults.blocked_services),\n extension_overrides: normalizeExtensionPolicyOverrides(policy?.extension_overrides ?? defaults.extension_overrides),\n };\n}\n\nfunction normalizeValidationMetadataRequiredFields(values: string[] | undefined): ValidateMetadataRequiredField[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim().toLowerCase().replaceAll(\"-\", \"_\")))]\n .filter((value) => value.length > 0)\n .sort((left, right) => left.localeCompare(right));\n return normalized.filter((value): value is ValidateMetadataRequiredField =>\n [\n \"author\",\n \"acceptance_criteria\",\n \"estimated_minutes\",\n \"close_reason\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n ].includes(value),\n );\n}\n\nfunction normalizeValidationPatternList(values: string[] | undefined): string[] {\n return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n}\n\nexport function normalizeItemTypeDefinitions(definitions: ItemTypeDefinition[] | undefined): ItemTypeDefinition[] {\n const normalized = (definitions ?? [])\n .map((definition) => normalizeItemTypeDefinition(definition))\n .filter((definition): definition is ItemTypeDefinition => definition !== null);\n const dedupedByName = new Map<string, ItemTypeDefinition>();\n for (const definition of normalized) {\n dedupedByName.set(definition.name.toLowerCase(), definition);\n }\n return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));\n}\n\nfunction mergeSettings(settings: ParsedSettings): PmSettings {\n const defaults = cloneDefaults();\n const governance = resolveGovernanceKnobs({\n governance: settings.governance ?? { preset: \"default\" },\n });\n return {\n ...defaults,\n ...settings,\n item_format: settings.item_format === \"json_markdown\" ? \"toon\" : (settings.item_format ?? defaults.item_format),\n locks: { ...defaults.locks, ...settings.locks },\n output: { ...defaults.output, ...settings.output },\n history: { ...defaults.history, ...(settings.history ?? {}) },\n validation: {\n ...defaults.validation,\n ...(settings.validation ?? {}),\n parent_reference: governance.parent_reference,\n metadata_profile: governance.metadata_profile,\n metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),\n lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_stale_blocker_reason_patterns ??\n defaults.validation.lifecycle_stale_blocker_reason_patterns,\n ),\n lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_blocked_reason_patterns ??\n defaults.validation.lifecycle_closure_like_blocked_reason_patterns,\n ),\n lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_resolution_patterns ??\n defaults.validation.lifecycle_closure_like_resolution_patterns,\n ),\n lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_actual_result_patterns ??\n defaults.validation.lifecycle_closure_like_actual_result_patterns,\n ),\n },\n governance,\n workflow: {\n definition_of_done: [...(settings.workflow?.definition_of_done ?? defaults.workflow.definition_of_done)],\n },\n testing: {\n record_results_to_items: settings.testing?.record_results_to_items ?? defaults.testing.record_results_to_items,\n },\n telemetry: {\n enabled: settings.telemetry?.enabled ?? defaults.telemetry.enabled,\n first_run_prompt_completed:\n settings.telemetry?.first_run_prompt_completed ?? defaults.telemetry.first_run_prompt_completed,\n capture_level: settings.telemetry?.capture_level ?? defaults.telemetry.capture_level,\n endpoint: settings.telemetry?.endpoint ?? defaults.telemetry.endpoint,\n installation_id: settings.telemetry?.installation_id ?? defaults.telemetry.installation_id,\n retention_days: settings.telemetry?.retention_days ?? defaults.telemetry.retention_days,\n },\n agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance ?? defaults.agent_guidance),\n item_types: {\n definitions: normalizeItemTypeDefinitions(settings.item_types?.definitions),\n },\n schema: normalizeRuntimeSchemaSettings(settings.schema ?? defaults.schema),\n context: {\n default_depth: settings.context?.default_depth ?? defaults.context.default_depth,\n activity_limit: settings.context?.activity_limit ?? defaults.context.activity_limit,\n stale_threshold_days: settings.context?.stale_threshold_days ?? defaults.context.stale_threshold_days,\n sections: {\n ...defaults.context.sections,\n ...(settings.context?.sections ?? {}),\n },\n },\n extensions: {\n enabled: [...settings.extensions.enabled],\n disabled: [...settings.extensions.disabled],\n policy: normalizeExtensionPolicySettings(settings.extensions.policy ?? defaults.extensions.policy),\n },\n search: {\n ...defaults.search,\n ...settings.search,\n mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),\n query_expansion: {\n ...defaults.search.query_expansion,\n ...(settings.search?.query_expansion ?? {}),\n enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),\n provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider),\n },\n rerank: {\n ...defaults.search.rerank,\n ...(settings.search?.rerank ?? {}),\n enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),\n model: normalizeSearchRerankModel(settings.search?.rerank?.model),\n top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k),\n },\n },\n providers: {\n openai: { ...defaults.providers.openai, ...settings.providers.openai },\n ollama: { ...defaults.providers.ollama, ...settings.providers.ollama },\n },\n vector_store: {\n adapter: settings.vector_store.adapter ?? defaults.vector_store.adapter,\n collection_name: normalizeVectorStoreCollectionName(settings.vector_store.collection_name),\n qdrant: { ...defaults.vector_store.qdrant, ...settings.vector_store.qdrant },\n lancedb: { ...defaults.vector_store.lancedb, ...settings.vector_store.lancedb },\n },\n };\n}\n\nexport function serializeSettings(settings: PmSettings, options: SerializeSettingsOptions = {}): string {\n const governance = resolveGovernanceKnobs(settings);\n const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);\n const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(settings, options.persist_source);\n const normalizedSettings: PmSettings = {\n ...settings,\n item_format: \"toon\",\n validation: {\n ...settings.validation,\n parent_reference: governance.parent_reference,\n metadata_profile: governance.metadata_profile,\n metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),\n lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_stale_blocker_reason_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns,\n ),\n lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_blocked_reason_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns,\n ),\n lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_resolution_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns,\n ),\n lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(\n settings.validation?.lifecycle_closure_like_actual_result_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns,\n ),\n },\n governance,\n agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance),\n item_types: {\n definitions: persistedFileBackedSections.item_type_definitions,\n },\n schema: {\n ...normalizedSchema,\n statuses: persistedFileBackedSections.schema_statuses,\n fields: persistedFileBackedSections.schema_fields,\n type_workflows: persistedFileBackedSections.schema_type_workflows,\n },\n search: {\n ...SETTINGS_DEFAULTS.search,\n ...settings.search,\n mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),\n query_expansion: {\n ...SETTINGS_DEFAULTS.search.query_expansion,\n ...(settings.search?.query_expansion ?? {}),\n enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),\n provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider),\n },\n rerank: {\n ...SETTINGS_DEFAULTS.search.rerank,\n ...(settings.search?.rerank ?? {}),\n enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),\n model: normalizeSearchRerankModel(settings.search?.rerank?.model),\n top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k),\n },\n },\n context: {\n default_depth: settings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,\n activity_limit: settings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,\n stale_threshold_days: settings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,\n sections: {\n ...SETTINGS_DEFAULTS.context.sections,\n ...(settings.context?.sections ?? {}),\n },\n },\n extensions: {\n enabled: normalizeStringList(settings.extensions?.enabled),\n disabled: normalizeStringList(settings.extensions?.disabled),\n policy: normalizeExtensionPolicySettings(settings.extensions?.policy),\n },\n vector_store: {\n ...(settings.vector_store ?? {}),\n adapter: settings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,\n collection_name: normalizeVectorStoreCollectionName(settings.vector_store?.collection_name),\n qdrant: { ...(settings.vector_store?.qdrant ?? {}) },\n lancedb: { ...(settings.vector_store?.lancedb ?? {}) },\n },\n };\n const ordered = orderObject(\n {\n ...(normalizedSettings as unknown as Record<string, unknown>),\n governance: normalizeGovernanceForPersist(governance) as unknown,\n },\n [\n \"version\",\n \"id_prefix\",\n \"author_default\",\n \"item_format\",\n \"locks\",\n \"output\",\n \"history\",\n \"validation\",\n \"governance\",\n \"workflow\",\n \"testing\",\n \"telemetry\",\n \"agent_guidance\",\n \"item_types\",\n \"schema\",\n \"context\",\n \"extensions\",\n \"search\",\n \"providers\",\n \"vector_store\",\n ],\n );\n\n ordered.locks = orderObject(ordered.locks as Record<string, unknown>, [\"ttl_seconds\"]);\n ordered.output = orderObject(ordered.output as Record<string, unknown>, [\"default_format\"]);\n ordered.history = orderObject(ordered.history as Record<string, unknown>, [\"missing_stream\"]);\n ordered.validation = orderObject(ordered.validation as Record<string, unknown>, [\n \"sprint_release_format\",\n \"parent_reference\",\n \"metadata_profile\",\n \"metadata_required_fields\",\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n ]);\n ordered.governance = orderObject(ordered.governance as Record<string, unknown>, [\n \"preset\",\n \"ownership_enforcement\",\n \"create_mode_default\",\n \"close_validation_default\",\n \"require_close_reason\",\n \"parent_reference\",\n \"metadata_profile\",\n \"force_required_for_stale_lock\",\n \"create_default_type\",\n \"workflow_enforcement\",\n ]);\n ordered.workflow = orderObject(ordered.workflow as Record<string, unknown>, [\"definition_of_done\"]);\n ordered.testing = orderObject(ordered.testing as Record<string, unknown>, [\"record_results_to_items\"]);\n ordered.telemetry = orderObject(ordered.telemetry as Record<string, unknown>, [\n \"enabled\",\n \"first_run_prompt_completed\",\n \"capture_level\",\n \"endpoint\",\n \"installation_id\",\n \"retention_days\",\n ]);\n ordered.agent_guidance = orderObject(ordered.agent_guidance as Record<string, unknown>, [\n \"prompt_completed\",\n \"declined\",\n \"declined_at\",\n \"template_version\",\n \"last_checked_files\",\n ]);\n ordered.item_types = orderObject(ordered.item_types as Record<string, unknown>, [\"definitions\"]);\n ordered.schema = orderObject(ordered.schema as Record<string, unknown>, [\n \"version\",\n \"files\",\n \"statuses\",\n \"fields\",\n \"workflow\",\n \"type_workflows\",\n \"unknown_field_policy\",\n ]);\n (ordered.schema as Record<string, unknown>).files = orderObject(\n ((ordered.schema as Record<string, unknown>).files ?? {}) as Record<string, unknown>,\n [\"types\", \"statuses\", \"fields\", \"workflows\"],\n );\n (ordered.schema as Record<string, unknown>).workflow = orderObject(\n ((ordered.schema as Record<string, unknown>).workflow ?? {}) as Record<string, unknown>,\n [\"draft_status\", \"open_status\", \"in_progress_status\", \"blocked_status\", \"close_status\", \"canceled_status\"],\n );\n ordered.context = orderObject(ordered.context as Record<string, unknown>, [\n \"default_depth\",\n \"activity_limit\",\n \"stale_threshold_days\",\n \"sections\",\n ]);\n (ordered.context as Record<string, unknown>).sections = orderObject(\n ((ordered.context as Record<string, unknown>).sections ?? {}) as Record<string, unknown>,\n [\"hierarchy\", \"activity\", \"progress\", \"blockers\", \"files\", \"workload\", \"staleness\", \"tests\"],\n );\n ordered.extensions = orderObject(ordered.extensions as Record<string, unknown>, [\"enabled\", \"disabled\", \"policy\"]);\n (ordered.extensions as Record<string, unknown>).policy = orderObject(\n (((ordered.extensions as Record<string, unknown>).policy ?? {}) as Record<string, unknown>),\n [\n \"mode\",\n \"trust_mode\",\n \"require_provenance\",\n \"trusted_extensions\",\n \"default_sandbox_profile\",\n \"allowed_extensions\",\n \"blocked_extensions\",\n \"allowed_capabilities\",\n \"blocked_capabilities\",\n \"allowed_surfaces\",\n \"blocked_surfaces\",\n \"allowed_commands\",\n \"blocked_commands\",\n \"allowed_actions\",\n \"blocked_actions\",\n \"allowed_services\",\n \"blocked_services\",\n \"extension_overrides\",\n ],\n );\n ((ordered.extensions as Record<string, unknown>).policy as Record<string, unknown>).extension_overrides = (\n (((ordered.extensions as Record<string, unknown>).policy as Record<string, unknown>).extension_overrides ?? []) as unknown[]\n ).map((entry) =>\n orderObject((entry ?? {}) as Record<string, unknown>, [\n \"name\",\n \"disabled\",\n \"require_trusted\",\n \"require_provenance\",\n \"sandbox_profile\",\n \"allowed_capabilities\",\n \"blocked_capabilities\",\n \"allowed_surfaces\",\n \"blocked_surfaces\",\n \"allowed_commands\",\n \"blocked_commands\",\n \"allowed_actions\",\n \"blocked_actions\",\n \"allowed_services\",\n \"blocked_services\",\n ]),\n );\n ordered.search = orderObject(ordered.search as Record<string, unknown>, [\n \"score_threshold\",\n \"hybrid_semantic_weight\",\n \"max_results\",\n \"embedding_model\",\n \"embedding_corpus_max_characters\",\n \"embedding_batch_size\",\n \"embedding_timeout_ms\",\n \"scanner_max_batch_retries\",\n \"provider\",\n \"mutation_refresh_policy\",\n \"query_expansion\",\n \"rerank\",\n ]);\n (ordered.search as Record<string, unknown>).query_expansion = orderObject(\n ((ordered.search as Record<string, unknown>).query_expansion ?? {}) as Record<string, unknown>,\n [\"enabled\", \"provider\"],\n );\n (ordered.search as Record<string, unknown>).rerank = orderObject(\n ((ordered.search as Record<string, unknown>).rerank ?? {}) as Record<string, unknown>,\n [\"enabled\", \"model\", \"top_k\"],\n );\n ordered.providers = orderObject(ordered.providers as Record<string, unknown>, [\"openai\", \"ollama\"]);\n (ordered.providers as Record<string, unknown>).openai = orderObject(\n ((ordered.providers as Record<string, unknown>).openai ?? {}) as Record<string, unknown>,\n [\"base_url\", \"api_key\", \"model\"],\n );\n (ordered.providers as Record<string, unknown>).ollama = orderObject(\n ((ordered.providers as Record<string, unknown>).ollama ?? {}) as Record<string, unknown>,\n [\"base_url\", \"model\"],\n );\n ordered.vector_store = orderObject(ordered.vector_store as Record<string, unknown>, [\n \"adapter\",\n \"collection_name\",\n \"qdrant\",\n \"lancedb\",\n ]);\n (ordered.vector_store as Record<string, unknown>).qdrant = orderObject(\n ((ordered.vector_store as Record<string, unknown>).qdrant ?? {}) as Record<string, unknown>,\n [\"url\", \"api_key\"],\n );\n (ordered.vector_store as Record<string, unknown>).lancedb = orderObject(\n ((ordered.vector_store as Record<string, unknown>).lancedb ?? {}) as Record<string, unknown>,\n [\"path\"],\n );\n\n return `${JSON.stringify(ordered, null, 2)}\\n`;\n}\n\nexport async function readSettingsWithMetadata(pmRoot: string): Promise<SettingsReadResult> {\n const settingsPath = getSettingsPath(pmRoot);\n const raw = await readFileIfExists(settingsPath);\n if (raw === null) {\n return buildFallbackSettingsReadResult();\n }\n await runActiveOnReadHooks({\n path: settingsPath,\n scope: \"project\",\n });\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw) as unknown;\n } catch {\n return buildFallbackSettingsReadResult(\"settings_read_invalid_json\");\n }\n\n const validated = validateSettings(parsed);\n if (!validated.success) {\n return buildFallbackSettingsReadResult(\"settings_read_invalid_schema\");\n }\n\n try {\n const mergedSettings = mergeSettings(validated.data);\n const schemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, mergedSettings.schema);\n const loadedSchemaSections = await loadRuntimeSchemaFromOptionalFiles(pmRoot, mergedSettings.schema);\n const settings: PmSettings = {\n ...mergedSettings,\n item_types: {\n definitions: normalizeItemTypeDefinitions([\n ...mergedSettings.item_types.definitions,\n ...(loadedSchemaSections.type_definitions_from_file ?? []),\n ]),\n },\n schema: loadedSchemaSections.schema,\n };\n attachSettingsPersistSourceSnapshot(settings, buildSettingsPersistSourceSnapshot(validated.data, settings));\n return {\n settings,\n metadata: {\n has_explicit_item_format: hasExplicitItemFormat(parsed),\n },\n warnings: [\n ...(validated.data.item_format === \"json_markdown\"\n ? [\"settings_item_format_legacy_json_markdown_coerced_to_toon\"]\n : []),\n ...schemaScaffold.created_paths.map((createdPath) => `runtime_schema_bootstrap_created:${createdPath}`),\n ...loadedSchemaSections.warnings,\n ],\n };\n } catch {\n return buildFallbackSettingsReadResult(\"settings_read_merge_failed\");\n }\n}\n\nexport async function readSettings(pmRoot: string): Promise<PmSettings> {\n return (await readSettingsWithMetadata(pmRoot)).settings;\n}\n\nexport async function writeSettings(pmRoot: string, settings: PmSettings, op = SETTINGS_WRITE_OP): Promise<void> {\n const settingsPath = getSettingsPath(pmRoot);\n await writeFileAtomic(\n settingsPath,\n serializeSettings(settings, {\n persist_source: getSettingsPersistSourceSnapshot(settings),\n }),\n );\n await runActiveOnWriteHooks({\n path: settingsPath,\n scope: \"project\",\n op,\n });\n}\n"],"names":[],"mappings":"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","debugId":"40eb6325-776d-5b33-887f-abbdee742b52"}