@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,915 @@
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8a196747-196e-5ef6-9526-cf12c153df00")}catch(e){}}();
3
+ import {
4
+ collectRuntimeFilterValues,
5
+ matchesRuntimeFilters
6
+ } from "./chunk-YSAH5FY5.js";
7
+ import {
8
+ parseIntegerLimit,
9
+ parsePriority,
10
+ parseType
11
+ } from "./chunk-YFIE7YK6.js";
12
+ import {
13
+ listAllFrontMatterLight
14
+ } from "./chunk-57C2RLW5.js";
15
+ import {
16
+ normalizeStatusInput
17
+ } from "./chunk-HK72NWAD.js";
18
+ import {
19
+ compareTimestampStrings,
20
+ nowIso,
21
+ resolveIsoOrRelative
22
+ } from "./chunk-FJRKQREY.js";
23
+ import {
24
+ PmCliError,
25
+ getActiveExtensionRegistrations,
26
+ readSettings
27
+ } from "./chunk-US3T3W5J.js";
28
+ import {
29
+ EXIT_CODE,
30
+ getSettingsPath,
31
+ levenshteinDistanceWithinLimit,
32
+ pathExists,
33
+ resolveItemTypeRegistry,
34
+ resolvePmRoot,
35
+ resolveRuntimeFieldRegistry,
36
+ resolveRuntimeStatusRegistry,
37
+ weekdayOrderIndex
38
+ } from "./chunk-YD5FML7K.js";
39
+
40
+ // dist/cli/commands/calendar.js
41
+ import { encode as encodeToon } from "@toon-format/toon";
42
+ var CALENDAR_VIEW_VALUES = ["agenda", "day", "week", "month"];
43
+ var CALENDAR_OUTPUT_VALUES = ["markdown", "toon", "json"];
44
+ var UTC_DAY_TO_WEEKDAY = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
45
+ var DEFAULT_RECURRENCE_LOOKAHEAD_DAYS = 365;
46
+ var DEFAULT_RECURRENCE_LOOKBACK_DAYS = 365;
47
+ var DEFAULT_EVENTS_ONLY_LOOKAHEAD_DAYS = 28;
48
+ var MAX_RECURRENCE_OCCURRENCES = 1e3;
49
+ function parseNonNegativeInteger(raw, label) {
50
+ if (raw === void 0)
51
+ return void 0;
52
+ const parsed = Number(raw);
53
+ if (!Number.isInteger(parsed) || parsed < 0) {
54
+ throw new PmCliError(`${label} must be a non-negative integer`, EXIT_CODE.USAGE);
55
+ }
56
+ return parsed;
57
+ }
58
+ function parseIncludeSources(raw) {
59
+ if (!raw) {
60
+ return /* @__PURE__ */ new Set(["deadlines", "reminders", "events"]);
61
+ }
62
+ const normalized = raw.trim().toLowerCase();
63
+ if (normalized === "all") {
64
+ return /* @__PURE__ */ new Set(["deadlines", "reminders", "events"]);
65
+ }
66
+ const values = normalized.split(/[|,]/).map((value) => value.trim()).filter((value) => value.length > 0);
67
+ if (values.length === 0) {
68
+ throw new PmCliError("Calendar include filter must not be empty", EXIT_CODE.USAGE);
69
+ }
70
+ const include = /* @__PURE__ */ new Set();
71
+ for (const value of values) {
72
+ if (value === "deadlines" || value === "deadline") {
73
+ include.add("deadlines");
74
+ continue;
75
+ }
76
+ if (value === "reminders" || value === "reminder") {
77
+ include.add("reminders");
78
+ continue;
79
+ }
80
+ if (value === "events" || value === "event" || value === "scheduled") {
81
+ include.add("events");
82
+ continue;
83
+ }
84
+ throw new PmCliError("Calendar include filter must be deadlines|reminders|events|scheduled|all", EXIT_CODE.USAGE);
85
+ }
86
+ return include;
87
+ }
88
+ function suggestClosestChoice(value, choices) {
89
+ let best;
90
+ for (const choice of choices) {
91
+ const distance = levenshteinDistanceWithinLimit(value, choice, 2);
92
+ if (distance !== null && (best === void 0 || distance < best.distance)) {
93
+ best = { choice, distance };
94
+ }
95
+ }
96
+ return best?.choice;
97
+ }
98
+ function parseView(raw) {
99
+ if (!raw)
100
+ return "agenda";
101
+ const normalized = raw.trim().toLowerCase();
102
+ if (!CALENDAR_VIEW_VALUES.includes(normalized)) {
103
+ const suggestion = suggestClosestChoice(normalized, CALENDAR_VIEW_VALUES);
104
+ throw new PmCliError(`Calendar view must be one of ${CALENDAR_VIEW_VALUES.join("|")}${suggestion ? `. Did you mean "${suggestion}"?` : "."}`, EXIT_CODE.USAGE);
105
+ }
106
+ return normalized;
107
+ }
108
+ function parseOutputFormat(raw) {
109
+ if (!raw)
110
+ return void 0;
111
+ const normalized = raw.trim().toLowerCase();
112
+ if (!CALENDAR_OUTPUT_VALUES.includes(normalized)) {
113
+ const suggestion = suggestClosestChoice(normalized, CALENDAR_OUTPUT_VALUES);
114
+ throw new PmCliError(`Calendar format must be one of ${CALENDAR_OUTPUT_VALUES.join("|")}${suggestion ? `. Did you mean "${suggestion}"?` : "."}`, EXIT_CODE.USAGE);
115
+ }
116
+ return normalized;
117
+ }
118
+ function resolveCalendarOutputFormat(options, global) {
119
+ const commandFormat = parseOutputFormat(options.format);
120
+ if (global.json && commandFormat && commandFormat !== "json") {
121
+ throw new PmCliError("Cannot combine --json with --format markdown|toon", EXIT_CODE.USAGE);
122
+ }
123
+ if (global.json) {
124
+ return "json";
125
+ }
126
+ return commandFormat ?? "markdown";
127
+ }
128
+ function parseStatus(raw, statusRegistry) {
129
+ if (raw === void 0)
130
+ return void 0;
131
+ const normalized = normalizeStatusInput(raw, statusRegistry);
132
+ if (!normalized) {
133
+ const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);
134
+ throw new PmCliError(`Calendar status filter must be one of ${allowedStatuses.join("|")}`, EXIT_CODE.USAGE);
135
+ }
136
+ return normalized;
137
+ }
138
+ function parseAssigneeFilter(raw) {
139
+ if (raw === void 0) {
140
+ return void 0;
141
+ }
142
+ const normalized = raw.trim().toLowerCase();
143
+ if (!normalized) {
144
+ throw new PmCliError("Calendar assignee filter must be one of assigned|unassigned", EXIT_CODE.USAGE);
145
+ }
146
+ if (normalized !== "assigned" && normalized !== "unassigned") {
147
+ throw new PmCliError(`Invalid calendar assignee filter "${raw}". Allowed: assigned|unassigned`, EXIT_CODE.USAGE);
148
+ }
149
+ return normalized;
150
+ }
151
+ function toUtcDayKey(timestamp) {
152
+ return new Date(timestamp).toISOString().slice(0, 10);
153
+ }
154
+ function toLocalDayKey(timestamp, timezone) {
155
+ if (!timezone || timezone === "UTC") {
156
+ return toUtcDayKey(timestamp);
157
+ }
158
+ try {
159
+ const parts = new Intl.DateTimeFormat("en-CA", {
160
+ timeZone: timezone,
161
+ year: "numeric",
162
+ month: "2-digit",
163
+ day: "2-digit"
164
+ }).formatToParts(new Date(timestamp));
165
+ const year = parts.find((part) => part.type === "year")?.value;
166
+ const month = parts.find((part) => part.type === "month")?.value;
167
+ const day = parts.find((part) => part.type === "day")?.value;
168
+ if (year && month && day) {
169
+ return `${year}-${month}-${day}`;
170
+ }
171
+ } catch {
172
+ }
173
+ return toUtcDayKey(timestamp);
174
+ }
175
+ function startOfUtcDay(timestamp) {
176
+ const date = new Date(timestamp);
177
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0, 0)).toISOString();
178
+ }
179
+ function addUtcDays(timestamp, days) {
180
+ const date = new Date(timestamp);
181
+ return new Date(date.getTime() + days * 24 * 60 * 60 * 1e3).toISOString();
182
+ }
183
+ function startOfUtcWeekMonday(timestamp) {
184
+ const base = new Date(startOfUtcDay(timestamp));
185
+ const day = base.getUTCDay();
186
+ const delta = day === 0 ? -6 : 1 - day;
187
+ return addUtcDays(base.toISOString(), delta);
188
+ }
189
+ function startOfUtcMonth(timestamp) {
190
+ const date = new Date(timestamp);
191
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1, 0, 0, 0, 0)).toISOString();
192
+ }
193
+ function startOfNextUtcMonth(timestamp) {
194
+ const date = new Date(timestamp);
195
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 1, 0, 0, 0, 0)).toISOString();
196
+ }
197
+ function maxTimestamp(left, right) {
198
+ return compareTimestampStrings(left, right) >= 0 ? left : right;
199
+ }
200
+ function toSortedCountRecord(values) {
201
+ return Object.fromEntries([...values.entries()].sort(([left], [right]) => left.localeCompare(right)));
202
+ }
203
+ function incrementCount(values, key) {
204
+ values.set(key, (values.get(key) ?? 0) + 1);
205
+ }
206
+ function formatRecurrenceRuleForSummary(rule) {
207
+ if (!rule) {
208
+ return null;
209
+ }
210
+ const parts = [`freq=${rule.freq}`];
211
+ if (rule.interval !== void 0) {
212
+ parts.push(`interval=${rule.interval}`);
213
+ }
214
+ if (rule.count !== void 0) {
215
+ parts.push(`count=${rule.count}`);
216
+ }
217
+ if (rule.until) {
218
+ parts.push(`until=${rule.until}`);
219
+ }
220
+ if (rule.by_weekday && rule.by_weekday.length > 0) {
221
+ const weekdays = [...rule.by_weekday].sort((left, right) => weekdayOrderIndex(left) - weekdayOrderIndex(right));
222
+ parts.push(`by_weekday=${weekdays.join("|")}`);
223
+ }
224
+ if (rule.by_month_day && rule.by_month_day.length > 0) {
225
+ const monthDays = [...rule.by_month_day].sort((left, right) => left - right);
226
+ parts.push(`by_month_day=${monthDays.join("|")}`);
227
+ }
228
+ if (rule.exdates && rule.exdates.length > 0) {
229
+ const exdates = [...rule.exdates].sort((left, right) => left.localeCompare(right));
230
+ parts.push(`exdates=${exdates.join("|")}`);
231
+ }
232
+ return parts.join(",");
233
+ }
234
+ function buildUtcTimestamp(year, month, day, timeSource) {
235
+ const candidate = new Date(Date.UTC(year, month, day, timeSource.getUTCHours(), timeSource.getUTCMinutes(), timeSource.getUTCSeconds(), timeSource.getUTCMilliseconds()));
236
+ if (candidate.getUTCFullYear() !== year || candidate.getUTCMonth() !== month || candidate.getUTCDate() !== day) {
237
+ return void 0;
238
+ }
239
+ return candidate.toISOString();
240
+ }
241
+ function weekdayToken(timestamp) {
242
+ return UTC_DAY_TO_WEEKDAY[new Date(timestamp).getUTCDay()];
243
+ }
244
+ function normalizeInstantKey(timestamp) {
245
+ const parsed = Date.parse(timestamp);
246
+ return Number.isFinite(parsed) ? new Date(parsed).toISOString() : null;
247
+ }
248
+ function buildExcludedInstantSet(exdates) {
249
+ const excluded = /* @__PURE__ */ new Set();
250
+ for (const exdate of exdates ?? []) {
251
+ const instantKey = normalizeInstantKey(exdate);
252
+ if (instantKey) {
253
+ excluded.add(instantKey);
254
+ }
255
+ }
256
+ return excluded;
257
+ }
258
+ function buildRecurringEventWindow(start, end, nowValue, lookbackDays, lookaheadDays) {
259
+ const windowStart = start ?? addUtcDays(nowValue, -(lookbackDays ?? DEFAULT_RECURRENCE_LOOKBACK_DAYS));
260
+ const windowEnd = end ?? addUtcDays(start ?? nowValue, lookaheadDays ?? DEFAULT_RECURRENCE_LOOKAHEAD_DAYS);
261
+ return {
262
+ start: windowStart,
263
+ end: compareTimestampStrings(windowEnd, windowStart) > 0 ? windowEnd : addUtcDays(windowStart, 1)
264
+ };
265
+ }
266
+ function buildRecurrenceExpansionContext(startAt, recurrence, window, occurrenceLimit) {
267
+ const recurrenceWeekdays = recurrence.by_weekday !== void 0 ? [...recurrence.by_weekday] : [weekdayToken(startAt)];
268
+ const recurrenceMonthDays = recurrence.by_month_day !== void 0 ? [...recurrence.by_month_day] : [new Date(startAt).getUTCDate()];
269
+ return {
270
+ startAt,
271
+ startDate: new Date(startAt),
272
+ window,
273
+ maxOccurrences: occurrenceLimit ?? MAX_RECURRENCE_OCCURRENCES,
274
+ interval: recurrence.interval ?? 1,
275
+ countLimit: recurrence.count ?? Number.POSITIVE_INFINITY,
276
+ until: recurrence.until,
277
+ excluded: buildExcludedInstantSet(recurrence.exdates),
278
+ weekdayFilter: recurrence.by_weekday !== void 0 ? new Set(recurrence.by_weekday) : void 0,
279
+ monthDayFilter: recurrence.by_month_day !== void 0 ? new Set(recurrence.by_month_day) : void 0,
280
+ sortedWeekdays: [...new Set(recurrenceWeekdays)].sort((left, right) => weekdayOrderIndex(left) - weekdayOrderIndex(right)),
281
+ sortedMonthDays: [...new Set(recurrenceMonthDays)].sort((left, right) => left - right),
282
+ occurrences: [],
283
+ produced: 0
284
+ };
285
+ }
286
+ function consumeRecurrenceCandidate(context, candidateAt) {
287
+ if (compareTimestampStrings(candidateAt, context.startAt) < 0) {
288
+ return "continue";
289
+ }
290
+ if (context.until && compareTimestampStrings(candidateAt, context.until) > 0) {
291
+ return "stop";
292
+ }
293
+ if (compareTimestampStrings(candidateAt, context.window.end) >= 0) {
294
+ return "stop";
295
+ }
296
+ if (context.excluded.has(candidateAt)) {
297
+ return "continue";
298
+ }
299
+ context.produced += 1;
300
+ if (compareTimestampStrings(candidateAt, context.window.start) >= 0) {
301
+ context.occurrences.push(candidateAt);
302
+ }
303
+ return context.produced >= context.countLimit || context.occurrences.length >= context.maxOccurrences ? "stop" : "continue";
304
+ }
305
+ function recurrenceDayMatchesFilters(context, candidateAt) {
306
+ const candidateWeekday = weekdayToken(candidateAt);
307
+ const candidateMonthDay = new Date(candidateAt).getUTCDate();
308
+ const weekdayMatches = !context.weekdayFilter || context.weekdayFilter.has(candidateWeekday);
309
+ const monthDayMatches = !context.monthDayFilter || context.monthDayFilter.has(candidateMonthDay);
310
+ return weekdayMatches && monthDayMatches;
311
+ }
312
+ function expandDailyOccurrences(context) {
313
+ let candidateAt = context.startAt;
314
+ for (let iteration = 0; iteration < context.maxOccurrences; iteration += 1) {
315
+ if (recurrenceDayMatchesFilters(context, candidateAt) && consumeRecurrenceCandidate(context, candidateAt) === "stop") {
316
+ break;
317
+ }
318
+ candidateAt = addUtcDays(candidateAt, context.interval);
319
+ }
320
+ return context.occurrences;
321
+ }
322
+ function buildWeeklyCandidateAt(context, candidateWeekStart, weekday) {
323
+ const dayOffset = weekdayOrderIndex(weekday);
324
+ const candidateDay = addUtcDays(candidateWeekStart, dayOffset);
325
+ const dayDate = new Date(candidateDay);
326
+ return new Date(Date.UTC(dayDate.getUTCFullYear(), dayDate.getUTCMonth(), dayDate.getUTCDate(), context.startDate.getUTCHours(), context.startDate.getUTCMinutes(), context.startDate.getUTCSeconds(), context.startDate.getUTCMilliseconds())).toISOString();
327
+ }
328
+ function expandWeeklyOccurrences(context) {
329
+ const weekStart = startOfUtcWeekMonday(context.startAt);
330
+ for (let step = 0; step < context.maxOccurrences; step += 1) {
331
+ const candidateWeekStart = addUtcDays(weekStart, step * context.interval * 7);
332
+ for (const weekday of context.sortedWeekdays) {
333
+ const candidateAt = buildWeeklyCandidateAt(context, candidateWeekStart, weekday);
334
+ if (!recurrenceDayMatchesFilters(context, candidateAt)) {
335
+ continue;
336
+ }
337
+ if (consumeRecurrenceCandidate(context, candidateAt) === "stop") {
338
+ return context.occurrences;
339
+ }
340
+ }
341
+ }
342
+ return context.occurrences;
343
+ }
344
+ function expandMonthlyOccurrences(context) {
345
+ const startYear = context.startDate.getUTCFullYear();
346
+ const startMonth = context.startDate.getUTCMonth();
347
+ for (let step = 0; step < context.maxOccurrences; step += 1) {
348
+ const monthAnchor = new Date(Date.UTC(startYear, startMonth + step * context.interval, 1, 0, 0, 0, 0));
349
+ for (const monthDay of context.sortedMonthDays) {
350
+ const candidateAt = buildUtcTimestamp(monthAnchor.getUTCFullYear(), monthAnchor.getUTCMonth(), monthDay, context.startDate);
351
+ if (!candidateAt || !recurrenceDayMatchesFilters(context, candidateAt)) {
352
+ continue;
353
+ }
354
+ if (consumeRecurrenceCandidate(context, candidateAt) === "stop") {
355
+ return context.occurrences;
356
+ }
357
+ }
358
+ }
359
+ return context.occurrences;
360
+ }
361
+ function expandYearlyOccurrences(context) {
362
+ const year = context.startDate.getUTCFullYear();
363
+ const month = context.startDate.getUTCMonth();
364
+ for (let step = 0; step < context.maxOccurrences; step += 1) {
365
+ const candidateYear = year + step * context.interval;
366
+ for (const monthDay of context.sortedMonthDays) {
367
+ const candidateAt = buildUtcTimestamp(candidateYear, month, monthDay, context.startDate);
368
+ if (!candidateAt || !recurrenceDayMatchesFilters(context, candidateAt)) {
369
+ continue;
370
+ }
371
+ if (consumeRecurrenceCandidate(context, candidateAt) === "stop") {
372
+ return context.occurrences;
373
+ }
374
+ }
375
+ }
376
+ return context.occurrences;
377
+ }
378
+ function expandRecurringOccurrences(startAt, recurrence, window, occurrenceLimit) {
379
+ const context = buildRecurrenceExpansionContext(startAt, recurrence, window, occurrenceLimit);
380
+ if (recurrence.freq === "daily") {
381
+ return expandDailyOccurrences(context);
382
+ }
383
+ if (recurrence.freq === "weekly") {
384
+ return expandWeeklyOccurrences(context);
385
+ }
386
+ if (recurrence.freq === "monthly") {
387
+ return expandMonthlyOccurrences(context);
388
+ }
389
+ return expandYearlyOccurrences(context);
390
+ }
391
+ function sortEvents(values) {
392
+ return [...values].sort((a, b) => {
393
+ const byAt = compareTimestampStrings(a.at, b.at);
394
+ if (byAt !== 0)
395
+ return byAt;
396
+ const byPriority = a.item_priority - b.item_priority;
397
+ if (byPriority !== 0)
398
+ return byPriority;
399
+ const byId = a.item_id.localeCompare(b.item_id);
400
+ if (byId !== 0)
401
+ return byId;
402
+ const byKind = a.kind.localeCompare(b.kind);
403
+ if (byKind !== 0)
404
+ return byKind;
405
+ const byEventTitle = String(a.event_title).localeCompare(String(b.event_title));
406
+ if (byEventTitle !== 0)
407
+ return byEventTitle;
408
+ return String(a.reminder_text).localeCompare(String(b.reminder_text));
409
+ });
410
+ }
411
+ function buildItemCalendarRowBase(item) {
412
+ return {
413
+ item_id: item.id,
414
+ item_title: item.title,
415
+ item_type: item.type,
416
+ item_status: item.status,
417
+ item_priority: item.priority,
418
+ item_assignee: item.assignee ?? null,
419
+ item_deadline: item.deadline ?? null,
420
+ item_tags: item.tags
421
+ };
422
+ }
423
+ function buildDeadlineRow(item) {
424
+ if (!item.deadline) {
425
+ return null;
426
+ }
427
+ return {
428
+ at: item.deadline,
429
+ date: toUtcDayKey(item.deadline),
430
+ kind: "deadline",
431
+ reminder_text: null,
432
+ event_title: null,
433
+ event_end: null,
434
+ event_location: null,
435
+ event_all_day: null,
436
+ event_timezone: null,
437
+ event_recurring: null,
438
+ event_recurrence_rule: null,
439
+ ...buildItemCalendarRowBase(item),
440
+ item_deadline: item.deadline
441
+ };
442
+ }
443
+ function buildReminderRows(item) {
444
+ return (item.reminders ?? []).map((reminder) => ({
445
+ at: reminder.at,
446
+ date: toUtcDayKey(reminder.at),
447
+ kind: "reminder",
448
+ reminder_text: reminder.text,
449
+ event_title: null,
450
+ event_end: null,
451
+ event_location: null,
452
+ event_all_day: null,
453
+ event_timezone: null,
454
+ event_recurring: null,
455
+ event_recurrence_rule: null,
456
+ ...buildItemCalendarRowBase(item)
457
+ }));
458
+ }
459
+ function recurringDurationMs(startAt, endAt) {
460
+ if (!endAt) {
461
+ return null;
462
+ }
463
+ const duration = Date.parse(endAt) - Date.parse(startAt);
464
+ return Number.isFinite(duration) && duration > 0 ? duration : null;
465
+ }
466
+ function eventOccurrenceEnd(occurrenceAt, event, durationMs) {
467
+ return event.recurrence && durationMs !== null ? new Date(new Date(occurrenceAt).getTime() + durationMs).toISOString() : event.end_at ?? null;
468
+ }
469
+ function buildScheduledEventRows(item, event, recurringWindow, occurrenceLimit) {
470
+ const recurrenceRuleSummary = formatRecurrenceRuleForSummary(event.recurrence);
471
+ const durationMs = recurringDurationMs(event.start_at, event.end_at);
472
+ const occurrences = event.recurrence ? expandRecurringOccurrences(event.start_at, event.recurrence, recurringWindow, occurrenceLimit) : [event.start_at];
473
+ return occurrences.map((occurrenceAt) => ({
474
+ at: occurrenceAt,
475
+ // All-day events are timezone-agnostic calendar dates: bucket by the
476
+ // literal start date. Timed events bucket by their local day in the
477
+ // event's timezone (defaults to UTC when unset).
478
+ date: event.all_day === true ? occurrenceAt.slice(0, 10) : toLocalDayKey(occurrenceAt, event.timezone),
479
+ kind: "event",
480
+ reminder_text: event.description ?? null,
481
+ event_title: event.title ?? item.title,
482
+ event_end: eventOccurrenceEnd(occurrenceAt, event, durationMs),
483
+ event_location: event.location ?? null,
484
+ event_all_day: event.all_day ?? null,
485
+ event_timezone: event.timezone ?? null,
486
+ event_recurring: event.recurrence ? true : false,
487
+ event_recurrence_rule: recurrenceRuleSummary,
488
+ ...buildItemCalendarRowBase(item)
489
+ }));
490
+ }
491
+ function buildEventSeed(items, recurringWindow, includeSources, occurrenceLimit) {
492
+ const events = [];
493
+ for (const item of items) {
494
+ const deadlineRow = includeSources.has("deadlines") ? buildDeadlineRow(item) : null;
495
+ if (deadlineRow) {
496
+ events.push(deadlineRow);
497
+ }
498
+ if (includeSources.has("reminders")) {
499
+ events.push(...buildReminderRows(item));
500
+ }
501
+ for (const event of includeSources.has("events") ? item.events ?? [] : []) {
502
+ events.push(...buildScheduledEventRows(item, event, recurringWindow, occurrenceLimit));
503
+ }
504
+ }
505
+ return sortEvents(events);
506
+ }
507
+ function filterItems(items, options, typeRegistry, statusRegistry, runtimeFieldFilters) {
508
+ const typeFilter = parseType(options.type, typeRegistry);
509
+ const tagFilter = options.tag?.trim().toLowerCase();
510
+ const priorityFilter = parsePriority(options.priority);
511
+ const statusFilter = parseStatus(options.status, statusRegistry);
512
+ const assigneeFilter = options.assignee?.trim();
513
+ const assigneeModeFilter = parseAssigneeFilter(options.assigneeFilter);
514
+ const sprintFilter = options.sprint?.trim();
515
+ const releaseFilter = options.release?.trim();
516
+ if (assigneeFilter && (assigneeFilter.toLowerCase() === "none" || assigneeFilter.toLowerCase() === "null")) {
517
+ throw new PmCliError('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.', EXIT_CODE.USAGE);
518
+ }
519
+ if (assigneeFilter !== void 0 && assigneeModeFilter === "unassigned") {
520
+ throw new PmCliError("Cannot combine --assignee with --assignee-filter unassigned", EXIT_CODE.USAGE);
521
+ }
522
+ return items.filter((item) => itemMatchesCalendarFilters(item, {
523
+ typeFilter,
524
+ tagFilter,
525
+ priorityFilter,
526
+ statusFilter,
527
+ assigneeFilter,
528
+ assigneeModeFilter,
529
+ sprintFilter,
530
+ releaseFilter,
531
+ runtimeFieldFilters
532
+ }));
533
+ }
534
+ function itemMatchesCalendarFilters(item, filters) {
535
+ return itemMatchesCalendarIdentityFilters(item, filters) && itemMatchesCalendarOwnerFilters(item, filters) && matchesRuntimeFilters(item, filters.runtimeFieldFilters);
536
+ }
537
+ function itemMatchesCalendarIdentityFilters(item, filters) {
538
+ if (filters.typeFilter && item.type !== filters.typeFilter)
539
+ return false;
540
+ if (filters.tagFilter && !item.tags.some((tag) => tag.trim().toLowerCase() === filters.tagFilter))
541
+ return false;
542
+ if (filters.priorityFilter !== void 0 && item.priority !== filters.priorityFilter)
543
+ return false;
544
+ if (filters.statusFilter && item.status !== filters.statusFilter)
545
+ return false;
546
+ return true;
547
+ }
548
+ function itemMatchesCalendarOwnerFilters(item, filters) {
549
+ if (filters.assigneeModeFilter === "assigned" && !item.assignee)
550
+ return false;
551
+ if (filters.assigneeModeFilter === "unassigned" && item.assignee)
552
+ return false;
553
+ if (filters.assigneeFilter !== void 0 && item.assignee !== filters.assigneeFilter)
554
+ return false;
555
+ if (filters.sprintFilter !== void 0 && item.sprint !== filters.sprintFilter)
556
+ return false;
557
+ if (filters.releaseFilter !== void 0 && item.release !== filters.releaseFilter)
558
+ return false;
559
+ return true;
560
+ }
561
+ function includeEventInWindow(event, start, end) {
562
+ if (start && compareTimestampStrings(event.at, start) < 0) {
563
+ return false;
564
+ }
565
+ if (end && compareTimestampStrings(event.at, end) >= 0) {
566
+ return false;
567
+ }
568
+ return true;
569
+ }
570
+ function resolveCalendarBoundaryInput(raw, nowValue, fieldLabel) {
571
+ if (raw.trim().toLowerCase() === "today") {
572
+ return startOfUtcDay(nowValue);
573
+ }
574
+ return resolveIsoOrRelative(raw, new Date(nowValue), fieldLabel);
575
+ }
576
+ function buildRange(view, options, nowValue) {
577
+ const anchor = options.date ? resolveCalendarBoundaryInput(options.date, nowValue, "--date") : nowValue;
578
+ const includePast = options.past === true;
579
+ const fullPeriodRequested = options.fullPeriod === true;
580
+ const from = options.from ? resolveCalendarBoundaryInput(options.from, nowValue, "--from") : void 0;
581
+ const to = options.to ? resolveCalendarBoundaryInput(options.to, nowValue, "--to") : void 0;
582
+ if (from && to && compareTimestampStrings(from, to) >= 0) {
583
+ throw new PmCliError("Calendar --from must be before --to", EXIT_CODE.USAGE);
584
+ }
585
+ if (view !== "agenda" && (options.from !== void 0 || options.to !== void 0)) {
586
+ throw new PmCliError("--from and --to are only supported for --view agenda", EXIT_CODE.USAGE);
587
+ }
588
+ if (view === "agenda") {
589
+ return buildAgendaRange(anchor, options, nowValue, includePast, fullPeriodRequested, from, to);
590
+ }
591
+ if (view === "day") {
592
+ const dayStart = startOfUtcDay(anchor);
593
+ return buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, dayStart, addUtcDays(dayStart, 1));
594
+ }
595
+ if (view === "week") {
596
+ const weekStart = startOfUtcWeekMonday(anchor);
597
+ return buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, weekStart, addUtcDays(weekStart, 7));
598
+ }
599
+ const monthStart = startOfUtcMonth(anchor);
600
+ return buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, monthStart, startOfNextUtcMonth(anchor));
601
+ }
602
+ function buildAgendaRange(anchor, options, nowValue, includePast, fullPeriodRequested, from, to) {
603
+ if (fullPeriodRequested) {
604
+ throw new PmCliError("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.", EXIT_CODE.USAGE);
605
+ }
606
+ return {
607
+ anchor,
608
+ start: from ?? (options.date ? anchor : includePast ? void 0 : nowValue),
609
+ end: to,
610
+ fullPeriod: false
611
+ };
612
+ }
613
+ function buildFixedPeriodRange(anchor, nowValue, includePast, fullPeriodRequested, periodStart, periodEnd) {
614
+ const fullPeriod = includePast || fullPeriodRequested;
615
+ return {
616
+ anchor,
617
+ start: fullPeriod ? periodStart : maxTimestamp(periodStart, nowValue),
618
+ end: periodEnd,
619
+ periodStart,
620
+ periodEnd,
621
+ fullPeriod
622
+ };
623
+ }
624
+ function bucketEventsByDay(events) {
625
+ const dayMap = /* @__PURE__ */ new Map();
626
+ for (const event of events) {
627
+ const list = dayMap.get(event.date) ?? [];
628
+ list.push(event);
629
+ dayMap.set(event.date, list);
630
+ }
631
+ return [...dayMap.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([date, dayEvents]) => ({
632
+ date,
633
+ count: dayEvents.length,
634
+ events: sortEvents(dayEvents)
635
+ }));
636
+ }
637
+ function summarize(events) {
638
+ const itemIds = /* @__PURE__ */ new Set();
639
+ const byType = /* @__PURE__ */ new Map();
640
+ const byStatus = /* @__PURE__ */ new Map();
641
+ let deadlines = 0;
642
+ let reminders = 0;
643
+ let scheduled = 0;
644
+ let recurringEvents = 0;
645
+ for (const event of events) {
646
+ itemIds.add(event.item_id);
647
+ incrementCount(byType, event.item_type);
648
+ incrementCount(byStatus, event.item_status);
649
+ if (event.kind === "deadline") {
650
+ deadlines += 1;
651
+ } else if (event.kind === "reminder") {
652
+ reminders += 1;
653
+ } else {
654
+ scheduled += 1;
655
+ if (event.event_recurring === true) {
656
+ recurringEvents += 1;
657
+ }
658
+ }
659
+ }
660
+ return {
661
+ events: events.length,
662
+ items: itemIds.size,
663
+ deadlines,
664
+ reminders,
665
+ scheduled,
666
+ by_kind: {
667
+ deadline: deadlines,
668
+ reminder: reminders,
669
+ event: scheduled
670
+ },
671
+ by_type: toSortedCountRecord(byType),
672
+ by_status: toSortedCountRecord(byStatus),
673
+ recurring_events: recurringEvents
674
+ };
675
+ }
676
+ function formatWindow(range) {
677
+ const start = range.start ?? "unbounded";
678
+ const end = range.end ?? "unbounded";
679
+ return `${start} -> ${end}`;
680
+ }
681
+ function formatClock(timestamp, timezone) {
682
+ if (timezone && timezone !== "UTC") {
683
+ try {
684
+ const parts = new Intl.DateTimeFormat("en-GB", {
685
+ timeZone: timezone,
686
+ hour: "2-digit",
687
+ minute: "2-digit",
688
+ hourCycle: "h23"
689
+ }).formatToParts(new Date(timestamp));
690
+ const hour = parts.find((part) => part.type === "hour")?.value;
691
+ const minute = parts.find((part) => part.type === "minute")?.value;
692
+ if (hour && minute) {
693
+ return `${hour}:${minute}`;
694
+ }
695
+ } catch {
696
+ }
697
+ }
698
+ return `${new Date(timestamp).toISOString().slice(11, 16)}Z`;
699
+ }
700
+ function formatSummaryCountRecord(values) {
701
+ const entries = Object.entries(values);
702
+ if (entries.length === 0) {
703
+ return "empty";
704
+ }
705
+ return entries.map(([key, value]) => `${key}=${value}`).join(", ");
706
+ }
707
+ function formatEventEnd(event) {
708
+ if (!event.event_end) {
709
+ return null;
710
+ }
711
+ if (event.event_all_day === true) {
712
+ return event.event_end.slice(0, 10);
713
+ }
714
+ if (event.date === toLocalDayKey(event.event_end, event.event_timezone)) {
715
+ return formatClock(event.event_end, event.event_timezone);
716
+ }
717
+ return event.event_end;
718
+ }
719
+ function formatEventLine(event) {
720
+ 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}`;
721
+ if (event.kind === "reminder") {
722
+ const reminderText = event.reminder_text ?? "";
723
+ return `${core} \u2014 ${reminderText} reminder=${JSON.stringify(reminderText)}`;
724
+ }
725
+ if (event.kind === "event") {
726
+ const details = [];
727
+ const title = event.event_title ?? event.item_title;
728
+ const titleDiffers = event.event_title !== null && event.event_title !== event.item_title;
729
+ if (titleDiffers) {
730
+ details.push(title);
731
+ details.push(`title=${JSON.stringify(title)}`);
732
+ }
733
+ if (event.event_recurring) {
734
+ details.push("(recurring)");
735
+ details.push("recurring=true");
736
+ }
737
+ const end = formatEventEnd(event);
738
+ if (end) {
739
+ details.push(`end=${end}`);
740
+ }
741
+ if (event.event_all_day !== null) {
742
+ details.push(`all_day=${event.event_all_day ? "true" : "false"}`);
743
+ }
744
+ if (event.event_timezone) {
745
+ details.push(`timezone=${event.event_timezone}`);
746
+ }
747
+ if (event.event_location) {
748
+ details.push(`@ ${event.event_location}`);
749
+ details.push(`location=${JSON.stringify(event.event_location)}`);
750
+ }
751
+ if (event.event_recurrence_rule) {
752
+ details.push(`recurrence=${event.event_recurrence_rule}`);
753
+ }
754
+ if (event.reminder_text) {
755
+ details.push(`description=${JSON.stringify(event.reminder_text)}`);
756
+ }
757
+ return `${core} \u2014 ${details.join(" ")}`;
758
+ }
759
+ return core;
760
+ }
761
+ function renderCalendarMarkdown(result) {
762
+ const lines = [];
763
+ lines.push(`# pm calendar (${result.view})`);
764
+ lines.push("");
765
+ lines.push(`- now: ${result.now}`);
766
+ lines.push(`- window: ${formatWindow(result.range)}`);
767
+ if (result.range.period_start && result.range.period_end) {
768
+ lines.push(`- period: ${result.range.period_start} -> ${result.range.period_end}`);
769
+ lines.push(`- period-mode: ${result.range.full_period ? "full-period" : "active-window"}`);
770
+ }
771
+ lines.push(`- events: ${result.summary.events} (deadlines: ${result.summary.deadlines}, reminders: ${result.summary.reminders}, scheduled: ${result.summary.scheduled})`);
772
+ lines.push(`- items: ${result.summary.items}`);
773
+ lines.push(`- by-kind: ${formatSummaryCountRecord(result.summary.by_kind)}`);
774
+ lines.push(`- by-type: ${formatSummaryCountRecord(result.summary.by_type)}`);
775
+ lines.push(`- by-status: ${formatSummaryCountRecord(result.summary.by_status)}`);
776
+ lines.push(`- recurring-events: ${result.summary.recurring_events}`);
777
+ lines.push("");
778
+ if (result.events.length === 0) {
779
+ lines.push("No calendar events matched the selected filters.");
780
+ return lines.join("\n");
781
+ }
782
+ for (const day of result.days) {
783
+ lines.push(`## ${day.date} (${day.count})`);
784
+ for (const event of day.events) {
785
+ lines.push(`- ${formatEventLine(event)}`);
786
+ }
787
+ lines.push("");
788
+ }
789
+ if (result.warnings && result.warnings.length > 0) {
790
+ lines.push("### warnings");
791
+ for (const warning of result.warnings) {
792
+ lines.push(`- ${warning}`);
793
+ }
794
+ lines.push("");
795
+ }
796
+ return trimTrailingNewlines(lines.join("\n"));
797
+ }
798
+ function renderCalendarToon(result) {
799
+ return encodeToon(result);
800
+ }
801
+ function trimTrailingNewlines(value) {
802
+ let end = value.length;
803
+ while (end > 0 && value[end - 1] === "\n") {
804
+ end -= 1;
805
+ }
806
+ return value.slice(0, end);
807
+ }
808
+ function resolveCalendarExecutionInputs(options) {
809
+ const nowValue = nowIso();
810
+ const view = parseView(options.view);
811
+ const rangeBounds = buildRange(view, options, nowValue);
812
+ const limit = parseIntegerLimit(options.limit);
813
+ const includeSources = parseIncludeSources(options.include);
814
+ const explicitLookahead = parseNonNegativeInteger(options.recurrenceLookaheadDays, "Calendar recurrence lookahead days");
815
+ const recurrenceLookbackDays = parseNonNegativeInteger(options.recurrenceLookbackDays, "Calendar recurrence lookback days");
816
+ const occurrenceLimit = parseNonNegativeInteger(options.occurrenceLimit, "Calendar occurrence limit");
817
+ if (occurrenceLimit !== void 0 && occurrenceLimit < 1) {
818
+ throw new PmCliError("Calendar occurrence limit must be >= 1", EXIT_CODE.USAGE);
819
+ }
820
+ const eventsOnly = includeSources.has("events") && !includeSources.has("deadlines") && !includeSources.has("reminders");
821
+ const hasExplicitBounds = options.to !== void 0 || explicitLookahead !== void 0 || recurrenceLookbackDays !== void 0 || occurrenceLimit !== void 0;
822
+ const eventsOnlyCapApplied = eventsOnly && !hasExplicitBounds;
823
+ return {
824
+ nowValue,
825
+ view,
826
+ rangeBounds,
827
+ limit,
828
+ includeSources,
829
+ occurrenceLimit,
830
+ recurrenceLookaheadDays: eventsOnlyCapApplied ? DEFAULT_EVENTS_ONLY_LOOKAHEAD_DAYS : explicitLookahead,
831
+ recurrenceLookbackWindowDays: eventsOnlyCapApplied && recurrenceLookbackDays === void 0 ? 0 : recurrenceLookbackDays,
832
+ eventsOnlyCapApplied
833
+ };
834
+ }
835
+ function appendCalendarCapWarning(warnings, capApplied) {
836
+ if (!capApplied) {
837
+ return;
838
+ }
839
+ 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`);
840
+ }
841
+ function buildCalendarFiltersResult(options, runtimeFieldFilters) {
842
+ return {
843
+ type: options.type ?? null,
844
+ tag: options.tag ?? null,
845
+ priority: options.priority ?? null,
846
+ status: options.status ?? null,
847
+ assignee: options.assignee ?? null,
848
+ assignee_filter: options.assigneeFilter ?? null,
849
+ sprint: options.sprint ?? null,
850
+ release: options.release ?? null,
851
+ runtime_filters: runtimeFieldFilters,
852
+ limit: options.limit ?? null,
853
+ include: options.include ?? null,
854
+ full_period: options.fullPeriod === true ? "true" : null,
855
+ recurrence_lookahead_days: options.recurrenceLookaheadDays ?? null,
856
+ recurrence_lookback_days: options.recurrenceLookbackDays ?? null,
857
+ occurrence_limit: options.occurrenceLimit ?? null
858
+ };
859
+ }
860
+ function buildCalendarRangeResult(options, rangeBounds) {
861
+ return {
862
+ start: rangeBounds.start ?? null,
863
+ end: rangeBounds.end ?? null,
864
+ period_start: rangeBounds.periodStart ?? null,
865
+ period_end: rangeBounds.periodEnd ?? null,
866
+ full_period: rangeBounds.fullPeriod,
867
+ past: options.past === true,
868
+ from: options.from ?? null,
869
+ to: options.to ?? null
870
+ };
871
+ }
872
+ async function runCalendar(options, global) {
873
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
874
+ if (!await pathExists(getSettingsPath(pmRoot))) {
875
+ throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);
876
+ }
877
+ const inputs = resolveCalendarExecutionInputs(options);
878
+ const settings = await readSettings(pmRoot);
879
+ const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
880
+ const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);
881
+ const runtimeFieldFilters = collectRuntimeFilterValues(options, runtimeFieldRegistry, "calendar");
882
+ const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
883
+ const listWarnings = [];
884
+ appendCalendarCapWarning(listWarnings, inputs.eventsOnlyCapApplied);
885
+ const items = await listAllFrontMatterLight(pmRoot, settings.item_format, typeRegistry.type_to_folder, listWarnings, settings.schema);
886
+ const filteredItems = filterItems(items, options, typeRegistry, statusRegistry, runtimeFieldFilters);
887
+ const recurringWindow = buildRecurringEventWindow(inputs.rangeBounds.start, inputs.rangeBounds.end, inputs.nowValue, inputs.recurrenceLookbackWindowDays, inputs.recurrenceLookaheadDays);
888
+ const seededEvents = buildEventSeed(filteredItems, recurringWindow, inputs.includeSources, inputs.occurrenceLimit);
889
+ const rangedEvents = seededEvents.filter((event) => includeEventInWindow(event, inputs.rangeBounds.start, inputs.rangeBounds.end));
890
+ const limitedEvents = inputs.limit === void 0 ? rangedEvents : rangedEvents.slice(0, inputs.limit);
891
+ const days = bucketEventsByDay(limitedEvents);
892
+ const warnings = [...new Set(listWarnings)].sort((left, right) => left.localeCompare(right));
893
+ return {
894
+ view: inputs.view,
895
+ output_default: "markdown",
896
+ now: inputs.nowValue,
897
+ anchor: inputs.rangeBounds.anchor,
898
+ range: buildCalendarRangeResult(options, inputs.rangeBounds),
899
+ filters: buildCalendarFiltersResult(options, runtimeFieldFilters),
900
+ summary: summarize(limitedEvents),
901
+ events: limitedEvents,
902
+ days,
903
+ ...warnings.length > 0 ? { warnings } : {}
904
+ };
905
+ }
906
+
907
+ export {
908
+ resolveCalendarOutputFormat,
909
+ renderCalendarMarkdown,
910
+ renderCalendarToon,
911
+ runCalendar
912
+ };
913
+ //# sourceMappingURL=chunk-KL22PY6L.js.map
914
+
915
+ //# debugId=8a196747-196e-5ef6-9526-cf12c153df00