@unbrained/pm-cli 2026.7.6 → 2026.7.8

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 (688) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/cli/commands/annotation-command.d.ts +1 -0
  3. package/dist/cli/commands/annotation-command.js +29 -2
  4. package/dist/cli/commands/annotation-command.js.map +1 -1
  5. package/dist/cli/commands/comments.js +3 -4
  6. package/dist/cli/commands/comments.js.map +1 -1
  7. package/dist/cli/commands/completion.js +10 -2
  8. package/dist/cli/commands/completion.js.map +1 -1
  9. package/dist/cli/commands/context.d.ts +1 -0
  10. package/dist/cli/commands/context.js +4 -4
  11. package/dist/cli/commands/context.js.map +1 -1
  12. package/dist/cli/commands/extension/bundled-catalog.d.ts +3 -0
  13. package/dist/cli/commands/extension/bundled-catalog.js +38 -28
  14. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  15. package/dist/cli/commands/extension/install-sources.js +81 -18
  16. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  17. package/dist/cli/commands/extension.d.ts +23 -19
  18. package/dist/cli/commands/extension.js +167 -57
  19. package/dist/cli/commands/extension.js.map +1 -1
  20. package/dist/cli/commands/health.js +9 -5
  21. package/dist/cli/commands/health.js.map +1 -1
  22. package/dist/cli/commands/learnings.js +5 -3
  23. package/dist/cli/commands/learnings.js.map +1 -1
  24. package/dist/cli/commands/notes.js +5 -3
  25. package/dist/cli/commands/notes.js.map +1 -1
  26. package/dist/cli/commands/reindex.js +4 -3
  27. package/dist/cli/commands/reindex.js.map +1 -1
  28. package/dist/cli/commands/search.js +4 -4
  29. package/dist/cli/commands/search.js.map +1 -1
  30. package/dist/cli/commands/test.d.ts +9 -0
  31. package/dist/cli/commands/test.js +144 -105
  32. package/dist/cli/commands/test.js.map +1 -1
  33. package/dist/cli/extension-command-help.js +10 -2
  34. package/dist/cli/extension-command-help.js.map +1 -1
  35. package/dist/cli/help-content.js +28 -2
  36. package/dist/cli/help-content.js.map +1 -1
  37. package/dist/cli/register-list-query.d.ts +1 -1
  38. package/dist/cli/register-list-query.js +19 -27
  39. package/dist/cli/register-list-query.js.map +1 -1
  40. package/dist/cli/register-operations.d.ts +0 -8
  41. package/dist/cli/register-operations.js +41 -46
  42. package/dist/cli/register-operations.js.map +1 -1
  43. package/dist/cli/register-setup.js +119 -13
  44. package/dist/cli/register-setup.js.map +1 -1
  45. package/dist/cli/registration-helpers.d.ts +5 -1
  46. package/dist/cli/registration-helpers.js +14 -2
  47. package/dist/cli/registration-helpers.js.map +1 -1
  48. package/dist/cli-bundle/chunks/append-CDPAYYSB.js +11 -0
  49. package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js → append-RSPHC423.js} +8 -9
  50. package/dist/cli-bundle/chunks/{chunk-LK6XLOGP.js → chunk-2BVD4ZD2.js} +288 -233
  51. package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +7 -0
  52. package/dist/cli-bundle/chunks/{chunk-TKD5VCTD.js → chunk-2RADY7IB.js} +517 -195
  53. package/dist/cli-bundle/chunks/chunk-2RADY7IB.js.map +1 -0
  54. package/dist/cli-bundle/chunks/{chunk-COSPOP7H.js → chunk-3FRNNVWY.js} +518 -196
  55. package/dist/cli-bundle/chunks/chunk-3FRNNVWY.js.map +7 -0
  56. package/dist/cli-bundle/chunks/{chunk-24YG75HI.js → chunk-3FUXM574.js} +8 -8
  57. package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js → chunk-3SHDAKMF.js} +3 -3
  58. package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js → chunk-3UXIMY62.js} +4 -6
  59. package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js.map → chunk-3UXIMY62.js.map} +1 -1
  60. package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js → chunk-3V5C7PUH.js} +2 -2
  61. package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js → chunk-3YJDIJIE.js} +4 -6
  62. package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js.map → chunk-3YJDIJIE.js.map} +1 -1
  63. package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js → chunk-4I7KS5ES.js} +2 -2
  64. package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js → chunk-4OCWJ2AP.js} +13 -17
  65. package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js.map → chunk-4OCWJ2AP.js.map} +1 -1
  66. package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js → chunk-5STY7NVM.js} +8 -8
  67. package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js → chunk-5VAZHYVQ.js} +2 -2
  68. package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js → chunk-6FU5BVRB.js} +12 -14
  69. package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js.map → chunk-6FU5BVRB.js.map} +1 -1
  70. package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js → chunk-6RR4XM5H.js} +3 -3
  71. package/dist/cli-bundle/chunks/{chunk-K46RF36U.js → chunk-6TD5QGIB.js} +7 -7
  72. package/dist/cli-bundle/chunks/chunk-6TD5QGIB.js.map +1 -0
  73. package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js → chunk-6WCXSC5V.js} +12 -16
  74. package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js.map → chunk-6WCXSC5V.js.map} +1 -1
  75. package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js → chunk-6ZKDMEVT.js} +7 -9
  76. package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js.map → chunk-6ZKDMEVT.js.map} +1 -1
  77. package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js → chunk-7QKSLAHB.js} +2 -2
  78. package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js → chunk-7TBUV7XS.js} +8 -12
  79. package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js.map → chunk-7TBUV7XS.js.map} +1 -1
  80. package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js → chunk-7UCBLJDF.js} +2 -2
  81. package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js → chunk-AEOFBBWO.js} +6 -8
  82. package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js.map → chunk-AEOFBBWO.js.map} +1 -1
  83. package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js +10498 -0
  84. package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js.map +7 -0
  85. package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js → chunk-BFNFTHWQ.js} +3 -3
  86. package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js +5509 -0
  87. package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +7 -0
  88. package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js → chunk-C3YU3TXX.js} +2 -2
  89. package/dist/cli-bundle/chunks/{chunk-VPIM42PC.js → chunk-C6XSTACC.js} +11 -7
  90. package/dist/cli-bundle/chunks/chunk-C6XSTACC.js.map +7 -0
  91. package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js → chunk-CGDUIPJL.js} +3 -3
  92. package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js → chunk-CXH7EMSB.js} +5 -7
  93. package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js.map → chunk-CXH7EMSB.js.map} +1 -1
  94. package/dist/cli-bundle/chunks/{chunk-DMRNBQOI.js → chunk-D63PEJTB.js} +256 -36
  95. package/dist/cli-bundle/chunks/chunk-D63PEJTB.js.map +1 -0
  96. package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js → chunk-D6J5673C.js} +7 -9
  97. package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js.map → chunk-D6J5673C.js.map} +1 -1
  98. package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js → chunk-DUBC6TI3.js} +28 -34
  99. package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js.map → chunk-DUBC6TI3.js.map} +1 -1
  100. package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js → chunk-EEJKHF7M.js} +7 -6
  101. package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js.map → chunk-EEJKHF7M.js.map} +2 -2
  102. package/dist/cli-bundle/chunks/{chunk-XG625QP4.js → chunk-EP2CKDS7.js} +2 -2
  103. package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js → chunk-EYPIUFWJ.js} +24 -32
  104. package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js.map → chunk-EYPIUFWJ.js.map} +1 -1
  105. package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js → chunk-F5DDGY6R.js} +6 -6
  106. package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js.map → chunk-F5DDGY6R.js.map} +1 -1
  107. package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js → chunk-FFB3WITE.js} +10 -16
  108. package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js.map → chunk-FFB3WITE.js.map} +1 -1
  109. package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js → chunk-FJR2S7S4.js} +10 -14
  110. package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js.map → chunk-FJR2S7S4.js.map} +1 -1
  111. package/dist/cli-bundle/chunks/chunk-FL625JJM.js +6792 -0
  112. package/dist/cli-bundle/chunks/chunk-FL625JJM.js.map +7 -0
  113. package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js → chunk-FOJEBRDD.js} +16 -20
  114. package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js.map → chunk-FOJEBRDD.js.map} +1 -1
  115. package/dist/cli-bundle/chunks/{chunk-EOKXK3R3.js → chunk-G4FKP4ID.js} +1220 -398
  116. package/dist/cli-bundle/chunks/chunk-G4FKP4ID.js.map +1 -0
  117. package/dist/cli-bundle/chunks/chunk-GE44TQMC.js +6726 -0
  118. package/dist/cli-bundle/chunks/chunk-GE44TQMC.js.map +1 -0
  119. package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js → chunk-GLMJLBLR.js} +6 -10
  120. package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js.map → chunk-GLMJLBLR.js.map} +1 -1
  121. package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js → chunk-GO2X6ZRB.js} +4 -6
  122. package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js.map → chunk-GO2X6ZRB.js.map} +1 -1
  123. package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js → chunk-GQOKFX2G.js} +22 -26
  124. package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js.map → chunk-GQOKFX2G.js.map} +1 -1
  125. package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js → chunk-GSQVQINP.js} +8 -10
  126. package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js.map → chunk-GSQVQINP.js.map} +1 -1
  127. package/dist/cli-bundle/chunks/chunk-HI27UADG.js +5434 -0
  128. package/dist/cli-bundle/chunks/chunk-HI27UADG.js.map +1 -0
  129. package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js → chunk-HZZ3AC27.js} +6 -6
  130. package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js.map → chunk-HZZ3AC27.js.map} +1 -1
  131. package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js → chunk-IINCZYM3.js} +8 -12
  132. package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js.map → chunk-IINCZYM3.js.map} +1 -1
  133. package/dist/cli-bundle/chunks/{chunk-EKFNL33R.js → chunk-INOWVPUD.js} +37 -16
  134. package/dist/cli-bundle/chunks/chunk-INOWVPUD.js.map +1 -0
  135. package/dist/cli-bundle/chunks/{chunk-4LELACOL.js → chunk-IYRG5AEC.js} +15 -23
  136. package/dist/cli-bundle/chunks/{chunk-4LELACOL.js.map → chunk-IYRG5AEC.js.map} +1 -1
  137. package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js → chunk-J6AD3GWC.js} +2 -2
  138. package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js → chunk-JH5XDDYS.js} +14 -20
  139. package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js.map → chunk-JH5XDDYS.js.map} +1 -1
  140. package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js → chunk-JYVPLGOW.js} +9 -11
  141. package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js.map → chunk-JYVPLGOW.js.map} +1 -1
  142. package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js → chunk-K52C6YPA.js} +12 -18
  143. package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js.map → chunk-K52C6YPA.js.map} +1 -1
  144. package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js → chunk-KFL3XHMA.js} +2 -2
  145. package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js +10320 -0
  146. package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js.map +1 -0
  147. package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js → chunk-LD2NBQ5T.js} +6 -8
  148. package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js.map → chunk-LD2NBQ5T.js.map} +1 -1
  149. package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js → chunk-LG4N6YOK.js} +8 -7
  150. package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js.map → chunk-LG4N6YOK.js.map} +1 -1
  151. package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js → chunk-LHDHS4Z6.js} +10 -14
  152. package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js.map → chunk-LHDHS4Z6.js.map} +1 -1
  153. package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js → chunk-MCH6IKK7.js} +4 -6
  154. package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js.map → chunk-MCH6IKK7.js.map} +1 -1
  155. package/dist/cli-bundle/chunks/{chunk-57NWPFF2.js → chunk-MFLLULHU.js} +281 -233
  156. package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-EGAP5OWD.js → chunk-ML27MHNM.js} +35 -17
  158. package/dist/cli-bundle/chunks/chunk-ML27MHNM.js.map +1 -0
  159. package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js → chunk-MYHFZNBO.js} +20 -24
  160. package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js.map → chunk-MYHFZNBO.js.map} +1 -1
  161. package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js → chunk-NGBWEYNY.js} +12 -18
  162. package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js.map → chunk-NGBWEYNY.js.map} +1 -1
  163. package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js → chunk-NRMDT4OV.js} +10 -14
  164. package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js.map → chunk-NRMDT4OV.js.map} +1 -1
  165. package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js +5359 -0
  166. package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +1 -0
  167. package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js → chunk-P2WE5KCU.js} +261 -34
  168. package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js.map → chunk-P2WE5KCU.js.map} +4 -4
  169. package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js → chunk-PAWPLIWW.js} +14 -20
  170. package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js.map → chunk-PAWPLIWW.js.map} +1 -1
  171. package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js → chunk-PCBZ2VJD.js} +7 -7
  172. package/dist/cli-bundle/chunks/{chunk-ZSUS2OD3.js → chunk-PJPZTE7P.js} +1216 -387
  173. package/dist/cli-bundle/chunks/chunk-PJPZTE7P.js.map +7 -0
  174. package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js → chunk-Q3CFSOQZ.js} +7 -7
  175. package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js → chunk-QJZM5WO5.js} +5 -5
  176. package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js.map → chunk-QJZM5WO5.js.map} +2 -2
  177. package/dist/cli-bundle/chunks/{chunk-QLMX7SRD.js → chunk-QLEH6FTQ.js} +6 -6
  178. package/dist/cli-bundle/chunks/chunk-QLEH6FTQ.js.map +7 -0
  179. package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js → chunk-QYZMZD4L.js} +10 -12
  180. package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js.map → chunk-QYZMZD4L.js.map} +1 -1
  181. package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js → chunk-RDJXIAJB.js} +7 -11
  182. package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js.map → chunk-RDJXIAJB.js.map} +1 -1
  183. package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js → chunk-RFHLRMLQ.js} +6 -8
  184. package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js.map → chunk-RFHLRMLQ.js.map} +1 -1
  185. package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js → chunk-RL24NAUX.js} +10 -12
  186. package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js.map → chunk-RL24NAUX.js.map} +1 -1
  187. package/dist/cli-bundle/chunks/{chunk-46CUF5L6.js → chunk-RLHQ3G4M.js} +99 -51
  188. package/dist/cli-bundle/chunks/chunk-RLHQ3G4M.js.map +7 -0
  189. package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js → chunk-SCJPFQQT.js} +12 -18
  190. package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js.map → chunk-SCJPFQQT.js.map} +1 -1
  191. package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js → chunk-SIQGG335.js} +12 -16
  192. package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js.map → chunk-SIQGG335.js.map} +1 -1
  193. package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js → chunk-SN5X5GTU.js} +8 -12
  194. package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js.map → chunk-SN5X5GTU.js.map} +1 -1
  195. package/dist/cli-bundle/chunks/{chunk-CL36D4PC.js → chunk-TKWTJGD6.js} +36 -15
  196. package/dist/cli-bundle/chunks/chunk-TKWTJGD6.js.map +7 -0
  197. package/dist/cli-bundle/chunks/{chunk-VIIUS6N6.js → chunk-TR2C6V5T.js} +37 -19
  198. package/dist/cli-bundle/chunks/chunk-TR2C6V5T.js.map +7 -0
  199. package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js +5514 -0
  200. package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js.map +7 -0
  201. package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js → chunk-TU5P744I.js} +4 -4
  202. package/dist/cli-bundle/chunks/{chunk-TULGS6X6.js → chunk-TUDAYIO7.js} +529 -46
  203. package/dist/cli-bundle/chunks/chunk-TUDAYIO7.js.map +1 -0
  204. package/dist/cli-bundle/chunks/{chunk-MLIYFOE7.js → chunk-U72GF3I2.js} +12 -8
  205. package/dist/cli-bundle/chunks/chunk-U72GF3I2.js.map +1 -0
  206. package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js → chunk-UCRYCT5M.js} +30 -36
  207. package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js.map → chunk-UCRYCT5M.js.map} +1 -1
  208. package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js → chunk-UEATYUZW.js} +2 -2
  209. package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js → chunk-UFNFHCAC.js} +2 -2
  210. package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js → chunk-UH6VFRV6.js} +5 -7
  211. package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js.map → chunk-UH6VFRV6.js.map} +1 -1
  212. package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js → chunk-UIHDZS6X.js} +11 -15
  213. package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js.map → chunk-UIHDZS6X.js.map} +1 -1
  214. package/dist/cli-bundle/chunks/{chunk-W572BIEB.js → chunk-UURYLDDC.js} +14 -18
  215. package/dist/cli-bundle/chunks/{chunk-W572BIEB.js.map → chunk-UURYLDDC.js.map} +1 -1
  216. package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js → chunk-UVFJSKTF.js} +9 -13
  217. package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js.map → chunk-UVFJSKTF.js.map} +1 -1
  218. package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js → chunk-W2VFNVSJ.js} +6 -8
  219. package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js.map → chunk-W2VFNVSJ.js.map} +1 -1
  220. package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js → chunk-WVEMZZCR.js} +5 -5
  221. package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js.map → chunk-WVEMZZCR.js.map} +2 -2
  222. package/dist/cli-bundle/chunks/{chunk-3VHSI5FL.js → chunk-XN5BEN2B.js} +94 -53
  223. package/dist/cli-bundle/chunks/chunk-XN5BEN2B.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-SCUR7K7N.js → chunk-XPSGJ4IV.js} +541 -44
  225. package/dist/cli-bundle/chunks/chunk-XPSGJ4IV.js.map +7 -0
  226. package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js → chunk-YQEKE4FO.js} +13 -21
  227. package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js.map → chunk-YQEKE4FO.js.map} +1 -1
  228. package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js → chunk-YR5R4FMQ.js} +26 -34
  229. package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js.map → chunk-YR5R4FMQ.js.map} +1 -1
  230. package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js → chunk-YSRXFGNV.js} +7 -9
  231. package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js.map → chunk-YSRXFGNV.js.map} +1 -1
  232. package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js → chunk-YUCKM3MD.js} +10 -14
  233. package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js.map → chunk-YUCKM3MD.js.map} +1 -1
  234. package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js → chunk-YUMNZS3X.js} +6 -8
  235. package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js.map → chunk-YUMNZS3X.js.map} +1 -1
  236. package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js → chunk-Z2JQH2MG.js} +2 -2
  237. package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js → chunk-Z6RLSNUX.js} +4 -6
  238. package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js.map → chunk-Z6RLSNUX.js.map} +1 -1
  239. package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js → chunk-ZMOPZFVT.js} +4 -4
  240. package/dist/cli-bundle/chunks/close-E3RLZSP2.js +12 -0
  241. package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js → close-K6BFI3OX.js} +5 -9
  242. package/dist/cli-bundle/chunks/close-many-6NBL3PM4.js +26 -0
  243. package/dist/cli-bundle/chunks/close-many-X4YKS3RO.js +22 -0
  244. package/dist/cli-bundle/chunks/comments-PLFK5ZKK.js +17 -0
  245. package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +13 -0
  246. package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +9 -0
  247. package/dist/cli-bundle/chunks/{copy-32ROBIDL.js → copy-VH3L4MN2.js} +4 -8
  248. package/dist/cli-bundle/chunks/create-AMBMYP6F.js +25 -0
  249. package/dist/cli-bundle/chunks/{create-E77SDCUP.js → create-TRIBYORN.js} +9 -14
  250. package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +10 -0
  251. package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js → delete-ZNXUNCZR.js} +4 -8
  252. package/dist/cli-bundle/chunks/deps-CVDY7FFK.js +13 -0
  253. package/dist/cli-bundle/chunks/{deps-32SU7HO5.js → deps-SZXQHV73.js} +4 -8
  254. package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js → docs-DR74ITCD.js} +6 -10
  255. package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +14 -0
  256. package/dist/cli-bundle/chunks/files-H5YCA74Z.js +18 -0
  257. package/dist/cli-bundle/chunks/{files-PYKR2UUG.js → files-QEFQ2M3H.js} +6 -10
  258. package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js → focus-55TRYSNA.js} +7 -9
  259. package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +10 -0
  260. package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +21 -0
  261. package/dist/cli-bundle/chunks/{history-compact-3MNXLKAT.js → history-compact-JJZ4EFL3.js} +9 -13
  262. package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +17 -0
  263. package/dist/cli-bundle/chunks/{history-redact-P6DYF55G.js → history-redact-TPPUT3A5.js} +7 -11
  264. package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +19 -0
  265. package/dist/cli-bundle/chunks/{history-repair-ZJQFMWPD.js → history-repair-J7PIZ6ZP.js} +9 -13
  266. package/dist/cli-bundle/chunks/{append-BGML6VLD.js → learnings-KB6BT4NR.js} +9 -11
  267. package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +13 -0
  268. package/dist/cli-bundle/chunks/notes-BGG7VL72.js +13 -0
  269. package/dist/cli-bundle/chunks/notes-ZTHXVOKM.js +17 -0
  270. package/dist/cli-bundle/chunks/{plan-CHVE7PBR.js → plan-CJPKFRBK.js} +10 -15
  271. package/dist/cli-bundle/chunks/plan-MK2QY3GA.js +24 -0
  272. package/dist/cli-bundle/chunks/{profile-ZXGSKBJD.js → profile-AQNHXOYA.js} +9 -13
  273. package/dist/cli-bundle/chunks/{profile-LD23PSI6.js → profile-HTBFINKQ.js} +9 -13
  274. package/dist/cli-bundle/chunks/{register-list-query-B42JCCOI.js → register-list-query-EEF33SUJ.js} +43 -34
  275. package/dist/cli-bundle/chunks/register-list-query-EEF33SUJ.js.map +1 -0
  276. package/dist/cli-bundle/chunks/{register-list-query-OEYQHFXO.js → register-list-query-S4FBWIWN.js} +42 -33
  277. package/dist/cli-bundle/chunks/register-list-query-S4FBWIWN.js.map +7 -0
  278. package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js → register-mutation-L5Q7AUDN.js} +34 -39
  279. package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js.map → register-mutation-L5Q7AUDN.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js → register-mutation-QFLRBCI7.js} +36 -41
  281. package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js.map → register-mutation-QFLRBCI7.js.map} +1 -1
  282. package/dist/cli-bundle/chunks/{chunk-5BMM6XQY.js → register-operations-HDE4FVW4.js} +79 -46
  283. package/dist/cli-bundle/chunks/register-operations-HDE4FVW4.js.map +1 -0
  284. package/dist/cli-bundle/chunks/{chunk-Z3U3U5KD.js → register-operations-QDU43FCG.js} +78 -45
  285. package/dist/cli-bundle/chunks/register-operations-QDU43FCG.js.map +7 -0
  286. package/dist/cli-bundle/chunks/{register-setup-Q6KFNIOZ.js → register-setup-EGMTAXDC.js} +134 -32
  287. package/dist/cli-bundle/chunks/register-setup-EGMTAXDC.js.map +1 -0
  288. package/dist/cli-bundle/chunks/{register-setup-3ZVVX2VN.js → register-setup-PNIO3L2P.js} +133 -31
  289. package/dist/cli-bundle/chunks/register-setup-PNIO3L2P.js.map +7 -0
  290. package/dist/cli-bundle/chunks/{restore-5RQHAPMA.js → restore-BTBEZ5CK.js} +7 -11
  291. package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +15 -0
  292. package/dist/cli-bundle/chunks/{schema-HBORFC6B.js → schema-DGSTYYQB.js} +6 -10
  293. package/dist/cli-bundle/chunks/{schema-245WW4G2.js → schema-HAIBEE24.js} +6 -10
  294. package/dist/cli-bundle/chunks/update-MP4XLU56.js +25 -0
  295. package/dist/cli-bundle/chunks/update-SDIRJGSY.js +21 -0
  296. package/dist/cli-bundle/chunks/update-many-34AIU6W7.js +31 -0
  297. package/dist/cli-bundle/chunks/update-many-JUPCNOKV.js +35 -0
  298. package/dist/cli-bundle/main.js +56 -32
  299. package/dist/cli-bundle/main.js.map +2 -2
  300. package/dist/cli-bundle/sdk-runtime.js +161 -107
  301. package/dist/cli-bundle/sdk-testing.js +7 -8
  302. package/dist/cli-bundle/sdk.js +154 -117
  303. package/dist/cli-bundle/sdk.js.map +2 -2
  304. package/dist/core/extensions/extension-types.d.ts +1 -0
  305. package/dist/core/extensions/extension-types.js +2 -2
  306. package/dist/core/extensions/extension-types.js.map +1 -1
  307. package/dist/core/extensions/loader.js +268 -231
  308. package/dist/core/extensions/loader.js.map +1 -1
  309. package/dist/core/history/drift-scan.js +3 -8
  310. package/dist/core/history/drift-scan.js.map +1 -1
  311. package/dist/core/output/mutation-projection.js +11 -5
  312. package/dist/core/output/mutation-projection.js.map +1 -1
  313. package/dist/core/search/cache.js +3 -3
  314. package/dist/core/search/cache.js.map +1 -1
  315. package/dist/core/search/semantic-defaults.d.ts +2 -0
  316. package/dist/core/search/semantic-defaults.js +11 -4
  317. package/dist/core/search/semantic-defaults.js.map +1 -1
  318. package/dist/core/search/vector-stores.d.ts +1 -1
  319. package/dist/core/search/vector-stores.js +33 -7
  320. package/dist/core/search/vector-stores.js.map +1 -1
  321. package/dist/mcp/server.d.ts +1 -1
  322. package/dist/sdk/cli-contracts/commander-types.js +3 -3
  323. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  324. package/dist/sdk/cli-contracts/flag-contracts.js +12 -8
  325. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  326. package/dist/sdk/cli-contracts/tool-parameter-tables.js +10 -2
  327. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  328. package/dist/sdk/cli-contracts/tool-schema.js +14 -8
  329. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  330. package/dist/sdk/index.d.ts +1 -1
  331. package/dist/sdk/index.js +3 -3
  332. package/dist/sdk/index.js.map +1 -1
  333. package/dist/sdk/runtime.d.ts +282 -8
  334. package/dist/sdk/runtime.js +453 -14
  335. package/dist/sdk/runtime.js.map +1 -1
  336. package/dist/sdk/start-task-status.d.ts +13 -0
  337. package/dist/sdk/start-task-status.js +19 -0
  338. package/dist/sdk/start-task-status.js.map +1 -0
  339. package/docs/COMMANDS.md +10 -1
  340. package/docs/EXTENSIONS.md +7 -20
  341. package/docs/RELEASING.md +6 -0
  342. package/docs/SDK.md +65 -0
  343. package/docs/TESTING.md +3 -0
  344. package/package.json +2 -1
  345. package/dist/cli-bundle/chunks/activity-WJCGCYPU.js +0 -18
  346. package/dist/cli-bundle/chunks/activity-Z6QUAUSG.js +0 -22
  347. package/dist/cli-bundle/chunks/aggregate-BDM6EIAR.js +0 -25
  348. package/dist/cli-bundle/chunks/aggregate-VQ2DHU3S.js +0 -21
  349. package/dist/cli-bundle/chunks/append-RKJYPU74.js +0 -15
  350. package/dist/cli-bundle/chunks/chunk-2XG4IZON.js +0 -218
  351. package/dist/cli-bundle/chunks/chunk-2XG4IZON.js.map +0 -7
  352. package/dist/cli-bundle/chunks/chunk-37E72CNS.js +0 -217
  353. package/dist/cli-bundle/chunks/chunk-37E72CNS.js.map +0 -1
  354. package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js +0 -228
  355. package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js.map +0 -1
  356. package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js +0 -2330
  357. package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js.map +0 -7
  358. package/dist/cli-bundle/chunks/chunk-3VHSI5FL.js.map +0 -1
  359. package/dist/cli-bundle/chunks/chunk-425E4QL5.js +0 -278
  360. package/dist/cli-bundle/chunks/chunk-425E4QL5.js.map +0 -7
  361. package/dist/cli-bundle/chunks/chunk-46CUF5L6.js.map +0 -7
  362. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +0 -87
  363. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +0 -7
  364. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js +0 -249
  365. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js.map +0 -7
  366. package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js +0 -819
  367. package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js.map +0 -1
  368. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js +0 -279
  369. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js.map +0 -1
  370. package/dist/cli-bundle/chunks/chunk-57NWPFF2.js.map +0 -1
  371. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js +0 -268
  372. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js.map +0 -1
  373. package/dist/cli-bundle/chunks/chunk-5BMM6XQY.js.map +0 -1
  374. package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js +0 -1868
  375. package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js +0 -1749
  377. package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js.map +0 -7
  378. package/dist/cli-bundle/chunks/chunk-64YKRTSV.js +0 -1961
  379. package/dist/cli-bundle/chunks/chunk-64YKRTSV.js.map +0 -1
  380. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +0 -23
  381. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +0 -7
  382. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js +0 -421
  383. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js.map +0 -1
  384. package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js +0 -1985
  385. package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js.map +0 -7
  386. package/dist/cli-bundle/chunks/chunk-CL36D4PC.js.map +0 -7
  387. package/dist/cli-bundle/chunks/chunk-COSPOP7H.js.map +0 -7
  388. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js +0 -3461
  389. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js.map +0 -7
  390. package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js +0 -1858
  391. package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js.map +0 -1
  392. package/dist/cli-bundle/chunks/chunk-DMRNBQOI.js.map +0 -1
  393. package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js +0 -1932
  394. package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js.map +0 -1
  395. package/dist/cli-bundle/chunks/chunk-EGAP5OWD.js.map +0 -1
  396. package/dist/cli-bundle/chunks/chunk-EKFNL33R.js.map +0 -1
  397. package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js +0 -1704
  398. package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js.map +0 -1
  399. package/dist/cli-bundle/chunks/chunk-EOKXK3R3.js.map +0 -1
  400. package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js +0 -231
  401. package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js.map +0 -7
  402. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js +0 -2090
  403. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js.map +0 -1
  404. package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js +0 -1570
  405. package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js.map +0 -1
  406. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js +0 -239
  407. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js.map +0 -1
  408. package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js +0 -530
  409. package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js.map +0 -7
  410. package/dist/cli-bundle/chunks/chunk-GZRDYONU.js +0 -1005
  411. package/dist/cli-bundle/chunks/chunk-GZRDYONU.js.map +0 -7
  412. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js +0 -277
  413. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js.map +0 -7
  414. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js +0 -309
  415. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js.map +0 -7
  416. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js +0 -371
  417. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js.map +0 -7
  418. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js +0 -2257
  419. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js.map +0 -7
  420. package/dist/cli-bundle/chunks/chunk-K46RF36U.js.map +0 -1
  421. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js +0 -371
  422. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js.map +0 -7
  423. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js +0 -76
  424. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js.map +0 -1
  425. package/dist/cli-bundle/chunks/chunk-LK6XLOGP.js.map +0 -7
  426. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js +0 -140
  427. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js.map +0 -1
  428. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js +0 -1601
  429. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js.map +0 -1
  430. package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js +0 -1031
  431. package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js.map +0 -1
  432. package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js +0 -995
  433. package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js.map +0 -1
  434. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js +0 -296
  435. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js.map +0 -1
  436. package/dist/cli-bundle/chunks/chunk-MLIYFOE7.js.map +0 -1
  437. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js +0 -2043
  438. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js.map +0 -7
  439. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js +0 -2033
  440. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js.map +0 -1
  441. package/dist/cli-bundle/chunks/chunk-N745W3B3.js +0 -1604
  442. package/dist/cli-bundle/chunks/chunk-N745W3B3.js.map +0 -7
  443. package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js +0 -1615
  444. package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js.map +0 -7
  445. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +0 -20
  446. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +0 -1
  447. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js +0 -143
  448. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js.map +0 -7
  449. package/dist/cli-bundle/chunks/chunk-QLMX7SRD.js.map +0 -7
  450. package/dist/cli-bundle/chunks/chunk-QX6HM775.js +0 -398
  451. package/dist/cli-bundle/chunks/chunk-QX6HM775.js.map +0 -7
  452. package/dist/cli-bundle/chunks/chunk-QZ342C63.js +0 -220
  453. package/dist/cli-bundle/chunks/chunk-QZ342C63.js.map +0 -7
  454. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js +0 -368
  455. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js.map +0 -1
  456. package/dist/cli-bundle/chunks/chunk-RFNYTESG.js +0 -520
  457. package/dist/cli-bundle/chunks/chunk-RFNYTESG.js.map +0 -1
  458. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js +0 -79
  459. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js.map +0 -7
  460. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js +0 -282
  461. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js.map +0 -7
  462. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js +0 -274
  463. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js.map +0 -1
  464. package/dist/cli-bundle/chunks/chunk-SCUR7K7N.js.map +0 -7
  465. package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js +0 -1977
  466. package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js.map +0 -7
  467. package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js +0 -1041
  468. package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js.map +0 -7
  469. package/dist/cli-bundle/chunks/chunk-T42JWV3F.js +0 -822
  470. package/dist/cli-bundle/chunks/chunk-T42JWV3F.js.map +0 -7
  471. package/dist/cli-bundle/chunks/chunk-TKD5VCTD.js.map +0 -1
  472. package/dist/cli-bundle/chunks/chunk-TULGS6X6.js.map +0 -1
  473. package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js +0 -2306
  474. package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js.map +0 -1
  475. package/dist/cli-bundle/chunks/chunk-VIIUS6N6.js.map +0 -7
  476. package/dist/cli-bundle/chunks/chunk-VPIM42PC.js.map +0 -7
  477. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js +0 -368
  478. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js.map +0 -1
  479. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +0 -84
  480. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +0 -1
  481. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js +0 -3423
  482. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js.map +0 -1
  483. package/dist/cli-bundle/chunks/chunk-WLSM645P.js +0 -2247
  484. package/dist/cli-bundle/chunks/chunk-WLSM645P.js.map +0 -1
  485. package/dist/cli-bundle/chunks/chunk-WRTENIX3.js +0 -215
  486. package/dist/cli-bundle/chunks/chunk-WRTENIX3.js.map +0 -1
  487. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js +0 -388
  488. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js.map +0 -1
  489. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js +0 -306
  490. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js.map +0 -1
  491. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js +0 -424
  492. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js.map +0 -7
  493. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js +0 -2128
  494. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js.map +0 -7
  495. package/dist/cli-bundle/chunks/chunk-Z3U3U5KD.js.map +0 -7
  496. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js +0 -299
  497. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js.map +0 -7
  498. package/dist/cli-bundle/chunks/chunk-ZSUS2OD3.js.map +0 -7
  499. package/dist/cli-bundle/chunks/claim-RFS7BROJ.js +0 -19
  500. package/dist/cli-bundle/chunks/claim-XP5AWZ5H.js +0 -23
  501. package/dist/cli-bundle/chunks/close-GEANHQ2J.js +0 -16
  502. package/dist/cli-bundle/chunks/close-many-CMZW7ITN.js +0 -31
  503. package/dist/cli-bundle/chunks/close-many-ZFDIG6M7.js +0 -27
  504. package/dist/cli-bundle/chunks/comments-MFSYVNNU.js +0 -21
  505. package/dist/cli-bundle/chunks/comments-XUBPXDYX.js +0 -17
  506. package/dist/cli-bundle/chunks/config-D7XQMONX.js +0 -18
  507. package/dist/cli-bundle/chunks/config-T4FHBSYN.js +0 -22
  508. package/dist/cli-bundle/chunks/context-DIU275XI.js +0 -48
  509. package/dist/cli-bundle/chunks/context-JCOYB4LZ.js +0 -44
  510. package/dist/cli-bundle/chunks/contracts-BVO7CSLK.js +0 -12
  511. package/dist/cli-bundle/chunks/copy-NAGLGMHZ.js +0 -13
  512. package/dist/cli-bundle/chunks/create-4V7SWNBB.js +0 -30
  513. package/dist/cli-bundle/chunks/delete-NQI5OSKN.js +0 -14
  514. package/dist/cli-bundle/chunks/deps-T7SCWXEX.js +0 -17
  515. package/dist/cli-bundle/chunks/docs-WL2IWGWV.js +0 -18
  516. package/dist/cli-bundle/chunks/eval-NF2J5SHR.js +0 -23
  517. package/dist/cli-bundle/chunks/eval-SKDT3MZU.js +0 -27
  518. package/dist/cli-bundle/chunks/extension-LAXKCAYE.js +0 -42
  519. package/dist/cli-bundle/chunks/extension-ZISPBRBC.js +0 -38
  520. package/dist/cli-bundle/chunks/files-EWRQHGIS.js +0 -22
  521. package/dist/cli-bundle/chunks/focus-4T7TM4MT.js +0 -18
  522. package/dist/cli-bundle/chunks/focus-L3YUASOD.js +0 -14
  523. package/dist/cli-bundle/chunks/gc-2PCTYYRI.js +0 -12
  524. package/dist/cli-bundle/chunks/get-7DMITJ3G.js +0 -23
  525. package/dist/cli-bundle/chunks/get-VKQXCXLL.js +0 -19
  526. package/dist/cli-bundle/chunks/health-CVSTAR2F.js +0 -31
  527. package/dist/cli-bundle/chunks/health-TV3GKTFN.js +0 -35
  528. package/dist/cli-bundle/chunks/history-D4JUX5XV.js +0 -20
  529. package/dist/cli-bundle/chunks/history-D4JUX5XV.js.map +0 -7
  530. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js +0 -24
  531. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js.map +0 -1
  532. package/dist/cli-bundle/chunks/history-compact-3MNXLKAT.js.map +0 -1
  533. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js +0 -25
  534. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js.map +0 -7
  535. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js +0 -21
  536. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js.map +0 -7
  537. package/dist/cli-bundle/chunks/history-redact-P6DYF55G.js.map +0 -1
  538. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js +0 -23
  539. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js.map +0 -7
  540. package/dist/cli-bundle/chunks/history-repair-ZJQFMWPD.js.map +0 -1
  541. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js +0 -30
  542. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js.map +0 -1
  543. package/dist/cli-bundle/chunks/init-J3DPGWQI.js +0 -26
  544. package/dist/cli-bundle/chunks/init-J3DPGWQI.js.map +0 -7
  545. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js +0 -21
  546. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js.map +0 -1
  547. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js +0 -17
  548. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js.map +0 -7
  549. package/dist/cli-bundle/chunks/list-O5NZVSPN.js +0 -36
  550. package/dist/cli-bundle/chunks/list-O5NZVSPN.js.map +0 -1
  551. package/dist/cli-bundle/chunks/list-Z55YCNTC.js +0 -32
  552. package/dist/cli-bundle/chunks/list-Z55YCNTC.js.map +0 -7
  553. package/dist/cli-bundle/chunks/next-GBNTGXFC.js +0 -28
  554. package/dist/cli-bundle/chunks/next-GBNTGXFC.js.map +0 -7
  555. package/dist/cli-bundle/chunks/next-QKW7PTKE.js +0 -32
  556. package/dist/cli-bundle/chunks/next-QKW7PTKE.js.map +0 -1
  557. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js +0 -17
  558. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js.map +0 -7
  559. package/dist/cli-bundle/chunks/notes-WCGIULVG.js +0 -21
  560. package/dist/cli-bundle/chunks/notes-WCGIULVG.js.map +0 -1
  561. package/dist/cli-bundle/chunks/plan-ADISFYH4.js +0 -29
  562. package/dist/cli-bundle/chunks/plan-ADISFYH4.js.map +0 -7
  563. package/dist/cli-bundle/chunks/plan-CHVE7PBR.js.map +0 -1
  564. package/dist/cli-bundle/chunks/profile-LD23PSI6.js.map +0 -7
  565. package/dist/cli-bundle/chunks/profile-ZXGSKBJD.js.map +0 -1
  566. package/dist/cli-bundle/chunks/register-list-query-B42JCCOI.js.map +0 -1
  567. package/dist/cli-bundle/chunks/register-list-query-OEYQHFXO.js.map +0 -7
  568. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js +0 -19
  569. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js.map +0 -7
  570. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js +0 -23
  571. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js.map +0 -1
  572. package/dist/cli-bundle/chunks/register-setup-3ZVVX2VN.js.map +0 -7
  573. package/dist/cli-bundle/chunks/register-setup-Q6KFNIOZ.js.map +0 -1
  574. package/dist/cli-bundle/chunks/restore-5RQHAPMA.js.map +0 -1
  575. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js +0 -19
  576. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js.map +0 -7
  577. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js +0 -29
  578. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js.map +0 -1
  579. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js +0 -25
  580. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js.map +0 -7
  581. package/dist/cli-bundle/chunks/schema-245WW4G2.js.map +0 -1
  582. package/dist/cli-bundle/chunks/schema-HBORFC6B.js.map +0 -7
  583. package/dist/cli-bundle/chunks/search-AOZC5SIK.js +0 -34
  584. package/dist/cli-bundle/chunks/search-AOZC5SIK.js.map +0 -7
  585. package/dist/cli-bundle/chunks/search-DRXPGHD7.js +0 -38
  586. package/dist/cli-bundle/chunks/search-DRXPGHD7.js.map +0 -1
  587. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js +0 -21
  588. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js.map +0 -1
  589. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js +0 -17
  590. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js.map +0 -7
  591. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js +0 -14
  592. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js.map +0 -7
  593. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js +0 -18
  594. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js.map +0 -1
  595. package/dist/cli-bundle/chunks/test-6CMOCWUC.js +0 -39
  596. package/dist/cli-bundle/chunks/test-6CMOCWUC.js.map +0 -7
  597. package/dist/cli-bundle/chunks/test-RI7XHBZL.js +0 -43
  598. package/dist/cli-bundle/chunks/test-RI7XHBZL.js.map +0 -1
  599. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js +0 -29
  600. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js.map +0 -7
  601. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js +0 -33
  602. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js.map +0 -1
  603. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js +0 -28
  604. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js.map +0 -1
  605. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js +0 -24
  606. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js.map +0 -7
  607. package/dist/cli-bundle/chunks/update-QVJDFEAP.js +0 -30
  608. package/dist/cli-bundle/chunks/update-QVJDFEAP.js.map +0 -1
  609. package/dist/cli-bundle/chunks/update-VQVHAY6X.js +0 -26
  610. package/dist/cli-bundle/chunks/update-VQVHAY6X.js.map +0 -7
  611. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js +0 -37
  612. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js.map +0 -7
  613. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js +0 -41
  614. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js.map +0 -1
  615. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js +0 -24
  616. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js.map +0 -7
  617. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js +0 -28
  618. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js.map +0 -1
  619. package/dist/cli-bundle/chunks/validate-4NTXSB62.js +0 -36
  620. package/dist/cli-bundle/chunks/validate-4NTXSB62.js.map +0 -1
  621. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js +0 -32
  622. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js.map +0 -7
  623. /package/dist/cli-bundle/chunks/{activity-WJCGCYPU.js.map → append-CDPAYYSB.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{activity-Z6QUAUSG.js.map → append-RSPHC423.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{chunk-24YG75HI.js.map → chunk-3FUXM574.js.map} +0 -0
  626. /package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js.map → chunk-3SHDAKMF.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js.map → chunk-3V5C7PUH.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js.map → chunk-4I7KS5ES.js.map} +0 -0
  629. /package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js.map → chunk-5STY7NVM.js.map} +0 -0
  630. /package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js.map → chunk-5VAZHYVQ.js.map} +0 -0
  631. /package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js.map → chunk-6RR4XM5H.js.map} +0 -0
  632. /package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js.map → chunk-7QKSLAHB.js.map} +0 -0
  633. /package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js.map → chunk-7UCBLJDF.js.map} +0 -0
  634. /package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js.map → chunk-BFNFTHWQ.js.map} +0 -0
  635. /package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js.map → chunk-C3YU3TXX.js.map} +0 -0
  636. /package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js.map → chunk-CGDUIPJL.js.map} +0 -0
  637. /package/dist/cli-bundle/chunks/{chunk-XG625QP4.js.map → chunk-EP2CKDS7.js.map} +0 -0
  638. /package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js.map → chunk-J6AD3GWC.js.map} +0 -0
  639. /package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js.map → chunk-KFL3XHMA.js.map} +0 -0
  640. /package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js.map → chunk-PCBZ2VJD.js.map} +0 -0
  641. /package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js.map → chunk-Q3CFSOQZ.js.map} +0 -0
  642. /package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js.map → chunk-TU5P744I.js.map} +0 -0
  643. /package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js.map → chunk-UEATYUZW.js.map} +0 -0
  644. /package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js.map → chunk-UFNFHCAC.js.map} +0 -0
  645. /package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js.map → chunk-Z2JQH2MG.js.map} +0 -0
  646. /package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js.map → chunk-ZMOPZFVT.js.map} +0 -0
  647. /package/dist/cli-bundle/chunks/{aggregate-VQ2DHU3S.js.map → close-E3RLZSP2.js.map} +0 -0
  648. /package/dist/cli-bundle/chunks/{aggregate-BDM6EIAR.js.map → close-K6BFI3OX.js.map} +0 -0
  649. /package/dist/cli-bundle/chunks/{append-BGML6VLD.js.map → close-many-6NBL3PM4.js.map} +0 -0
  650. /package/dist/cli-bundle/chunks/{append-RKJYPU74.js.map → close-many-X4YKS3RO.js.map} +0 -0
  651. /package/dist/cli-bundle/chunks/{claim-XP5AWZ5H.js.map → comments-PLFK5ZKK.js.map} +0 -0
  652. /package/dist/cli-bundle/chunks/{claim-RFS7BROJ.js.map → comments-ZNOD5PTV.js.map} +0 -0
  653. /package/dist/cli-bundle/chunks/{close-GEANHQ2J.js.map → copy-F7BUFY4J.js.map} +0 -0
  654. /package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js.map → copy-VH3L4MN2.js.map} +0 -0
  655. /package/dist/cli-bundle/chunks/{close-many-ZFDIG6M7.js.map → create-AMBMYP6F.js.map} +0 -0
  656. /package/dist/cli-bundle/chunks/{close-many-CMZW7ITN.js.map → create-TRIBYORN.js.map} +0 -0
  657. /package/dist/cli-bundle/chunks/{comments-XUBPXDYX.js.map → delete-6KQHZYIP.js.map} +0 -0
  658. /package/dist/cli-bundle/chunks/{comments-MFSYVNNU.js.map → delete-ZNXUNCZR.js.map} +0 -0
  659. /package/dist/cli-bundle/chunks/{config-D7XQMONX.js.map → deps-CVDY7FFK.js.map} +0 -0
  660. /package/dist/cli-bundle/chunks/{config-T4FHBSYN.js.map → deps-SZXQHV73.js.map} +0 -0
  661. /package/dist/cli-bundle/chunks/{context-DIU275XI.js.map → docs-DR74ITCD.js.map} +0 -0
  662. /package/dist/cli-bundle/chunks/{context-JCOYB4LZ.js.map → docs-WCVYY6I7.js.map} +0 -0
  663. /package/dist/cli-bundle/chunks/{contracts-BVO7CSLK.js.map → files-H5YCA74Z.js.map} +0 -0
  664. /package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js.map → files-QEFQ2M3H.js.map} +0 -0
  665. /package/dist/cli-bundle/chunks/{copy-32ROBIDL.js.map → focus-55TRYSNA.js.map} +0 -0
  666. /package/dist/cli-bundle/chunks/{copy-NAGLGMHZ.js.map → focus-N2QGNS5D.js.map} +0 -0
  667. /package/dist/cli-bundle/chunks/{create-4V7SWNBB.js.map → history-compact-GWQ4UOEI.js.map} +0 -0
  668. /package/dist/cli-bundle/chunks/{create-E77SDCUP.js.map → history-compact-JJZ4EFL3.js.map} +0 -0
  669. /package/dist/cli-bundle/chunks/{delete-NQI5OSKN.js.map → history-redact-4GJOLXCM.js.map} +0 -0
  670. /package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js.map → history-redact-TPPUT3A5.js.map} +0 -0
  671. /package/dist/cli-bundle/chunks/{deps-T7SCWXEX.js.map → history-repair-HVCVCGUF.js.map} +0 -0
  672. /package/dist/cli-bundle/chunks/{deps-32SU7HO5.js.map → history-repair-J7PIZ6ZP.js.map} +0 -0
  673. /package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js.map → learnings-KB6BT4NR.js.map} +0 -0
  674. /package/dist/cli-bundle/chunks/{docs-WL2IWGWV.js.map → learnings-YYY3U2Y7.js.map} +0 -0
  675. /package/dist/cli-bundle/chunks/{eval-NF2J5SHR.js.map → notes-BGG7VL72.js.map} +0 -0
  676. /package/dist/cli-bundle/chunks/{eval-SKDT3MZU.js.map → notes-ZTHXVOKM.js.map} +0 -0
  677. /package/dist/cli-bundle/chunks/{extension-LAXKCAYE.js.map → plan-CJPKFRBK.js.map} +0 -0
  678. /package/dist/cli-bundle/chunks/{extension-ZISPBRBC.js.map → plan-MK2QY3GA.js.map} +0 -0
  679. /package/dist/cli-bundle/chunks/{files-PYKR2UUG.js.map → profile-AQNHXOYA.js.map} +0 -0
  680. /package/dist/cli-bundle/chunks/{files-EWRQHGIS.js.map → profile-HTBFINKQ.js.map} +0 -0
  681. /package/dist/cli-bundle/chunks/{focus-4T7TM4MT.js.map → restore-BTBEZ5CK.js.map} +0 -0
  682. /package/dist/cli-bundle/chunks/{focus-L3YUASOD.js.map → restore-EX4UUZL6.js.map} +0 -0
  683. /package/dist/cli-bundle/chunks/{gc-2PCTYYRI.js.map → schema-DGSTYYQB.js.map} +0 -0
  684. /package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js.map → schema-HAIBEE24.js.map} +0 -0
  685. /package/dist/cli-bundle/chunks/{get-7DMITJ3G.js.map → update-MP4XLU56.js.map} +0 -0
  686. /package/dist/cli-bundle/chunks/{get-VKQXCXLL.js.map → update-SDIRJGSY.js.map} +0 -0
  687. /package/dist/cli-bundle/chunks/{health-CVSTAR2F.js.map → update-many-34AIU6W7.js.map} +0 -0
  688. /package/dist/cli-bundle/chunks/{health-TV3GKTFN.js.map → update-many-JUPCNOKV.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../../core/extensions/index.ts","../../../../../../../../core/shared/errors.ts","../../../../../../../../core/shared/serialization.ts","../../../../../../../../core/store/settings-validator.ts","../../../../../../../../core/validate/estimate-defaults.ts","../../../../../../../../core/store/settings-read-cache.ts","../../../../../../../../core/store/settings.ts"],"sourcesContent":["/**\n * @module core/extensions/index\n *\n * Implements extension runtime contracts and governance for Index.\n */\nimport {\n runCommandHandler,\n runCommandOverride,\n runOnIndexHooks,\n runParserOverride,\n runPreflightOverride,\n runOnReadHooks,\n runRendererOverride,\n runServiceOverride,\n runServiceOverrideSync,\n runOnWriteHooks,\n type CommandHandlerContext,\n type CommandHandlerResult,\n type CommandOverrideContext,\n type CommandOverrideResult,\n type ExtensionCommandRegistry,\n type ExtensionHookRegistry,\n type ExtensionParserRegistry,\n type ExtensionPreflightRegistry,\n type ExtensionRegistrationRegistry,\n type ExtensionRendererRegistry,\n type ExtensionServiceName,\n type ExtensionServiceRegistry,\n type AfterCommandAffectedItem,\n type OnIndexHookContext,\n type OnReadHookContext,\n type OnWriteHookContext,\n type OutputRendererFormat,\n type ParserOverrideContext,\n type ParserOverrideResult,\n type PreflightOverrideContext,\n type PreflightOverrideResult,\n type RendererOverrideResult,\n type ServiceOverrideResult,\n} from \"./loader.js\";\nimport type { ItemFrontMatter } from \"../../types/index.js\";\n\nlet activeExtensionHooks: ExtensionHookRegistry | null = null;\nlet activeExtensionCommands: ExtensionCommandRegistry | null = null;\nlet activeExtensionParsers: ExtensionParserRegistry | null = null;\nlet activeExtensionPreflight: ExtensionPreflightRegistry | null = null;\nlet activeExtensionServices: ExtensionServiceRegistry | null = null;\nlet activeExtensionRenderers: ExtensionRendererRegistry | null = null;\nlet activeExtensionRegistrations: ExtensionRegistrationRegistry | null = null;\nlet activeCommandContext: Omit<CommandOverrideContext, \"result\"> | null = null;\nlet activeCommandResult: unknown = undefined;\nlet activeAfterCommandAffectedItems: AfterCommandAffectedItem[] = [];\nconst AFTER_COMMAND_SNAPSHOT_OMITTED_FIELDS = new Set([\n \"body\",\n \"comments\",\n \"dependencies\",\n \"docs\",\n \"events\",\n \"files\",\n \"learnings\",\n \"notes\",\n \"reminders\",\n \"test_runs\",\n \"tests\",\n]);\n\n/**\n * Implements set active extension hooks for the public runtime surface of this module.\n */\nexport function setActiveExtensionHooks(hooks: ExtensionHookRegistry | null): void {\n activeExtensionHooks = hooks;\n}\n\n/**\n * Implements set active extension commands for the public runtime surface of this module.\n */\nexport function setActiveExtensionCommands(commands: ExtensionCommandRegistry | null): void {\n activeExtensionCommands = commands;\n}\n\n/**\n * Implements set active extension parsers for the public runtime surface of this module.\n */\nexport function setActiveExtensionParsers(parsers: ExtensionParserRegistry | null): void {\n activeExtensionParsers = parsers;\n}\n\n/**\n * Implements set active extension preflight for the public runtime surface of this module.\n */\nexport function setActiveExtensionPreflight(preflight: ExtensionPreflightRegistry | null): void {\n activeExtensionPreflight = preflight;\n}\n\n/**\n * Implements set active extension services for the public runtime surface of this module.\n */\nexport function setActiveExtensionServices(services: ExtensionServiceRegistry | null): void {\n activeExtensionServices = services;\n}\n\n/**\n * Implements set active extension renderers for the public runtime surface of this module.\n */\nexport function setActiveExtensionRenderers(renderers: ExtensionRendererRegistry | null): void {\n activeExtensionRenderers = renderers;\n}\n\n/**\n * Implements set active extension registrations for the public runtime surface of this module.\n */\nexport function setActiveExtensionRegistrations(registrations: ExtensionRegistrationRegistry | null): void {\n activeExtensionRegistrations = registrations;\n}\n\n/**\n * Implements get active extension registrations for the public runtime surface of this module.\n */\nexport function getActiveExtensionRegistrations(): ExtensionRegistrationRegistry | null {\n return activeExtensionRegistrations;\n}\n\n/**\n * Implements set active command context for the public runtime surface of this module.\n */\nexport function setActiveCommandContext(context: Omit<CommandOverrideContext, \"result\"> | null): void {\n activeCommandContext = context;\n}\n\n/**\n * Implements set active command result for the public runtime surface of this module.\n */\nexport function setActiveCommandResult(result: unknown): void {\n activeCommandResult = result;\n}\n\n/**\n * Implements get active command result for the public runtime surface of this module.\n */\nexport function getActiveCommandResult(): unknown {\n return activeCommandResult;\n}\n\n/**\n * Implements record after command affected item for the public runtime surface of this module.\n */\nexport function recordAfterCommandAffectedItem(item: AfterCommandAffectedItem): void {\n if (!item || (activeExtensionHooks?.afterCommand?.length ?? 0) === 0) {\n return;\n }\n activeAfterCommandAffectedItems.push(item);\n}\n\n/**\n * Implements project after command item snapshot for the public runtime surface of this module.\n */\nexport function projectAfterCommandItemSnapshot(\n metadata: ItemFrontMatter,\n changedFields: readonly string[],\n): Partial<ItemFrontMatter> {\n if (!metadata || !metadata.id) {\n return {};\n }\n const snapshot: Record<string, unknown> = {\n id: metadata.id,\n type: metadata.type,\n status: metadata.status,\n };\n if (!Array.isArray(changedFields)) {\n return snapshot as Partial<ItemFrontMatter>;\n }\n const source = metadata as unknown as Record<string, unknown>;\n for (const field of changedFields) {\n if (typeof field !== \"string\") {\n continue;\n }\n const actualField = field.startsWith(\"unset:\") ? field.slice(\"unset:\".length) : field;\n if (\n actualField === \"id\" ||\n actualField === \"type\" ||\n actualField === \"status\" ||\n AFTER_COMMAND_SNAPSHOT_OMITTED_FIELDS.has(actualField)\n ) {\n continue;\n }\n if (Object.hasOwn(source, actualField) && source[actualField] !== undefined) {\n snapshot[actualField] = source[actualField];\n }\n }\n return snapshot as Partial<ItemFrontMatter>;\n}\n\n/**\n * Implements consume after command affected items for the public runtime surface of this module.\n */\nexport function consumeAfterCommandAffectedItems(): AfterCommandAffectedItem[] | undefined {\n if (activeAfterCommandAffectedItems.length === 0) {\n return undefined;\n }\n const affected = activeAfterCommandAffectedItems;\n activeAfterCommandAffectedItems = [];\n return affected;\n}\n\n/**\n * Implements clear active extension hooks for the public runtime surface of this module.\n */\nexport function clearActiveExtensionHooks(): void {\n activeExtensionHooks = null;\n activeExtensionCommands = null;\n activeExtensionParsers = null;\n activeExtensionPreflight = null;\n activeExtensionServices = null;\n activeExtensionRenderers = null;\n activeExtensionRegistrations = null;\n activeCommandContext = null;\n activeCommandResult = undefined;\n activeAfterCommandAffectedItems = [];\n}\n\n/**\n * Implements run active on write hooks for the public runtime surface of this module.\n */\nexport async function runActiveOnWriteHooks(context: OnWriteHookContext): Promise<string[]> {\n if (!activeExtensionHooks) {\n return [];\n }\n return runOnWriteHooks(activeExtensionHooks, context);\n}\n\n/**\n * Implements run active on read hooks for the public runtime surface of this module.\n */\nexport async function runActiveOnReadHooks(context: OnReadHookContext): Promise<string[]> {\n if (!activeExtensionHooks) {\n return [];\n }\n return runOnReadHooks(activeExtensionHooks, context);\n}\n\n/**\n * Synchronous fast-path predicate: true only when at least one onRead hook is\n * registered. Bulk readers (e.g. the metadata cache scanning hundreds of files)\n * use this to skip per-file `await runActiveOnReadHooks(...)` calls entirely when\n * no extension observes reads, avoiding hundreds of needless microtasks.\n */\nexport function hasActiveOnReadHooks(): boolean {\n return (activeExtensionHooks?.onRead?.length ?? 0) > 0;\n}\n\n/**\n * Implements run active on index hooks for the public runtime surface of this module.\n */\nexport async function runActiveOnIndexHooks(context: OnIndexHookContext): Promise<string[]> {\n if (!activeExtensionHooks) {\n return [];\n }\n return runOnIndexHooks(activeExtensionHooks, context);\n}\n\n/**\n * Implements run active command override for the public runtime surface of this module.\n */\nexport function runActiveCommandOverride(result: unknown): CommandOverrideResult {\n if (!activeExtensionCommands || !activeCommandContext) {\n return {\n overridden: false,\n result,\n warnings: [],\n };\n }\n return runCommandOverride(activeExtensionCommands, {\n command: activeCommandContext.command,\n args: [...activeCommandContext.args],\n options: activeCommandContext.options ? { ...activeCommandContext.options } : {},\n global: activeCommandContext.global ? { ...activeCommandContext.global } : undefined,\n pm_root: activeCommandContext.pm_root,\n result,\n });\n}\n\n/**\n * Implements run active command handler for the public runtime surface of this module.\n */\nexport async function runActiveCommandHandler(context: CommandHandlerContext): Promise<CommandHandlerResult> {\n if (!activeExtensionCommands) {\n return {\n handled: false,\n result: null,\n warnings: [],\n };\n }\n return runCommandHandler(activeExtensionCommands, context);\n}\n\n/**\n * Implements run active parser override for the public runtime surface of this module.\n */\nexport async function runActiveParserOverride(context: ParserOverrideContext): Promise<ParserOverrideResult> {\n if (!activeExtensionParsers) {\n return {\n overridden: false,\n context: {\n command: context.command,\n args: [...context.args],\n options: { ...context.options },\n global: { ...context.global },\n pm_root: context.pm_root,\n },\n warnings: [],\n };\n }\n return runParserOverride(activeExtensionParsers, context);\n}\n\n/**\n * Implements run active preflight override for the public runtime surface of this module.\n */\nexport async function runActivePreflightOverride(context: PreflightOverrideContext): Promise<PreflightOverrideResult> {\n if (!activeExtensionPreflight) {\n return {\n overridden: false,\n context: {\n command: context.command,\n args: [...context.args],\n options: { ...context.options },\n global: { ...context.global },\n pm_root: context.pm_root,\n },\n decision: { ...context.decision },\n warnings: [],\n };\n }\n return runPreflightOverride(activeExtensionPreflight, context);\n}\n\n/**\n * Implements run active renderer override for the public runtime surface of this module.\n */\nexport function runActiveRendererOverride(format: OutputRendererFormat, result: unknown): RendererOverrideResult {\n if (!activeExtensionRenderers) {\n return {\n overridden: false,\n rendered: null,\n warnings: [],\n };\n }\n return runRendererOverride(activeExtensionRenderers, {\n format,\n command: activeCommandContext?.command,\n args: activeCommandContext ? [...activeCommandContext.args] : [],\n options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},\n global: activeCommandContext?.global ? { ...activeCommandContext.global } : undefined,\n pm_root: activeCommandContext?.pm_root,\n result,\n });\n}\n\nfunction buildServiceContext(service: ExtensionServiceName, payload: unknown) {\n return {\n service,\n command: activeCommandContext?.command,\n args: activeCommandContext ? [...activeCommandContext.args] : [],\n options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},\n global: activeCommandContext?.global ? { ...activeCommandContext.global } : undefined,\n pm_root: activeCommandContext?.pm_root,\n payload,\n };\n}\n\n/**\n * Implements run active service override for the public runtime surface of this module.\n */\nexport async function runActiveServiceOverride(\n service: ExtensionServiceName,\n payload: unknown,\n): Promise<ServiceOverrideResult> {\n if (!activeExtensionServices) {\n return {\n handled: false,\n result: payload,\n warnings: [],\n };\n }\n return runServiceOverride(activeExtensionServices, buildServiceContext(service, payload));\n}\n\n/**\n * Implements run active service override sync for the public runtime surface of this module.\n */\nexport function runActiveServiceOverrideSync(service: ExtensionServiceName, payload: unknown): ServiceOverrideResult {\n if (!activeExtensionServices) {\n return {\n handled: false,\n result: payload,\n warnings: [],\n };\n }\n return runServiceOverrideSync(activeExtensionServices, buildServiceContext(service, payload));\n}\n\nexport * from \"./loader.js\";\nexport {\n EXTENSION_CAPABILITY_REGISTRATION_SURFACES,\n collectUsedExtensionCapabilities,\n reconcileExtensionCapabilityUsage,\n type CollectUsedExtensionCapabilitiesOptions,\n type ExtensionCapabilityUsageReconciliation,\n} from \"./capability-usage.js\";\n","/**\n * @module core/shared/errors\n *\n * Provides shared primitives and utilities for Errors.\n */\n/**\n * Carries structured recovery guidance attached to expected pm CLI errors.\n */\nexport interface PmCliErrorRecoveryPayload {\n recovery_mode?: \"compact\";\n attempted_command?: string;\n normalized_args?: string[];\n provided_fields?: string[];\n missing?: string[];\n missing_required_fields?: string[];\n suggested_flags?: string[];\n suggested_retry?: string;\n retry_after_ms?: number;\n fallback_candidates?: Array<{\n source: string;\n command: string;\n reason: string;\n }>;\n next_best_command?: string;\n}\n\n/**\n * Documents the pm cli error context payload exchanged by command, SDK, and package integrations.\n */\nexport interface PmCliErrorContext {\n code?: string;\n type?: string;\n required?: string;\n why?: string;\n examples?: string[];\n nextSteps?: string[];\n recovery?: PmCliErrorRecoveryPayload;\n}\n\n/**\n * Implements the exported pm cli error runtime abstraction for core/shared/errors.ts.\n */\nexport class PmCliError extends Error {\n public readonly exitCode: number;\n public readonly context: PmCliErrorContext;\n\n constructor(message: string, exitCode: number, context: PmCliErrorContext = {}) {\n super(message);\n this.name = \"PmCliError\";\n this.exitCode = exitCode;\n this.context = context;\n }\n}\n","/**\n * @module core/shared/serialization\n *\n * Provides shared primitives and utilities for Serialization.\n */\nimport crypto from \"node:crypto\";\n\ntype JsonValue = null | boolean | number | string | JsonValue[] | { [key: string]: JsonValue };\n\nfunction sortScalarValue(value: unknown): JsonValue | undefined {\n if (value === null) return null;\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return value;\n }\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n if (value === undefined) {\n return \"undefined\";\n }\n if (typeof value === \"symbol\") {\n return value.toString();\n }\n if (typeof value === \"function\") {\n return `[function:${value.name || \"anonymous\"}]`;\n }\n return undefined;\n}\n\nfunction sortPlainObjectKeys(value: Record<string, unknown>): Record<string, JsonValue> {\n // Use locale-independent Unicode code-unit ordering so canonical hashes stay reproducible.\n const sortedKeys = Object.keys(value).sort();\n const result: Record<string, JsonValue> = {};\n for (const key of sortedKeys) {\n const nested = value[key];\n if (nested === undefined) {\n continue;\n }\n result[key] = sortObjectKeys(nested);\n }\n return result;\n}\n\nfunction sortObjectKeys(value: unknown): JsonValue {\n const scalarValue = sortScalarValue(value);\n if (scalarValue !== undefined) {\n return scalarValue;\n }\n if (Array.isArray(value)) {\n return value.map((entry) => sortObjectKeys(entry));\n }\n if (value instanceof Date) {\n return value.toISOString();\n }\n const maybeJson = value as { toJSON?: () => unknown };\n if (typeof maybeJson.toJSON === \"function\") {\n const normalized = maybeJson.toJSON();\n if (normalized !== value) {\n return sortObjectKeys(normalized);\n }\n }\n return sortPlainObjectKeys(value as Record<string, unknown>);\n}\n\n/**\n * Implements stable stringify for the public runtime surface of this module.\n */\nexport function stableStringify(value: unknown): string {\n return JSON.stringify(sortObjectKeys(value));\n}\n\nfunction hasUnmatchedEquivalent<T>(\n leftValue: T,\n rightValues: readonly T[],\n matchedIndexes: Set<number>,\n equals: (leftEntry: T, rightEntry: T) => boolean,\n): boolean {\n for (let index = 0; index < rightValues.length; index += 1) {\n if (matchedIndexes.has(index)) {\n continue;\n }\n if (equals(leftValue, rightValues[index] as T)) {\n matchedIndexes.add(index);\n return true;\n }\n }\n return false;\n}\n\nfunction compareRegExpValues(left: unknown, right: unknown): boolean | undefined {\n if (!(left instanceof RegExp || right instanceof RegExp)) {\n return undefined;\n }\n return left instanceof RegExp && right instanceof RegExp && left.toString() === right.toString();\n}\n\nfunction compareDateValues(left: unknown, right: unknown): boolean | undefined {\n if (!(left instanceof Date || right instanceof Date)) {\n return undefined;\n }\n return left instanceof Date && right instanceof Date && left.getTime() === right.getTime();\n}\n\nfunction compareSetValues(left: unknown, right: unknown): boolean | undefined {\n if (!(left instanceof Set || right instanceof Set)) {\n return undefined;\n }\n if (!(left instanceof Set && right instanceof Set) || left.size !== right.size) {\n return false;\n }\n const rightValues = [...right];\n const matched = new Set<number>();\n for (const leftValue of left) {\n if (!hasUnmatchedEquivalent(leftValue, rightValues, matched, stableValueEquals)) {\n return false;\n }\n }\n return true;\n}\n\nfunction compareMapValues(left: unknown, right: unknown): boolean | undefined {\n if (!(left instanceof Map || right instanceof Map)) {\n return undefined;\n }\n if (!(left instanceof Map && right instanceof Map) || left.size !== right.size) {\n return false;\n }\n const rightEntries = [...right.entries()];\n const matched = new Set<number>();\n for (const [leftKey, leftValue] of left.entries()) {\n const leftEntry: [unknown, unknown] = [leftKey, leftValue];\n if (\n !hasUnmatchedEquivalent(leftEntry, rightEntries, matched, ([candidateKey, candidateValue], [rightKey, rightValue]) =>\n stableValueEquals(candidateKey, rightKey) && stableValueEquals(candidateValue, rightValue),\n )\n ) {\n return false;\n }\n }\n return true;\n}\n\nfunction compareArrayValues(left: unknown, right: unknown): boolean | undefined {\n if (!(Array.isArray(left) || Array.isArray(right))) {\n return undefined;\n }\n if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {\n return false;\n }\n return left.every((value, index) => stableValueEquals(value, right[index]));\n}\n\nfunction comparePlainObjectValues(left: object, right: object): boolean {\n const leftKeys = Object.keys(left).sort((a, b) => a.localeCompare(b));\n const rightKeys = Object.keys(right).sort((a, b) => a.localeCompare(b));\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n for (let index = 0; index < leftKeys.length; index += 1) {\n const leftKey = leftKeys[index]!;\n if (leftKey !== rightKeys[index]) {\n return false;\n }\n if (!stableValueEquals((left as Record<string, unknown>)[leftKey], (right as Record<string, unknown>)[leftKey])) {\n return false;\n }\n }\n return true;\n}\n\nconst SPECIALIZED_STABLE_VALUE_COMPARISONS = [\n compareRegExpValues,\n compareDateValues,\n compareSetValues,\n compareMapValues,\n compareArrayValues,\n] as const;\n\n/**\n * Implements stable value equals for the public runtime surface of this module.\n */\nexport function stableValueEquals(left: unknown, right: unknown): boolean {\n if (Object.is(left, right)) {\n return true;\n }\n if (left === null || right === null || typeof left !== \"object\" || typeof right !== \"object\") {\n return false;\n }\n for (const compare of SPECIALIZED_STABLE_VALUE_COMPARISONS) {\n const result = compare(left, right);\n if (result !== undefined) {\n return result;\n }\n }\n return comparePlainObjectValues(left, right);\n}\n\n/**\n * Implements sha256 hex for the public runtime surface of this module.\n */\nexport function sha256Hex(value: string): string {\n return crypto.createHash(\"sha256\").update(value, \"utf8\").digest(\"hex\");\n}\n\n/**\n * Implements order object for the public runtime surface of this module.\n */\nexport function orderObject<T extends Record<string, unknown>>(\n value: T,\n keyOrder: ReadonlyArray<string>,\n): Record<string, unknown> {\n const ordered: Record<string, unknown> = {};\n\n for (const key of keyOrder) {\n const entry = value[key];\n if (entry !== undefined) {\n ordered[key] = entry;\n }\n }\n\n const unknownKeys = Object.keys(value)\n .filter((key) => !keyOrder.includes(key))\n .sort((a, b) => a.localeCompare(b));\n\n for (const key of unknownKeys) {\n const entry = value[key];\n if (entry !== undefined) {\n ordered[key] = entry;\n }\n }\n\n return ordered;\n}\n","/**\n * Dependency-free settings validator.\n *\n * Mirrors the previous `zod` schema for `settings.json` exactly (type checks,\n * required-vs-optional fields, integer/positive constraints, literal unions, and\n * unknown-key stripping with all-or-nothing failure semantics) without paying\n * the ~85ms cost of importing `zod` on every command's hot read path.\n *\n * The validator intentionally reproduces the zod schema's shape — including\n * fields that `PmSettings` carries but the schema does not (e.g. `search.tuning`)\n * are stripped here just as zod stripped them — so settings behavior is\n * byte-identical to the previous implementation.\n */\nimport {\n GOVERNANCE_PRESET_VALUES,\n RUNTIME_FIELD_COMMAND_VALUES,\n RUNTIME_FIELD_TYPE_VALUES,\n RUNTIME_STATUS_ROLE_VALUES,\n RUNTIME_UNKNOWN_FIELD_POLICY_VALUES,\n} from \"../../types.js\";\nimport type {\n AgentGuidanceSettings,\n ExtensionPolicySettings,\n GovernanceSettings,\n ItemTypeDefinition,\n RuntimeSchemaSettings,\n} from \"../../types.js\";\nimport type { PmMaxVersionExceededModeSetting } from \"../extensions/extension-types.js\";\n\n/** Validated, unknown-key-stripped settings input (pre-merge), matching the legacy zod inference. */\nexport interface ParsedSettings {\n version: number;\n id_prefix: string;\n author_default: string;\n item_format?: \"toon\" | \"json_markdown\";\n locks: { ttl_seconds: number; wait_ms?: number };\n checkpoints?: { retention_days?: number };\n output: { default_format: \"toon\" | \"json\" };\n history?: {\n missing_stream: \"auto_create\" | \"strict_error\";\n compact_policy?: {\n enabled?: boolean;\n max_entries?: number;\n trigger?: \"health_warn\" | \"auto\";\n };\n };\n validation?: {\n sprint_release_format: \"warn\" | \"strict_error\";\n parent_reference?: \"warn\" | \"strict_error\";\n metadata_profile?: \"core\" | \"strict\" | \"custom\";\n metadata_required_fields?: string[];\n lifecycle_stale_blocker_reason_patterns?: string[];\n lifecycle_closure_like_blocked_reason_patterns?: string[];\n lifecycle_closure_like_resolution_patterns?: string[];\n lifecycle_closure_like_actual_result_patterns?: string[];\n estimate_defaults_by_type?: Record<string, number>;\n };\n governance?: Partial<GovernanceSettings>;\n workflow?: { definition_of_done: string[] };\n testing?: { record_results_to_items: boolean };\n telemetry?: {\n enabled: boolean;\n first_run_prompt_completed?: boolean;\n capture_level?: \"minimal\" | \"redacted\" | \"max\";\n endpoint?: string;\n installation_id?: string;\n retention_days?: number;\n };\n agent_guidance?: Partial<AgentGuidanceSettings>;\n item_types?: { definitions: ItemTypeDefinition[] };\n schema?: Partial<RuntimeSchemaSettings>;\n context?: {\n default_depth?: \"brief\" | \"standard\" | \"deep\";\n activity_limit?: number;\n stale_threshold_days?: number;\n sections?: {\n hierarchy?: boolean;\n activity?: boolean;\n progress?: boolean;\n blockers?: boolean;\n files?: boolean;\n workload?: boolean;\n staleness?: boolean;\n tests?: boolean;\n };\n };\n extensions: {\n enabled: string[];\n disabled: string[];\n policy?: Partial<ExtensionPolicySettings> & {\n pm_max_version_exceeded_mode?: PmMaxVersionExceededModeSetting;\n };\n };\n search: {\n score_threshold: number;\n hybrid_semantic_weight?: number;\n max_results: number;\n embedding_model: string;\n embedding_corpus_max_characters?: number;\n embedding_batch_size: number;\n embedding_timeout_ms?: number;\n scanner_max_batch_retries: number;\n provider?: string;\n corpus_fields?: string[];\n mutation_refresh_policy?: \"cache_only\" | \"semantic_configured\" | \"semantic_auto\";\n query_expansion?: {\n enabled?: boolean;\n provider?: string;\n };\n rerank?: {\n enabled?: boolean;\n model?: string;\n top_k?: number;\n };\n bm25?: {\n k1?: number;\n b?: number;\n };\n };\n providers: {\n openai: { base_url: string; api_key: string; model: string };\n ollama: { base_url: string; model: string };\n };\n vector_store: {\n adapter?: string;\n collection_name?: string;\n qdrant: { url: string; api_key: string };\n lancedb: { path: string };\n };\n}\n\n/**\n * Restricts settings validation result values accepted by command, SDK, and storage contracts.\n */\nexport type SettingsValidationResult = { success: true; data: ParsedSettings } | { success: false };\n\ntype Outcome<T> = { ok: true; value: T } | { ok: false };\ntype Check<T> = (input: unknown) => Outcome<T>;\n\n// Generic over `never` so it is assignable to every `Outcome<T>`.\nconst FAIL: Outcome<never> = { ok: false };\n\nconst vString: Check<string> = (input) => (typeof input === \"string\" ? { ok: true, value: input } : FAIL);\nconst vBoolean: Check<boolean> = (input) => (typeof input === \"boolean\" ? { ok: true, value: input } : FAIL);\n\nfunction vNumber(options: { int?: boolean; positive?: boolean; min?: number } = {}): Check<number> {\n return (input) => {\n // `Number.isFinite` rejects non-numbers, NaN, and ±Infinity in one check.\n if (typeof input !== \"number\" || !Number.isFinite(input)) {\n return FAIL;\n }\n if (options.int && (!Number.isInteger(input) || !Number.isSafeInteger(input))) {\n return FAIL;\n }\n if (options.positive && input <= 0) {\n return FAIL;\n }\n if (typeof options.min === \"number\" && input < options.min) {\n return FAIL;\n }\n return { ok: true, value: input };\n };\n}\n\nfunction vLiteral<const T extends string>(...allowed: readonly T[]): Check<T> {\n return (input) =>\n typeof input === \"string\" && (allowed as readonly string[]).includes(input)\n ? { ok: true, value: input as T }\n : FAIL;\n}\n\nfunction vArray<T>(item: Check<T>): Check<T[]> {\n return (input) => {\n if (!Array.isArray(input)) {\n return FAIL;\n }\n const value: T[] = [];\n for (const element of input) {\n const result = item(element);\n if (!result.ok) {\n return FAIL;\n }\n value.push(result.value);\n }\n return { ok: true, value };\n };\n}\n\nfunction vOptional<T>(inner: Check<T>): Check<T | undefined> {\n return (input) => (input === undefined ? { ok: true, value: undefined } : inner(input));\n}\n\n/**\n * A plain object with arbitrary string keys whose values each pass `valueCheck`.\n * Rejects arrays and null. Used for free-form maps like\n * `validation.estimate_defaults_by_type` (item-type -> default minutes).\n */\nfunction vRecordOf<T>(valueCheck: Check<T>): Check<Record<string, T>> {\n return (input) => {\n if (typeof input !== \"object\" || input === null || Array.isArray(input)) {\n return FAIL;\n }\n const value: Record<string, T> = {};\n for (const [key, raw] of Object.entries(input as Record<string, unknown>)) {\n const result = valueCheck(raw);\n if (!result.ok) {\n return FAIL;\n }\n value[key] = result.value;\n }\n return { ok: true, value };\n };\n}\n\nfunction vObject(shape: Record<string, Check<unknown>>): Check<Record<string, unknown>> {\n return (input) => {\n if (typeof input !== \"object\" || input === null || Array.isArray(input)) {\n return FAIL;\n }\n const record = input as Record<string, unknown>;\n const value: Record<string, unknown> = {};\n for (const [key, check] of Object.entries(shape)) {\n const result = check(record[key]);\n if (!result.ok) {\n return FAIL;\n }\n // Mirror zod: absent optional keys are omitted; unknown keys are dropped.\n if (result.value !== undefined) {\n value[key] = result.value;\n }\n }\n return { ok: true, value };\n };\n}\n\nconst itemTypeOption = vObject({\n key: vString,\n values: vArray(vString),\n required: vOptional(vBoolean),\n aliases: vOptional(vArray(vString)),\n description: vOptional(vString),\n});\n\nconst itemTypeCommandOptionPolicy = vObject({\n command: vLiteral(\"create\", \"update\"),\n option: vString,\n required: vOptional(vBoolean),\n visible: vOptional(vBoolean),\n enabled: vOptional(vBoolean),\n});\n\nconst itemTypeDefinition = vObject({\n name: vString,\n description: vOptional(vString),\n // Per-type create-time default status (config-driven); preserved so inline\n // settings.item_types.definitions behave identically to schema/types.json.\n default_status: vOptional(vString),\n folder: vOptional(vString),\n aliases: vOptional(vArray(vString)),\n required_create_fields: vOptional(vArray(vString)),\n required_create_repeatables: vOptional(vArray(vString)),\n options: vOptional(vArray(itemTypeOption)),\n command_option_policies: vOptional(vArray(itemTypeCommandOptionPolicy)),\n});\n\nconst runtimeStatusDefinition = vObject({\n id: vString,\n aliases: vOptional(vArray(vString)),\n roles: vOptional(vArray(vLiteral(...RUNTIME_STATUS_ROLE_VALUES))),\n description: vOptional(vString),\n order: vOptional(vNumber()),\n});\n\nconst runtimeFieldDefinition = vObject({\n key: vString,\n metadata_key: vOptional(vString),\n front_matter_key: vOptional(vString),\n cli_flag: vOptional(vString),\n cli_aliases: vOptional(vArray(vString)),\n description: vOptional(vString),\n type: vOptional(vLiteral(...RUNTIME_FIELD_TYPE_VALUES)),\n commands: vOptional(vArray(vLiteral(...RUNTIME_FIELD_COMMAND_VALUES))),\n repeatable: vOptional(vBoolean),\n required: vOptional(vBoolean),\n required_on_create: vOptional(vBoolean),\n required_types: vOptional(vArray(vString)),\n allow_unset: vOptional(vBoolean),\n});\n\nconst statusTransitionPair: Check<[string, string]> = (input) => {\n if (!Array.isArray(input) || input.length !== 2) {\n return FAIL;\n }\n const [from, to] = input;\n if (typeof from !== \"string\" || typeof to !== \"string\") {\n return FAIL;\n }\n return { ok: true, value: [from, to] };\n};\n\nconst typeWorkflowDefinition = vObject({\n type: vString,\n allowed_transitions: vArray(statusTransitionPair),\n});\n\nconst runtimeSchemaSettings = vOptional(\n vObject({\n version: vOptional(vNumber({ int: true })),\n files: vOptional(\n vObject({\n types: vOptional(vString),\n statuses: vOptional(vString),\n fields: vOptional(vString),\n workflows: vOptional(vString),\n }),\n ),\n statuses: vOptional(vArray(runtimeStatusDefinition)),\n fields: vOptional(vArray(runtimeFieldDefinition)),\n workflow: vOptional(\n vObject({\n draft_status: vOptional(vString),\n open_status: vOptional(vString),\n in_progress_status: vOptional(vString),\n blocked_status: vOptional(vString),\n close_status: vOptional(vString),\n canceled_status: vOptional(vString),\n }),\n ),\n type_workflows: vOptional(vArray(typeWorkflowDefinition)),\n unknown_field_policy: vOptional(vLiteral(...RUNTIME_UNKNOWN_FIELD_POLICY_VALUES)),\n }),\n);\n\nconst governanceSettings = vOptional(\n vObject({\n preset: vOptional(vLiteral(...GOVERNANCE_PRESET_VALUES)),\n ownership_enforcement: vOptional(vLiteral(\"none\", \"warn\", \"strict\")),\n create_mode_default: vOptional(vLiteral(\"progressive\", \"strict\")),\n close_validation_default: vOptional(vLiteral(\"off\", \"warn\", \"strict\")),\n require_close_reason: vOptional(vBoolean),\n parent_reference: vOptional(vLiteral(\"warn\", \"strict_error\")),\n metadata_profile: vOptional(vLiteral(\"core\", \"strict\", \"custom\")),\n force_required_for_stale_lock: vOptional(vBoolean),\n create_default_type: vOptional(vString),\n workflow_enforcement: vOptional(vLiteral(\"off\", \"warn\", \"strict\")),\n }),\n);\n\nconst extensionPolicyOverride = vObject({\n name: vString,\n disabled: vOptional(vBoolean),\n require_trusted: vOptional(vBoolean),\n require_provenance: vOptional(vBoolean),\n sandbox_profile: vOptional(vLiteral(\"none\", \"restricted\", \"strict\")),\n allowed_capabilities: vOptional(vArray(vString)),\n blocked_capabilities: vOptional(vArray(vString)),\n allowed_surfaces: vOptional(vArray(vString)),\n blocked_surfaces: vOptional(vArray(vString)),\n allowed_commands: vOptional(vArray(vString)),\n blocked_commands: vOptional(vArray(vString)),\n allowed_actions: vOptional(vArray(vString)),\n blocked_actions: vOptional(vArray(vString)),\n allowed_services: vOptional(vArray(vString)),\n blocked_services: vOptional(vArray(vString)),\n});\n\n// `pm_max_version_exceeded_mode` accepts either a single mode literal or a\n// per-layer override object (pm-k5e8); any other shape fails validation.\nconst pmMaxVersionExceededModeLiteral = vLiteral(\"block\", \"warn\");\nconst pmMaxVersionExceededMode: Check<unknown> = (input) =>\n typeof input === \"string\"\n ? pmMaxVersionExceededModeLiteral(input)\n : vObject({\n global: vOptional(pmMaxVersionExceededModeLiteral),\n project: vOptional(pmMaxVersionExceededModeLiteral),\n })(input);\n\nconst extensionPolicy = vOptional(\n vObject({\n mode: vOptional(vLiteral(\"off\", \"warn\", \"enforce\")),\n trust_mode: vOptional(vLiteral(\"off\", \"warn\", \"enforce\")),\n pm_max_version_exceeded_mode: vOptional(pmMaxVersionExceededMode),\n require_provenance: vOptional(vBoolean),\n trusted_extensions: vOptional(vArray(vString)),\n default_sandbox_profile: vOptional(vLiteral(\"none\", \"restricted\", \"strict\")),\n allowed_extensions: vOptional(vArray(vString)),\n blocked_extensions: vOptional(vArray(vString)),\n allowed_capabilities: vOptional(vArray(vString)),\n blocked_capabilities: vOptional(vArray(vString)),\n allowed_surfaces: vOptional(vArray(vString)),\n blocked_surfaces: vOptional(vArray(vString)),\n allowed_commands: vOptional(vArray(vString)),\n blocked_commands: vOptional(vArray(vString)),\n allowed_actions: vOptional(vArray(vString)),\n blocked_actions: vOptional(vArray(vString)),\n allowed_services: vOptional(vArray(vString)),\n blocked_services: vOptional(vArray(vString)),\n extension_overrides: vOptional(vArray(extensionPolicyOverride)),\n }),\n);\n\nconst settingsCheck = vObject({\n version: vNumber({ int: true }),\n id_prefix: vString,\n author_default: vString,\n item_format: vOptional(vLiteral(\"toon\", \"json_markdown\")),\n locks: vObject({ ttl_seconds: vNumber({ int: true }), wait_ms: vOptional(vNumber({ int: true, min: 0 })) }),\n checkpoints: vOptional(vObject({ retention_days: vOptional(vNumber({ int: true, positive: true })) })),\n output: vObject({ default_format: vLiteral(\"toon\", \"json\") }),\n history: vOptional(\n vObject({\n missing_stream: vLiteral(\"auto_create\", \"strict_error\"),\n compact_policy: vOptional(\n vObject({\n enabled: vOptional(vBoolean),\n max_entries: vOptional(vNumber({ int: true, positive: true })),\n trigger: vOptional(vLiteral(\"health_warn\", \"auto\")),\n }),\n ),\n }),\n ),\n validation: vOptional(\n vObject({\n sprint_release_format: vLiteral(\"warn\", \"strict_error\"),\n parent_reference: vOptional(vLiteral(\"warn\", \"strict_error\")),\n metadata_profile: vOptional(vLiteral(\"core\", \"strict\", \"custom\")),\n metadata_required_fields: vOptional(vArray(vString)),\n lifecycle_stale_blocker_reason_patterns: vOptional(vArray(vString)),\n lifecycle_closure_like_blocked_reason_patterns: vOptional(vArray(vString)),\n lifecycle_closure_like_resolution_patterns: vOptional(vArray(vString)),\n lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString)),\n estimate_defaults_by_type: vOptional(vRecordOf(vNumber({ int: true, positive: true }))),\n }),\n ),\n governance: governanceSettings,\n workflow: vOptional(vObject({ definition_of_done: vArray(vString) })),\n testing: vOptional(vObject({ record_results_to_items: vBoolean })),\n telemetry: vOptional(\n vObject({\n enabled: vBoolean,\n first_run_prompt_completed: vOptional(vBoolean),\n capture_level: vOptional(vLiteral(\"minimal\", \"redacted\", \"max\")),\n endpoint: vOptional(vString),\n installation_id: vOptional(vString),\n retention_days: vOptional(vNumber({ int: true, positive: true })),\n }),\n ),\n agent_guidance: vOptional(\n vObject({\n prompt_completed: vOptional(vBoolean),\n declined: vOptional(vBoolean),\n declined_at: vOptional(vString),\n template_version: vOptional(vNumber({ int: true, positive: true })),\n last_checked_files: vOptional(vArray(vString)),\n }),\n ),\n item_types: vOptional(vObject({ definitions: vArray(itemTypeDefinition) })),\n schema: runtimeSchemaSettings,\n context: vOptional(\n vObject({\n default_depth: vOptional(vLiteral(\"brief\", \"standard\", \"deep\")),\n activity_limit: vOptional(vNumber({ int: true, positive: true })),\n stale_threshold_days: vOptional(vNumber({ int: true, positive: true })),\n sections: vOptional(\n vObject({\n hierarchy: vOptional(vBoolean),\n activity: vOptional(vBoolean),\n progress: vOptional(vBoolean),\n recently_created: vOptional(vBoolean),\n unparented: vOptional(vBoolean),\n blockers: vOptional(vBoolean),\n files: vOptional(vBoolean),\n workload: vOptional(vBoolean),\n staleness: vOptional(vBoolean),\n tests: vOptional(vBoolean),\n }),\n ),\n }),\n ),\n extensions: vObject({\n enabled: vArray(vString),\n disabled: vArray(vString),\n policy: extensionPolicy,\n }),\n search: vObject({\n score_threshold: vNumber(),\n hybrid_semantic_weight: vOptional(vNumber()),\n max_results: vNumber({ int: true }),\n embedding_model: vString,\n embedding_corpus_max_characters: vOptional(vNumber()),\n embedding_batch_size: vNumber({ int: true }),\n embedding_timeout_ms: vOptional(vNumber({ int: true })),\n scanner_max_batch_retries: vNumber({ int: true }),\n provider: vOptional(vString),\n corpus_fields: vOptional(vArray(vString)),\n mutation_refresh_policy: vOptional(vLiteral(\"cache_only\", \"semantic_configured\", \"semantic_auto\")),\n query_expansion: vOptional(\n vObject({\n enabled: vOptional(vBoolean),\n provider: vOptional(vString),\n }),\n ),\n rerank: vOptional(\n vObject({\n enabled: vOptional(vBoolean),\n model: vOptional(vString),\n top_k: vOptional(vNumber({ int: true, positive: true })),\n }),\n ),\n // pm-75k9: offline BM25 tuning. Unlike `search.tuning` (intentionally\n // stripped for legacy zod parity), bm25 is validated so it persists across\n // writeSettings round-trips — these knobs must survive to take effect.\n bm25: vOptional(\n vObject({\n k1: vOptional(vNumber()),\n b: vOptional(vNumber()),\n }),\n ),\n }),\n providers: vObject({\n openai: vObject({ base_url: vString, api_key: vString, model: vString }),\n ollama: vObject({ base_url: vString, model: vString }),\n }),\n vector_store: vObject({\n adapter: vOptional(vString),\n collection_name: vOptional(vString),\n qdrant: vObject({ url: vString, api_key: vString }),\n lancedb: vObject({ path: vString }),\n }),\n});\n\n/** Validate raw settings, returning stripped, type-checked data or failure (matching the legacy zod safeParse). */\nexport function validateSettings(raw: unknown): SettingsValidationResult {\n const result = settingsCheck(raw);\n if (!result.ok) {\n return { success: false };\n }\n return { success: true, data: result.value as unknown as ParsedSettings };\n}\n","/**\n * Per-type default estimate resolution for `pm validate --auto-fix` (GH-212).\n *\n * When an item is missing `estimated_minutes`, the auto-fix path backfills a\n * config-driven default based on the item's type. This module is the pure\n * resolution layer: given an item type and an optional settings-derived override\n * map, it returns the default estimate in minutes. The planning + apply path is\n * wired separately by the validate command.\n *\n * Pure module: no filesystem access, no heavy imports. Bad input is never\n * thrown on — invalid override entries are dropped, not errored (mirrors the\n * deterministic, non-throwing style of stale-file-classification.ts).\n */\n\n/**\n * Built-in per-type default estimates in MINUTES used by `pm validate --auto-fix`\n * (GH-212) to backfill missing `estimated_minutes`. Keys are canonical built-in\n * type names. Lookups are case-insensitive (see resolveEstimateDefaultMinutes).\n */\nexport const DEFAULT_ESTIMATE_MINUTES_BY_TYPE: Readonly<Record<string, number>> = {\n Epic: 2880,\n Feature: 480,\n Story: 480,\n Milestone: 2880,\n Task: 120,\n Issue: 60,\n Bug: 60,\n Chore: 30,\n Decision: 15,\n Plan: 120,\n};\n\n/** Fallback when neither overrides nor the built-in map have the type. */\nexport const FALLBACK_ESTIMATE_MINUTES = 120;\n\n/** A value is honored only when it is a finite number strictly greater than zero. */\nfunction isHonoredMinutes(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value) && value > 0;\n}\n\n/**\n * Build a case-insensitive lookup keyed by lowercased type name. When two source\n * keys collide case-insensitively, last-wins (later entries overwrite earlier\n * ones); callers normalize overrides up front so collisions are rare.\n */\nfunction toLowercasedLookup(source: Readonly<Record<string, number>>): Map<string, number> {\n const lookup = new Map<string, number>();\n for (const [key, value] of Object.entries(source)) {\n lookup.set(key.toLowerCase(), value);\n }\n return lookup;\n}\n\n/** Built-in lookup is type-static, so build the lowercased index once. */\nconst BUILTIN_LOWERCASED_LOOKUP = toLowercasedLookup(DEFAULT_ESTIMATE_MINUTES_BY_TYPE);\n\n/**\n * Cache lowercased override lookups keyed on the override object reference so a\n * backfill that resolves once per item does not rebuild the same Map each call.\n * A WeakMap keeps this allocation-free for callers that reuse one normalized\n * settings map across the whole run.\n */\nconst OVERRIDE_LOOKUP_CACHE = new WeakMap<Readonly<Record<string, number>>, Map<string, number>>();\n\nfunction lowercasedOverrideLookup(overrides: Readonly<Record<string, number>>): Map<string, number> {\n const cached = OVERRIDE_LOOKUP_CACHE.get(overrides);\n if (cached) {\n return cached;\n }\n const lookup = toLowercasedLookup(overrides);\n OVERRIDE_LOOKUP_CACHE.set(overrides, lookup);\n return lookup;\n}\n\n/**\n * Resolve the default estimated-minutes for an item type.\n * Precedence: overrides (case-insensitive key match) > DEFAULT_ESTIMATE_MINUTES_BY_TYPE\n * (case-insensitive) > FALLBACK_ESTIMATE_MINUTES.\n * - `type` undefined/empty -> FALLBACK.\n * - Only finite values > 0 are honored from overrides/defaults; a non-positive or\n * non-finite override value is ignored and resolution continues to the next tier.\n * - Returned value is a positive integer (floor of the resolved value).\n */\nexport function resolveEstimateDefaultMinutes(\n type: string | undefined,\n overrides?: Readonly<Record<string, number>>,\n): number {\n const key = (type ?? \"\").trim().toLowerCase();\n if (key.length === 0) {\n return FALLBACK_ESTIMATE_MINUTES;\n }\n\n if (overrides) {\n const overrideValue = lowercasedOverrideLookup(overrides).get(key);\n if (isHonoredMinutes(overrideValue)) {\n return Math.floor(overrideValue);\n }\n }\n\n const builtinValue = BUILTIN_LOWERCASED_LOOKUP.get(key);\n if (isHonoredMinutes(builtinValue)) {\n return Math.floor(builtinValue);\n }\n\n return FALLBACK_ESTIMATE_MINUTES;\n}\n\n/**\n * Validate + normalize a raw `validation.estimate_defaults_by_type` settings object\n * into a clean Record<string, number> of positive integers, dropping invalid entries.\n * Used so the pure resolver always receives a sane override map. Returns {} for\n * undefined/null/non-object input. Trims keys; ignores empty keys and non-positive /\n * non-finite / non-number values. Floors values to integers.\n */\nexport function normalizeEstimateDefaultOverrides(raw: unknown): Record<string, number> {\n const normalized: Record<string, number> = {};\n if (raw === null || typeof raw !== \"object\" || Array.isArray(raw)) {\n return normalized;\n }\n\n for (const [rawKey, rawValue] of Object.entries(raw as Record<string, unknown>)) {\n const key = rawKey.trim();\n if (key.length === 0 || !isHonoredMinutes(rawValue)) {\n continue;\n }\n normalized[key] = Math.floor(rawValue);\n }\n\n return normalized;\n}\n","/**\n * @module core/store/settings-read-cache\n *\n * Reads and writes tracker storage with format-aware helpers for Settings Read Cache.\n */\nimport { stat } from \"node:fs/promises\";\n\n/**\n * Documents the settings read cache path signature payload exchanged by command, SDK, and package integrations.\n */\nexport interface SettingsReadCachePathSignature {\n path: string;\n mtime_ms: number | null;\n size: number | null;\n}\n\n/**\n * Documents the settings read cache entry payload exchanged by command, SDK, and package integrations.\n */\nexport interface SettingsReadCacheEntry<T> {\n tracked_paths: string[];\n signatures: SettingsReadCachePathSignature[];\n value: T;\n}\n\nconst settingsReadCacheByRoot = new Map<string, SettingsReadCacheEntry<unknown>>();\n\nfunction normalizeTrackedPaths(paths: string[]): string[] {\n return [...new Set(paths.map((pathValue) => pathValue.trim()).filter((pathValue) => pathValue.length > 0))].sort((left, right) =>\n left.localeCompare(right),\n );\n}\n\nasync function readPathSignature(targetPath: string): Promise<SettingsReadCachePathSignature> {\n try {\n const targetStats = await stat(targetPath);\n return {\n path: targetPath,\n mtime_ms: targetStats.mtimeMs,\n size: targetStats.size,\n };\n } catch {\n return {\n path: targetPath,\n mtime_ms: null,\n size: null,\n };\n }\n}\n\n/**\n * Implements collect settings read cache signatures for the public runtime surface of this module.\n */\nexport async function collectSettingsReadCacheSignatures(paths: string[]): Promise<SettingsReadCachePathSignature[]> {\n const normalizedPaths = normalizeTrackedPaths(paths);\n const signatures = await Promise.all(normalizedPaths.map((targetPath) => readPathSignature(targetPath)));\n signatures.sort((left, right) => left.path.localeCompare(right.path));\n return signatures;\n}\n\n/**\n * Implements settings read cache signatures equal for the public runtime surface of this module.\n */\nexport function settingsReadCacheSignaturesEqual(\n left: SettingsReadCachePathSignature[],\n right: SettingsReadCachePathSignature[],\n): boolean {\n if (left.length !== right.length) {\n return false;\n }\n for (let index = 0; index < left.length; index += 1) {\n const leftEntry = left[index];\n const rightEntry = right[index];\n if (\n leftEntry.path !== rightEntry.path ||\n leftEntry.mtime_ms !== rightEntry.mtime_ms ||\n leftEntry.size !== rightEntry.size\n ) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Implements get settings read cache entry for the public runtime surface of this module.\n */\nexport function getSettingsReadCacheEntry<T>(pmRoot: string): SettingsReadCacheEntry<T> | undefined {\n return settingsReadCacheByRoot.get(pmRoot) as SettingsReadCacheEntry<T> | undefined;\n}\n\n/**\n * Implements set settings read cache entry for the public runtime surface of this module.\n */\nexport function setSettingsReadCacheEntry<T>(pmRoot: string, entry: SettingsReadCacheEntry<T>): void {\n const normalizedTrackedPaths = normalizeTrackedPaths(entry.tracked_paths);\n const normalizedSignatures = [...entry.signatures]\n .map((signature) => ({\n path: signature.path,\n mtime_ms: signature.mtime_ms,\n size: signature.size,\n }))\n .sort((left, right) => left.path.localeCompare(right.path));\n settingsReadCacheByRoot.set(pmRoot, {\n tracked_paths: normalizedTrackedPaths,\n signatures: normalizedSignatures,\n value: entry.value,\n });\n}\n\n/**\n * Implements clear settings read cache for the public runtime surface of this module.\n */\nexport function clearSettingsReadCache(pmRoot?: string): void {\n if (pmRoot) {\n settingsReadCacheByRoot.delete(pmRoot);\n return;\n }\n settingsReadCacheByRoot.clear();\n}\n","/**\n * @module core/store/settings\n *\n * Reads and writes tracker storage with format-aware helpers for Settings.\n */\nimport { 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 DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,\n ensureRuntimeSchemaFileScaffold,\n filePathForSchemaSection,\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 { normalizeEstimateDefaultOverrides } from \"../validate/estimate-defaults.js\";\nimport {\n clearSettingsReadCache,\n collectSettingsReadCacheSignatures,\n getSettingsReadCacheEntry,\n setSettingsReadCacheEntry,\n settingsReadCacheSignaturesEqual,\n} from \"./settings-read-cache.js\";\nimport type {\n ExtensionGovernancePolicy,\n PmMaxVersionExceededMode,\n PmMaxVersionExceededModeSetting,\n} from \"../extensions/extension-types.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\n/**\n * Documents the settings read metadata payload exchanged by command, SDK, and package integrations.\n */\nexport interface SettingsReadMetadata {\n has_explicit_item_format: boolean;\n}\n\n/**\n * Documents the settings read result payload exchanged by command, SDK, and package integrations.\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\n/**\n * Implements resolve governance knobs for the public runtime surface of this module.\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 cloneSettingsReadResult(result: SettingsReadResult): SettingsReadResult {\n const clonedSettings = structuredClone(result.settings);\n const persistSource = getSettingsPersistSourceSnapshot(result.settings);\n if (persistSource) {\n attachSettingsPersistSourceSnapshot(clonedSettings, structuredClone(persistSource));\n }\n return {\n settings: clonedSettings,\n metadata: {\n has_explicit_item_format: result.metadata.has_explicit_item_format,\n },\n warnings: [...result.warnings],\n };\n}\n\nfunction resolveSettingsReadTrackedPaths(pmRoot: string, schema: PmSettings[\"schema\"], settingsPath: string): string[] {\n const normalizedSchema = normalizeRuntimeSchemaSettings(schema);\n return [\n settingsPath,\n filePathForSchemaSection(pmRoot, normalizedSchema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types),\n filePathForSchemaSection(pmRoot, normalizedSchema.files.statuses, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.statuses),\n filePathForSchemaSection(pmRoot, normalizedSchema.files.fields, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.fields),\n filePathForSchemaSection(pmRoot, normalizedSchema.files.workflows, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.workflows),\n ];\n}\n\nasync function cacheSettingsReadResult(pmRoot: string, trackedPaths: string[], result: SettingsReadResult): Promise<void> {\n const signatures = await collectSettingsReadCacheSignatures(trackedPaths);\n setSettingsReadCacheEntry(pmRoot, {\n tracked_paths: trackedPaths,\n signatures,\n value: cloneSettingsReadResult(result),\n });\n}\n\nasync function cacheSettingsReadResultSafe(pmRoot: string, trackedPaths: string[], result: SettingsReadResult): Promise<void> {\n try {\n await cacheSettingsReadResult(pmRoot, trackedPaths, result);\n } catch {\n clearSettingsReadCache(pmRoot);\n }\n}\n\ntype SettingsReadCacheSignatures = Awaited<ReturnType<typeof collectSettingsReadCacheSignatures>>;\n\nfunction findSettingsReadCacheSignature(signatures: SettingsReadCacheSignatures, targetPath: string) {\n return signatures.find((signature) => signature.path === targetPath);\n}\n\nfunction selectedSettingsReadCacheSignaturesEqual(\n before: SettingsReadCacheSignatures,\n after: SettingsReadCacheSignatures,\n targetPaths: string[],\n): boolean {\n for (const targetPath of targetPaths) {\n const beforeSignature = findSettingsReadCacheSignature(before, targetPath);\n const afterSignature = findSettingsReadCacheSignature(after, targetPath);\n if (\n !beforeSignature ||\n !afterSignature ||\n !settingsReadCacheSignaturesEqual([beforeSignature], [afterSignature])\n ) {\n return false;\n }\n }\n return true;\n}\n\nasync function cacheSettingsReadResultIfStable(\n pmRoot: string,\n trackedPaths: string[],\n result: SettingsReadResult,\n stableSignatures: SettingsReadCacheSignatures,\n stablePaths: string[],\n): Promise<void> {\n try {\n const currentSignatures = await collectSettingsReadCacheSignatures(trackedPaths);\n if (!selectedSettingsReadCacheSignaturesEqual(stableSignatures, currentSignatures, stablePaths)) {\n clearSettingsReadCache(pmRoot);\n return;\n }\n setSettingsReadCacheEntry(pmRoot, {\n tracked_paths: trackedPaths,\n signatures: currentSignatures,\n value: cloneSettingsReadResult(result),\n });\n } catch {\n clearSettingsReadCache(pmRoot);\n }\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 normalizePmMaxVersionExceededModeValue(value: unknown): PmMaxVersionExceededMode | undefined {\n return value === \"block\" || value === \"warn\" ? value : undefined;\n}\n\n/**\n * Preserve a configured `pm_max_version_exceeded_mode` (string mode or per-layer\n * override object) through settings normalization. Unset/invalid values are\n * omitted so existing settings.json files round-trip byte-identically and the\n * loader applies its safe default (\"block\").\n */\nfunction normalizePmMaxVersionExceededModeSetting(\n value: PmMaxVersionExceededModeSetting | undefined,\n): PmMaxVersionExceededModeSetting | undefined {\n if (typeof value === \"string\") {\n return normalizePmMaxVersionExceededModeValue(value);\n }\n if (typeof value === \"object\" && value !== null && !Array.isArray(value)) {\n const global = normalizePmMaxVersionExceededModeValue(value.global);\n const project = normalizePmMaxVersionExceededModeValue(value.project);\n if (global === undefined && project === undefined) {\n return undefined;\n }\n return {\n ...(global !== undefined ? { global } : {}),\n ...(project !== undefined ? { project } : {}),\n };\n }\n return undefined;\n}\n\ntype ExtensionPolicyListKey =\n | \"trusted_extensions\"\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\nfunction normalizeExtensionPolicyList(\n policy: Partial<ExtensionGovernancePolicy> | undefined,\n key: ExtensionPolicyListKey,\n): string[] {\n return normalizeLowerStringList(policy?.[key] ?? SETTINGS_DEFAULTS.extensions.policy[key]);\n}\n\nfunction normalizeExtensionPolicySettings(\n policy: Partial<ExtensionGovernancePolicy> | undefined,\n): ExtensionGovernancePolicy {\n const pmMaxVersionExceededMode = normalizePmMaxVersionExceededModeSetting(policy?.pm_max_version_exceeded_mode);\n return {\n mode: normalizeExtensionPolicyMode(policy?.mode),\n trust_mode: normalizeExtensionTrustMode(policy?.trust_mode),\n ...(pmMaxVersionExceededMode !== undefined ? { pm_max_version_exceeded_mode: pmMaxVersionExceededMode } : {}),\n require_provenance: policy?.require_provenance === true,\n trusted_extensions: normalizeExtensionPolicyList(policy, \"trusted_extensions\"),\n default_sandbox_profile: normalizeExtensionSandboxProfile(policy?.default_sandbox_profile),\n allowed_extensions: normalizeExtensionPolicyList(policy, \"allowed_extensions\"),\n blocked_extensions: normalizeExtensionPolicyList(policy, \"blocked_extensions\"),\n allowed_capabilities: normalizeExtensionPolicyList(policy, \"allowed_capabilities\"),\n blocked_capabilities: normalizeExtensionPolicyList(policy, \"blocked_capabilities\"),\n allowed_surfaces: normalizeExtensionPolicyList(policy, \"allowed_surfaces\"),\n blocked_surfaces: normalizeExtensionPolicyList(policy, \"blocked_surfaces\"),\n allowed_commands: normalizeExtensionPolicyList(policy, \"allowed_commands\"),\n blocked_commands: normalizeExtensionPolicyList(policy, \"blocked_commands\"),\n allowed_actions: normalizeExtensionPolicyList(policy, \"allowed_actions\"),\n blocked_actions: normalizeExtensionPolicyList(policy, \"blocked_actions\"),\n allowed_services: normalizeExtensionPolicyList(policy, \"allowed_services\"),\n blocked_services: normalizeExtensionPolicyList(policy, \"blocked_services\"),\n extension_overrides: normalizeExtensionPolicyOverrides(\n policy?.extension_overrides ?? SETTINGS_DEFAULTS.extensions.policy.extension_overrides,\n ),\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\nfunction valueOrDefault<T>(value: T | undefined, fallback: T): T {\n return value === undefined ? fallback : value;\n}\n\nfunction recordOrEmpty(value: unknown): Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value) ? (value as Record<string, unknown>) : {};\n}\n\nfunction arrayOrEmpty<T>(value: unknown): T[] {\n return Array.isArray(value) ? (value as T[]) : [];\n}\n\nfunction buildValidationSettings(settings: ParsedSettings, defaults: PmSettings, governance: GovernanceSettings): PmSettings[\"validation\"] {\n return {\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 estimate_defaults_by_type: normalizeEstimateDefaultOverrides(settings.validation?.estimate_defaults_by_type),\n };\n}\n\nfunction buildTelemetrySettings(settings: ParsedSettings, defaults: PmSettings): PmSettings[\"telemetry\"] {\n return {\n enabled: settings.telemetry?.enabled ?? defaults.telemetry.enabled,\n first_run_prompt_completed: 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}\n\nfunction buildSearchSettings(settings: ParsedSettings, defaults: PmSettings): PmSettings[\"search\"] {\n return {\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}\n\nfunction buildVectorStoreSettings(settings: ParsedSettings, defaults: PmSettings): PmSettings[\"vector_store\"] {\n return {\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\nfunction normalizeSettingsItemFormat(settings: ParsedSettings, defaults: PmSettings): PmSettings[\"item_format\"] {\n if (settings.item_format === \"json_markdown\") {\n return \"toon\";\n }\n return settings.item_format ?? defaults.item_format;\n}\n\nfunction buildContextSettings(settings: ParsedSettings, defaults: PmSettings): PmSettings[\"context\"] {\n return {\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}\n\nfunction buildProviderSettings(settings: ParsedSettings, defaults: PmSettings): PmSettings[\"providers\"] {\n return {\n openai: { ...defaults.providers.openai, ...settings.providers.openai },\n ollama: { ...defaults.providers.ollama, ...settings.providers.ollama },\n };\n}\n\n/**\n * Implements normalize item type definitions for the public runtime surface of this module.\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: normalizeSettingsItemFormat(settings, defaults),\n locks: { ...defaults.locks, ...settings.locks },\n checkpoints: { ...defaults.checkpoints, ...settings.checkpoints },\n output: { ...defaults.output, ...settings.output },\n history: {\n ...defaults.history,\n ...settings.history,\n compact_policy: {\n ...defaults.history.compact_policy,\n ...settings.history?.compact_policy,\n },\n },\n validation: buildValidationSettings(settings, defaults, governance),\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: buildTelemetrySettings(settings, defaults),\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: buildContextSettings(settings, defaults),\n extensions: {\n enabled: [...settings.extensions.enabled],\n disabled: [...settings.extensions.disabled],\n policy: normalizeExtensionPolicySettings(settings.extensions.policy ?? defaults.extensions.policy),\n },\n search: buildSearchSettings(settings, defaults),\n providers: buildProviderSettings(settings, defaults),\n vector_store: buildVectorStoreSettings(settings, defaults),\n };\n}\n\nfunction orderSerializedSettingsSections(ordered: Record<string, unknown>): void {\n ordered.locks = orderObject(ordered.locks as Record<string, unknown>, [\"ttl_seconds\", \"wait_ms\"]);\n ordered.checkpoints = orderObject(ordered.checkpoints as Record<string, unknown>, [\"retention_days\"]);\n ordered.output = orderObject(ordered.output as Record<string, unknown>, [\"default_format\"]);\n ordered.history = orderObject(ordered.history as Record<string, unknown>, [\"missing_stream\", \"compact_policy\"]);\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 \"estimate_defaults_by_type\",\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 recordOrEmpty((ordered.schema as Record<string, unknown>).files),\n [\"types\", \"statuses\", \"fields\", \"workflows\"],\n );\n (ordered.schema as Record<string, unknown>).workflow = orderObject(\n recordOrEmpty((ordered.schema as Record<string, unknown>).workflow),\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 recordOrEmpty((ordered.context as Record<string, unknown>).sections),\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 recordOrEmpty((ordered.extensions as Record<string, unknown>).policy),\n [\n \"mode\",\n \"trust_mode\",\n \"pm_max_version_exceeded_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 arrayOrEmpty(((ordered.extensions as Record<string, unknown>).policy as Record<string, unknown>).extension_overrides)\n ).map((entry) =>\n orderObject(recordOrEmpty(entry), [\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 recordOrEmpty((ordered.search as Record<string, unknown>).query_expansion),\n [\"enabled\", \"provider\"],\n );\n (ordered.search as Record<string, unknown>).rerank = orderObject(\n recordOrEmpty((ordered.search as Record<string, unknown>).rerank),\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 recordOrEmpty((ordered.providers as Record<string, unknown>).openai),\n [\"base_url\", \"api_key\", \"model\"],\n );\n (ordered.providers as Record<string, unknown>).ollama = orderObject(\n recordOrEmpty((ordered.providers as Record<string, unknown>).ollama),\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 recordOrEmpty((ordered.vector_store as Record<string, unknown>).qdrant),\n [\"url\", \"api_key\"],\n );\n (ordered.vector_store as Record<string, unknown>).lancedb = orderObject(\n recordOrEmpty((ordered.vector_store as Record<string, unknown>).lancedb),\n [\"path\"],\n );\n}\n\nfunction buildSerializeBaseSettings(settings: PmSettings): PmSettings {\n return {\n ...settings,\n locks: valueOrDefault(settings.locks, SETTINGS_DEFAULTS.locks),\n checkpoints: valueOrDefault(settings.checkpoints, SETTINGS_DEFAULTS.checkpoints),\n output: valueOrDefault(settings.output, SETTINGS_DEFAULTS.output),\n history: valueOrDefault(settings.history, SETTINGS_DEFAULTS.history),\n validation: valueOrDefault(settings.validation, SETTINGS_DEFAULTS.validation),\n workflow: valueOrDefault(settings.workflow, SETTINGS_DEFAULTS.workflow),\n testing: valueOrDefault(settings.testing, SETTINGS_DEFAULTS.testing),\n telemetry: valueOrDefault(settings.telemetry, SETTINGS_DEFAULTS.telemetry),\n agent_guidance: valueOrDefault(settings.agent_guidance, SETTINGS_DEFAULTS.agent_guidance),\n item_types: valueOrDefault(settings.item_types, SETTINGS_DEFAULTS.item_types),\n schema: valueOrDefault(settings.schema, SETTINGS_DEFAULTS.schema),\n context: valueOrDefault(settings.context, SETTINGS_DEFAULTS.context),\n extensions: valueOrDefault(settings.extensions, SETTINGS_DEFAULTS.extensions),\n search: valueOrDefault(settings.search, SETTINGS_DEFAULTS.search),\n providers: valueOrDefault(settings.providers, SETTINGS_DEFAULTS.providers),\n vector_store: valueOrDefault(settings.vector_store, SETTINGS_DEFAULTS.vector_store),\n } as PmSettings;\n}\n\nfunction buildSerializedValidationSettings(baseSettings: PmSettings, governance: GovernanceSettings): PmSettings[\"validation\"] {\n return {\n ...baseSettings.validation,\n parent_reference: governance.parent_reference,\n metadata_profile: governance.metadata_profile,\n metadata_required_fields: normalizeValidationMetadataRequiredFields(baseSettings.validation?.metadata_required_fields),\n lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(\n baseSettings.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 baseSettings.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 baseSettings.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 baseSettings.validation?.lifecycle_closure_like_actual_result_patterns ??\n SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns,\n ),\n estimate_defaults_by_type: normalizeEstimateDefaultOverrides(baseSettings.validation?.estimate_defaults_by_type),\n };\n}\n\nfunction buildSerializedSearchSettings(baseSettings: PmSettings): PmSettings[\"search\"] {\n return {\n ...SETTINGS_DEFAULTS.search,\n ...baseSettings.search,\n mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),\n query_expansion: {\n ...SETTINGS_DEFAULTS.search.query_expansion,\n ...baseSettings.search?.query_expansion,\n enabled: normalizeSearchQueryExpansionEnabled(baseSettings.search?.query_expansion?.enabled),\n provider: normalizeSearchQueryExpansionProvider(baseSettings.search?.query_expansion?.provider),\n },\n rerank: {\n ...SETTINGS_DEFAULTS.search.rerank,\n ...baseSettings.search?.rerank,\n enabled: normalizeSearchRerankEnabled(baseSettings.search?.rerank?.enabled),\n model: normalizeSearchRerankModel(baseSettings.search?.rerank?.model),\n top_k: normalizeSearchRerankTopK(baseSettings.search?.rerank?.top_k),\n },\n };\n}\n\nfunction buildSerializedContextSettings(baseSettings: PmSettings): PmSettings[\"context\"] {\n return {\n default_depth: baseSettings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,\n activity_limit: baseSettings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,\n stale_threshold_days: baseSettings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,\n sections: {\n ...SETTINGS_DEFAULTS.context.sections,\n ...baseSettings.context?.sections,\n },\n };\n}\n\nfunction buildSerializedVectorStoreSettings(baseSettings: PmSettings): PmSettings[\"vector_store\"] {\n return {\n ...baseSettings.vector_store,\n adapter: baseSettings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,\n collection_name: normalizeVectorStoreCollectionName(baseSettings.vector_store?.collection_name),\n qdrant: { ...baseSettings.vector_store?.qdrant },\n lancedb: { ...baseSettings.vector_store?.lancedb },\n };\n}\n\nfunction buildNormalizedSettingsForSerialization(\n baseSettings: PmSettings,\n governance: GovernanceSettings,\n normalizedSchema: PmSettings[\"schema\"],\n persistedFileBackedSections: ReturnType<typeof resolvePersistedFileBackedSchemaSections>,\n): PmSettings {\n return {\n ...baseSettings,\n item_format: \"toon\",\n validation: buildSerializedValidationSettings(baseSettings, governance),\n governance,\n agent_guidance: normalizeAgentGuidanceSettings(baseSettings.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: buildSerializedSearchSettings(baseSettings),\n context: buildSerializedContextSettings(baseSettings),\n extensions: {\n enabled: normalizeStringList(baseSettings.extensions?.enabled),\n disabled: normalizeStringList(baseSettings.extensions?.disabled),\n policy: normalizeExtensionPolicySettings(baseSettings.extensions?.policy),\n },\n vector_store: buildSerializedVectorStoreSettings(baseSettings),\n };\n}\n\n/**\n * Implements serialize settings for the public runtime surface of this module.\n */\nexport function serializeSettings(settings: PmSettings, options: SerializeSettingsOptions = {}): string {\n const baseSettings = buildSerializeBaseSettings(settings);\n const governance = resolveGovernanceKnobs(baseSettings);\n const normalizedSchema = normalizeRuntimeSchemaSettings(baseSettings.schema);\n const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(baseSettings, options.persist_source);\n const normalizedSettings = buildNormalizedSettingsForSerialization(\n baseSettings,\n governance,\n normalizedSchema,\n persistedFileBackedSections,\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 \"checkpoints\",\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 orderSerializedSettingsSections(ordered);\n\n return `${JSON.stringify(ordered, null, 2)}\\n`;\n}\n\n/**\n * Implements read settings with metadata for the public runtime surface of this module.\n */\nexport async function readSettingsWithMetadata(pmRoot: string): Promise<SettingsReadResult> {\n const settingsPath = getSettingsPath(pmRoot);\n let trackedPathsForFailure: string[] = [settingsPath];\n await runActiveOnReadHooks({\n path: settingsPath,\n scope: \"project\",\n });\n\n const cachedResult = getSettingsReadCacheEntry<SettingsReadResult>(pmRoot);\n if (cachedResult) {\n const currentSignatures = await collectSettingsReadCacheSignatures(cachedResult.tracked_paths);\n if (settingsReadCacheSignaturesEqual(currentSignatures, cachedResult.signatures)) {\n return cloneSettingsReadResult(cachedResult.value);\n }\n }\n\n const settingsOnlySignatures = await collectSettingsReadCacheSignatures([settingsPath]);\n const raw = await readFileIfExists(settingsPath);\n if (raw === null) {\n const fallback = buildFallbackSettingsReadResult();\n await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsOnlySignatures, [settingsPath]);\n return fallback;\n }\n\n const settingsSignaturesAfterRead = await collectSettingsReadCacheSignatures([settingsPath]);\n if (!settingsReadCacheSignaturesEqual(settingsOnlySignatures, settingsSignaturesAfterRead)) {\n clearSettingsReadCache(pmRoot);\n return readSettingsWithMetadata(pmRoot);\n }\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw) as unknown;\n } catch {\n const fallback = buildFallbackSettingsReadResult(\"settings_read_invalid_json\");\n await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);\n return fallback;\n }\n\n const validated = validateSettings(parsed);\n if (!validated.success) {\n const fallback = buildFallbackSettingsReadResult(\"settings_read_invalid_schema\");\n await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);\n return fallback;\n }\n\n try {\n const mergedSettings = mergeSettings(validated.data);\n const trackedPaths = resolveSettingsReadTrackedPaths(pmRoot, mergedSettings.schema, settingsPath);\n trackedPathsForFailure = trackedPaths;\n const signaturesBeforeSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);\n const schemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, mergedSettings.schema);\n const loadedSchemaSections = await loadRuntimeSchemaFromOptionalFiles(pmRoot, mergedSettings.schema);\n const signaturesAfterSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);\n const settings: PmSettings = {\n ...mergedSettings,\n item_types: {\n definitions: normalizeItemTypeDefinitions([\n ...mergedSettings.item_types.definitions,\n ...arrayOrEmpty<ItemTypeDefinition>(loadedSchemaSections.type_definitions_from_file),\n ]),\n },\n schema: loadedSchemaSections.schema,\n };\n attachSettingsPersistSourceSnapshot(settings, buildSettingsPersistSourceSnapshot(validated.data, settings));\n const result: SettingsReadResult = {\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 if (schemaScaffold.created_paths.length === 0) {\n if (!settingsReadCacheSignaturesEqual(signaturesBeforeSchemaLoad, signaturesAfterSchemaLoad)) {\n clearSettingsReadCache(pmRoot);\n } else {\n setSettingsReadCacheEntry(pmRoot, {\n tracked_paths: trackedPaths,\n signatures: signaturesAfterSchemaLoad,\n value: cloneSettingsReadResult(result),\n });\n }\n } else {\n // Bootstrap warnings are intentionally one-shot and should not be replayed from cache.\n clearSettingsReadCache(pmRoot);\n }\n return result;\n } catch {\n const fallback = buildFallbackSettingsReadResult(\"settings_read_merge_failed\");\n await cacheSettingsReadResultSafe(pmRoot, trackedPathsForFailure, fallback);\n return fallback;\n }\n}\n\n/**\n * Implements read settings for the public runtime surface of this module.\n */\nexport async function readSettings(pmRoot: string): Promise<PmSettings> {\n return (await readSettingsWithMetadata(pmRoot)).settings;\n}\n\n/**\n * Implements write settings for the public runtime surface of this module.\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 try {\n await runActiveOnWriteHooks({\n path: settingsPath,\n scope: \"project\",\n op,\n });\n } finally {\n clearSettingsReadCache(pmRoot);\n }\n}\n\nexport const settingsStoreTestOnly = {\n hasExplicitItemFormat,\n buildSettingsPersistSourceSnapshot,\n cacheSettingsReadResultIfStable,\n cacheSettingsReadResultSafe,\n mergeSettings,\n normalizeExtensionPolicySettings,\n normalizeExtensionPolicyOverride,\n normalizeExtensionPolicyOverrides,\n normalizeExtensionPolicyMode,\n normalizePmMaxVersionExceededModeSetting,\n normalizeExtensionSandboxProfile,\n normalizeExtensionTrustMode,\n normalizeLowerStringList,\n normalizeStringList,\n valueOrDefault,\n arrayOrEmpty,\n normalizeValidationPatternList,\n normalizeValidationMetadataRequiredFields,\n resolveSettingsReadTrackedPaths,\n resolvePersistedFileBackedSchemaSections,\n selectedSettingsReadCacheSignaturesEqual,\n};\n"],"names":["baseline","requireCloseReason","pmMaxVersionExceededMode"],"mappings":"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","debugId":"d4ede2fb-7525-501d-a1f0-77276019f794"}