@unbrained/pm-cli 2026.7.3 → 2026.7.5

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 (663) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/CONTRIBUTING.md +36 -7
  3. package/README.md +1 -9
  4. package/dist/cli/commands/calendar.d.ts +3 -2
  5. package/dist/cli/commands/calendar.js +5 -5
  6. package/dist/cli/commands/calendar.js.map +1 -1
  7. package/dist/cli/commands/claim.js +17 -3
  8. package/dist/cli/commands/claim.js.map +1 -1
  9. package/dist/cli/commands/close.js +34 -16
  10. package/dist/cli/commands/close.js.map +1 -1
  11. package/dist/cli/commands/completion.js +231 -345
  12. package/dist/cli/commands/completion.js.map +1 -1
  13. package/dist/cli/commands/copy.js +3 -3
  14. package/dist/cli/commands/copy.js.map +1 -1
  15. package/dist/cli/commands/create.d.ts +9 -59
  16. package/dist/cli/commands/create.js +162 -132
  17. package/dist/cli/commands/create.js.map +1 -1
  18. package/dist/cli/commands/extension/bundled-catalog.d.ts +6 -0
  19. package/dist/cli/commands/extension/bundled-catalog.js +15 -2
  20. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  21. package/dist/cli/commands/extension/describe.d.ts +6 -3
  22. package/dist/cli/commands/extension/describe.js +21 -9
  23. package/dist/cli/commands/extension/describe.js.map +1 -1
  24. package/dist/cli/commands/extension/doctor.d.ts +0 -4
  25. package/dist/cli/commands/extension/doctor.js +3 -3
  26. package/dist/cli/commands/extension/doctor.js.map +1 -1
  27. package/dist/cli/commands/extension/scaffold.js +59 -133
  28. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  29. package/dist/cli/commands/extension/shared.d.ts +2 -7
  30. package/dist/cli/commands/extension/shared.js +4 -10
  31. package/dist/cli/commands/extension/shared.js.map +1 -1
  32. package/dist/cli/commands/extension.js +33 -8
  33. package/dist/cli/commands/extension.js.map +1 -1
  34. package/dist/cli/commands/files.js +3 -3
  35. package/dist/cli/commands/files.js.map +1 -1
  36. package/dist/cli/commands/history-compact.js +9 -18
  37. package/dist/cli/commands/history-compact.js.map +1 -1
  38. package/dist/cli/commands/history-repair.js +9 -19
  39. package/dist/cli/commands/history-repair.js.map +1 -1
  40. package/dist/cli/commands/init-agent-guidance.js +133 -97
  41. package/dist/cli/commands/init-agent-guidance.js.map +1 -1
  42. package/dist/cli/commands/init.js +3 -3
  43. package/dist/cli/commands/init.js.map +1 -1
  44. package/dist/cli/commands/item-filter-options.d.ts +2 -0
  45. package/dist/cli/commands/item-filter-options.js +2 -2
  46. package/dist/cli/commands/item-filter-options.js.map +1 -1
  47. package/dist/cli/commands/mutation-command-options.d.ts +78 -0
  48. package/dist/cli/commands/mutation-command-options.js +10 -0
  49. package/dist/cli/commands/mutation-command-options.js.map +1 -0
  50. package/dist/cli/commands/profile.js +3 -3
  51. package/dist/cli/commands/profile.js.map +1 -1
  52. package/dist/cli/commands/reindex.js +4 -4
  53. package/dist/cli/commands/reindex.js.map +1 -1
  54. package/dist/cli/commands/restore.js +3 -3
  55. package/dist/cli/commands/restore.js.map +1 -1
  56. package/dist/cli/commands/schema.js +10 -10
  57. package/dist/cli/commands/schema.js.map +1 -1
  58. package/dist/cli/commands/shared-unset-fields.d.ts +19 -0
  59. package/dist/cli/commands/shared-unset-fields.js +31 -2
  60. package/dist/cli/commands/shared-unset-fields.js.map +1 -1
  61. package/dist/cli/commands/update.d.ts +2 -59
  62. package/dist/cli/commands/update.js +29 -98
  63. package/dist/cli/commands/update.js.map +1 -1
  64. package/dist/cli/commands/validate.js +4 -4
  65. package/dist/cli/commands/validate.js.map +1 -1
  66. package/dist/cli/error-guidance.js +107 -7
  67. package/dist/cli/error-guidance.js.map +1 -1
  68. package/dist/cli/main.d.ts +6 -2
  69. package/dist/cli/main.js +33 -12
  70. package/dist/cli/main.js.map +1 -1
  71. package/dist/cli/register-list-query.js +4 -2
  72. package/dist/cli/register-list-query.js.map +1 -1
  73. package/dist/cli/registration-helpers.js +12 -6
  74. package/dist/cli/registration-helpers.js.map +1 -1
  75. package/dist/cli-bundle/chunks/activity-4XQIDNM5.js +18 -0
  76. package/dist/cli-bundle/chunks/{activity-5YWLSPGE.js → activity-YKAKZTZ4.js} +11 -9
  77. package/dist/cli-bundle/chunks/{aggregate-2V2M3JZU.js → aggregate-EQX2RGB7.js} +16 -13
  78. package/dist/cli-bundle/chunks/{aggregate-2V2M3JZU.js.map → aggregate-EQX2RGB7.js.map} +1 -1
  79. package/dist/cli-bundle/chunks/{aggregate-EK7DXML7.js → aggregate-PEGZGJXD.js} +18 -15
  80. package/dist/cli-bundle/chunks/{aggregate-EK7DXML7.js.map → aggregate-PEGZGJXD.js.map} +1 -1
  81. package/dist/cli-bundle/chunks/{append-EZESUVJT.js → append-CZGUZ45Q.js} +11 -8
  82. package/dist/cli-bundle/chunks/{append-EZESUVJT.js.map → append-CZGUZ45Q.js.map} +1 -1
  83. package/dist/cli-bundle/chunks/{append-JFG4WQMG.js → append-NSQBCXZJ.js} +13 -10
  84. package/dist/cli-bundle/chunks/{append-JFG4WQMG.js.map → append-NSQBCXZJ.js.map} +1 -1
  85. package/dist/cli-bundle/chunks/chunk-3JZNEQBA.js +1413 -0
  86. package/dist/cli-bundle/chunks/chunk-3JZNEQBA.js.map +1 -0
  87. package/dist/cli-bundle/chunks/{chunk-NOIEVOK5.js → chunk-3PL6LEKP.js} +16 -14
  88. package/dist/cli-bundle/chunks/{chunk-NOIEVOK5.js.map → chunk-3PL6LEKP.js.map} +1 -1
  89. package/dist/cli-bundle/chunks/{chunk-6KRFL33E.js → chunk-3U3VEWK6.js} +277 -119
  90. package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js.map +7 -0
  91. package/dist/cli-bundle/chunks/{chunk-Z5F6XZXE.js → chunk-3Y4OESPP.js} +14 -12
  92. package/dist/cli-bundle/chunks/{chunk-Z5F6XZXE.js.map → chunk-3Y4OESPP.js.map} +1 -1
  93. package/dist/cli-bundle/chunks/{chunk-HB4FAT3O.js → chunk-4LRVSBO6.js} +21 -15
  94. package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js.map +7 -0
  95. package/dist/cli-bundle/chunks/{chunk-T3P7PMZP.js → chunk-4OFLJHX6.js} +7 -5
  96. package/dist/cli-bundle/chunks/{chunk-T3P7PMZP.js.map → chunk-4OFLJHX6.js.map} +1 -1
  97. package/dist/cli-bundle/chunks/{chunk-JPATY4SE.js → chunk-4QQ6PM7M.js} +45 -557
  98. package/dist/cli-bundle/chunks/chunk-4QQ6PM7M.js.map +7 -0
  99. package/dist/cli-bundle/chunks/{chunk-6CDCWKSX.js → chunk-53BTLLAF.js} +68 -331
  100. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js.map +1 -0
  101. package/dist/cli-bundle/chunks/{chunk-4WB6S4YX.js → chunk-57C2RLW5.js} +277 -112
  102. package/dist/cli-bundle/chunks/chunk-57C2RLW5.js.map +1 -0
  103. package/dist/cli-bundle/chunks/{chunk-PULUSQAV.js → chunk-5B3X4Y22.js} +52 -63
  104. package/dist/cli-bundle/chunks/{chunk-PULUSQAV.js.map → chunk-5B3X4Y22.js.map} +3 -3
  105. package/dist/cli-bundle/chunks/{chunk-7LYO6S5A.js → chunk-5J2XPTAD.js} +10 -8
  106. package/dist/cli-bundle/chunks/{chunk-7LYO6S5A.js.map → chunk-5J2XPTAD.js.map} +1 -1
  107. package/dist/cli-bundle/chunks/{chunk-QCDTQCMW.js → chunk-5JE6SMYS.js} +2 -2
  108. package/dist/cli-bundle/chunks/{chunk-MHRS5FUX.js → chunk-5JZ7APJU.js} +153 -108
  109. package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js.map +1 -0
  110. package/dist/cli-bundle/chunks/{chunk-KHVGM5CS.js → chunk-5VVUKE3U.js} +544 -2368
  111. package/dist/cli-bundle/chunks/chunk-5VVUKE3U.js.map +7 -0
  112. package/dist/cli-bundle/chunks/{chunk-RJH5VQHW.js → chunk-75U6M5ZD.js} +22 -16
  113. package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js.map +1 -0
  114. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +23 -0
  115. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-ZFTKYWIF.js → chunk-7EQNAZX2.js} +14 -12
  117. package/dist/cli-bundle/chunks/{chunk-ZFTKYWIF.js.map → chunk-7EQNAZX2.js.map} +1 -1
  118. package/dist/cli-bundle/chunks/{chunk-Z4DGFQDH.js → chunk-7LQKVMPA.js} +14 -4
  119. package/dist/cli-bundle/chunks/chunk-7LQKVMPA.js.map +1 -0
  120. package/dist/cli-bundle/chunks/{chunk-ERG65A2L.js → chunk-7MDXZAZS.js} +29 -7
  121. package/dist/cli-bundle/chunks/chunk-7MDXZAZS.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-OGLGI22K.js → chunk-7QH7DHUB.js} +74 -8
  123. package/dist/cli-bundle/chunks/chunk-7QH7DHUB.js.map +1 -0
  124. package/dist/cli-bundle/chunks/{chunk-JBZ2NTKX.js → chunk-7WYXBPYQ.js} +7 -5
  125. package/dist/cli-bundle/chunks/{chunk-JBZ2NTKX.js.map → chunk-7WYXBPYQ.js.map} +1 -1
  126. package/dist/cli-bundle/chunks/chunk-AAEQMOC6.js +150 -0
  127. package/dist/cli-bundle/chunks/chunk-AAEQMOC6.js.map +1 -0
  128. package/dist/cli-bundle/chunks/{chunk-K5DT2YKM.js → chunk-ABRA3BHY.js} +18 -16
  129. package/dist/cli-bundle/chunks/{chunk-K5DT2YKM.js.map → chunk-ABRA3BHY.js.map} +2 -2
  130. package/dist/cli-bundle/chunks/chunk-B5KXLBSJ.js +47 -0
  131. package/dist/cli-bundle/chunks/chunk-B5KXLBSJ.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-7CLLC75T.js → chunk-BFVHCAOO.js} +9 -7
  133. package/dist/cli-bundle/chunks/{chunk-7CLLC75T.js.map → chunk-BFVHCAOO.js.map} +1 -1
  134. package/dist/cli-bundle/chunks/{chunk-MDHWWBNZ.js → chunk-BVEUCSH2.js} +6 -4
  135. package/dist/cli-bundle/chunks/{chunk-MDHWWBNZ.js.map → chunk-BVEUCSH2.js.map} +1 -1
  136. package/dist/cli-bundle/chunks/chunk-C3PMDWGX.js +160 -0
  137. package/dist/cli-bundle/chunks/chunk-C3PMDWGX.js.map +7 -0
  138. package/dist/cli-bundle/chunks/{chunk-T4XBKJ3F.js → chunk-D3UCE7RW.js} +7 -5
  139. package/dist/cli-bundle/chunks/{chunk-T4XBKJ3F.js.map → chunk-D3UCE7RW.js.map} +1 -1
  140. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js +275 -0
  141. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js.map +7 -0
  142. package/dist/cli-bundle/chunks/chunk-DLQ4ZTCU.js +634 -0
  143. package/dist/cli-bundle/chunks/chunk-DLQ4ZTCU.js.map +7 -0
  144. package/dist/cli-bundle/chunks/{chunk-AJHYQCBJ.js → chunk-DRBV5UC2.js} +8 -23
  145. package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js.map +7 -0
  146. package/dist/cli-bundle/chunks/{chunk-NZ7QIUP5.js → chunk-E2FUG6GD.js} +67 -351
  147. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js.map +7 -0
  148. package/dist/cli-bundle/chunks/{chunk-4PFVUUYV.js → chunk-EEY54JMF.js} +5 -3
  149. package/dist/cli-bundle/chunks/{chunk-4PFVUUYV.js.map → chunk-EEY54JMF.js.map} +1 -1
  150. package/dist/cli-bundle/chunks/{chunk-3W2HJKJX.js → chunk-EZFKWSC7.js} +94 -16
  151. package/dist/cli-bundle/chunks/{chunk-3W2HJKJX.js.map → chunk-EZFKWSC7.js.map} +4 -4
  152. package/dist/cli-bundle/chunks/{chunk-F6WNBITZ.js → chunk-FDBARR33.js} +40 -19
  153. package/dist/cli-bundle/chunks/{chunk-F6WNBITZ.js.map → chunk-FDBARR33.js.map} +3 -3
  154. package/dist/cli-bundle/chunks/{chunk-WRYERRZX.js → chunk-FGQKEDE4.js} +36 -12
  155. package/dist/cli-bundle/chunks/chunk-FGQKEDE4.js.map +7 -0
  156. package/dist/cli-bundle/chunks/{chunk-CXR3CMBQ.js → chunk-FJRKQREY.js} +10 -18
  157. package/dist/cli-bundle/chunks/chunk-FJRKQREY.js.map +1 -0
  158. package/dist/cli-bundle/chunks/{chunk-QNNQAAZ5.js → chunk-FUM6UMY4.js} +10 -11
  159. package/dist/cli-bundle/chunks/{chunk-QNNQAAZ5.js.map → chunk-FUM6UMY4.js.map} +1 -1
  160. package/dist/cli-bundle/chunks/{chunk-TQ6AX5SQ.js → chunk-GIWXVMZ3.js} +140 -334
  161. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js.map +7 -0
  162. package/dist/cli-bundle/chunks/{chunk-FZJM2TXF.js → chunk-HBYZDSK5.js} +19 -17
  163. package/dist/cli-bundle/chunks/{chunk-FZJM2TXF.js.map → chunk-HBYZDSK5.js.map} +1 -1
  164. package/dist/cli-bundle/chunks/{chunk-5IZUBZBR.js → chunk-HJE4JTKQ.js} +6 -4
  165. package/dist/cli-bundle/chunks/{chunk-5IZUBZBR.js.map → chunk-HJE4JTKQ.js.map} +1 -1
  166. package/dist/cli-bundle/chunks/{chunk-YSDFIY7N.js → chunk-HK72NWAD.js} +89 -18
  167. package/dist/cli-bundle/chunks/chunk-HK72NWAD.js.map +1 -0
  168. package/dist/cli-bundle/chunks/{chunk-LBE5QFMZ.js → chunk-IJ6CO3JV.js} +41 -20
  169. package/dist/cli-bundle/chunks/{chunk-LBE5QFMZ.js.map → chunk-IJ6CO3JV.js.map} +1 -1
  170. package/dist/cli-bundle/chunks/{chunk-YF746GTH.js → chunk-JFCVQXZX.js} +139 -326
  171. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js.map +1 -0
  172. package/dist/cli-bundle/chunks/{chunk-A3OQ7TFW.js → chunk-JLA7EVYV.js} +12 -10
  173. package/dist/cli-bundle/chunks/{chunk-A3OQ7TFW.js.map → chunk-JLA7EVYV.js.map} +1 -1
  174. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js +76 -0
  175. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js.map +1 -0
  176. package/dist/cli-bundle/chunks/{chunk-32IUNTG4.js → chunk-K3AGVXSF.js} +37 -13
  177. package/dist/cli-bundle/chunks/chunk-K3AGVXSF.js.map +1 -0
  178. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js +79 -0
  179. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js.map +7 -0
  180. package/dist/cli-bundle/chunks/chunk-KGHH652T.js +44 -0
  181. package/dist/cli-bundle/chunks/chunk-KGHH652T.js.map +1 -0
  182. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js +915 -0
  183. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js.map +1 -0
  184. package/dist/cli-bundle/chunks/{chunk-BI4R7HI2.js → chunk-KLG4ZULO.js} +12 -10
  185. package/dist/cli-bundle/chunks/{chunk-BI4R7HI2.js.map → chunk-KLG4ZULO.js.map} +1 -1
  186. package/dist/cli-bundle/chunks/{chunk-XRYSCRZR.js → chunk-LEKT4K7I.js} +74 -8
  187. package/dist/cli-bundle/chunks/chunk-LEKT4K7I.js.map +7 -0
  188. package/dist/cli-bundle/chunks/{contracts-X74F2GSM.js → chunk-MNZ7DRNC.js} +13 -10
  189. package/dist/cli-bundle/chunks/{contracts-X74F2GSM.js.map → chunk-MNZ7DRNC.js.map} +1 -1
  190. package/dist/cli-bundle/chunks/{chunk-4EXFFP7T.js → chunk-MTTXDAK4.js} +206 -147
  191. package/dist/cli-bundle/chunks/chunk-MTTXDAK4.js.map +7 -0
  192. package/dist/cli-bundle/chunks/{chunk-KEZOIPCR.js → chunk-MZ7VNEVY.js} +8 -6
  193. package/dist/cli-bundle/chunks/{chunk-KEZOIPCR.js.map → chunk-MZ7VNEVY.js.map} +1 -1
  194. package/dist/cli-bundle/chunks/{chunk-5JIWFWOZ.js → chunk-N6DNM2FA.js} +2 -2
  195. package/dist/cli-bundle/chunks/{test-runs-QIR5MJPL.js → chunk-N7X4WP6L.js} +11 -8
  196. package/dist/cli-bundle/chunks/{test-runs-QIR5MJPL.js.map → chunk-N7X4WP6L.js.map} +1 -1
  197. package/dist/cli-bundle/chunks/{chunk-U3S2B7TA.js → chunk-NBFCNJ7Q.js} +206 -147
  198. package/dist/cli-bundle/chunks/chunk-NBFCNJ7Q.js.map +1 -0
  199. package/dist/cli-bundle/chunks/{chunk-GVJE5T7Q.js → chunk-NER3KUUS.js} +2 -2
  200. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +20 -0
  201. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +1 -0
  202. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js +918 -0
  203. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js.map +7 -0
  204. package/dist/cli-bundle/chunks/{chunk-YPWUSH72.js → chunk-OESSOFJ4.js} +14 -12
  205. package/dist/cli-bundle/chunks/{chunk-YPWUSH72.js.map → chunk-OESSOFJ4.js.map} +1 -1
  206. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js +238 -0
  207. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js.map +1 -0
  208. package/dist/cli-bundle/chunks/{chunk-FUFFPIYA.js → chunk-OWTIRHX4.js} +28 -6
  209. package/dist/cli-bundle/chunks/chunk-OWTIRHX4.js.map +7 -0
  210. package/dist/cli-bundle/chunks/{chunk-Z7RPDF2Y.js → chunk-P3VRG72Q.js} +10 -8
  211. package/dist/cli-bundle/chunks/{chunk-Z7RPDF2Y.js.map → chunk-P3VRG72Q.js.map} +1 -1
  212. package/dist/cli-bundle/chunks/chunk-P5TFTLWW.js +1423 -0
  213. package/dist/cli-bundle/chunks/chunk-P5TFTLWW.js.map +7 -0
  214. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js +1977 -0
  215. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js.map +7 -0
  216. package/dist/cli-bundle/chunks/{chunk-MEZZZBYX.js → chunk-PDXT6Q55.js} +2 -2
  217. package/dist/cli-bundle/chunks/{chunk-EJ2OCBHF.js → chunk-PJ3A56YF.js} +46 -537
  218. package/dist/cli-bundle/chunks/chunk-PJ3A56YF.js.map +1 -0
  219. package/dist/cli-bundle/chunks/{test-runs-MG5VIGSK.js → chunk-PPAJG4GB.js} +13 -10
  220. package/dist/cli-bundle/chunks/{test-runs-MG5VIGSK.js.map → chunk-PPAJG4GB.js.map} +1 -1
  221. package/dist/cli-bundle/chunks/{chunk-572FKBRL.js → chunk-PPE4YUQM.js} +1725 -1663
  222. package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js.map +1 -0
  223. package/dist/cli-bundle/chunks/{chunk-ER4ME5U2.js → chunk-QHZO65XW.js} +8 -6
  224. package/dist/cli-bundle/chunks/{chunk-ER4ME5U2.js.map → chunk-QHZO65XW.js.map} +1 -1
  225. package/dist/cli-bundle/chunks/{chunk-T6AXEBOP.js → chunk-R3ZBLGTC.js} +9 -10
  226. package/dist/cli-bundle/chunks/{chunk-T6AXEBOP.js.map → chunk-R3ZBLGTC.js.map} +2 -2
  227. package/dist/cli-bundle/chunks/chunk-RCT3YJOK.js +624 -0
  228. package/dist/cli-bundle/chunks/chunk-RCT3YJOK.js.map +1 -0
  229. package/dist/cli-bundle/chunks/{chunk-YVKZ3ANP.js → chunk-RX3HQSYG.js} +2 -2
  230. package/dist/cli-bundle/chunks/{chunk-LOWVNZBZ.js → chunk-S4APD35C.js} +4 -4
  231. package/dist/cli-bundle/chunks/{chunk-FH2H3CBD.js → chunk-S5AYOUT5.js} +8 -6
  232. package/dist/cli-bundle/chunks/{chunk-FH2H3CBD.js.map → chunk-S5AYOUT5.js.map} +1 -1
  233. package/dist/cli-bundle/chunks/{chunk-SYE6WMV6.js → chunk-STPSZ2XY.js} +19 -744
  234. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js.map +1 -0
  235. package/dist/cli-bundle/chunks/{chunk-6NYJGMTY.js → chunk-T35XLYZF.js} +2 -2
  236. package/dist/cli-bundle/chunks/{chunk-P5L7Z2O6.js → chunk-T3ABIMGW.js} +5 -3
  237. package/dist/cli-bundle/chunks/{chunk-P5L7Z2O6.js.map → chunk-T3ABIMGW.js.map} +1 -1
  238. package/dist/cli-bundle/chunks/{chunk-SU2E4AWU.js → chunk-T3F4DF23.js} +16 -14
  239. package/dist/cli-bundle/chunks/{chunk-SU2E4AWU.js.map → chunk-T3F4DF23.js.map} +1 -1
  240. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js +272 -0
  241. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js.map +1 -0
  242. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js +5354 -0
  243. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js.map +1 -0
  244. package/dist/cli-bundle/chunks/{chunk-ECU6MMTQ.js → chunk-TSPKZRRW.js} +50 -116
  245. package/dist/cli-bundle/chunks/chunk-TSPKZRRW.js.map +1 -0
  246. package/dist/cli-bundle/chunks/{chunk-BE2SR6QL.js → chunk-TT42JUMF.js} +4 -4
  247. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js +165 -0
  248. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js.map +1 -0
  249. package/dist/cli-bundle/chunks/{chunk-RAHINBVP.js → chunk-UI5BJ6DO.js} +1339 -1277
  250. package/dist/cli-bundle/chunks/chunk-UI5BJ6DO.js.map +7 -0
  251. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js +1932 -0
  252. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js.map +1 -0
  253. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js +175 -0
  254. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js.map +7 -0
  255. package/dist/cli-bundle/chunks/{chunk-B4O5S7I3.js → chunk-VUHVWI4C.js} +13 -3
  256. package/dist/cli-bundle/chunks/chunk-VUHVWI4C.js.map +7 -0
  257. package/dist/cli-bundle/chunks/{contracts-L6ODXNUM.js → chunk-VZIYHZDX.js} +11 -8
  258. package/dist/cli-bundle/chunks/{contracts-L6ODXNUM.js.map → chunk-VZIYHZDX.js.map} +1 -1
  259. package/dist/cli-bundle/chunks/{chunk-U5TR4N7J.js → chunk-WISPVC2E.js} +9 -7
  260. package/dist/cli-bundle/chunks/{chunk-U5TR4N7J.js.map → chunk-WISPVC2E.js.map} +1 -1
  261. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js +5434 -0
  262. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js.map +7 -0
  263. package/dist/cli-bundle/chunks/{chunk-HQAF23Q2.js → chunk-XQCG2JGW.js} +17 -749
  264. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js.map +7 -0
  265. package/dist/cli-bundle/chunks/chunk-Y76TWC45.js +550 -0
  266. package/dist/cli-bundle/chunks/chunk-Y76TWC45.js.map +7 -0
  267. package/dist/cli-bundle/chunks/{chunk-L4SLHV6G.js → chunk-YD5FML7K.js} +464 -2239
  268. package/dist/cli-bundle/chunks/chunk-YD5FML7K.js.map +1 -0
  269. package/dist/cli-bundle/chunks/{chunk-YSGTMDWC.js → chunk-YFIE7YK6.js} +7 -5
  270. package/dist/cli-bundle/chunks/{chunk-YSGTMDWC.js.map → chunk-YFIE7YK6.js.map} +1 -1
  271. package/dist/cli-bundle/chunks/{chunk-WYOIIFSE.js → chunk-YMABYTNG.js} +49 -115
  272. package/dist/cli-bundle/chunks/chunk-YMABYTNG.js.map +7 -0
  273. package/dist/cli-bundle/chunks/{chunk-SU3TB4NS.js → chunk-YOF5VPKM.js} +2 -2
  274. package/dist/cli-bundle/chunks/{chunk-WJA3PXW7.js → chunk-YPPVU5GX.js} +11 -9
  275. package/dist/cli-bundle/chunks/{chunk-WJA3PXW7.js.map → chunk-YPPVU5GX.js.map} +1 -1
  276. package/dist/cli-bundle/chunks/{chunk-GUYNUXQT.js → chunk-YQMMMONE.js} +6 -4
  277. package/dist/cli-bundle/chunks/{chunk-GUYNUXQT.js.map → chunk-YQMMMONE.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{chunk-AIKU3IIL.js → chunk-YSAH5FY5.js} +16 -14
  279. package/dist/cli-bundle/chunks/{chunk-AIKU3IIL.js.map → chunk-YSAH5FY5.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/{chunk-KS6ATO47.js → chunk-YZIR4R3U.js} +153 -108
  281. package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js.map +7 -0
  282. package/dist/cli-bundle/chunks/{chunk-LCWQP6NM.js → chunk-Z2CRRZYF.js} +14 -12
  283. package/dist/cli-bundle/chunks/{chunk-LCWQP6NM.js.map → chunk-Z2CRRZYF.js.map} +1 -1
  284. package/dist/cli-bundle/chunks/chunk-ZAHXPXVY.js +533 -0
  285. package/dist/cli-bundle/chunks/chunk-ZAHXPXVY.js.map +1 -0
  286. package/dist/cli-bundle/chunks/{chunk-UMNQZS4H.js → chunk-ZCJAA3JK.js} +8 -6
  287. package/dist/cli-bundle/chunks/{chunk-UMNQZS4H.js.map → chunk-ZCJAA3JK.js.map} +1 -1
  288. package/dist/cli-bundle/chunks/{chunk-EQURFOMH.js → chunk-ZD34OFFQ.js} +5 -3
  289. package/dist/cli-bundle/chunks/{chunk-EQURFOMH.js.map → chunk-ZD34OFFQ.js.map} +1 -1
  290. package/dist/cli-bundle/chunks/{chunk-67LARBDL.js → chunk-ZJB3UV5U.js} +54 -58
  291. package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js.map +1 -0
  292. package/dist/cli-bundle/chunks/{chunk-5E7N4T2Z.js → chunk-ZMD35NYG.js} +2 -2
  293. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js +241 -0
  294. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js.map +7 -0
  295. package/dist/cli-bundle/chunks/{claim-5GU7OE67.js → claim-4DROPSIS.js} +30 -13
  296. package/dist/cli-bundle/chunks/claim-4DROPSIS.js.map +1 -0
  297. package/dist/cli-bundle/chunks/{claim-2BGBGSVI.js → claim-VX54TV5U.js} +29 -12
  298. package/dist/cli-bundle/chunks/claim-VX54TV5U.js.map +7 -0
  299. package/dist/cli-bundle/chunks/{close-AFVKPR57.js → close-3YRR3XY6.js} +9 -7
  300. package/dist/cli-bundle/chunks/close-OB2Y4QP5.js +16 -0
  301. package/dist/cli-bundle/chunks/{close-many-JKUJMHLG.js → close-many-AP4MWU36.js} +21 -18
  302. package/dist/cli-bundle/chunks/{close-many-JKUJMHLG.js.map → close-many-AP4MWU36.js.map} +1 -1
  303. package/dist/cli-bundle/chunks/{close-many-7KLOSYLP.js → close-many-OMZIGZB4.js} +19 -16
  304. package/dist/cli-bundle/chunks/{close-many-7KLOSYLP.js.map → close-many-OMZIGZB4.js.map} +1 -1
  305. package/dist/cli-bundle/chunks/{comments-DNWHEBOS.js → comments-MIW5MZOX.js} +12 -9
  306. package/dist/cli-bundle/chunks/{comments-DNWHEBOS.js.map → comments-MIW5MZOX.js.map} +1 -1
  307. package/dist/cli-bundle/chunks/{comments-RW23R3VE.js → comments-SAG5LSKL.js} +14 -11
  308. package/dist/cli-bundle/chunks/{comments-RW23R3VE.js.map → comments-SAG5LSKL.js.map} +1 -1
  309. package/dist/cli-bundle/chunks/{config-AUM5WBYA.js → config-DJJKZB5R.js} +20 -17
  310. package/dist/cli-bundle/chunks/{config-AUM5WBYA.js.map → config-DJJKZB5R.js.map} +1 -1
  311. package/dist/cli-bundle/chunks/{config-OZWSA2NP.js → config-V57QD47V.js} +22 -19
  312. package/dist/cli-bundle/chunks/{config-OZWSA2NP.js.map → config-V57QD47V.js.map} +1 -1
  313. package/dist/cli-bundle/chunks/{context-PKCEHQY3.js → context-4OQGIPSO.js} +15 -12
  314. package/dist/cli-bundle/chunks/{context-OYXRGY7S.js → context-WLA6IAWE.js} +15 -12
  315. package/dist/cli-bundle/chunks/contracts-HXJLKCRI.js +12 -0
  316. package/dist/cli-bundle/chunks/contracts-OJEXMKVW.js +16 -0
  317. package/dist/cli-bundle/chunks/{copy-I4NCLBR4.js → copy-LEE6P6EM.js} +17 -14
  318. package/dist/cli-bundle/chunks/{copy-I4NCLBR4.js.map → copy-LEE6P6EM.js.map} +2 -2
  319. package/dist/cli-bundle/chunks/{copy-6XOR3HKN.js → copy-OTJOWFL6.js} +18 -15
  320. package/dist/cli-bundle/chunks/{copy-6XOR3HKN.js.map → copy-OTJOWFL6.js.map} +1 -1
  321. package/dist/cli-bundle/chunks/create-WKOZKPQR.js +30 -0
  322. package/dist/cli-bundle/chunks/{create-PM45M6PE.js → create-XWWQFQ6S.js} +14 -12
  323. package/dist/cli-bundle/chunks/{delete-7YXHYG67.js → delete-62JQTYT4.js} +10 -7
  324. package/dist/cli-bundle/chunks/{delete-7YXHYG67.js.map → delete-62JQTYT4.js.map} +1 -1
  325. package/dist/cli-bundle/chunks/{delete-LPISP43T.js → delete-HQKGRNRZ.js} +12 -9
  326. package/dist/cli-bundle/chunks/{delete-LPISP43T.js.map → delete-HQKGRNRZ.js.map} +1 -1
  327. package/dist/cli-bundle/chunks/{deps-WATKQDE3.js → deps-55FTG6Z5.js} +12 -9
  328. package/dist/cli-bundle/chunks/{deps-WATKQDE3.js.map → deps-55FTG6Z5.js.map} +1 -1
  329. package/dist/cli-bundle/chunks/{deps-N2T26FME.js → deps-L2FPIAD3.js} +10 -7
  330. package/dist/cli-bundle/chunks/{deps-N2T26FME.js.map → deps-L2FPIAD3.js.map} +1 -1
  331. package/dist/cli-bundle/chunks/{docs-6LQ3GLM7.js → docs-6CRCSVKK.js} +11 -9
  332. package/dist/cli-bundle/chunks/{docs-6LQ3GLM7.js.map → docs-6CRCSVKK.js.map} +1 -1
  333. package/dist/cli-bundle/chunks/{docs-Z3X6JZLT.js → docs-S6UTOTO5.js} +9 -7
  334. package/dist/cli-bundle/chunks/{docs-Z3X6JZLT.js.map → docs-S6UTOTO5.js.map} +1 -1
  335. package/dist/cli-bundle/chunks/{eval-6DCLG52D.js → eval-N6UHFWVO.js} +15 -11
  336. package/dist/cli-bundle/chunks/{eval-6DCLG52D.js.map → eval-N6UHFWVO.js.map} +1 -1
  337. package/dist/cli-bundle/chunks/{eval-Y3ZCUTHK.js → eval-PHOTWYHI.js} +17 -13
  338. package/dist/cli-bundle/chunks/{eval-Y3ZCUTHK.js.map → eval-PHOTWYHI.js.map} +1 -1
  339. package/dist/cli-bundle/chunks/{extension-BNINIMT7.js → extension-NBAH62ML.js} +17 -11
  340. package/dist/cli-bundle/chunks/{extension-QWE4YYK5.js → extension-ZF6ZZPOU.js} +17 -11
  341. package/dist/cli-bundle/chunks/{files-FUYPSOFJ.js → files-6P57MRKL.js} +14 -11
  342. package/dist/cli-bundle/chunks/files-6P57MRKL.js.map +7 -0
  343. package/dist/cli-bundle/chunks/{files-6SGKHS6O.js → files-JPU3FNJ7.js} +15 -12
  344. package/dist/cli-bundle/chunks/files-JPU3FNJ7.js.map +1 -0
  345. package/dist/cli-bundle/chunks/{focus-2Q3K76G2.js → focus-LFZ6IDBR.js} +15 -11
  346. package/dist/cli-bundle/chunks/{focus-2Q3K76G2.js.map → focus-LFZ6IDBR.js.map} +1 -1
  347. package/dist/cli-bundle/chunks/{focus-ATLBWXXD.js → focus-WNMYCVYA.js} +13 -9
  348. package/dist/cli-bundle/chunks/{focus-ATLBWXXD.js.map → focus-WNMYCVYA.js.map} +1 -1
  349. package/dist/cli-bundle/chunks/{gc-RUYEMNRF.js → gc-AETFKZ44.js} +10 -7
  350. package/dist/cli-bundle/chunks/{gc-RUYEMNRF.js.map → gc-AETFKZ44.js.map} +1 -1
  351. package/dist/cli-bundle/chunks/{gc-TDWSDR66.js → gc-RLBP4QVN.js} +12 -9
  352. package/dist/cli-bundle/chunks/{gc-TDWSDR66.js.map → gc-RLBP4QVN.js.map} +1 -1
  353. package/dist/cli-bundle/chunks/{get-LY6M2JIM.js → get-NH2MPBCI.js} +18 -15
  354. package/dist/cli-bundle/chunks/{get-LY6M2JIM.js.map → get-NH2MPBCI.js.map} +1 -1
  355. package/dist/cli-bundle/chunks/{get-2WGLX74N.js → get-P4ZQXCPZ.js} +16 -13
  356. package/dist/cli-bundle/chunks/{get-2WGLX74N.js.map → get-P4ZQXCPZ.js.map} +1 -1
  357. package/dist/cli-bundle/chunks/{health-4RKHYS3T.js → health-3GVPMQBL.js} +36 -29
  358. package/dist/cli-bundle/chunks/{health-4RKHYS3T.js.map → health-3GVPMQBL.js.map} +1 -1
  359. package/dist/cli-bundle/chunks/{health-TMFVNYRA.js → health-DNTM72GJ.js} +34 -27
  360. package/dist/cli-bundle/chunks/{health-TMFVNYRA.js.map → health-DNTM72GJ.js.map} +1 -1
  361. package/dist/cli-bundle/chunks/history-RYKLC72X.js +20 -0
  362. package/dist/cli-bundle/chunks/{history-SGRRS72R.js → history-SGPYRAFT.js} +10 -8
  363. package/dist/cli-bundle/chunks/{history-compact-LOED43R3.js → history-compact-3F6VELO7.js} +26 -30
  364. package/dist/cli-bundle/chunks/history-compact-3F6VELO7.js.map +7 -0
  365. package/dist/cli-bundle/chunks/{history-compact-V5DNAQHH.js → history-compact-656Y2TN4.js} +27 -31
  366. package/dist/cli-bundle/chunks/history-compact-656Y2TN4.js.map +1 -0
  367. package/dist/cli-bundle/chunks/history-redact-4H3FCKF3.js +21 -0
  368. package/dist/cli-bundle/chunks/{history-redact-IRL7WJ3E.js → history-redact-54ICFKXM.js} +11 -9
  369. package/dist/cli-bundle/chunks/{history-repair-PGYQJMGD.js → history-repair-4N6SDVHK.js} +25 -30
  370. package/dist/cli-bundle/chunks/history-repair-4N6SDVHK.js.map +7 -0
  371. package/dist/cli-bundle/chunks/{history-repair-4WVBVHFR.js → history-repair-EVTO6LIH.js} +26 -31
  372. package/dist/cli-bundle/chunks/history-repair-EVTO6LIH.js.map +1 -0
  373. package/dist/cli-bundle/chunks/init-RPIPQUNV.js +32 -0
  374. package/dist/cli-bundle/chunks/init-SKQAESQS.js +28 -0
  375. package/dist/cli-bundle/chunks/{learnings-4FJY7WIW.js → learnings-2HTPZNGZ.js} +10 -8
  376. package/dist/cli-bundle/chunks/{learnings-4FJY7WIW.js.map → learnings-2HTPZNGZ.js.map} +1 -1
  377. package/dist/cli-bundle/chunks/{learnings-4BHWFFUV.js → learnings-YBIHY3D6.js} +12 -10
  378. package/dist/cli-bundle/chunks/{learnings-4BHWFFUV.js.map → learnings-YBIHY3D6.js.map} +1 -1
  379. package/dist/cli-bundle/chunks/{list-472TIOVK.js → list-64LHZ3HM.js} +10 -8
  380. package/dist/cli-bundle/chunks/{list-D7BF5CL2.js → list-7LXBTEKI.js} +10 -8
  381. package/dist/cli-bundle/chunks/{next-SFQZVX2B.js → next-7ODPAQ4U.js} +22 -18
  382. package/dist/cli-bundle/chunks/{next-SFQZVX2B.js.map → next-7ODPAQ4U.js.map} +1 -1
  383. package/dist/cli-bundle/chunks/{next-D5STGWI2.js → next-ODJUM4ZM.js} +24 -20
  384. package/dist/cli-bundle/chunks/{next-D5STGWI2.js.map → next-ODJUM4ZM.js.map} +1 -1
  385. package/dist/cli-bundle/chunks/{notes-6KNOSLIT.js → notes-72YXN5JX.js} +10 -8
  386. package/dist/cli-bundle/chunks/{notes-6KNOSLIT.js.map → notes-72YXN5JX.js.map} +1 -1
  387. package/dist/cli-bundle/chunks/{notes-W4UEICGF.js → notes-NJ7IQJX4.js} +12 -10
  388. package/dist/cli-bundle/chunks/{notes-W4UEICGF.js.map → notes-NJ7IQJX4.js.map} +1 -1
  389. package/dist/cli-bundle/chunks/{plan-MJQW5XK3.js → plan-R4NDQ27E.js} +18 -15
  390. package/dist/cli-bundle/chunks/{plan-MJQW5XK3.js.map → plan-R4NDQ27E.js.map} +1 -1
  391. package/dist/cli-bundle/chunks/{plan-JO6V7BXO.js → plan-XWY5T67S.js} +20 -17
  392. package/dist/cli-bundle/chunks/{plan-JO6V7BXO.js.map → plan-XWY5T67S.js.map} +1 -1
  393. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js +397 -0
  394. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js.map +1 -0
  395. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js +400 -0
  396. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js.map +7 -0
  397. package/dist/cli-bundle/chunks/{register-list-query-ELBHCCFI.js → register-list-query-5H66WFYF.js} +24 -21
  398. package/dist/cli-bundle/chunks/register-list-query-5H66WFYF.js.map +7 -0
  399. package/dist/cli-bundle/chunks/{register-list-query-GAPQ6DM3.js → register-list-query-FB3FNDLZ.js} +25 -22
  400. package/dist/cli-bundle/chunks/{register-list-query-ELBHCCFI.js.map → register-list-query-FB3FNDLZ.js.map} +1 -7
  401. package/dist/cli-bundle/chunks/{register-mutation-SJWMVIJ2.js → register-mutation-UJO23C7R.js} +42 -39
  402. package/dist/cli-bundle/chunks/{register-mutation-SJWMVIJ2.js.map → register-mutation-UJO23C7R.js.map} +1 -1
  403. package/dist/cli-bundle/chunks/{register-mutation-ROFE2YPC.js → register-mutation-Z2ETYHKS.js} +40 -37
  404. package/dist/cli-bundle/chunks/{register-mutation-ROFE2YPC.js.map → register-mutation-Z2ETYHKS.js.map} +1 -1
  405. package/dist/cli-bundle/chunks/{register-operations-MEKU3AKC.js → register-operations-A3XAM5J7.js} +39 -36
  406. package/dist/cli-bundle/chunks/{register-operations-MEKU3AKC.js.map → register-operations-A3XAM5J7.js.map} +1 -1
  407. package/dist/cli-bundle/chunks/{register-operations-IADFVH53.js → register-operations-SG7HBSUP.js} +37 -34
  408. package/dist/cli-bundle/chunks/{register-operations-IADFVH53.js.map → register-operations-SG7HBSUP.js.map} +1 -1
  409. package/dist/cli-bundle/chunks/{register-setup-AJWUSSQX.js → register-setup-I45OGJUV.js} +25 -19
  410. package/dist/cli-bundle/chunks/{register-setup-AJWUSSQX.js.map → register-setup-I45OGJUV.js.map} +1 -1
  411. package/dist/cli-bundle/chunks/{register-setup-3QJY43CY.js → register-setup-K6U3NVY5.js} +23 -17
  412. package/dist/cli-bundle/chunks/{register-setup-3QJY43CY.js.map → register-setup-K6U3NVY5.js.map} +1 -1
  413. package/dist/cli-bundle/chunks/restore-PXOFL6AM.js +19 -0
  414. package/dist/cli-bundle/chunks/{restore-44IHMMZZ.js → restore-YJ2ET6AT.js} +11 -9
  415. package/dist/cli-bundle/chunks/{scheduling-shortcuts-TSBK4AY5.js → scheduling-shortcuts-SSC4MYWQ.js} +14 -12
  416. package/dist/cli-bundle/chunks/{scheduling-shortcuts-TSBK4AY5.js.map → scheduling-shortcuts-SSC4MYWQ.js.map} +1 -1
  417. package/dist/cli-bundle/chunks/{scheduling-shortcuts-OLHNLAZY.js → scheduling-shortcuts-ULRG7MNP.js} +16 -14
  418. package/dist/cli-bundle/chunks/{scheduling-shortcuts-OLHNLAZY.js.map → scheduling-shortcuts-ULRG7MNP.js.map} +1 -1
  419. package/dist/cli-bundle/chunks/{schema-VBCELP5G.js → schema-2PUXCZ25.js} +10 -7
  420. package/dist/cli-bundle/chunks/{schema-IB2NZZWD.js → schema-Y6DXXK2F.js} +10 -7
  421. package/dist/cli-bundle/chunks/{search-7UBETML4.js → search-3S72CTD6.js} +13 -10
  422. package/dist/cli-bundle/chunks/{search-R227JOL6.js → search-WNUNBQXO.js} +13 -10
  423. package/dist/cli-bundle/chunks/{stats-FAG7COEH.js → stats-IJYTRQGV.js} +13 -10
  424. package/dist/cli-bundle/chunks/{stats-FAG7COEH.js.map → stats-IJYTRQGV.js.map} +1 -1
  425. package/dist/cli-bundle/chunks/{stats-MCK7PLYS.js → stats-L2D5Y2O5.js} +15 -12
  426. package/dist/cli-bundle/chunks/{stats-MCK7PLYS.js.map → stats-L2D5Y2O5.js.map} +1 -1
  427. package/dist/cli-bundle/chunks/{telemetry-DRPDZMAO.js → telemetry-L2CVOKVN.js} +11 -8
  428. package/dist/cli-bundle/chunks/{telemetry-DRPDZMAO.js.map → telemetry-L2CVOKVN.js.map} +1 -1
  429. package/dist/cli-bundle/chunks/{telemetry-GVVUQSJQ.js → telemetry-QBYWQA76.js} +13 -10
  430. package/dist/cli-bundle/chunks/{telemetry-GVVUQSJQ.js.map → telemetry-QBYWQA76.js.map} +1 -1
  431. package/dist/cli-bundle/chunks/{test-QY44WAMR.js → test-DQ2QFJ7W.js} +21 -15
  432. package/dist/cli-bundle/chunks/test-W7QBLVJS.js +41 -0
  433. package/dist/cli-bundle/chunks/{test-all-USPJHXFR.js → test-all-636NTRTT.js} +26 -19
  434. package/dist/cli-bundle/chunks/{test-all-USPJHXFR.js.map → test-all-636NTRTT.js.map} +1 -1
  435. package/dist/cli-bundle/chunks/{test-all-QD6QAEG7.js → test-all-DWYK3RG6.js} +24 -17
  436. package/dist/cli-bundle/chunks/{test-all-QD6QAEG7.js.map → test-all-DWYK3RG6.js.map} +1 -1
  437. package/dist/cli-bundle/chunks/test-runs-245OINZR.js +28 -0
  438. package/dist/cli-bundle/chunks/test-runs-245OINZR.js.map +1 -0
  439. package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js +24 -0
  440. package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js.map +7 -0
  441. package/dist/cli-bundle/chunks/update-SFLZPJXX.js +30 -0
  442. package/dist/cli-bundle/chunks/update-SFLZPJXX.js.map +1 -0
  443. package/dist/cli-bundle/chunks/update-SJZ6S77U.js +26 -0
  444. package/dist/cli-bundle/chunks/update-SJZ6S77U.js.map +7 -0
  445. package/dist/cli-bundle/chunks/{update-many-RATAARHU.js → update-many-DC7X3EWM.js} +32 -29
  446. package/dist/cli-bundle/chunks/{update-many-RATAARHU.js.map → update-many-DC7X3EWM.js.map} +1 -1
  447. package/dist/cli-bundle/chunks/{update-many-BEMTDA2X.js → update-many-SLLAMHT7.js} +34 -31
  448. package/dist/cli-bundle/chunks/{update-many-BEMTDA2X.js.map → update-many-SLLAMHT7.js.map} +1 -1
  449. package/dist/cli-bundle/chunks/{upgrade-VU46BLJZ.js → upgrade-HFFXLZJA.js} +19 -12
  450. package/dist/cli-bundle/chunks/{upgrade-VU46BLJZ.js.map → upgrade-HFFXLZJA.js.map} +1 -1
  451. package/dist/cli-bundle/chunks/{upgrade-NWMR3VQL.js → upgrade-UYQKM7RF.js} +21 -14
  452. package/dist/cli-bundle/chunks/{upgrade-NWMR3VQL.js.map → upgrade-UYQKM7RF.js.map} +1 -1
  453. package/dist/cli-bundle/chunks/{validate-NRY6MFXN.js → validate-PA4FDTOV.js} +35 -28
  454. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js.map +7 -0
  455. package/dist/cli-bundle/chunks/{validate-GAJ6FUSI.js → validate-Z7L75YEJ.js} +35 -28
  456. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js.map +1 -0
  457. package/dist/cli-bundle/main.js +173 -57
  458. package/dist/cli-bundle/main.js.map +2 -2
  459. package/dist/cli-bundle/sdk-runtime.js +247 -0
  460. package/dist/cli-bundle/sdk-runtime.js.map +7 -0
  461. package/dist/cli-bundle/sdk-testing.js +101 -0
  462. package/dist/cli-bundle/sdk-testing.js.map +7 -0
  463. package/dist/cli-bundle/sdk.js +787 -0
  464. package/dist/cli-bundle/sdk.js.map +7 -0
  465. package/dist/core/config/nested-settings.d.ts +4 -3
  466. package/dist/core/config/nested-settings.js +17 -6
  467. package/dist/core/config/nested-settings.js.map +1 -1
  468. package/dist/core/extensions/activation-summary.d.ts +6 -0
  469. package/dist/core/extensions/activation-summary.js +10 -4
  470. package/dist/core/extensions/activation-summary.js.map +1 -1
  471. package/dist/core/extensions/capability-usage.d.ts +6 -0
  472. package/dist/core/extensions/capability-usage.js +10 -4
  473. package/dist/core/extensions/capability-usage.js.map +1 -1
  474. package/dist/core/extensions/extension-types.d.ts +6 -2
  475. package/dist/core/extensions/extension-types.js +2 -2
  476. package/dist/core/extensions/extension-types.js.map +1 -1
  477. package/dist/core/extensions/loader.d.ts +3 -0
  478. package/dist/core/extensions/loader.js +11 -19
  479. package/dist/core/extensions/loader.js.map +1 -1
  480. package/dist/core/history/history-rewrite.d.ts +10 -0
  481. package/dist/core/history/history-rewrite.js +28 -4
  482. package/dist/core/history/history-rewrite.js.map +1 -1
  483. package/dist/core/item/parent-reference-policy.d.ts +9 -1
  484. package/dist/core/item/parent-reference-policy.js +28 -4
  485. package/dist/core/item/parent-reference-policy.js.map +1 -1
  486. package/dist/core/item/type-registry.d.ts +1 -0
  487. package/dist/core/item/type-registry.js +153 -177
  488. package/dist/core/item/type-registry.js.map +1 -1
  489. package/dist/core/lock/lock.d.ts +28 -1
  490. package/dist/core/lock/lock.js +254 -20
  491. package/dist/core/lock/lock.js.map +1 -1
  492. package/dist/core/search/background-refresh.js +7 -19
  493. package/dist/core/search/background-refresh.js.map +1 -1
  494. package/dist/core/search/http-client.d.ts +0 -1
  495. package/dist/core/search/http-client.js +3 -3
  496. package/dist/core/search/http-client.js.map +1 -1
  497. package/dist/core/shared/constants.js +3 -2
  498. package/dist/core/shared/constants.js.map +1 -1
  499. package/dist/core/shared/errors.d.ts +1 -0
  500. package/dist/core/shared/errors.js +2 -2
  501. package/dist/core/shared/errors.js.map +1 -1
  502. package/dist/core/shared/primitives.d.ts +12 -0
  503. package/dist/core/shared/primitives.js +29 -2
  504. package/dist/core/shared/primitives.js.map +1 -1
  505. package/dist/core/store/item-store.js +3 -3
  506. package/dist/core/store/item-store.js.map +1 -1
  507. package/dist/core/store/settings-validator.d.ts +1 -0
  508. package/dist/core/store/settings-validator.js +6 -3
  509. package/dist/core/store/settings-validator.js.map +1 -1
  510. package/dist/core/store/settings.js +3 -3
  511. package/dist/core/store/settings.js.map +1 -1
  512. package/dist/core/validate/fix-planning.d.ts +0 -2
  513. package/dist/core/validate/fix-planning.js +3 -3
  514. package/dist/core/validate/fix-planning.js.map +1 -1
  515. package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
  516. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  517. package/dist/sdk/cli-contracts/flag-contracts.js +5 -2
  518. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  519. package/dist/sdk/cli-contracts/tool-option-contracts.js +4 -2
  520. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  521. package/dist/sdk/cli-contracts/tool-schema.js +55 -94
  522. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  523. package/dist/sdk/errors.d.ts +21 -2
  524. package/dist/sdk/errors.js +8 -2
  525. package/dist/sdk/errors.js.map +1 -1
  526. package/dist/sdk/package-import-adapters.d.ts +90 -2
  527. package/dist/sdk/package-import-adapters.js +275 -3
  528. package/dist/sdk/package-import-adapters.js.map +1 -1
  529. package/dist/sdk/runtime.d.ts +1 -1
  530. package/dist/sdk/runtime.js +3 -3
  531. package/dist/sdk/runtime.js.map +1 -1
  532. package/dist/sdk/testing.js +41 -19
  533. package/dist/sdk/testing.js.map +1 -1
  534. package/dist/types.d.ts +6 -0
  535. package/dist/types.js +2 -2
  536. package/dist/types.js.map +1 -1
  537. package/docs/ARCHITECTURE.md +27 -0
  538. package/docs/CONFIGURATION.md +3 -0
  539. package/docs/README.md +1 -0
  540. package/docs/SDK_PRIMITIVE_INVENTORY.md +55 -0
  541. package/docs/TESTING.md +5 -1
  542. package/docs/examples/ci/github-actions-pm-extension-gate.yml +5 -5
  543. package/docs/examples/ci/gitlab-ci-pm-extension-gate.yml +1 -1
  544. package/docs/examples/ci/jenkins-pm-extension-gate.Jenkinsfile +1 -1
  545. package/package.json +14 -26
  546. package/packages/pm-beads/extensions/beads/package.json +3 -0
  547. package/packages/pm-beads/extensions/beads/runtime-loader.ts +50 -41
  548. package/packages/pm-beads/extensions/beads/runtime.ts +106 -223
  549. package/packages/pm-calendar/extensions/calendar/package.json +3 -0
  550. package/packages/pm-calendar/extensions/calendar/runtime.ts +21 -18
  551. package/packages/pm-command-kit/extensions/command-kit/package.json +3 -0
  552. package/packages/pm-governance-audit/extensions/governance-audit/package.json +3 -0
  553. package/packages/pm-guide-shell/extensions/guide-shell/package.json +3 -0
  554. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +9 -11
  555. package/packages/pm-kanban/extensions/kanban/package.json +3 -0
  556. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/package.json +3 -0
  557. package/packages/pm-search-advanced/extensions/search-advanced/package.json +3 -0
  558. package/packages/pm-templates/extensions/templates/package.json +3 -0
  559. package/packages/pm-todos/extensions/todos/package.json +3 -0
  560. package/packages/pm-todos/extensions/todos/runtime-loader.ts +62 -72
  561. package/packages/pm-todos/extensions/todos/runtime.ts +61 -257
  562. package/plugins/pm-claude/scripts/pm-mcp-server.mjs +73 -31
  563. package/plugins/pm-codex/scripts/pm-mcp-server.mjs +80 -34
  564. package/scripts/bundle-cli.mjs +12 -2
  565. package/scripts/install.ps1 +7 -7
  566. package/dist/cli-bundle/chunks/activity-BIML7K2D.js +0 -16
  567. package/dist/cli-bundle/chunks/chunk-32IUNTG4.js.map +0 -1
  568. package/dist/cli-bundle/chunks/chunk-4EXFFP7T.js.map +0 -7
  569. package/dist/cli-bundle/chunks/chunk-4WB6S4YX.js.map +0 -1
  570. package/dist/cli-bundle/chunks/chunk-572FKBRL.js.map +0 -1
  571. package/dist/cli-bundle/chunks/chunk-67LARBDL.js.map +0 -1
  572. package/dist/cli-bundle/chunks/chunk-6CDCWKSX.js.map +0 -1
  573. package/dist/cli-bundle/chunks/chunk-6KRFL33E.js.map +0 -7
  574. package/dist/cli-bundle/chunks/chunk-AJHYQCBJ.js.map +0 -7
  575. package/dist/cli-bundle/chunks/chunk-B4O5S7I3.js.map +0 -7
  576. package/dist/cli-bundle/chunks/chunk-CXR3CMBQ.js.map +0 -1
  577. package/dist/cli-bundle/chunks/chunk-ECU6MMTQ.js.map +0 -1
  578. package/dist/cli-bundle/chunks/chunk-EJ2OCBHF.js.map +0 -1
  579. package/dist/cli-bundle/chunks/chunk-ERG65A2L.js.map +0 -1
  580. package/dist/cli-bundle/chunks/chunk-FUFFPIYA.js.map +0 -7
  581. package/dist/cli-bundle/chunks/chunk-HB4FAT3O.js.map +0 -7
  582. package/dist/cli-bundle/chunks/chunk-HQAF23Q2.js.map +0 -7
  583. package/dist/cli-bundle/chunks/chunk-JPATY4SE.js.map +0 -7
  584. package/dist/cli-bundle/chunks/chunk-KHVGM5CS.js.map +0 -7
  585. package/dist/cli-bundle/chunks/chunk-KS6ATO47.js.map +0 -7
  586. package/dist/cli-bundle/chunks/chunk-L4SLHV6G.js.map +0 -1
  587. package/dist/cli-bundle/chunks/chunk-MHRS5FUX.js.map +0 -1
  588. package/dist/cli-bundle/chunks/chunk-NZ7QIUP5.js.map +0 -7
  589. package/dist/cli-bundle/chunks/chunk-OGLGI22K.js.map +0 -1
  590. package/dist/cli-bundle/chunks/chunk-RAHINBVP.js.map +0 -7
  591. package/dist/cli-bundle/chunks/chunk-RJH5VQHW.js.map +0 -1
  592. package/dist/cli-bundle/chunks/chunk-SYE6WMV6.js.map +0 -1
  593. package/dist/cli-bundle/chunks/chunk-TQ6AX5SQ.js.map +0 -7
  594. package/dist/cli-bundle/chunks/chunk-U3S2B7TA.js.map +0 -1
  595. package/dist/cli-bundle/chunks/chunk-WRYERRZX.js.map +0 -7
  596. package/dist/cli-bundle/chunks/chunk-WYOIIFSE.js.map +0 -7
  597. package/dist/cli-bundle/chunks/chunk-XRYSCRZR.js.map +0 -7
  598. package/dist/cli-bundle/chunks/chunk-YF746GTH.js.map +0 -1
  599. package/dist/cli-bundle/chunks/chunk-YSDFIY7N.js.map +0 -1
  600. package/dist/cli-bundle/chunks/chunk-Z4DGFQDH.js.map +0 -1
  601. package/dist/cli-bundle/chunks/claim-2BGBGSVI.js.map +0 -7
  602. package/dist/cli-bundle/chunks/claim-5GU7OE67.js.map +0 -1
  603. package/dist/cli-bundle/chunks/close-6YODBUIV.js +0 -14
  604. package/dist/cli-bundle/chunks/create-Z7YCH3BE.js +0 -28
  605. package/dist/cli-bundle/chunks/files-6SGKHS6O.js.map +0 -1
  606. package/dist/cli-bundle/chunks/files-FUYPSOFJ.js.map +0 -7
  607. package/dist/cli-bundle/chunks/history-CGNQJXFE.js +0 -18
  608. package/dist/cli-bundle/chunks/history-compact-LOED43R3.js.map +0 -7
  609. package/dist/cli-bundle/chunks/history-compact-V5DNAQHH.js.map +0 -1
  610. package/dist/cli-bundle/chunks/history-redact-N3JK7VBW.js +0 -19
  611. package/dist/cli-bundle/chunks/history-repair-4WVBVHFR.js.map +0 -1
  612. package/dist/cli-bundle/chunks/history-repair-PGYQJMGD.js.map +0 -7
  613. package/dist/cli-bundle/chunks/init-4GESW7RM.js +0 -26
  614. package/dist/cli-bundle/chunks/init-XIDPABA4.js +0 -22
  615. package/dist/cli-bundle/chunks/profile-3TOTMUR4.js +0 -1243
  616. package/dist/cli-bundle/chunks/profile-3TOTMUR4.js.map +0 -7
  617. package/dist/cli-bundle/chunks/profile-WIQY2KCV.js +0 -1205
  618. package/dist/cli-bundle/chunks/profile-WIQY2KCV.js.map +0 -1
  619. package/dist/cli-bundle/chunks/register-list-query-GAPQ6DM3.js.map +0 -1
  620. package/dist/cli-bundle/chunks/restore-EXHU34EU.js +0 -17
  621. package/dist/cli-bundle/chunks/test-SY76DZTO.js +0 -35
  622. package/dist/cli-bundle/chunks/update-A7EICML6.js +0 -24
  623. package/dist/cli-bundle/chunks/update-IKJZWLQC.js +0 -28
  624. package/dist/cli-bundle/chunks/validate-GAJ6FUSI.js.map +0 -1
  625. package/dist/cli-bundle/chunks/validate-NRY6MFXN.js.map +0 -7
  626. /package/dist/cli-bundle/chunks/{activity-BIML7K2D.js.map → activity-4XQIDNM5.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{activity-5YWLSPGE.js.map → activity-YKAKZTZ4.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{chunk-QCDTQCMW.js.map → chunk-5JE6SMYS.js.map} +0 -0
  629. /package/dist/cli-bundle/chunks/{chunk-5JIWFWOZ.js.map → chunk-N6DNM2FA.js.map} +0 -0
  630. /package/dist/cli-bundle/chunks/{chunk-GVJE5T7Q.js.map → chunk-NER3KUUS.js.map} +0 -0
  631. /package/dist/cli-bundle/chunks/{chunk-MEZZZBYX.js.map → chunk-PDXT6Q55.js.map} +0 -0
  632. /package/dist/cli-bundle/chunks/{chunk-YVKZ3ANP.js.map → chunk-RX3HQSYG.js.map} +0 -0
  633. /package/dist/cli-bundle/chunks/{chunk-LOWVNZBZ.js.map → chunk-S4APD35C.js.map} +0 -0
  634. /package/dist/cli-bundle/chunks/{chunk-6NYJGMTY.js.map → chunk-T35XLYZF.js.map} +0 -0
  635. /package/dist/cli-bundle/chunks/{chunk-BE2SR6QL.js.map → chunk-TT42JUMF.js.map} +0 -0
  636. /package/dist/cli-bundle/chunks/{chunk-SU3TB4NS.js.map → chunk-YOF5VPKM.js.map} +0 -0
  637. /package/dist/cli-bundle/chunks/{chunk-5E7N4T2Z.js.map → chunk-ZMD35NYG.js.map} +0 -0
  638. /package/dist/cli-bundle/chunks/{close-AFVKPR57.js.map → close-3YRR3XY6.js.map} +0 -0
  639. /package/dist/cli-bundle/chunks/{close-6YODBUIV.js.map → close-OB2Y4QP5.js.map} +0 -0
  640. /package/dist/cli-bundle/chunks/{context-PKCEHQY3.js.map → context-4OQGIPSO.js.map} +0 -0
  641. /package/dist/cli-bundle/chunks/{context-OYXRGY7S.js.map → context-WLA6IAWE.js.map} +0 -0
  642. /package/dist/cli-bundle/chunks/{create-Z7YCH3BE.js.map → contracts-HXJLKCRI.js.map} +0 -0
  643. /package/dist/cli-bundle/chunks/{create-PM45M6PE.js.map → contracts-OJEXMKVW.js.map} +0 -0
  644. /package/dist/cli-bundle/chunks/{extension-BNINIMT7.js.map → create-WKOZKPQR.js.map} +0 -0
  645. /package/dist/cli-bundle/chunks/{extension-QWE4YYK5.js.map → create-XWWQFQ6S.js.map} +0 -0
  646. /package/dist/cli-bundle/chunks/{history-CGNQJXFE.js.map → extension-NBAH62ML.js.map} +0 -0
  647. /package/dist/cli-bundle/chunks/{history-SGRRS72R.js.map → extension-ZF6ZZPOU.js.map} +0 -0
  648. /package/dist/cli-bundle/chunks/{history-redact-N3JK7VBW.js.map → history-RYKLC72X.js.map} +0 -0
  649. /package/dist/cli-bundle/chunks/{history-redact-IRL7WJ3E.js.map → history-SGPYRAFT.js.map} +0 -0
  650. /package/dist/cli-bundle/chunks/{init-XIDPABA4.js.map → history-redact-4H3FCKF3.js.map} +0 -0
  651. /package/dist/cli-bundle/chunks/{init-4GESW7RM.js.map → history-redact-54ICFKXM.js.map} +0 -0
  652. /package/dist/cli-bundle/chunks/{list-D7BF5CL2.js.map → init-RPIPQUNV.js.map} +0 -0
  653. /package/dist/cli-bundle/chunks/{list-472TIOVK.js.map → init-SKQAESQS.js.map} +0 -0
  654. /package/dist/cli-bundle/chunks/{restore-EXHU34EU.js.map → list-64LHZ3HM.js.map} +0 -0
  655. /package/dist/cli-bundle/chunks/{restore-44IHMMZZ.js.map → list-7LXBTEKI.js.map} +0 -0
  656. /package/dist/cli-bundle/chunks/{schema-VBCELP5G.js.map → restore-PXOFL6AM.js.map} +0 -0
  657. /package/dist/cli-bundle/chunks/{schema-IB2NZZWD.js.map → restore-YJ2ET6AT.js.map} +0 -0
  658. /package/dist/cli-bundle/chunks/{search-R227JOL6.js.map → schema-2PUXCZ25.js.map} +0 -0
  659. /package/dist/cli-bundle/chunks/{search-7UBETML4.js.map → schema-Y6DXXK2F.js.map} +0 -0
  660. /package/dist/cli-bundle/chunks/{test-QY44WAMR.js.map → search-3S72CTD6.js.map} +0 -0
  661. /package/dist/cli-bundle/chunks/{test-SY76DZTO.js.map → search-WNUNBQXO.js.map} +0 -0
  662. /package/dist/cli-bundle/chunks/{update-IKJZWLQC.js.map → test-DQ2QFJ7W.js.map} +0 -0
  663. /package/dist/cli-bundle/chunks/{update-A7EICML6.js.map → test-W7QBLVJS.js.map} +0 -0
@@ -0,0 +1,918 @@
1
+ import {
2
+ collectRuntimeFilterValues,
3
+ matchesRuntimeFilters
4
+ } from "./chunk-7EQNAZX2.js";
5
+ import {
6
+ parseIntegerLimit,
7
+ parsePriority,
8
+ parseType
9
+ } from "./chunk-EEY54JMF.js";
10
+ import {
11
+ listAllFrontMatterLight
12
+ } from "./chunk-3U3VEWK6.js";
13
+ import {
14
+ normalizeStatusInput
15
+ } from "./chunk-EZFKWSC7.js";
16
+ import {
17
+ compareTimestampStrings,
18
+ nowIso,
19
+ resolveIsoOrRelative
20
+ } from "./chunk-DRBV5UC2.js";
21
+ import {
22
+ PmCliError,
23
+ getActiveExtensionRegistrations,
24
+ readSettings
25
+ } from "./chunk-P5YORJRH.js";
26
+ import {
27
+ EXIT_CODE,
28
+ getSettingsPath,
29
+ levenshteinDistanceWithinLimit,
30
+ pathExists,
31
+ resolveItemTypeRegistry,
32
+ resolvePmRoot,
33
+ resolveRuntimeFieldRegistry,
34
+ resolveRuntimeStatusRegistry,
35
+ weekdayOrderIndex
36
+ } from "./chunk-5VVUKE3U.js";
37
+
38
+ // dist/cli/commands/calendar.js
39
+ import { encode as encodeToon } from "@toon-format/toon";
40
+ !(function() {
41
+ try {
42
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
43
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b58c505e-43e8-5bc4-ae0e-a241ee5e72b9");
44
+ } catch (e2) {
45
+ }
46
+ })();
47
+ var CALENDAR_VIEW_VALUES = ["agenda", "day", "week", "month"];
48
+ var CALENDAR_OUTPUT_VALUES = ["markdown", "toon", "json"];
49
+ var UTC_DAY_TO_WEEKDAY = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
50
+ var DEFAULT_RECURRENCE_LOOKAHEAD_DAYS = 365;
51
+ var DEFAULT_RECURRENCE_LOOKBACK_DAYS = 365;
52
+ var DEFAULT_EVENTS_ONLY_LOOKAHEAD_DAYS = 28;
53
+ var MAX_RECURRENCE_OCCURRENCES = 1e3;
54
+ function parseNonNegativeInteger(raw, label) {
55
+ if (raw === void 0)
56
+ return void 0;
57
+ const parsed = Number(raw);
58
+ if (!Number.isInteger(parsed) || parsed < 0) {
59
+ throw new PmCliError(`${label} must be a non-negative integer`, EXIT_CODE.USAGE);
60
+ }
61
+ return parsed;
62
+ }
63
+ function parseIncludeSources(raw) {
64
+ if (!raw) {
65
+ return /* @__PURE__ */ new Set(["deadlines", "reminders", "events"]);
66
+ }
67
+ const normalized = raw.trim().toLowerCase();
68
+ if (normalized === "all") {
69
+ return /* @__PURE__ */ new Set(["deadlines", "reminders", "events"]);
70
+ }
71
+ const values = normalized.split(/[|,]/).map((value) => value.trim()).filter((value) => value.length > 0);
72
+ if (values.length === 0) {
73
+ throw new PmCliError("Calendar include filter must not be empty", EXIT_CODE.USAGE);
74
+ }
75
+ const include = /* @__PURE__ */ new Set();
76
+ for (const value of values) {
77
+ if (value === "deadlines" || value === "deadline") {
78
+ include.add("deadlines");
79
+ continue;
80
+ }
81
+ if (value === "reminders" || value === "reminder") {
82
+ include.add("reminders");
83
+ continue;
84
+ }
85
+ if (value === "events" || value === "event" || value === "scheduled") {
86
+ include.add("events");
87
+ continue;
88
+ }
89
+ throw new PmCliError("Calendar include filter must be deadlines|reminders|events|scheduled|all", EXIT_CODE.USAGE);
90
+ }
91
+ return include;
92
+ }
93
+ function suggestClosestChoice(value, choices) {
94
+ let best;
95
+ for (const choice of choices) {
96
+ const distance = levenshteinDistanceWithinLimit(value, choice, 2);
97
+ if (distance !== null && (best === void 0 || distance < best.distance)) {
98
+ best = { choice, distance };
99
+ }
100
+ }
101
+ return best?.choice;
102
+ }
103
+ function parseView(raw) {
104
+ if (!raw)
105
+ return "agenda";
106
+ const normalized = raw.trim().toLowerCase();
107
+ if (!CALENDAR_VIEW_VALUES.includes(normalized)) {
108
+ const suggestion = suggestClosestChoice(normalized, CALENDAR_VIEW_VALUES);
109
+ throw new PmCliError(`Calendar view must be one of ${CALENDAR_VIEW_VALUES.join("|")}${suggestion ? `. Did you mean "${suggestion}"?` : "."}`, EXIT_CODE.USAGE);
110
+ }
111
+ return normalized;
112
+ }
113
+ function parseOutputFormat(raw) {
114
+ if (!raw)
115
+ return void 0;
116
+ const normalized = raw.trim().toLowerCase();
117
+ if (!CALENDAR_OUTPUT_VALUES.includes(normalized)) {
118
+ const suggestion = suggestClosestChoice(normalized, CALENDAR_OUTPUT_VALUES);
119
+ throw new PmCliError(`Calendar format must be one of ${CALENDAR_OUTPUT_VALUES.join("|")}${suggestion ? `. Did you mean "${suggestion}"?` : "."}`, EXIT_CODE.USAGE);
120
+ }
121
+ return normalized;
122
+ }
123
+ function resolveCalendarOutputFormat(options, global2) {
124
+ const commandFormat = parseOutputFormat(options.format);
125
+ if (global2.json && commandFormat && commandFormat !== "json") {
126
+ throw new PmCliError("Cannot combine --json with --format markdown|toon", EXIT_CODE.USAGE);
127
+ }
128
+ if (global2.json) {
129
+ return "json";
130
+ }
131
+ return commandFormat ?? "markdown";
132
+ }
133
+ function parseStatus(raw, statusRegistry) {
134
+ if (raw === void 0)
135
+ return void 0;
136
+ const normalized = normalizeStatusInput(raw, statusRegistry);
137
+ if (!normalized) {
138
+ const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);
139
+ throw new PmCliError(`Calendar status filter must be one of ${allowedStatuses.join("|")}`, EXIT_CODE.USAGE);
140
+ }
141
+ return normalized;
142
+ }
143
+ function parseAssigneeFilter(raw) {
144
+ if (raw === void 0) {
145
+ return void 0;
146
+ }
147
+ const normalized = raw.trim().toLowerCase();
148
+ if (!normalized) {
149
+ throw new PmCliError("Calendar assignee filter must be one of assigned|unassigned", EXIT_CODE.USAGE);
150
+ }
151
+ if (normalized !== "assigned" && normalized !== "unassigned") {
152
+ throw new PmCliError(`Invalid calendar assignee filter "${raw}". Allowed: assigned|unassigned`, EXIT_CODE.USAGE);
153
+ }
154
+ return normalized;
155
+ }
156
+ function toUtcDayKey(timestamp) {
157
+ return new Date(timestamp).toISOString().slice(0, 10);
158
+ }
159
+ function toLocalDayKey(timestamp, timezone) {
160
+ if (!timezone || timezone === "UTC") {
161
+ return toUtcDayKey(timestamp);
162
+ }
163
+ try {
164
+ const parts = new Intl.DateTimeFormat("en-CA", {
165
+ timeZone: timezone,
166
+ year: "numeric",
167
+ month: "2-digit",
168
+ day: "2-digit"
169
+ }).formatToParts(new Date(timestamp));
170
+ const year = parts.find((part) => part.type === "year")?.value;
171
+ const month = parts.find((part) => part.type === "month")?.value;
172
+ const day = parts.find((part) => part.type === "day")?.value;
173
+ if (year && month && day) {
174
+ return `${year}-${month}-${day}`;
175
+ }
176
+ } catch {
177
+ }
178
+ return toUtcDayKey(timestamp);
179
+ }
180
+ function startOfUtcDay(timestamp) {
181
+ const date = new Date(timestamp);
182
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0, 0)).toISOString();
183
+ }
184
+ function addUtcDays(timestamp, days) {
185
+ const date = new Date(timestamp);
186
+ return new Date(date.getTime() + days * 24 * 60 * 60 * 1e3).toISOString();
187
+ }
188
+ function startOfUtcWeekMonday(timestamp) {
189
+ const base = new Date(startOfUtcDay(timestamp));
190
+ const day = base.getUTCDay();
191
+ const delta = day === 0 ? -6 : 1 - day;
192
+ return addUtcDays(base.toISOString(), delta);
193
+ }
194
+ function startOfUtcMonth(timestamp) {
195
+ const date = new Date(timestamp);
196
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1, 0, 0, 0, 0)).toISOString();
197
+ }
198
+ function startOfNextUtcMonth(timestamp) {
199
+ const date = new Date(timestamp);
200
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 1, 0, 0, 0, 0)).toISOString();
201
+ }
202
+ function maxTimestamp(left, right) {
203
+ return compareTimestampStrings(left, right) >= 0 ? left : right;
204
+ }
205
+ function toSortedCountRecord(values) {
206
+ return Object.fromEntries([...values.entries()].sort(([left], [right]) => left.localeCompare(right)));
207
+ }
208
+ function incrementCount(values, key) {
209
+ values.set(key, (values.get(key) ?? 0) + 1);
210
+ }
211
+ function formatRecurrenceRuleForSummary(rule) {
212
+ if (!rule) {
213
+ return null;
214
+ }
215
+ const parts = [`freq=${rule.freq}`];
216
+ if (rule.interval !== void 0) {
217
+ parts.push(`interval=${rule.interval}`);
218
+ }
219
+ if (rule.count !== void 0) {
220
+ parts.push(`count=${rule.count}`);
221
+ }
222
+ if (rule.until) {
223
+ parts.push(`until=${rule.until}`);
224
+ }
225
+ if (rule.by_weekday && rule.by_weekday.length > 0) {
226
+ const weekdays = [...rule.by_weekday].sort((left, right) => weekdayOrderIndex(left) - weekdayOrderIndex(right));
227
+ parts.push(`by_weekday=${weekdays.join("|")}`);
228
+ }
229
+ if (rule.by_month_day && rule.by_month_day.length > 0) {
230
+ const monthDays = [...rule.by_month_day].sort((left, right) => left - right);
231
+ parts.push(`by_month_day=${monthDays.join("|")}`);
232
+ }
233
+ if (rule.exdates && rule.exdates.length > 0) {
234
+ const exdates = [...rule.exdates].sort((left, right) => left.localeCompare(right));
235
+ parts.push(`exdates=${exdates.join("|")}`);
236
+ }
237
+ return parts.join(",");
238
+ }
239
+ function buildUtcTimestamp(year, month, day, timeSource) {
240
+ const candidate = new Date(Date.UTC(year, month, day, timeSource.getUTCHours(), timeSource.getUTCMinutes(), timeSource.getUTCSeconds(), timeSource.getUTCMilliseconds()));
241
+ if (candidate.getUTCFullYear() !== year || candidate.getUTCMonth() !== month || candidate.getUTCDate() !== day) {
242
+ return void 0;
243
+ }
244
+ return candidate.toISOString();
245
+ }
246
+ function weekdayToken(timestamp) {
247
+ return UTC_DAY_TO_WEEKDAY[new Date(timestamp).getUTCDay()];
248
+ }
249
+ function normalizeInstantKey(timestamp) {
250
+ const parsed = Date.parse(timestamp);
251
+ return Number.isFinite(parsed) ? new Date(parsed).toISOString() : null;
252
+ }
253
+ function buildExcludedInstantSet(exdates) {
254
+ const excluded = /* @__PURE__ */ new Set();
255
+ for (const exdate of exdates ?? []) {
256
+ const instantKey = normalizeInstantKey(exdate);
257
+ if (instantKey) {
258
+ excluded.add(instantKey);
259
+ }
260
+ }
261
+ return excluded;
262
+ }
263
+ function buildRecurringEventWindow(start, end, nowValue, lookbackDays, lookaheadDays) {
264
+ const windowStart = start ?? addUtcDays(nowValue, -(lookbackDays ?? DEFAULT_RECURRENCE_LOOKBACK_DAYS));
265
+ const windowEnd = end ?? addUtcDays(start ?? nowValue, lookaheadDays ?? DEFAULT_RECURRENCE_LOOKAHEAD_DAYS);
266
+ return {
267
+ start: windowStart,
268
+ end: compareTimestampStrings(windowEnd, windowStart) > 0 ? windowEnd : addUtcDays(windowStart, 1)
269
+ };
270
+ }
271
+ function buildRecurrenceExpansionContext(startAt, recurrence, window2, occurrenceLimit) {
272
+ const recurrenceWeekdays = recurrence.by_weekday !== void 0 ? [...recurrence.by_weekday] : [weekdayToken(startAt)];
273
+ const recurrenceMonthDays = recurrence.by_month_day !== void 0 ? [...recurrence.by_month_day] : [new Date(startAt).getUTCDate()];
274
+ return {
275
+ startAt,
276
+ startDate: new Date(startAt),
277
+ window: window2,
278
+ maxOccurrences: occurrenceLimit ?? MAX_RECURRENCE_OCCURRENCES,
279
+ interval: recurrence.interval ?? 1,
280
+ countLimit: recurrence.count ?? Number.POSITIVE_INFINITY,
281
+ until: recurrence.until,
282
+ excluded: buildExcludedInstantSet(recurrence.exdates),
283
+ weekdayFilter: recurrence.by_weekday !== void 0 ? new Set(recurrence.by_weekday) : void 0,
284
+ monthDayFilter: recurrence.by_month_day !== void 0 ? new Set(recurrence.by_month_day) : void 0,
285
+ sortedWeekdays: [...new Set(recurrenceWeekdays)].sort((left, right) => weekdayOrderIndex(left) - weekdayOrderIndex(right)),
286
+ sortedMonthDays: [...new Set(recurrenceMonthDays)].sort((left, right) => left - right),
287
+ occurrences: [],
288
+ produced: 0
289
+ };
290
+ }
291
+ function consumeRecurrenceCandidate(context, candidateAt) {
292
+ if (compareTimestampStrings(candidateAt, context.startAt) < 0) {
293
+ return "continue";
294
+ }
295
+ if (context.until && compareTimestampStrings(candidateAt, context.until) > 0) {
296
+ return "stop";
297
+ }
298
+ if (compareTimestampStrings(candidateAt, context.window.end) >= 0) {
299
+ return "stop";
300
+ }
301
+ if (context.excluded.has(candidateAt)) {
302
+ return "continue";
303
+ }
304
+ context.produced += 1;
305
+ if (compareTimestampStrings(candidateAt, context.window.start) >= 0) {
306
+ context.occurrences.push(candidateAt);
307
+ }
308
+ return context.produced >= context.countLimit || context.occurrences.length >= context.maxOccurrences ? "stop" : "continue";
309
+ }
310
+ function recurrenceDayMatchesFilters(context, candidateAt) {
311
+ const candidateWeekday = weekdayToken(candidateAt);
312
+ const candidateMonthDay = new Date(candidateAt).getUTCDate();
313
+ const weekdayMatches = !context.weekdayFilter || context.weekdayFilter.has(candidateWeekday);
314
+ const monthDayMatches = !context.monthDayFilter || context.monthDayFilter.has(candidateMonthDay);
315
+ return weekdayMatches && monthDayMatches;
316
+ }
317
+ function expandDailyOccurrences(context) {
318
+ let candidateAt = context.startAt;
319
+ for (let iteration = 0; iteration < context.maxOccurrences; iteration += 1) {
320
+ if (recurrenceDayMatchesFilters(context, candidateAt) && consumeRecurrenceCandidate(context, candidateAt) === "stop") {
321
+ break;
322
+ }
323
+ candidateAt = addUtcDays(candidateAt, context.interval);
324
+ }
325
+ return context.occurrences;
326
+ }
327
+ function buildWeeklyCandidateAt(context, candidateWeekStart, weekday) {
328
+ const dayOffset = weekdayOrderIndex(weekday);
329
+ const candidateDay = addUtcDays(candidateWeekStart, dayOffset);
330
+ const dayDate = new Date(candidateDay);
331
+ return new Date(Date.UTC(dayDate.getUTCFullYear(), dayDate.getUTCMonth(), dayDate.getUTCDate(), context.startDate.getUTCHours(), context.startDate.getUTCMinutes(), context.startDate.getUTCSeconds(), context.startDate.getUTCMilliseconds())).toISOString();
332
+ }
333
+ function expandWeeklyOccurrences(context) {
334
+ const weekStart = startOfUtcWeekMonday(context.startAt);
335
+ for (let step = 0; step < context.maxOccurrences; step += 1) {
336
+ const candidateWeekStart = addUtcDays(weekStart, step * context.interval * 7);
337
+ for (const weekday of context.sortedWeekdays) {
338
+ const candidateAt = buildWeeklyCandidateAt(context, candidateWeekStart, weekday);
339
+ if (!recurrenceDayMatchesFilters(context, candidateAt)) {
340
+ continue;
341
+ }
342
+ if (consumeRecurrenceCandidate(context, candidateAt) === "stop") {
343
+ return context.occurrences;
344
+ }
345
+ }
346
+ }
347
+ return context.occurrences;
348
+ }
349
+ function expandMonthlyOccurrences(context) {
350
+ const startYear = context.startDate.getUTCFullYear();
351
+ const startMonth = context.startDate.getUTCMonth();
352
+ for (let step = 0; step < context.maxOccurrences; step += 1) {
353
+ const monthAnchor = new Date(Date.UTC(startYear, startMonth + step * context.interval, 1, 0, 0, 0, 0));
354
+ for (const monthDay of context.sortedMonthDays) {
355
+ const candidateAt = buildUtcTimestamp(monthAnchor.getUTCFullYear(), monthAnchor.getUTCMonth(), monthDay, context.startDate);
356
+ if (!candidateAt || !recurrenceDayMatchesFilters(context, candidateAt)) {
357
+ continue;
358
+ }
359
+ if (consumeRecurrenceCandidate(context, candidateAt) === "stop") {
360
+ return context.occurrences;
361
+ }
362
+ }
363
+ }
364
+ return context.occurrences;
365
+ }
366
+ function expandYearlyOccurrences(context) {
367
+ const year = context.startDate.getUTCFullYear();
368
+ const month = context.startDate.getUTCMonth();
369
+ for (let step = 0; step < context.maxOccurrences; step += 1) {
370
+ const candidateYear = year + step * context.interval;
371
+ for (const monthDay of context.sortedMonthDays) {
372
+ const candidateAt = buildUtcTimestamp(candidateYear, month, monthDay, context.startDate);
373
+ if (!candidateAt || !recurrenceDayMatchesFilters(context, candidateAt)) {
374
+ continue;
375
+ }
376
+ if (consumeRecurrenceCandidate(context, candidateAt) === "stop") {
377
+ return context.occurrences;
378
+ }
379
+ }
380
+ }
381
+ return context.occurrences;
382
+ }
383
+ function expandRecurringOccurrences(startAt, recurrence, window2, occurrenceLimit) {
384
+ const context = buildRecurrenceExpansionContext(startAt, recurrence, window2, occurrenceLimit);
385
+ if (recurrence.freq === "daily") {
386
+ return expandDailyOccurrences(context);
387
+ }
388
+ if (recurrence.freq === "weekly") {
389
+ return expandWeeklyOccurrences(context);
390
+ }
391
+ if (recurrence.freq === "monthly") {
392
+ return expandMonthlyOccurrences(context);
393
+ }
394
+ return expandYearlyOccurrences(context);
395
+ }
396
+ function sortEvents(values) {
397
+ return [...values].sort((a, b) => {
398
+ const byAt = compareTimestampStrings(a.at, b.at);
399
+ if (byAt !== 0)
400
+ return byAt;
401
+ const byPriority = a.item_priority - b.item_priority;
402
+ if (byPriority !== 0)
403
+ return byPriority;
404
+ const byId = a.item_id.localeCompare(b.item_id);
405
+ if (byId !== 0)
406
+ return byId;
407
+ const byKind = a.kind.localeCompare(b.kind);
408
+ if (byKind !== 0)
409
+ return byKind;
410
+ const byEventTitle = String(a.event_title).localeCompare(String(b.event_title));
411
+ if (byEventTitle !== 0)
412
+ return byEventTitle;
413
+ return String(a.reminder_text).localeCompare(String(b.reminder_text));
414
+ });
415
+ }
416
+ function buildItemCalendarRowBase(item) {
417
+ return {
418
+ item_id: item.id,
419
+ item_title: item.title,
420
+ item_type: item.type,
421
+ item_status: item.status,
422
+ item_priority: item.priority,
423
+ item_assignee: item.assignee ?? null,
424
+ item_deadline: item.deadline ?? null,
425
+ item_tags: item.tags
426
+ };
427
+ }
428
+ function buildDeadlineRow(item) {
429
+ if (!item.deadline) {
430
+ return null;
431
+ }
432
+ return {
433
+ at: item.deadline,
434
+ date: toUtcDayKey(item.deadline),
435
+ kind: "deadline",
436
+ reminder_text: null,
437
+ event_title: null,
438
+ event_end: null,
439
+ event_location: null,
440
+ event_all_day: null,
441
+ event_timezone: null,
442
+ event_recurring: null,
443
+ event_recurrence_rule: null,
444
+ ...buildItemCalendarRowBase(item),
445
+ item_deadline: item.deadline
446
+ };
447
+ }
448
+ function buildReminderRows(item) {
449
+ return (item.reminders ?? []).map((reminder) => ({
450
+ at: reminder.at,
451
+ date: toUtcDayKey(reminder.at),
452
+ kind: "reminder",
453
+ reminder_text: reminder.text,
454
+ event_title: null,
455
+ event_end: null,
456
+ event_location: null,
457
+ event_all_day: null,
458
+ event_timezone: null,
459
+ event_recurring: null,
460
+ event_recurrence_rule: null,
461
+ ...buildItemCalendarRowBase(item)
462
+ }));
463
+ }
464
+ function recurringDurationMs(startAt, endAt) {
465
+ if (!endAt) {
466
+ return null;
467
+ }
468
+ const duration = Date.parse(endAt) - Date.parse(startAt);
469
+ return Number.isFinite(duration) && duration > 0 ? duration : null;
470
+ }
471
+ function eventOccurrenceEnd(occurrenceAt, event, durationMs) {
472
+ return event.recurrence && durationMs !== null ? new Date(new Date(occurrenceAt).getTime() + durationMs).toISOString() : event.end_at ?? null;
473
+ }
474
+ function buildScheduledEventRows(item, event, recurringWindow, occurrenceLimit) {
475
+ const recurrenceRuleSummary = formatRecurrenceRuleForSummary(event.recurrence);
476
+ const durationMs = recurringDurationMs(event.start_at, event.end_at);
477
+ const occurrences = event.recurrence ? expandRecurringOccurrences(event.start_at, event.recurrence, recurringWindow, occurrenceLimit) : [event.start_at];
478
+ return occurrences.map((occurrenceAt) => ({
479
+ at: occurrenceAt,
480
+ // All-day events are timezone-agnostic calendar dates: bucket by the
481
+ // literal start date. Timed events bucket by their local day in the
482
+ // event's timezone (defaults to UTC when unset).
483
+ date: event.all_day === true ? occurrenceAt.slice(0, 10) : toLocalDayKey(occurrenceAt, event.timezone),
484
+ kind: "event",
485
+ reminder_text: event.description ?? null,
486
+ event_title: event.title ?? item.title,
487
+ event_end: eventOccurrenceEnd(occurrenceAt, event, durationMs),
488
+ event_location: event.location ?? null,
489
+ event_all_day: event.all_day ?? null,
490
+ event_timezone: event.timezone ?? null,
491
+ event_recurring: event.recurrence ? true : false,
492
+ event_recurrence_rule: recurrenceRuleSummary,
493
+ ...buildItemCalendarRowBase(item)
494
+ }));
495
+ }
496
+ function buildEventSeed(items, recurringWindow, includeSources, occurrenceLimit) {
497
+ const events = [];
498
+ for (const item of items) {
499
+ const deadlineRow = includeSources.has("deadlines") ? buildDeadlineRow(item) : null;
500
+ if (deadlineRow) {
501
+ events.push(deadlineRow);
502
+ }
503
+ if (includeSources.has("reminders")) {
504
+ events.push(...buildReminderRows(item));
505
+ }
506
+ for (const event of includeSources.has("events") ? item.events ?? [] : []) {
507
+ events.push(...buildScheduledEventRows(item, event, recurringWindow, occurrenceLimit));
508
+ }
509
+ }
510
+ return sortEvents(events);
511
+ }
512
+ function filterItems(items, options, typeRegistry, statusRegistry, runtimeFieldFilters) {
513
+ const typeFilter = parseType(options.type, typeRegistry);
514
+ const tagFilter = options.tag?.trim().toLowerCase();
515
+ const priorityFilter = parsePriority(options.priority);
516
+ const statusFilter = parseStatus(options.status, statusRegistry);
517
+ const assigneeFilter = options.assignee?.trim();
518
+ const assigneeModeFilter = parseAssigneeFilter(options.assigneeFilter);
519
+ const sprintFilter = options.sprint?.trim();
520
+ const releaseFilter = options.release?.trim();
521
+ if (assigneeFilter && (assigneeFilter.toLowerCase() === "none" || assigneeFilter.toLowerCase() === "null")) {
522
+ throw new PmCliError('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.', EXIT_CODE.USAGE);
523
+ }
524
+ if (assigneeFilter !== void 0 && assigneeModeFilter === "unassigned") {
525
+ throw new PmCliError("Cannot combine --assignee with --assignee-filter unassigned", EXIT_CODE.USAGE);
526
+ }
527
+ return items.filter((item) => itemMatchesCalendarFilters(item, {
528
+ typeFilter,
529
+ tagFilter,
530
+ priorityFilter,
531
+ statusFilter,
532
+ assigneeFilter,
533
+ assigneeModeFilter,
534
+ sprintFilter,
535
+ releaseFilter,
536
+ runtimeFieldFilters
537
+ }));
538
+ }
539
+ function itemMatchesCalendarFilters(item, filters) {
540
+ return itemMatchesCalendarIdentityFilters(item, filters) && itemMatchesCalendarOwnerFilters(item, filters) && matchesRuntimeFilters(item, filters.runtimeFieldFilters);
541
+ }
542
+ function itemMatchesCalendarIdentityFilters(item, filters) {
543
+ if (filters.typeFilter && item.type !== filters.typeFilter)
544
+ return false;
545
+ if (filters.tagFilter && !item.tags.some((tag) => tag.trim().toLowerCase() === filters.tagFilter))
546
+ return false;
547
+ if (filters.priorityFilter !== void 0 && item.priority !== filters.priorityFilter)
548
+ return false;
549
+ if (filters.statusFilter && item.status !== filters.statusFilter)
550
+ return false;
551
+ return true;
552
+ }
553
+ function itemMatchesCalendarOwnerFilters(item, filters) {
554
+ if (filters.assigneeModeFilter === "assigned" && !item.assignee)
555
+ return false;
556
+ if (filters.assigneeModeFilter === "unassigned" && item.assignee)
557
+ return false;
558
+ if (filters.assigneeFilter !== void 0 && item.assignee !== filters.assigneeFilter)
559
+ return false;
560
+ if (filters.sprintFilter !== void 0 && item.sprint !== filters.sprintFilter)
561
+ return false;
562
+ if (filters.releaseFilter !== void 0 && item.release !== filters.releaseFilter)
563
+ return false;
564
+ return true;
565
+ }
566
+ function includeEventInWindow(event, start, end) {
567
+ if (start && compareTimestampStrings(event.at, start) < 0) {
568
+ return false;
569
+ }
570
+ if (end && compareTimestampStrings(event.at, end) >= 0) {
571
+ return false;
572
+ }
573
+ return true;
574
+ }
575
+ function resolveCalendarBoundaryInput(raw, nowValue, fieldLabel) {
576
+ if (raw.trim().toLowerCase() === "today") {
577
+ return startOfUtcDay(nowValue);
578
+ }
579
+ return resolveIsoOrRelative(raw, new Date(nowValue), fieldLabel);
580
+ }
581
+ function buildRange(view, options, nowValue) {
582
+ const anchor = options.date ? resolveCalendarBoundaryInput(options.date, nowValue, "--date") : nowValue;
583
+ const includePast = options.past === true;
584
+ const fullPeriodRequested = options.fullPeriod === true;
585
+ const from = options.from ? resolveCalendarBoundaryInput(options.from, nowValue, "--from") : void 0;
586
+ const to = options.to ? resolveCalendarBoundaryInput(options.to, nowValue, "--to") : void 0;
587
+ if (from && to && compareTimestampStrings(from, to) >= 0) {
588
+ throw new PmCliError("Calendar --from must be before --to", EXIT_CODE.USAGE);
589
+ }
590
+ if (view !== "agenda" && (options.from !== void 0 || options.to !== void 0)) {
591
+ throw new PmCliError("--from and --to are only supported for --view agenda", EXIT_CODE.USAGE);
592
+ }
593
+ if (view === "agenda") {
594
+ return buildAgendaRange(anchor, options, nowValue, includePast, fullPeriodRequested, from, to);
595
+ }
596
+ if (view === "day") {
597
+ const dayStart = startOfUtcDay(anchor);
598
+ return buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, dayStart, addUtcDays(dayStart, 1));
599
+ }
600
+ if (view === "week") {
601
+ const weekStart = startOfUtcWeekMonday(anchor);
602
+ return buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, weekStart, addUtcDays(weekStart, 7));
603
+ }
604
+ const monthStart = startOfUtcMonth(anchor);
605
+ return buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, monthStart, startOfNextUtcMonth(anchor));
606
+ }
607
+ function buildAgendaRange(anchor, options, nowValue, includePast, fullPeriodRequested, from, to) {
608
+ if (fullPeriodRequested) {
609
+ throw new PmCliError("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.", EXIT_CODE.USAGE);
610
+ }
611
+ return {
612
+ anchor,
613
+ start: from ?? (options.date ? anchor : includePast ? void 0 : nowValue),
614
+ end: to,
615
+ fullPeriod: false
616
+ };
617
+ }
618
+ function buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, periodStart, periodEnd) {
619
+ const fullPeriod = includePast || fullPeriodRequested;
620
+ return {
621
+ anchor,
622
+ start: fullPeriod ? periodStart : maxTimestamp(periodStart, nowValue),
623
+ end: periodEnd,
624
+ periodStart,
625
+ periodEnd,
626
+ fullPeriod
627
+ };
628
+ }
629
+ function bucketEventsByDay(events) {
630
+ const dayMap = /* @__PURE__ */ new Map();
631
+ for (const event of events) {
632
+ const list = dayMap.get(event.date) ?? [];
633
+ list.push(event);
634
+ dayMap.set(event.date, list);
635
+ }
636
+ return [...dayMap.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([date, dayEvents]) => ({
637
+ date,
638
+ count: dayEvents.length,
639
+ events: sortEvents(dayEvents)
640
+ }));
641
+ }
642
+ function summarize(events) {
643
+ const itemIds = /* @__PURE__ */ new Set();
644
+ const byType = /* @__PURE__ */ new Map();
645
+ const byStatus = /* @__PURE__ */ new Map();
646
+ let deadlines = 0;
647
+ let reminders = 0;
648
+ let scheduled = 0;
649
+ let recurringEvents = 0;
650
+ for (const event of events) {
651
+ itemIds.add(event.item_id);
652
+ incrementCount(byType, event.item_type);
653
+ incrementCount(byStatus, event.item_status);
654
+ if (event.kind === "deadline") {
655
+ deadlines += 1;
656
+ } else if (event.kind === "reminder") {
657
+ reminders += 1;
658
+ } else {
659
+ scheduled += 1;
660
+ if (event.event_recurring === true) {
661
+ recurringEvents += 1;
662
+ }
663
+ }
664
+ }
665
+ return {
666
+ events: events.length,
667
+ items: itemIds.size,
668
+ deadlines,
669
+ reminders,
670
+ scheduled,
671
+ by_kind: {
672
+ deadline: deadlines,
673
+ reminder: reminders,
674
+ event: scheduled
675
+ },
676
+ by_type: toSortedCountRecord(byType),
677
+ by_status: toSortedCountRecord(byStatus),
678
+ recurring_events: recurringEvents
679
+ };
680
+ }
681
+ function formatWindow(range) {
682
+ const start = range.start ?? "unbounded";
683
+ const end = range.end ?? "unbounded";
684
+ return `${start} -> ${end}`;
685
+ }
686
+ function formatClock(timestamp, timezone) {
687
+ if (timezone && timezone !== "UTC") {
688
+ try {
689
+ const parts = new Intl.DateTimeFormat("en-GB", {
690
+ timeZone: timezone,
691
+ hour: "2-digit",
692
+ minute: "2-digit",
693
+ hourCycle: "h23"
694
+ }).formatToParts(new Date(timestamp));
695
+ const hour = parts.find((part) => part.type === "hour")?.value;
696
+ const minute = parts.find((part) => part.type === "minute")?.value;
697
+ if (hour && minute) {
698
+ return `${hour}:${minute}`;
699
+ }
700
+ } catch {
701
+ }
702
+ }
703
+ return `${new Date(timestamp).toISOString().slice(11, 16)}Z`;
704
+ }
705
+ function formatSummaryCountRecord(values) {
706
+ const entries = Object.entries(values);
707
+ if (entries.length === 0) {
708
+ return "empty";
709
+ }
710
+ return entries.map(([key, value]) => `${key}=${value}`).join(", ");
711
+ }
712
+ function formatEventEnd(event) {
713
+ if (!event.event_end) {
714
+ return null;
715
+ }
716
+ if (event.event_all_day === true) {
717
+ return event.event_end.slice(0, 10);
718
+ }
719
+ if (event.date === toLocalDayKey(event.event_end, event.event_timezone)) {
720
+ return formatClock(event.event_end, event.event_timezone);
721
+ }
722
+ return event.event_end;
723
+ }
724
+ function formatEventLine(event) {
725
+ const core = `${formatClock(event.at, event.event_timezone)} [${event.kind}] ${event.item_id} type=${event.item_type} p${event.item_priority} ${event.item_status} ${event.item_title}`;
726
+ if (event.kind === "reminder") {
727
+ const reminderText = event.reminder_text ?? "";
728
+ return `${core} \u2014 ${reminderText} reminder=${JSON.stringify(reminderText)}`;
729
+ }
730
+ if (event.kind === "event") {
731
+ const details = [];
732
+ const title = event.event_title ?? event.item_title;
733
+ const titleDiffers = event.event_title !== null && event.event_title !== event.item_title;
734
+ if (titleDiffers) {
735
+ details.push(title);
736
+ details.push(`title=${JSON.stringify(title)}`);
737
+ }
738
+ if (event.event_recurring) {
739
+ details.push("(recurring)");
740
+ details.push("recurring=true");
741
+ }
742
+ const end = formatEventEnd(event);
743
+ if (end) {
744
+ details.push(`end=${end}`);
745
+ }
746
+ if (event.event_all_day !== null) {
747
+ details.push(`all_day=${event.event_all_day ? "true" : "false"}`);
748
+ }
749
+ if (event.event_timezone) {
750
+ details.push(`timezone=${event.event_timezone}`);
751
+ }
752
+ if (event.event_location) {
753
+ details.push(`@ ${event.event_location}`);
754
+ details.push(`location=${JSON.stringify(event.event_location)}`);
755
+ }
756
+ if (event.event_recurrence_rule) {
757
+ details.push(`recurrence=${event.event_recurrence_rule}`);
758
+ }
759
+ if (event.reminder_text) {
760
+ details.push(`description=${JSON.stringify(event.reminder_text)}`);
761
+ }
762
+ return `${core} \u2014 ${details.join(" ")}`;
763
+ }
764
+ return core;
765
+ }
766
+ function renderCalendarMarkdown(result) {
767
+ const lines = [];
768
+ lines.push(`# pm calendar (${result.view})`);
769
+ lines.push("");
770
+ lines.push(`- now: ${result.now}`);
771
+ lines.push(`- window: ${formatWindow(result.range)}`);
772
+ if (result.range.period_start && result.range.period_end) {
773
+ lines.push(`- period: ${result.range.period_start} -> ${result.range.period_end}`);
774
+ lines.push(`- period-mode: ${result.range.full_period ? "full-period" : "active-window"}`);
775
+ }
776
+ lines.push(`- events: ${result.summary.events} (deadlines: ${result.summary.deadlines}, reminders: ${result.summary.reminders}, scheduled: ${result.summary.scheduled})`);
777
+ lines.push(`- items: ${result.summary.items}`);
778
+ lines.push(`- by-kind: ${formatSummaryCountRecord(result.summary.by_kind)}`);
779
+ lines.push(`- by-type: ${formatSummaryCountRecord(result.summary.by_type)}`);
780
+ lines.push(`- by-status: ${formatSummaryCountRecord(result.summary.by_status)}`);
781
+ lines.push(`- recurring-events: ${result.summary.recurring_events}`);
782
+ lines.push("");
783
+ if (result.events.length === 0) {
784
+ lines.push("No calendar events matched the selected filters.");
785
+ return lines.join("\n");
786
+ }
787
+ for (const day of result.days) {
788
+ lines.push(`## ${day.date} (${day.count})`);
789
+ for (const event of day.events) {
790
+ lines.push(`- ${formatEventLine(event)}`);
791
+ }
792
+ lines.push("");
793
+ }
794
+ if (result.warnings && result.warnings.length > 0) {
795
+ lines.push("### warnings");
796
+ for (const warning of result.warnings) {
797
+ lines.push(`- ${warning}`);
798
+ }
799
+ lines.push("");
800
+ }
801
+ return trimTrailingNewlines(lines.join("\n"));
802
+ }
803
+ function renderCalendarToon(result) {
804
+ return encodeToon(result);
805
+ }
806
+ function trimTrailingNewlines(value) {
807
+ let end = value.length;
808
+ while (end > 0 && value[end - 1] === "\n") {
809
+ end -= 1;
810
+ }
811
+ return value.slice(0, end);
812
+ }
813
+ function resolveCalendarExecutionInputs(options) {
814
+ const nowValue = nowIso();
815
+ const view = parseView(options.view);
816
+ const rangeBounds = buildRange(view, options, nowValue);
817
+ const limit = parseIntegerLimit(options.limit);
818
+ const includeSources = parseIncludeSources(options.include);
819
+ const explicitLookahead = parseNonNegativeInteger(options.recurrenceLookaheadDays, "Calendar recurrence lookahead days");
820
+ const recurrenceLookbackDays = parseNonNegativeInteger(options.recurrenceLookbackDays, "Calendar recurrence lookback days");
821
+ const occurrenceLimit = parseNonNegativeInteger(options.occurrenceLimit, "Calendar occurrence limit");
822
+ if (occurrenceLimit !== void 0 && occurrenceLimit < 1) {
823
+ throw new PmCliError("Calendar occurrence limit must be >= 1", EXIT_CODE.USAGE);
824
+ }
825
+ const eventsOnly = includeSources.has("events") && !includeSources.has("deadlines") && !includeSources.has("reminders");
826
+ const hasExplicitBounds = options.to !== void 0 || explicitLookahead !== void 0 || recurrenceLookbackDays !== void 0 || occurrenceLimit !== void 0;
827
+ const eventsOnlyCapApplied = eventsOnly && !hasExplicitBounds;
828
+ return {
829
+ nowValue,
830
+ view,
831
+ rangeBounds,
832
+ limit,
833
+ includeSources,
834
+ occurrenceLimit,
835
+ recurrenceLookaheadDays: eventsOnlyCapApplied ? DEFAULT_EVENTS_ONLY_LOOKAHEAD_DAYS : explicitLookahead,
836
+ recurrenceLookbackWindowDays: eventsOnlyCapApplied && recurrenceLookbackDays === void 0 ? 0 : recurrenceLookbackDays,
837
+ eventsOnlyCapApplied
838
+ };
839
+ }
840
+ function appendCalendarCapWarning(warnings, capApplied) {
841
+ if (!capApplied) {
842
+ return;
843
+ }
844
+ warnings.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${DEFAULT_EVENTS_ONLY_LOOKAHEAD_DAYS}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`);
845
+ }
846
+ function buildCalendarFiltersResult(options, runtimeFieldFilters) {
847
+ return {
848
+ type: options.type ?? null,
849
+ tag: options.tag ?? null,
850
+ priority: options.priority ?? null,
851
+ status: options.status ?? null,
852
+ assignee: options.assignee ?? null,
853
+ assignee_filter: options.assigneeFilter ?? null,
854
+ sprint: options.sprint ?? null,
855
+ release: options.release ?? null,
856
+ runtime_filters: runtimeFieldFilters,
857
+ limit: options.limit ?? null,
858
+ include: options.include ?? null,
859
+ full_period: options.fullPeriod === true ? "true" : null,
860
+ recurrence_lookahead_days: options.recurrenceLookaheadDays ?? null,
861
+ recurrence_lookback_days: options.recurrenceLookbackDays ?? null,
862
+ occurrence_limit: options.occurrenceLimit ?? null
863
+ };
864
+ }
865
+ function buildCalendarRangeResult(options, rangeBounds) {
866
+ return {
867
+ start: rangeBounds.start ?? null,
868
+ end: rangeBounds.end ?? null,
869
+ period_start: rangeBounds.periodStart ?? null,
870
+ period_end: rangeBounds.periodEnd ?? null,
871
+ full_period: rangeBounds.fullPeriod,
872
+ past: options.past === true,
873
+ from: options.from ?? null,
874
+ to: options.to ?? null
875
+ };
876
+ }
877
+ async function runCalendar(options, global2) {
878
+ const pmRoot = resolvePmRoot(process.cwd(), global2.path);
879
+ if (!await pathExists(getSettingsPath(pmRoot))) {
880
+ throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);
881
+ }
882
+ const inputs = resolveCalendarExecutionInputs(options);
883
+ const settings = await readSettings(pmRoot);
884
+ const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
885
+ const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);
886
+ const runtimeFieldFilters = collectRuntimeFilterValues(options, runtimeFieldRegistry, "calendar");
887
+ const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
888
+ const listWarnings = [];
889
+ appendCalendarCapWarning(listWarnings, inputs.eventsOnlyCapApplied);
890
+ const items = await listAllFrontMatterLight(pmRoot, settings.item_format, typeRegistry.type_to_folder, listWarnings, settings.schema);
891
+ const filteredItems = filterItems(items, options, typeRegistry, statusRegistry, runtimeFieldFilters);
892
+ const recurringWindow = buildRecurringEventWindow(inputs.rangeBounds.start, inputs.rangeBounds.end, inputs.nowValue, inputs.recurrenceLookbackWindowDays, inputs.recurrenceLookaheadDays);
893
+ const seededEvents = buildEventSeed(filteredItems, recurringWindow, inputs.includeSources, inputs.occurrenceLimit);
894
+ const rangedEvents = seededEvents.filter((event) => includeEventInWindow(event, inputs.rangeBounds.start, inputs.rangeBounds.end));
895
+ const limitedEvents = inputs.limit === void 0 ? rangedEvents : rangedEvents.slice(0, inputs.limit);
896
+ const days = bucketEventsByDay(limitedEvents);
897
+ const warnings = [...new Set(listWarnings)].sort((left, right) => left.localeCompare(right));
898
+ return {
899
+ view: inputs.view,
900
+ output_default: "markdown",
901
+ now: inputs.nowValue,
902
+ anchor: inputs.rangeBounds.anchor,
903
+ range: buildCalendarRangeResult(options, inputs.rangeBounds),
904
+ filters: buildCalendarFiltersResult(options, runtimeFieldFilters),
905
+ summary: summarize(limitedEvents),
906
+ events: limitedEvents,
907
+ days,
908
+ ...warnings.length > 0 ? { warnings } : {}
909
+ };
910
+ }
911
+
912
+ export {
913
+ resolveCalendarOutputFormat,
914
+ renderCalendarMarkdown,
915
+ renderCalendarToon,
916
+ runCalendar
917
+ };
918
+ //# sourceMappingURL=chunk-OBA2WH65.js.map