@unbrained/pm-cli 2026.7.6 → 2026.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/dist/cli/commands/annotation-command.d.ts +1 -0
- package/dist/cli/commands/annotation-command.js +29 -2
- package/dist/cli/commands/annotation-command.js.map +1 -1
- package/dist/cli/commands/comments.js +3 -4
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js +10 -2
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +1 -0
- package/dist/cli/commands/context.js +4 -4
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/extension/bundled-catalog.d.ts +3 -0
- package/dist/cli/commands/extension/bundled-catalog.js +38 -28
- package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
- package/dist/cli/commands/extension/install-sources.js +81 -18
- package/dist/cli/commands/extension/install-sources.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +23 -19
- package/dist/cli/commands/extension.js +167 -57
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/health.js +9 -5
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/learnings.js +5 -3
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/notes.js +5 -3
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/reindex.js +4 -3
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/search.js +4 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/test.d.ts +9 -0
- package/dist/cli/commands/test.js +144 -105
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/extension-command-help.js +10 -2
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/help-content.js +28 -2
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/register-list-query.d.ts +1 -1
- package/dist/cli/register-list-query.js +19 -27
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-operations.d.ts +0 -8
- package/dist/cli/register-operations.js +41 -46
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +119 -13
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.d.ts +5 -1
- package/dist/cli/registration-helpers.js +14 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/append-CDPAYYSB.js +11 -0
- package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js → append-RSPHC423.js} +8 -9
- package/dist/cli-bundle/chunks/{chunk-LK6XLOGP.js → chunk-2BVD4ZD2.js} +288 -233
- package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TKD5VCTD.js → chunk-2RADY7IB.js} +517 -195
- package/dist/cli-bundle/chunks/chunk-2RADY7IB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-COSPOP7H.js → chunk-3FRNNVWY.js} +518 -196
- package/dist/cli-bundle/chunks/chunk-3FRNNVWY.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-24YG75HI.js → chunk-3FUXM574.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js → chunk-3SHDAKMF.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js → chunk-3UXIMY62.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js.map → chunk-3UXIMY62.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js → chunk-3V5C7PUH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js → chunk-3YJDIJIE.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js.map → chunk-3YJDIJIE.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js → chunk-4I7KS5ES.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js → chunk-4OCWJ2AP.js} +13 -17
- package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js.map → chunk-4OCWJ2AP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js → chunk-5STY7NVM.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js → chunk-5VAZHYVQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js → chunk-6FU5BVRB.js} +12 -14
- package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js.map → chunk-6FU5BVRB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js → chunk-6RR4XM5H.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-K46RF36U.js → chunk-6TD5QGIB.js} +7 -7
- package/dist/cli-bundle/chunks/chunk-6TD5QGIB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js → chunk-6WCXSC5V.js} +12 -16
- package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js.map → chunk-6WCXSC5V.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js → chunk-6ZKDMEVT.js} +7 -9
- package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js.map → chunk-6ZKDMEVT.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js → chunk-7QKSLAHB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js → chunk-7TBUV7XS.js} +8 -12
- package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js.map → chunk-7TBUV7XS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js → chunk-7UCBLJDF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js → chunk-AEOFBBWO.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js.map → chunk-AEOFBBWO.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js +10498 -0
- package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js → chunk-BFNFTHWQ.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js +5509 -0
- package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js → chunk-C3YU3TXX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VPIM42PC.js → chunk-C6XSTACC.js} +11 -7
- package/dist/cli-bundle/chunks/chunk-C6XSTACC.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js → chunk-CGDUIPJL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js → chunk-CXH7EMSB.js} +5 -7
- package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js.map → chunk-CXH7EMSB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-DMRNBQOI.js → chunk-D63PEJTB.js} +256 -36
- package/dist/cli-bundle/chunks/chunk-D63PEJTB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js → chunk-D6J5673C.js} +7 -9
- package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js.map → chunk-D6J5673C.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js → chunk-DUBC6TI3.js} +28 -34
- package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js.map → chunk-DUBC6TI3.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js → chunk-EEJKHF7M.js} +7 -6
- package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js.map → chunk-EEJKHF7M.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XG625QP4.js → chunk-EP2CKDS7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js → chunk-EYPIUFWJ.js} +24 -32
- package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js.map → chunk-EYPIUFWJ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js → chunk-F5DDGY6R.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js.map → chunk-F5DDGY6R.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js → chunk-FFB3WITE.js} +10 -16
- package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js.map → chunk-FFB3WITE.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js → chunk-FJR2S7S4.js} +10 -14
- package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js.map → chunk-FJR2S7S4.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-FL625JJM.js +6792 -0
- package/dist/cli-bundle/chunks/chunk-FL625JJM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js → chunk-FOJEBRDD.js} +16 -20
- package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js.map → chunk-FOJEBRDD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-EOKXK3R3.js → chunk-G4FKP4ID.js} +1220 -398
- package/dist/cli-bundle/chunks/chunk-G4FKP4ID.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-GE44TQMC.js +6726 -0
- package/dist/cli-bundle/chunks/chunk-GE44TQMC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js → chunk-GLMJLBLR.js} +6 -10
- package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js.map → chunk-GLMJLBLR.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js → chunk-GO2X6ZRB.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js.map → chunk-GO2X6ZRB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js → chunk-GQOKFX2G.js} +22 -26
- package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js.map → chunk-GQOKFX2G.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js → chunk-GSQVQINP.js} +8 -10
- package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js.map → chunk-GSQVQINP.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-HI27UADG.js +5434 -0
- package/dist/cli-bundle/chunks/chunk-HI27UADG.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js → chunk-HZZ3AC27.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js.map → chunk-HZZ3AC27.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js → chunk-IINCZYM3.js} +8 -12
- package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js.map → chunk-IINCZYM3.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-EKFNL33R.js → chunk-INOWVPUD.js} +37 -16
- package/dist/cli-bundle/chunks/chunk-INOWVPUD.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4LELACOL.js → chunk-IYRG5AEC.js} +15 -23
- package/dist/cli-bundle/chunks/{chunk-4LELACOL.js.map → chunk-IYRG5AEC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js → chunk-J6AD3GWC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js → chunk-JH5XDDYS.js} +14 -20
- package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js.map → chunk-JH5XDDYS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js → chunk-JYVPLGOW.js} +9 -11
- package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js.map → chunk-JYVPLGOW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js → chunk-K52C6YPA.js} +12 -18
- package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js.map → chunk-K52C6YPA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js → chunk-KFL3XHMA.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js +10320 -0
- package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js → chunk-LD2NBQ5T.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js.map → chunk-LD2NBQ5T.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js → chunk-LG4N6YOK.js} +8 -7
- package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js.map → chunk-LG4N6YOK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js → chunk-LHDHS4Z6.js} +10 -14
- package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js.map → chunk-LHDHS4Z6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js → chunk-MCH6IKK7.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js.map → chunk-MCH6IKK7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-57NWPFF2.js → chunk-MFLLULHU.js} +281 -233
- package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-EGAP5OWD.js → chunk-ML27MHNM.js} +35 -17
- package/dist/cli-bundle/chunks/chunk-ML27MHNM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js → chunk-MYHFZNBO.js} +20 -24
- package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js.map → chunk-MYHFZNBO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js → chunk-NGBWEYNY.js} +12 -18
- package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js.map → chunk-NGBWEYNY.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js → chunk-NRMDT4OV.js} +10 -14
- package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js.map → chunk-NRMDT4OV.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js +5359 -0
- package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js → chunk-P2WE5KCU.js} +261 -34
- package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js.map → chunk-P2WE5KCU.js.map} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js → chunk-PAWPLIWW.js} +14 -20
- package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js.map → chunk-PAWPLIWW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js → chunk-PCBZ2VJD.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-ZSUS2OD3.js → chunk-PJPZTE7P.js} +1216 -387
- package/dist/cli-bundle/chunks/chunk-PJPZTE7P.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js → chunk-Q3CFSOQZ.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js → chunk-QJZM5WO5.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js.map → chunk-QJZM5WO5.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QLMX7SRD.js → chunk-QLEH6FTQ.js} +6 -6
- package/dist/cli-bundle/chunks/chunk-QLEH6FTQ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js → chunk-QYZMZD4L.js} +10 -12
- package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js.map → chunk-QYZMZD4L.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js → chunk-RDJXIAJB.js} +7 -11
- package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js.map → chunk-RDJXIAJB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js → chunk-RFHLRMLQ.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js.map → chunk-RFHLRMLQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js → chunk-RL24NAUX.js} +10 -12
- package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js.map → chunk-RL24NAUX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-46CUF5L6.js → chunk-RLHQ3G4M.js} +99 -51
- package/dist/cli-bundle/chunks/chunk-RLHQ3G4M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js → chunk-SCJPFQQT.js} +12 -18
- package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js.map → chunk-SCJPFQQT.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js → chunk-SIQGG335.js} +12 -16
- package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js.map → chunk-SIQGG335.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js → chunk-SN5X5GTU.js} +8 -12
- package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js.map → chunk-SN5X5GTU.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-CL36D4PC.js → chunk-TKWTJGD6.js} +36 -15
- package/dist/cli-bundle/chunks/chunk-TKWTJGD6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VIIUS6N6.js → chunk-TR2C6V5T.js} +37 -19
- package/dist/cli-bundle/chunks/chunk-TR2C6V5T.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js +5514 -0
- package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js → chunk-TU5P744I.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-TULGS6X6.js → chunk-TUDAYIO7.js} +529 -46
- package/dist/cli-bundle/chunks/chunk-TUDAYIO7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MLIYFOE7.js → chunk-U72GF3I2.js} +12 -8
- package/dist/cli-bundle/chunks/chunk-U72GF3I2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js → chunk-UCRYCT5M.js} +30 -36
- package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js.map → chunk-UCRYCT5M.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js → chunk-UEATYUZW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js → chunk-UFNFHCAC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js → chunk-UH6VFRV6.js} +5 -7
- package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js.map → chunk-UH6VFRV6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js → chunk-UIHDZS6X.js} +11 -15
- package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js.map → chunk-UIHDZS6X.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-W572BIEB.js → chunk-UURYLDDC.js} +14 -18
- package/dist/cli-bundle/chunks/{chunk-W572BIEB.js.map → chunk-UURYLDDC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js → chunk-UVFJSKTF.js} +9 -13
- package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js.map → chunk-UVFJSKTF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js → chunk-W2VFNVSJ.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js.map → chunk-W2VFNVSJ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js → chunk-WVEMZZCR.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js.map → chunk-WVEMZZCR.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3VHSI5FL.js → chunk-XN5BEN2B.js} +94 -53
- package/dist/cli-bundle/chunks/chunk-XN5BEN2B.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SCUR7K7N.js → chunk-XPSGJ4IV.js} +541 -44
- package/dist/cli-bundle/chunks/chunk-XPSGJ4IV.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js → chunk-YQEKE4FO.js} +13 -21
- package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js.map → chunk-YQEKE4FO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js → chunk-YR5R4FMQ.js} +26 -34
- package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js.map → chunk-YR5R4FMQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js → chunk-YSRXFGNV.js} +7 -9
- package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js.map → chunk-YSRXFGNV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js → chunk-YUCKM3MD.js} +10 -14
- package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js.map → chunk-YUCKM3MD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js → chunk-YUMNZS3X.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js.map → chunk-YUMNZS3X.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js → chunk-Z2JQH2MG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js → chunk-Z6RLSNUX.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js.map → chunk-Z6RLSNUX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js → chunk-ZMOPZFVT.js} +4 -4
- package/dist/cli-bundle/chunks/close-E3RLZSP2.js +12 -0
- package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js → close-K6BFI3OX.js} +5 -9
- package/dist/cli-bundle/chunks/close-many-6NBL3PM4.js +26 -0
- package/dist/cli-bundle/chunks/close-many-X4YKS3RO.js +22 -0
- package/dist/cli-bundle/chunks/comments-PLFK5ZKK.js +17 -0
- package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +13 -0
- package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +9 -0
- package/dist/cli-bundle/chunks/{copy-32ROBIDL.js → copy-VH3L4MN2.js} +4 -8
- package/dist/cli-bundle/chunks/create-AMBMYP6F.js +25 -0
- package/dist/cli-bundle/chunks/{create-E77SDCUP.js → create-TRIBYORN.js} +9 -14
- package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +10 -0
- package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js → delete-ZNXUNCZR.js} +4 -8
- package/dist/cli-bundle/chunks/deps-CVDY7FFK.js +13 -0
- package/dist/cli-bundle/chunks/{deps-32SU7HO5.js → deps-SZXQHV73.js} +4 -8
- package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js → docs-DR74ITCD.js} +6 -10
- package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +14 -0
- package/dist/cli-bundle/chunks/files-H5YCA74Z.js +18 -0
- package/dist/cli-bundle/chunks/{files-PYKR2UUG.js → files-QEFQ2M3H.js} +6 -10
- package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js → focus-55TRYSNA.js} +7 -9
- package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +10 -0
- package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +21 -0
- package/dist/cli-bundle/chunks/{history-compact-3MNXLKAT.js → history-compact-JJZ4EFL3.js} +9 -13
- package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +17 -0
- package/dist/cli-bundle/chunks/{history-redact-P6DYF55G.js → history-redact-TPPUT3A5.js} +7 -11
- package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-ZJQFMWPD.js → history-repair-J7PIZ6ZP.js} +9 -13
- package/dist/cli-bundle/chunks/{append-BGML6VLD.js → learnings-KB6BT4NR.js} +9 -11
- package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +13 -0
- package/dist/cli-bundle/chunks/notes-BGG7VL72.js +13 -0
- package/dist/cli-bundle/chunks/notes-ZTHXVOKM.js +17 -0
- package/dist/cli-bundle/chunks/{plan-CHVE7PBR.js → plan-CJPKFRBK.js} +10 -15
- package/dist/cli-bundle/chunks/plan-MK2QY3GA.js +24 -0
- package/dist/cli-bundle/chunks/{profile-ZXGSKBJD.js → profile-AQNHXOYA.js} +9 -13
- package/dist/cli-bundle/chunks/{profile-LD23PSI6.js → profile-HTBFINKQ.js} +9 -13
- package/dist/cli-bundle/chunks/{register-list-query-B42JCCOI.js → register-list-query-EEF33SUJ.js} +43 -34
- package/dist/cli-bundle/chunks/register-list-query-EEF33SUJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-OEYQHFXO.js → register-list-query-S4FBWIWN.js} +42 -33
- package/dist/cli-bundle/chunks/register-list-query-S4FBWIWN.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js → register-mutation-L5Q7AUDN.js} +34 -39
- package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js.map → register-mutation-L5Q7AUDN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js → register-mutation-QFLRBCI7.js} +36 -41
- package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js.map → register-mutation-QFLRBCI7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-5BMM6XQY.js → register-operations-HDE4FVW4.js} +79 -46
- package/dist/cli-bundle/chunks/register-operations-HDE4FVW4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-Z3U3U5KD.js → register-operations-QDU43FCG.js} +78 -45
- package/dist/cli-bundle/chunks/register-operations-QDU43FCG.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-Q6KFNIOZ.js → register-setup-EGMTAXDC.js} +134 -32
- package/dist/cli-bundle/chunks/register-setup-EGMTAXDC.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-3ZVVX2VN.js → register-setup-PNIO3L2P.js} +133 -31
- package/dist/cli-bundle/chunks/register-setup-PNIO3L2P.js.map +7 -0
- package/dist/cli-bundle/chunks/{restore-5RQHAPMA.js → restore-BTBEZ5CK.js} +7 -11
- package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +15 -0
- package/dist/cli-bundle/chunks/{schema-HBORFC6B.js → schema-DGSTYYQB.js} +6 -10
- package/dist/cli-bundle/chunks/{schema-245WW4G2.js → schema-HAIBEE24.js} +6 -10
- package/dist/cli-bundle/chunks/update-MP4XLU56.js +25 -0
- package/dist/cli-bundle/chunks/update-SDIRJGSY.js +21 -0
- package/dist/cli-bundle/chunks/update-many-34AIU6W7.js +31 -0
- package/dist/cli-bundle/chunks/update-many-JUPCNOKV.js +35 -0
- package/dist/cli-bundle/main.js +56 -32
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/cli-bundle/sdk-runtime.js +161 -107
- package/dist/cli-bundle/sdk-testing.js +7 -8
- package/dist/cli-bundle/sdk.js +154 -117
- package/dist/cli-bundle/sdk.js.map +2 -2
- package/dist/core/extensions/extension-types.d.ts +1 -0
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.js +268 -231
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/drift-scan.js +3 -8
- package/dist/core/history/drift-scan.js.map +1 -1
- package/dist/core/output/mutation-projection.js +11 -5
- package/dist/core/output/mutation-projection.js.map +1 -1
- package/dist/core/search/cache.js +3 -3
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/semantic-defaults.d.ts +2 -0
- package/dist/core/search/semantic-defaults.js +11 -4
- package/dist/core/search/semantic-defaults.js.map +1 -1
- package/dist/core/search/vector-stores.d.ts +1 -1
- package/dist/core/search/vector-stores.js +33 -7
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +3 -3
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +12 -8
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +10 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.js +14 -8
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +282 -8
- package/dist/sdk/runtime.js +453 -14
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/sdk/start-task-status.d.ts +13 -0
- package/dist/sdk/start-task-status.js +19 -0
- package/dist/sdk/start-task-status.js.map +1 -0
- package/docs/COMMANDS.md +10 -1
- package/docs/EXTENSIONS.md +7 -20
- package/docs/RELEASING.md +6 -0
- package/docs/SDK.md +65 -0
- package/docs/TESTING.md +3 -0
- package/package.json +2 -1
- package/dist/cli-bundle/chunks/activity-WJCGCYPU.js +0 -18
- package/dist/cli-bundle/chunks/activity-Z6QUAUSG.js +0 -22
- package/dist/cli-bundle/chunks/aggregate-BDM6EIAR.js +0 -25
- package/dist/cli-bundle/chunks/aggregate-VQ2DHU3S.js +0 -21
- package/dist/cli-bundle/chunks/append-RKJYPU74.js +0 -15
- package/dist/cli-bundle/chunks/chunk-2XG4IZON.js +0 -218
- package/dist/cli-bundle/chunks/chunk-2XG4IZON.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-37E72CNS.js +0 -217
- package/dist/cli-bundle/chunks/chunk-37E72CNS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js +0 -228
- package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js +0 -2330
- package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3VHSI5FL.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-425E4QL5.js +0 -278
- package/dist/cli-bundle/chunks/chunk-425E4QL5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-46CUF5L6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +0 -87
- package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js +0 -249
- package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js +0 -819
- package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js +0 -279
- package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-57NWPFF2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js +0 -268
- package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5BMM6XQY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js +0 -1868
- package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js +0 -1749
- package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-64YKRTSV.js +0 -1961
- package/dist/cli-bundle/chunks/chunk-64YKRTSV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +0 -23
- package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js +0 -421
- package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js +0 -1985
- package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-CL36D4PC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-COSPOP7H.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-COWTDV6B.js +0 -3461
- package/dist/cli-bundle/chunks/chunk-COWTDV6B.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js +0 -1858
- package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-DMRNBQOI.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js +0 -1932
- package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EGAP5OWD.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EKFNL33R.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js +0 -1704
- package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EOKXK3R3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js +0 -231
- package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js +0 -2090
- package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js +0 -1570
- package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js +0 -239
- package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js +0 -530
- package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-GZRDYONU.js +0 -1005
- package/dist/cli-bundle/chunks/chunk-GZRDYONU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js +0 -277
- package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js +0 -309
- package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JINYH2DB.js +0 -371
- package/dist/cli-bundle/chunks/chunk-JINYH2DB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js +0 -2257
- package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-K46RF36U.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KERMZVY5.js +0 -371
- package/dist/cli-bundle/chunks/chunk-KERMZVY5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js +0 -76
- package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-LK6XLOGP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js +0 -140
- package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js +0 -1601
- package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js +0 -1031
- package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js +0 -995
- package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js +0 -296
- package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MLIYFOE7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js +0 -2043
- package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js +0 -2033
- package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-N745W3B3.js +0 -1604
- package/dist/cli-bundle/chunks/chunk-N745W3B3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js +0 -1615
- package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +0 -20
- package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js +0 -143
- package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-QLMX7SRD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-QX6HM775.js +0 -398
- package/dist/cli-bundle/chunks/chunk-QX6HM775.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-QZ342C63.js +0 -220
- package/dist/cli-bundle/chunks/chunk-QZ342C63.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js +0 -368
- package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RFNYTESG.js +0 -520
- package/dist/cli-bundle/chunks/chunk-RFNYTESG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js +0 -79
- package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js +0 -282
- package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js +0 -274
- package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SCUR7K7N.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js +0 -1977
- package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js +0 -1041
- package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-T42JWV3F.js +0 -822
- package/dist/cli-bundle/chunks/chunk-T42JWV3F.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TKD5VCTD.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TULGS6X6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js +0 -2306
- package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-VIIUS6N6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-VPIM42PC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-VQRSPVME.js +0 -368
- package/dist/cli-bundle/chunks/chunk-VQRSPVME.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +0 -84
- package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js +0 -3423
- package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WLSM645P.js +0 -2247
- package/dist/cli-bundle/chunks/chunk-WLSM645P.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WRTENIX3.js +0 -215
- package/dist/cli-bundle/chunks/chunk-WRTENIX3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js +0 -388
- package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XC5BURG2.js +0 -306
- package/dist/cli-bundle/chunks/chunk-XC5BURG2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js +0 -424
- package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js +0 -2128
- package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-Z3U3U5KD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js +0 -299
- package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ZSUS2OD3.js.map +0 -7
- package/dist/cli-bundle/chunks/claim-RFS7BROJ.js +0 -19
- package/dist/cli-bundle/chunks/claim-XP5AWZ5H.js +0 -23
- package/dist/cli-bundle/chunks/close-GEANHQ2J.js +0 -16
- package/dist/cli-bundle/chunks/close-many-CMZW7ITN.js +0 -31
- package/dist/cli-bundle/chunks/close-many-ZFDIG6M7.js +0 -27
- package/dist/cli-bundle/chunks/comments-MFSYVNNU.js +0 -21
- package/dist/cli-bundle/chunks/comments-XUBPXDYX.js +0 -17
- package/dist/cli-bundle/chunks/config-D7XQMONX.js +0 -18
- package/dist/cli-bundle/chunks/config-T4FHBSYN.js +0 -22
- package/dist/cli-bundle/chunks/context-DIU275XI.js +0 -48
- package/dist/cli-bundle/chunks/context-JCOYB4LZ.js +0 -44
- package/dist/cli-bundle/chunks/contracts-BVO7CSLK.js +0 -12
- package/dist/cli-bundle/chunks/copy-NAGLGMHZ.js +0 -13
- package/dist/cli-bundle/chunks/create-4V7SWNBB.js +0 -30
- package/dist/cli-bundle/chunks/delete-NQI5OSKN.js +0 -14
- package/dist/cli-bundle/chunks/deps-T7SCWXEX.js +0 -17
- package/dist/cli-bundle/chunks/docs-WL2IWGWV.js +0 -18
- package/dist/cli-bundle/chunks/eval-NF2J5SHR.js +0 -23
- package/dist/cli-bundle/chunks/eval-SKDT3MZU.js +0 -27
- package/dist/cli-bundle/chunks/extension-LAXKCAYE.js +0 -42
- package/dist/cli-bundle/chunks/extension-ZISPBRBC.js +0 -38
- package/dist/cli-bundle/chunks/files-EWRQHGIS.js +0 -22
- package/dist/cli-bundle/chunks/focus-4T7TM4MT.js +0 -18
- package/dist/cli-bundle/chunks/focus-L3YUASOD.js +0 -14
- package/dist/cli-bundle/chunks/gc-2PCTYYRI.js +0 -12
- package/dist/cli-bundle/chunks/get-7DMITJ3G.js +0 -23
- package/dist/cli-bundle/chunks/get-VKQXCXLL.js +0 -19
- package/dist/cli-bundle/chunks/health-CVSTAR2F.js +0 -31
- package/dist/cli-bundle/chunks/health-TV3GKTFN.js +0 -35
- package/dist/cli-bundle/chunks/history-D4JUX5XV.js +0 -20
- package/dist/cli-bundle/chunks/history-D4JUX5XV.js.map +0 -7
- package/dist/cli-bundle/chunks/history-LQ2UWZTE.js +0 -24
- package/dist/cli-bundle/chunks/history-LQ2UWZTE.js.map +0 -1
- package/dist/cli-bundle/chunks/history-compact-3MNXLKAT.js.map +0 -1
- package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js +0 -25
- package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js.map +0 -7
- package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js +0 -21
- package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js.map +0 -7
- package/dist/cli-bundle/chunks/history-redact-P6DYF55G.js.map +0 -1
- package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js +0 -23
- package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js.map +0 -7
- package/dist/cli-bundle/chunks/history-repair-ZJQFMWPD.js.map +0 -1
- package/dist/cli-bundle/chunks/init-C3LJPWQZ.js +0 -30
- package/dist/cli-bundle/chunks/init-C3LJPWQZ.js.map +0 -1
- package/dist/cli-bundle/chunks/init-J3DPGWQI.js +0 -26
- package/dist/cli-bundle/chunks/init-J3DPGWQI.js.map +0 -7
- package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js +0 -21
- package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js.map +0 -1
- package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js +0 -17
- package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js.map +0 -7
- package/dist/cli-bundle/chunks/list-O5NZVSPN.js +0 -36
- package/dist/cli-bundle/chunks/list-O5NZVSPN.js.map +0 -1
- package/dist/cli-bundle/chunks/list-Z55YCNTC.js +0 -32
- package/dist/cli-bundle/chunks/list-Z55YCNTC.js.map +0 -7
- package/dist/cli-bundle/chunks/next-GBNTGXFC.js +0 -28
- package/dist/cli-bundle/chunks/next-GBNTGXFC.js.map +0 -7
- package/dist/cli-bundle/chunks/next-QKW7PTKE.js +0 -32
- package/dist/cli-bundle/chunks/next-QKW7PTKE.js.map +0 -1
- package/dist/cli-bundle/chunks/notes-R5FZTKWF.js +0 -17
- package/dist/cli-bundle/chunks/notes-R5FZTKWF.js.map +0 -7
- package/dist/cli-bundle/chunks/notes-WCGIULVG.js +0 -21
- package/dist/cli-bundle/chunks/notes-WCGIULVG.js.map +0 -1
- package/dist/cli-bundle/chunks/plan-ADISFYH4.js +0 -29
- package/dist/cli-bundle/chunks/plan-ADISFYH4.js.map +0 -7
- package/dist/cli-bundle/chunks/plan-CHVE7PBR.js.map +0 -1
- package/dist/cli-bundle/chunks/profile-LD23PSI6.js.map +0 -7
- package/dist/cli-bundle/chunks/profile-ZXGSKBJD.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-B42JCCOI.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-OEYQHFXO.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js +0 -19
- package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js +0 -23
- package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js.map +0 -1
- package/dist/cli-bundle/chunks/register-setup-3ZVVX2VN.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-Q6KFNIOZ.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-5RQHAPMA.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-PNEIBBLW.js +0 -19
- package/dist/cli-bundle/chunks/restore-PNEIBBLW.js.map +0 -7
- package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js +0 -29
- package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js.map +0 -1
- package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js +0 -25
- package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js.map +0 -7
- package/dist/cli-bundle/chunks/schema-245WW4G2.js.map +0 -1
- package/dist/cli-bundle/chunks/schema-HBORFC6B.js.map +0 -7
- package/dist/cli-bundle/chunks/search-AOZC5SIK.js +0 -34
- package/dist/cli-bundle/chunks/search-AOZC5SIK.js.map +0 -7
- package/dist/cli-bundle/chunks/search-DRXPGHD7.js +0 -38
- package/dist/cli-bundle/chunks/search-DRXPGHD7.js.map +0 -1
- package/dist/cli-bundle/chunks/stats-NJG4NLHG.js +0 -21
- package/dist/cli-bundle/chunks/stats-NJG4NLHG.js.map +0 -1
- package/dist/cli-bundle/chunks/stats-RG6AG4N2.js +0 -17
- package/dist/cli-bundle/chunks/stats-RG6AG4N2.js.map +0 -7
- package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js +0 -14
- package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js.map +0 -7
- package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js +0 -18
- package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js.map +0 -1
- package/dist/cli-bundle/chunks/test-6CMOCWUC.js +0 -39
- package/dist/cli-bundle/chunks/test-6CMOCWUC.js.map +0 -7
- package/dist/cli-bundle/chunks/test-RI7XHBZL.js +0 -43
- package/dist/cli-bundle/chunks/test-RI7XHBZL.js.map +0 -1
- package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js +0 -29
- package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js.map +0 -7
- package/dist/cli-bundle/chunks/test-all-QEIORFYW.js +0 -33
- package/dist/cli-bundle/chunks/test-all-QEIORFYW.js.map +0 -1
- package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js +0 -28
- package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js.map +0 -1
- package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js +0 -24
- package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js.map +0 -7
- package/dist/cli-bundle/chunks/update-QVJDFEAP.js +0 -30
- package/dist/cli-bundle/chunks/update-QVJDFEAP.js.map +0 -1
- package/dist/cli-bundle/chunks/update-VQVHAY6X.js +0 -26
- package/dist/cli-bundle/chunks/update-VQVHAY6X.js.map +0 -7
- package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js +0 -37
- package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js.map +0 -7
- package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js +0 -41
- package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js.map +0 -1
- package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js +0 -24
- package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js.map +0 -7
- package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js +0 -28
- package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-4NTXSB62.js +0 -36
- package/dist/cli-bundle/chunks/validate-4NTXSB62.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-MUFXQZMI.js +0 -32
- package/dist/cli-bundle/chunks/validate-MUFXQZMI.js.map +0 -7
- /package/dist/cli-bundle/chunks/{activity-WJCGCYPU.js.map → append-CDPAYYSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-Z6QUAUSG.js.map → append-RSPHC423.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-24YG75HI.js.map → chunk-3FUXM574.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js.map → chunk-3SHDAKMF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js.map → chunk-3V5C7PUH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js.map → chunk-4I7KS5ES.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js.map → chunk-5STY7NVM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js.map → chunk-5VAZHYVQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js.map → chunk-6RR4XM5H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js.map → chunk-7QKSLAHB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js.map → chunk-7UCBLJDF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js.map → chunk-BFNFTHWQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js.map → chunk-C3YU3TXX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js.map → chunk-CGDUIPJL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XG625QP4.js.map → chunk-EP2CKDS7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js.map → chunk-J6AD3GWC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js.map → chunk-KFL3XHMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js.map → chunk-PCBZ2VJD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js.map → chunk-Q3CFSOQZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js.map → chunk-TU5P744I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js.map → chunk-UEATYUZW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js.map → chunk-UFNFHCAC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js.map → chunk-Z2JQH2MG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js.map → chunk-ZMOPZFVT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-VQ2DHU3S.js.map → close-E3RLZSP2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-BDM6EIAR.js.map → close-K6BFI3OX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-BGML6VLD.js.map → close-many-6NBL3PM4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-RKJYPU74.js.map → close-many-X4YKS3RO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-XP5AWZ5H.js.map → comments-PLFK5ZKK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-RFS7BROJ.js.map → comments-ZNOD5PTV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-GEANHQ2J.js.map → copy-F7BUFY4J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js.map → copy-VH3L4MN2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-ZFDIG6M7.js.map → create-AMBMYP6F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-CMZW7ITN.js.map → create-TRIBYORN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-XUBPXDYX.js.map → delete-6KQHZYIP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-MFSYVNNU.js.map → delete-ZNXUNCZR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-D7XQMONX.js.map → deps-CVDY7FFK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-T4FHBSYN.js.map → deps-SZXQHV73.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-DIU275XI.js.map → docs-DR74ITCD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-JCOYB4LZ.js.map → docs-WCVYY6I7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-BVO7CSLK.js.map → files-H5YCA74Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js.map → files-QEFQ2M3H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-32ROBIDL.js.map → focus-55TRYSNA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-NAGLGMHZ.js.map → focus-N2QGNS5D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-4V7SWNBB.js.map → history-compact-GWQ4UOEI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-E77SDCUP.js.map → history-compact-JJZ4EFL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-NQI5OSKN.js.map → history-redact-4GJOLXCM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js.map → history-redact-TPPUT3A5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-T7SCWXEX.js.map → history-repair-HVCVCGUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-32SU7HO5.js.map → history-repair-J7PIZ6ZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js.map → learnings-KB6BT4NR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-WL2IWGWV.js.map → learnings-YYY3U2Y7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{eval-NF2J5SHR.js.map → notes-BGG7VL72.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{eval-SKDT3MZU.js.map → notes-ZTHXVOKM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-LAXKCAYE.js.map → plan-CJPKFRBK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-ZISPBRBC.js.map → plan-MK2QY3GA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-PYKR2UUG.js.map → profile-AQNHXOYA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-EWRQHGIS.js.map → profile-HTBFINKQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-4T7TM4MT.js.map → restore-BTBEZ5CK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-L3YUASOD.js.map → restore-EX4UUZL6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-2PCTYYRI.js.map → schema-DGSTYYQB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js.map → schema-HAIBEE24.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-7DMITJ3G.js.map → update-MP4XLU56.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-VKQXCXLL.js.map → update-SDIRJGSY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{health-CVSTAR2F.js.map → update-many-34AIU6W7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{health-TV3GKTFN.js.map → update-many-JUPCNOKV.js.map} +0 -0
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
3
|
+
CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
4
|
+
CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,
|
|
5
|
+
CREATE_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
6
|
+
LIST_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
7
|
+
NEXT_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
8
|
+
SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
9
|
+
UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,
|
|
10
|
+
UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,
|
|
11
|
+
readFirstStringFromCommanderOptions,
|
|
12
|
+
readFirstValueFromCommanderOptions,
|
|
13
|
+
readStringArrayFromCommanderOptions
|
|
14
|
+
} from "./chunk-TR2C6V5T.js";
|
|
5
15
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
16
|
+
printError,
|
|
17
|
+
writeStdout
|
|
18
|
+
} from "./chunk-C6XSTACC.js";
|
|
8
19
|
import {
|
|
20
|
+
PmCliError,
|
|
9
21
|
getActiveExtensionRegistrations,
|
|
10
|
-
|
|
11
|
-
|
|
22
|
+
locateItem,
|
|
23
|
+
nowIso,
|
|
24
|
+
readLocatedItem,
|
|
25
|
+
readSettings,
|
|
26
|
+
setActiveCommandResult
|
|
27
|
+
} from "./chunk-BPJ5NYSJ.js";
|
|
12
28
|
import {
|
|
29
|
+
EXIT_CODE,
|
|
13
30
|
coercePositiveInteger,
|
|
14
31
|
getSettingsPath,
|
|
15
32
|
isFiniteNumberArray,
|
|
@@ -18,11 +35,18 @@ import {
|
|
|
18
35
|
removeFileIfExists,
|
|
19
36
|
resolveItemTypeRegistry,
|
|
20
37
|
resolvePmPackageRootFromModule,
|
|
38
|
+
resolvePmRoot,
|
|
21
39
|
toErrorMessage,
|
|
22
40
|
toNonEmptyString,
|
|
23
41
|
trimTrailingSlashes,
|
|
24
42
|
writeFileAtomic
|
|
25
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-2BVD4ZD2.js";
|
|
44
|
+
|
|
45
|
+
// dist/cli/registration-helpers.js
|
|
46
|
+
import { Option } from "commander";
|
|
47
|
+
|
|
48
|
+
// dist/core/search/cache.js
|
|
49
|
+
import path2 from "node:path";
|
|
26
50
|
|
|
27
51
|
// dist/core/search/http-client.js
|
|
28
52
|
!(function() {
|
|
@@ -530,19 +554,171 @@ function buildSemanticCorpusInput(document, options = {}) {
|
|
|
530
554
|
return `${serialized.slice(0, keepLength)}${SEMANTIC_CORPUS_TRUNCATION_SUFFIX}`;
|
|
531
555
|
}
|
|
532
556
|
|
|
557
|
+
// dist/core/search/embedding-batches.js
|
|
558
|
+
!(function() {
|
|
559
|
+
try {
|
|
560
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
561
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "10cfb21a-29c1-5d92-935e-c2e855fdc727");
|
|
562
|
+
} catch (e2) {
|
|
563
|
+
}
|
|
564
|
+
})();
|
|
565
|
+
function resolveBatchRuntime(settings, maxInputCharacters) {
|
|
566
|
+
const batchSizeCandidate = settings.search.embedding_batch_size;
|
|
567
|
+
const timeoutMsCandidate = settings.search.embedding_timeout_ms;
|
|
568
|
+
const maxRetriesCandidate = settings.search.scanner_max_batch_retries;
|
|
569
|
+
const batchSize = Number.isFinite(batchSizeCandidate) && batchSizeCandidate > 0 ? Math.floor(batchSizeCandidate) : 1;
|
|
570
|
+
const timeoutMs = Number.isFinite(timeoutMsCandidate) && timeoutMsCandidate > 0 ? Math.floor(timeoutMsCandidate) : 3e4;
|
|
571
|
+
const maxRetries = Number.isFinite(maxRetriesCandidate) && maxRetriesCandidate >= 0 ? Math.floor(maxRetriesCandidate) : 0;
|
|
572
|
+
return {
|
|
573
|
+
batchSize,
|
|
574
|
+
timeoutMs,
|
|
575
|
+
maxRetries,
|
|
576
|
+
maxBatchInputCharacters: Number.POSITIVE_INFINITY,
|
|
577
|
+
maxInputCharacters
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
function createBatches(inputs, batchSize, maxBatchInputCharacters) {
|
|
581
|
+
const batches = [];
|
|
582
|
+
let currentBatch = [];
|
|
583
|
+
let currentCharacters = 0;
|
|
584
|
+
for (const input of inputs) {
|
|
585
|
+
const wouldExceedCount = currentBatch.length >= batchSize;
|
|
586
|
+
const wouldExceedCharacters = currentBatch.length > 0 && Number.isFinite(maxBatchInputCharacters) && currentCharacters + input.length > maxBatchInputCharacters;
|
|
587
|
+
if (wouldExceedCount || wouldExceedCharacters) {
|
|
588
|
+
batches.push(currentBatch);
|
|
589
|
+
currentBatch = [];
|
|
590
|
+
currentCharacters = 0;
|
|
591
|
+
}
|
|
592
|
+
currentBatch.push(input);
|
|
593
|
+
currentCharacters += input.length;
|
|
594
|
+
}
|
|
595
|
+
batches.push(currentBatch);
|
|
596
|
+
return batches;
|
|
597
|
+
}
|
|
598
|
+
function resolveProviderBatchRuntime(provider, runtime) {
|
|
599
|
+
if (provider.name !== "ollama") {
|
|
600
|
+
return runtime;
|
|
601
|
+
}
|
|
602
|
+
return {
|
|
603
|
+
...runtime,
|
|
604
|
+
maxBatchInputCharacters: OLLAMA_SEMANTIC_CORPUS_INPUT_MAX_CHARACTERS
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
function truncateInputForRuntime(input, maxInputCharacters) {
|
|
608
|
+
if (!Number.isFinite(maxInputCharacters) || maxInputCharacters <= 0 || input.length <= maxInputCharacters) {
|
|
609
|
+
return input;
|
|
610
|
+
}
|
|
611
|
+
const keepLength = Math.max(0, maxInputCharacters - SEMANTIC_CORPUS_TRUNCATION_SUFFIX.length);
|
|
612
|
+
return `${input.slice(0, keepLength)}${SEMANTIC_CORPUS_TRUNCATION_SUFFIX}`.slice(0, maxInputCharacters);
|
|
613
|
+
}
|
|
614
|
+
function isEmbeddingTimeoutError(error) {
|
|
615
|
+
const message = toErrorMessage(error).toLowerCase();
|
|
616
|
+
return message.includes("timed out") || message.includes("timeout");
|
|
617
|
+
}
|
|
618
|
+
function buildEmbeddingFailureMessage(provider, batchLabel, batchSize, timeoutMs, attempts, error) {
|
|
619
|
+
const base = `Embedding batch ${batchLabel} failed after ${attempts} attempt(s): ${toErrorMessage(error)}`;
|
|
620
|
+
const details = `provider=${provider.name} model=${provider.model} batch_size=${batchSize} timeout_ms=${timeoutMs}`;
|
|
621
|
+
if (!isEmbeddingTimeoutError(error)) {
|
|
622
|
+
return `${base} (${details})`;
|
|
623
|
+
}
|
|
624
|
+
return `${base} (${details}; guidance=check provider availability or lower search.embedding_batch_size, raise search.embedding_timeout_ms, or run keyword search while semantic indexing catches up)`;
|
|
625
|
+
}
|
|
626
|
+
async function executeBatchWithAdaptiveSplit(provider, batch, batchLabel, timeoutMs, maxRetries, warnings) {
|
|
627
|
+
let lastError = null;
|
|
628
|
+
for (let attempt = 0; attempt <= maxRetries; attempt += 1) {
|
|
629
|
+
try {
|
|
630
|
+
const batchVectors = await executeEmbeddingRequest(provider, batch, { timeout_ms: timeoutMs });
|
|
631
|
+
if (attempt > 0) {
|
|
632
|
+
warnings.push(`search_embedding_batch_retry_succeeded:batch=${batchLabel}:attempt=${attempt + 1}:size=${batch.length}`);
|
|
633
|
+
}
|
|
634
|
+
return batchVectors;
|
|
635
|
+
} catch (error) {
|
|
636
|
+
lastError = error;
|
|
637
|
+
if (isEmbeddingTimeoutError(error) && batch.length > 1) {
|
|
638
|
+
const midpoint = Math.ceil(batch.length / 2);
|
|
639
|
+
const left = batch.slice(0, midpoint);
|
|
640
|
+
const right = batch.slice(midpoint);
|
|
641
|
+
warnings.push(`search_embedding_batch_split_after_timeout:batch=${batchLabel}:size=${batch.length}:parts=${left.length}|${right.length}`);
|
|
642
|
+
return [
|
|
643
|
+
...await executeBatchWithAdaptiveSplit(provider, left, `${batchLabel}.1`, timeoutMs, maxRetries, warnings),
|
|
644
|
+
...await executeBatchWithAdaptiveSplit(provider, right, `${batchLabel}.2`, timeoutMs, maxRetries, warnings)
|
|
645
|
+
];
|
|
646
|
+
}
|
|
647
|
+
if (attempt < maxRetries) {
|
|
648
|
+
const delayMs = Math.min(1e3 * 2 ** attempt, 8e3);
|
|
649
|
+
await new Promise((resolve2) => setTimeout(resolve2, delayMs));
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
throw new Error(buildEmbeddingFailureMessage(provider, batchLabel, batch.length, timeoutMs, maxRetries + 1, lastError));
|
|
654
|
+
}
|
|
655
|
+
async function executeEmbeddingBatchesWithRetry(provider, settings, inputs, options = {}) {
|
|
656
|
+
if (inputs.length === 0) {
|
|
657
|
+
return {
|
|
658
|
+
vectors: [],
|
|
659
|
+
warnings: []
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
const warnings = [];
|
|
663
|
+
const corpusLimitResolution = resolveSemanticCorpusCharacterLimit(provider.name, settings.search.embedding_corpus_max_characters);
|
|
664
|
+
if (corpusLimitResolution.warning) {
|
|
665
|
+
warnings.push(corpusLimitResolution.warning);
|
|
666
|
+
}
|
|
667
|
+
const runtime = resolveProviderBatchRuntime(provider, resolveBatchRuntime(settings, corpusLimitResolution.maxCharacters));
|
|
668
|
+
let truncatedInputCount = 0;
|
|
669
|
+
const normalizedInputs = inputs.map((input) => {
|
|
670
|
+
const normalized = truncateInputForRuntime(input, runtime.maxInputCharacters);
|
|
671
|
+
if (normalized.length < input.length) {
|
|
672
|
+
truncatedInputCount += 1;
|
|
673
|
+
}
|
|
674
|
+
return normalized;
|
|
675
|
+
});
|
|
676
|
+
if (truncatedInputCount > 0) {
|
|
677
|
+
warnings.push(`search_embedding_input_truncated:count=${truncatedInputCount}:max_characters=${runtime.maxInputCharacters}`);
|
|
678
|
+
}
|
|
679
|
+
const batches = createBatches(normalizedInputs, runtime.batchSize, runtime.maxBatchInputCharacters);
|
|
680
|
+
const vectors = [];
|
|
681
|
+
let completedInputs = 0;
|
|
682
|
+
for (let batchIndex = 0; batchIndex < batches.length; batchIndex += 1) {
|
|
683
|
+
const batch = batches[batchIndex];
|
|
684
|
+
options.onProgress?.({
|
|
685
|
+
batch_index: batchIndex + 1,
|
|
686
|
+
batch_total: batches.length,
|
|
687
|
+
batch_size: batch.length,
|
|
688
|
+
completed_inputs: completedInputs,
|
|
689
|
+
total_inputs: normalizedInputs.length,
|
|
690
|
+
phase: "start"
|
|
691
|
+
});
|
|
692
|
+
vectors.push(...await executeBatchWithAdaptiveSplit(provider, batch, String(batchIndex + 1), runtime.timeoutMs, runtime.maxRetries, warnings));
|
|
693
|
+
completedInputs += batch.length;
|
|
694
|
+
options.onProgress?.({
|
|
695
|
+
batch_index: batchIndex + 1,
|
|
696
|
+
batch_total: batches.length,
|
|
697
|
+
batch_size: batch.length,
|
|
698
|
+
completed_inputs: completedInputs,
|
|
699
|
+
total_inputs: normalizedInputs.length,
|
|
700
|
+
phase: "complete"
|
|
701
|
+
});
|
|
702
|
+
}
|
|
703
|
+
return {
|
|
704
|
+
vectors,
|
|
705
|
+
warnings
|
|
706
|
+
};
|
|
707
|
+
}
|
|
708
|
+
|
|
533
709
|
// dist/core/search/semantic-defaults.js
|
|
534
710
|
import { spawnSync } from "node:child_process";
|
|
535
711
|
!(function() {
|
|
536
712
|
try {
|
|
537
713
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
538
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
714
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7e8365ed-5fc5-5a75-a0a5-3db958c07f88");
|
|
539
715
|
} catch (e2) {
|
|
540
716
|
}
|
|
541
717
|
})();
|
|
542
718
|
var DISABLE_AUTO_DEFAULTS_ENV = "PM_DISABLE_OLLAMA_AUTO_DEFAULTS";
|
|
543
719
|
var OLLAMA_MODEL_ENV = "PM_OLLAMA_MODEL";
|
|
544
720
|
var DEFAULT_OLLAMA_BASE_URL = "http://localhost:11434";
|
|
545
|
-
var
|
|
721
|
+
var RECOMMENDED_OLLAMA_EMBEDDING_MODEL = "qwen3-embedding:0.6b";
|
|
546
722
|
var DEFAULT_LANCEDB_PATH = ".agents/pm/search/lancedb/";
|
|
547
723
|
var OLLAMA_VERSION_TIMEOUT_MS = 1500;
|
|
548
724
|
var OLLAMA_LIST_TIMEOUT_MS = 2500;
|
|
@@ -632,7 +808,7 @@ function resolveAutoOllamaModel(settings) {
|
|
|
632
808
|
return listedModel;
|
|
633
809
|
}
|
|
634
810
|
}
|
|
635
|
-
return
|
|
811
|
+
return null;
|
|
636
812
|
}
|
|
637
813
|
function resolveSemanticDefaultNeeds(settings) {
|
|
638
814
|
return {
|
|
@@ -693,6 +869,13 @@ function resolveSettingsWithSemanticRuntimeDefaults(settings) {
|
|
|
693
869
|
}
|
|
694
870
|
const nextSettings = structuredClone(settings);
|
|
695
871
|
const resolvedModel = resolveAutoOllamaModel(nextSettings);
|
|
872
|
+
if (!resolvedModel) {
|
|
873
|
+
return {
|
|
874
|
+
...unchanged,
|
|
875
|
+
auto_ollama_defaults_skipped_reason: "no_installed_embedding_model",
|
|
876
|
+
auto_ollama_defaults_remediation: `Run ollama pull ${RECOMMENDED_OLLAMA_EMBEDDING_MODEL} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`
|
|
877
|
+
};
|
|
878
|
+
}
|
|
696
879
|
applyOllamaProviderDefaults(nextSettings, needs, resolvedModel);
|
|
697
880
|
applyVectorStoreDefaults(nextSettings, needs);
|
|
698
881
|
applySearchEmbeddingDefaults(nextSettings, needs, resolvedModel);
|
|
@@ -702,57 +885,200 @@ function resolveSettingsWithSemanticRuntimeDefaults(settings) {
|
|
|
702
885
|
};
|
|
703
886
|
}
|
|
704
887
|
|
|
705
|
-
// dist/core/search/
|
|
706
|
-
import {
|
|
707
|
-
import {
|
|
888
|
+
// dist/core/search/background-refresh.js
|
|
889
|
+
import { spawn } from "node:child_process";
|
|
890
|
+
import { mkdirSync, rmSync, statSync } from "node:fs";
|
|
891
|
+
import path from "node:path";
|
|
708
892
|
!(function() {
|
|
709
893
|
try {
|
|
710
894
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
711
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
895
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f10096ab-4dea-55ca-a631-6cb087bf9c4a");
|
|
712
896
|
} catch (e2) {
|
|
713
897
|
}
|
|
714
898
|
})();
|
|
715
|
-
var
|
|
716
|
-
var
|
|
717
|
-
var
|
|
718
|
-
var
|
|
719
|
-
var
|
|
720
|
-
var
|
|
721
|
-
function
|
|
722
|
-
|
|
723
|
-
|
|
899
|
+
var REINDEX_LOCK_ID = "reindex";
|
|
900
|
+
var PENDING_QUEUE_REL_PATH = "search/pending-refresh.json";
|
|
901
|
+
var PENDING_QUEUE_GATE_REL_PATH = "search/pending-refresh.gate.lock";
|
|
902
|
+
var PENDING_QUEUE_GATE_STALE_MS = 3e4;
|
|
903
|
+
var SEARCH_REFRESH_INLINE_ENV = "PM_SEARCH_REFRESH_INLINE";
|
|
904
|
+
var SEARCH_REFRESH_CHILD_ENV = "PM_SEARCH_REFRESH_CHILD";
|
|
905
|
+
function parseBooleanTrueLike(value) {
|
|
906
|
+
if (typeof value !== "string") {
|
|
907
|
+
return false;
|
|
908
|
+
}
|
|
909
|
+
const normalized = value.trim().toLowerCase();
|
|
910
|
+
return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
|
|
724
911
|
}
|
|
725
|
-
function
|
|
726
|
-
if (
|
|
727
|
-
|
|
912
|
+
function shouldRunSearchRefreshInForeground() {
|
|
913
|
+
if (parseBooleanTrueLike(process.env[SEARCH_REFRESH_INLINE_ENV])) {
|
|
914
|
+
return true;
|
|
728
915
|
}
|
|
729
|
-
|
|
916
|
+
if (parseBooleanTrueLike(process.env[SEARCH_REFRESH_CHILD_ENV])) {
|
|
917
|
+
return true;
|
|
918
|
+
}
|
|
919
|
+
const nodeEnv = (process.env.NODE_ENV ?? "").trim().toLowerCase();
|
|
920
|
+
return typeof process.env.VITEST === "string" || typeof process.env.VITEST_WORKER_ID === "string" || nodeEnv === "test";
|
|
730
921
|
}
|
|
731
|
-
function
|
|
732
|
-
|
|
733
|
-
|
|
922
|
+
function pendingQueuePath(pmRoot) {
|
|
923
|
+
return path.join(pmRoot, PENDING_QUEUE_REL_PATH);
|
|
924
|
+
}
|
|
925
|
+
function pendingQueueGatePath(pmRoot) {
|
|
926
|
+
return path.join(pmRoot, PENDING_QUEUE_GATE_REL_PATH);
|
|
927
|
+
}
|
|
928
|
+
function acquireQueueGate(pmRoot) {
|
|
929
|
+
const gatePath = pendingQueueGatePath(pmRoot);
|
|
930
|
+
try {
|
|
931
|
+
if (Date.now() - statSync(gatePath).mtimeMs < PENDING_QUEUE_GATE_STALE_MS) {
|
|
932
|
+
return false;
|
|
933
|
+
}
|
|
934
|
+
rmSync(gatePath, { recursive: true, force: true });
|
|
935
|
+
} catch {
|
|
936
|
+
}
|
|
937
|
+
try {
|
|
938
|
+
mkdirSync(path.dirname(gatePath), { recursive: true });
|
|
939
|
+
mkdirSync(gatePath);
|
|
940
|
+
return true;
|
|
941
|
+
} catch {
|
|
942
|
+
return false;
|
|
734
943
|
}
|
|
735
|
-
return Math.floor(value);
|
|
736
944
|
}
|
|
737
|
-
function
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
945
|
+
function releaseQueueGate(pmRoot) {
|
|
946
|
+
try {
|
|
947
|
+
rmSync(pendingQueueGatePath(pmRoot), { recursive: true, force: true });
|
|
948
|
+
} catch {
|
|
741
949
|
}
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
throw new TypeError(`Qdrant query response entry at index ${index} is missing a finite numeric score`);
|
|
950
|
+
}
|
|
951
|
+
async function withQueueGate(pmRoot, fn, fallback) {
|
|
952
|
+
for (let attempt = 0; attempt < 50; attempt += 1) {
|
|
953
|
+
if (acquireQueueGate(pmRoot)) {
|
|
954
|
+
try {
|
|
955
|
+
return await fn();
|
|
956
|
+
} finally {
|
|
957
|
+
releaseQueueGate(pmRoot);
|
|
958
|
+
}
|
|
752
959
|
}
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
960
|
+
await delay(20);
|
|
961
|
+
}
|
|
962
|
+
return fallback;
|
|
963
|
+
}
|
|
964
|
+
function delay(ms) {
|
|
965
|
+
return new Promise((resolve2) => {
|
|
966
|
+
setTimeout(resolve2, ms);
|
|
967
|
+
});
|
|
968
|
+
}
|
|
969
|
+
async function readPendingQueueIds(pmRoot) {
|
|
970
|
+
const raw = await readFileIfExists(pendingQueuePath(pmRoot));
|
|
971
|
+
if (!raw || raw.trim().length === 0) {
|
|
972
|
+
return [];
|
|
973
|
+
}
|
|
974
|
+
try {
|
|
975
|
+
const parsed = JSON.parse(raw);
|
|
976
|
+
if (!Array.isArray(parsed.ids)) {
|
|
977
|
+
return [];
|
|
978
|
+
}
|
|
979
|
+
return parsed.ids.filter((id) => typeof id === "string" && id.length > 0);
|
|
980
|
+
} catch {
|
|
981
|
+
return [];
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
async function writePendingQueueIds(pmRoot, ids) {
|
|
985
|
+
await writeFileAtomic(pendingQueuePath(pmRoot), `${JSON.stringify({ ids })}
|
|
986
|
+
`);
|
|
987
|
+
}
|
|
988
|
+
async function enqueuePendingRefreshIds(pmRoot, itemIds) {
|
|
989
|
+
const incoming = itemIds.filter((id) => typeof id === "string" && id.trim().length > 0);
|
|
990
|
+
if (incoming.length === 0) {
|
|
991
|
+
return;
|
|
992
|
+
}
|
|
993
|
+
const mergeIncoming = async () => {
|
|
994
|
+
const existing = await readPendingQueueIds(pmRoot);
|
|
995
|
+
const merged = [.../* @__PURE__ */ new Set([...existing, ...incoming])].sort((left, right) => left.localeCompare(right));
|
|
996
|
+
await writePendingQueueIds(pmRoot, merged);
|
|
997
|
+
};
|
|
998
|
+
const gated = await withQueueGate(pmRoot, async () => {
|
|
999
|
+
await mergeIncoming();
|
|
1000
|
+
return true;
|
|
1001
|
+
}, false);
|
|
1002
|
+
if (!gated) {
|
|
1003
|
+
await mergeIncoming();
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
function searchRefreshRunnerPath() {
|
|
1007
|
+
return path.join(resolvePmPackageRootFromModule(import.meta.url, ["../../.."]), "dist", "cli", "search-refresh.js");
|
|
1008
|
+
}
|
|
1009
|
+
function dispatchRefreshChild(pmRoot) {
|
|
1010
|
+
try {
|
|
1011
|
+
const child = spawn(process.execPath, [searchRefreshRunnerPath()], {
|
|
1012
|
+
detached: true,
|
|
1013
|
+
stdio: "ignore",
|
|
1014
|
+
env: {
|
|
1015
|
+
...process.env,
|
|
1016
|
+
PM_PATH: pmRoot,
|
|
1017
|
+
[SEARCH_REFRESH_CHILD_ENV]: "1"
|
|
1018
|
+
}
|
|
1019
|
+
});
|
|
1020
|
+
child.on("error", () => {
|
|
1021
|
+
});
|
|
1022
|
+
child.unref();
|
|
1023
|
+
} catch {
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
async function scheduleBackgroundSemanticRefresh(pmRoot, itemIds) {
|
|
1027
|
+
await enqueuePendingRefreshIds(pmRoot, itemIds);
|
|
1028
|
+
dispatchRefreshChild(pmRoot);
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
// dist/core/search/vector-stores.js
|
|
1032
|
+
import { mkdir, readFile, stat, unlink } from "node:fs/promises";
|
|
1033
|
+
import { basename, dirname, isAbsolute, join, resolve } from "node:path";
|
|
1034
|
+
!(function() {
|
|
1035
|
+
try {
|
|
1036
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1037
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "ce15301c-9763-5069-b4ae-fa3eb6b83640");
|
|
1038
|
+
} catch (e2) {
|
|
1039
|
+
}
|
|
1040
|
+
})();
|
|
1041
|
+
var DEFAULT_COLLECTION = "pm_items";
|
|
1042
|
+
var COLLECTION_SANITIZE_PATTERN = /[^a-zA-Z0-9_-]/g;
|
|
1043
|
+
var MAX_COLLECTION_NAME_LENGTH = 128;
|
|
1044
|
+
var LANCE_DB_LOCAL_SNAPSHOT_DIR = ".pm-cli-local-vectors";
|
|
1045
|
+
var LANCE_DB_LOCAL_SNAPSHOT_VERSION = 1;
|
|
1046
|
+
var lanceDbLocalTables = /* @__PURE__ */ new Map();
|
|
1047
|
+
function resolveStoreCollectionName(store) {
|
|
1048
|
+
const candidate = toNonEmptyString(store.collection_name) ?? DEFAULT_COLLECTION;
|
|
1049
|
+
return candidate.replaceAll(COLLECTION_SANITIZE_PATTERN, "_").slice(0, MAX_COLLECTION_NAME_LENGTH);
|
|
1050
|
+
}
|
|
1051
|
+
function normalizeVector(value) {
|
|
1052
|
+
if (!isFiniteNumberArray(value) || value.length === 0) {
|
|
1053
|
+
throw new Error("Vector values must be a non-empty numeric array");
|
|
1054
|
+
}
|
|
1055
|
+
return [...value];
|
|
1056
|
+
}
|
|
1057
|
+
function normalizeLimit(value) {
|
|
1058
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
1059
|
+
throw new Error("Vector query limit must be a positive number");
|
|
1060
|
+
}
|
|
1061
|
+
return Math.floor(value);
|
|
1062
|
+
}
|
|
1063
|
+
function normalizeQdrantQueryResponse(payload) {
|
|
1064
|
+
const result = payload.result;
|
|
1065
|
+
if (!Array.isArray(result)) {
|
|
1066
|
+
throw new TypeError("Qdrant query response must include a result array");
|
|
1067
|
+
}
|
|
1068
|
+
const hits = result.map((entry, index) => {
|
|
1069
|
+
const idValue = entry.id;
|
|
1070
|
+
const idCandidate = typeof idValue === "number" ? String(idValue) : idValue;
|
|
1071
|
+
const id = toNonEmptyString(idCandidate);
|
|
1072
|
+
if (!id) {
|
|
1073
|
+
throw new Error(`Qdrant query response entry at index ${index} is missing a non-empty id`);
|
|
1074
|
+
}
|
|
1075
|
+
const score = entry.score;
|
|
1076
|
+
if (typeof score !== "number" || !Number.isFinite(score)) {
|
|
1077
|
+
throw new TypeError(`Qdrant query response entry at index ${index} is missing a finite numeric score`);
|
|
1078
|
+
}
|
|
1079
|
+
const payloadValue = entry.payload;
|
|
1080
|
+
if (payloadValue !== void 0 && (typeof payloadValue !== "object" || payloadValue === null || Array.isArray(payloadValue))) {
|
|
1081
|
+
throw new Error(`Qdrant query response entry at index ${index} must provide payload as an object when set`);
|
|
756
1082
|
}
|
|
757
1083
|
return {
|
|
758
1084
|
id,
|
|
@@ -805,7 +1131,21 @@ function resolveQdrantStore(settings) {
|
|
|
805
1131
|
...apiKey ? { api_key: apiKey } : {}
|
|
806
1132
|
};
|
|
807
1133
|
}
|
|
808
|
-
function
|
|
1134
|
+
function resolveWorkspaceRootFromPmRoot(pmRoot) {
|
|
1135
|
+
const resolved = resolve(pmRoot);
|
|
1136
|
+
const parent = dirname(resolved);
|
|
1137
|
+
if (basename(resolved) === "pm" && basename(parent) === ".agents") {
|
|
1138
|
+
return dirname(parent);
|
|
1139
|
+
}
|
|
1140
|
+
return resolved;
|
|
1141
|
+
}
|
|
1142
|
+
function anchorLanceDbStorePath(storePath, pmRoot) {
|
|
1143
|
+
if (!pmRoot || isAbsolute(storePath)) {
|
|
1144
|
+
return storePath;
|
|
1145
|
+
}
|
|
1146
|
+
return resolve(resolveWorkspaceRootFromPmRoot(pmRoot), storePath);
|
|
1147
|
+
}
|
|
1148
|
+
function resolveLanceDbStore(settings, pmRoot) {
|
|
809
1149
|
const lancedbPath = toNonEmptyString(settings.vector_store?.lancedb?.path);
|
|
810
1150
|
if (!lancedbPath) {
|
|
811
1151
|
return null;
|
|
@@ -813,7 +1153,7 @@ function resolveLanceDbStore(settings) {
|
|
|
813
1153
|
const collectionName = toNonEmptyString(settings.vector_store?.collection_name);
|
|
814
1154
|
return {
|
|
815
1155
|
name: "lancedb",
|
|
816
|
-
path: lancedbPath,
|
|
1156
|
+
path: anchorLanceDbStorePath(lancedbPath, pmRoot),
|
|
817
1157
|
...collectionName && collectionName !== DEFAULT_COLLECTION ? { collection_name: collectionName } : {}
|
|
818
1158
|
};
|
|
819
1159
|
}
|
|
@@ -1048,9 +1388,9 @@ function cosineSimilarity(left, right) {
|
|
|
1048
1388
|
}
|
|
1049
1389
|
return dotProd / (leftNorm * rightNorm);
|
|
1050
1390
|
}
|
|
1051
|
-
function resolveVectorStores(settings) {
|
|
1391
|
+
function resolveVectorStores(settings, pmRoot) {
|
|
1052
1392
|
const qdrant = resolveQdrantStore(settings);
|
|
1053
|
-
const lancedb = resolveLanceDbStore(settings);
|
|
1393
|
+
const lancedb = resolveLanceDbStore(settings, pmRoot);
|
|
1054
1394
|
const available = [qdrant, lancedb].filter((entry) => entry !== null);
|
|
1055
1395
|
const preferredName = toNonEmptyString(settings.vector_store?.adapter);
|
|
1056
1396
|
const preferredKey = preferredName ? preferredName.toLowerCase() : null;
|
|
@@ -1375,352 +1715,54 @@ function inferConsistentVectorDimension(vectors, context) {
|
|
|
1375
1715
|
}
|
|
1376
1716
|
|
|
1377
1717
|
// dist/core/search/cache.js
|
|
1378
|
-
import path2 from "node:path";
|
|
1379
|
-
|
|
1380
|
-
// dist/core/search/embedding-batches.js
|
|
1381
1718
|
!(function() {
|
|
1382
1719
|
try {
|
|
1383
1720
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1384
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
1721
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "0af5c45d-b1b3-543b-aa4a-a70d52010fac");
|
|
1385
1722
|
} catch (e2) {
|
|
1386
1723
|
}
|
|
1387
1724
|
})();
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
const batchSize = Number.isFinite(batchSizeCandidate) && batchSizeCandidate > 0 ? Math.floor(batchSizeCandidate) : 1;
|
|
1393
|
-
const timeoutMs = Number.isFinite(timeoutMsCandidate) && timeoutMsCandidate > 0 ? Math.floor(timeoutMsCandidate) : 3e4;
|
|
1394
|
-
const maxRetries = Number.isFinite(maxRetriesCandidate) && maxRetriesCandidate >= 0 ? Math.floor(maxRetriesCandidate) : 0;
|
|
1395
|
-
return {
|
|
1396
|
-
batchSize,
|
|
1397
|
-
timeoutMs,
|
|
1398
|
-
maxRetries,
|
|
1399
|
-
maxBatchInputCharacters: Number.POSITIVE_INFINITY,
|
|
1400
|
-
maxInputCharacters
|
|
1401
|
-
};
|
|
1402
|
-
}
|
|
1403
|
-
function createBatches(inputs, batchSize, maxBatchInputCharacters) {
|
|
1404
|
-
const batches = [];
|
|
1405
|
-
let currentBatch = [];
|
|
1406
|
-
let currentCharacters = 0;
|
|
1407
|
-
for (const input of inputs) {
|
|
1408
|
-
const wouldExceedCount = currentBatch.length >= batchSize;
|
|
1409
|
-
const wouldExceedCharacters = currentBatch.length > 0 && Number.isFinite(maxBatchInputCharacters) && currentCharacters + input.length > maxBatchInputCharacters;
|
|
1410
|
-
if (wouldExceedCount || wouldExceedCharacters) {
|
|
1411
|
-
batches.push(currentBatch);
|
|
1412
|
-
currentBatch = [];
|
|
1413
|
-
currentCharacters = 0;
|
|
1414
|
-
}
|
|
1415
|
-
currentBatch.push(input);
|
|
1416
|
-
currentCharacters += input.length;
|
|
1417
|
-
}
|
|
1418
|
-
batches.push(currentBatch);
|
|
1419
|
-
return batches;
|
|
1420
|
-
}
|
|
1421
|
-
function resolveProviderBatchRuntime(provider, runtime) {
|
|
1422
|
-
if (provider.name !== "ollama") {
|
|
1423
|
-
return runtime;
|
|
1424
|
-
}
|
|
1425
|
-
return {
|
|
1426
|
-
...runtime,
|
|
1427
|
-
maxBatchInputCharacters: OLLAMA_SEMANTIC_CORPUS_INPUT_MAX_CHARACTERS
|
|
1428
|
-
};
|
|
1429
|
-
}
|
|
1430
|
-
function truncateInputForRuntime(input, maxInputCharacters) {
|
|
1431
|
-
if (!Number.isFinite(maxInputCharacters) || maxInputCharacters <= 0 || input.length <= maxInputCharacters) {
|
|
1432
|
-
return input;
|
|
1433
|
-
}
|
|
1434
|
-
const keepLength = Math.max(0, maxInputCharacters - SEMANTIC_CORPUS_TRUNCATION_SUFFIX.length);
|
|
1435
|
-
return `${input.slice(0, keepLength)}${SEMANTIC_CORPUS_TRUNCATION_SUFFIX}`.slice(0, maxInputCharacters);
|
|
1725
|
+
var SEARCH_CACHE_ARTIFACT_PATHS = ["index/manifest.json", "search/embeddings.jsonl"];
|
|
1726
|
+
var VECTORIZATION_STATUS_LEDGER_PATH = "search/vectorization-status.json";
|
|
1727
|
+
function formatInvalidationWarning(relativePath, error) {
|
|
1728
|
+
return `search_cache_invalidation_failed:${relativePath}:${String(error)}`;
|
|
1436
1729
|
}
|
|
1437
|
-
function
|
|
1438
|
-
|
|
1439
|
-
return message.includes("timed out") || message.includes("timeout");
|
|
1730
|
+
function toUniqueSorted(values) {
|
|
1731
|
+
return [...new Set([...values].map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
1440
1732
|
}
|
|
1441
|
-
function
|
|
1442
|
-
|
|
1443
|
-
const details = `provider=${provider.name} model=${provider.model} batch_size=${batchSize} timeout_ms=${timeoutMs}`;
|
|
1444
|
-
if (!isEmbeddingTimeoutError(error)) {
|
|
1445
|
-
return `${base} (${details})`;
|
|
1446
|
-
}
|
|
1447
|
-
return `${base} (${details}; guidance=check provider availability or lower search.embedding_batch_size, raise search.embedding_timeout_ms, or run keyword search while semantic indexing catches up)`;
|
|
1733
|
+
function isValidUpdatedAt(value) {
|
|
1734
|
+
return typeof value === "string" && value.trim().length > 0 && Number.isFinite(Date.parse(value));
|
|
1448
1735
|
}
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
for (
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
warnings.push(`search_embedding_batch_retry_succeeded:batch=${batchLabel}:attempt=${attempt + 1}:size=${batch.length}`);
|
|
1456
|
-
}
|
|
1457
|
-
return batchVectors;
|
|
1458
|
-
} catch (error) {
|
|
1459
|
-
lastError = error;
|
|
1460
|
-
if (isEmbeddingTimeoutError(error) && batch.length > 1) {
|
|
1461
|
-
const midpoint = Math.ceil(batch.length / 2);
|
|
1462
|
-
const left = batch.slice(0, midpoint);
|
|
1463
|
-
const right = batch.slice(midpoint);
|
|
1464
|
-
warnings.push(`search_embedding_batch_split_after_timeout:batch=${batchLabel}:size=${batch.length}:parts=${left.length}|${right.length}`);
|
|
1465
|
-
return [
|
|
1466
|
-
...await executeBatchWithAdaptiveSplit(provider, left, `${batchLabel}.1`, timeoutMs, maxRetries, warnings),
|
|
1467
|
-
...await executeBatchWithAdaptiveSplit(provider, right, `${batchLabel}.2`, timeoutMs, maxRetries, warnings)
|
|
1468
|
-
];
|
|
1469
|
-
}
|
|
1470
|
-
if (attempt < maxRetries) {
|
|
1471
|
-
const delayMs = Math.min(1e3 * 2 ** attempt, 8e3);
|
|
1472
|
-
await new Promise((resolve2) => setTimeout(resolve2, delayMs));
|
|
1473
|
-
}
|
|
1736
|
+
function normalizeVectorizationLedgerEntries(entries) {
|
|
1737
|
+
const normalized = /* @__PURE__ */ new Map();
|
|
1738
|
+
for (const [rawId, rawUpdatedAt] of Object.entries(entries)) {
|
|
1739
|
+
const id = rawId.trim();
|
|
1740
|
+
if (id.length === 0 || !isValidUpdatedAt(rawUpdatedAt)) {
|
|
1741
|
+
continue;
|
|
1474
1742
|
}
|
|
1743
|
+
normalized.set(id, rawUpdatedAt);
|
|
1475
1744
|
}
|
|
1476
|
-
|
|
1745
|
+
return Object.fromEntries([...normalized.entries()].sort((left, right) => left[0].localeCompare(right[0])));
|
|
1477
1746
|
}
|
|
1478
|
-
async function
|
|
1479
|
-
|
|
1747
|
+
async function readVectorizationStatusLedger(pmRoot) {
|
|
1748
|
+
const ledgerPath = path2.join(pmRoot, VECTORIZATION_STATUS_LEDGER_PATH);
|
|
1749
|
+
const raw = await readFileIfExists(ledgerPath);
|
|
1750
|
+
if (raw === null || raw.trim().length === 0) {
|
|
1480
1751
|
return {
|
|
1481
|
-
|
|
1752
|
+
entries: {},
|
|
1753
|
+
embedding: null,
|
|
1482
1754
|
warnings: []
|
|
1483
1755
|
};
|
|
1484
1756
|
}
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
if (normalized.length < input.length) {
|
|
1495
|
-
truncatedInputCount += 1;
|
|
1496
|
-
}
|
|
1497
|
-
return normalized;
|
|
1498
|
-
});
|
|
1499
|
-
if (truncatedInputCount > 0) {
|
|
1500
|
-
warnings.push(`search_embedding_input_truncated:count=${truncatedInputCount}:max_characters=${runtime.maxInputCharacters}`);
|
|
1501
|
-
}
|
|
1502
|
-
const batches = createBatches(normalizedInputs, runtime.batchSize, runtime.maxBatchInputCharacters);
|
|
1503
|
-
const vectors = [];
|
|
1504
|
-
let completedInputs = 0;
|
|
1505
|
-
for (let batchIndex = 0; batchIndex < batches.length; batchIndex += 1) {
|
|
1506
|
-
const batch = batches[batchIndex];
|
|
1507
|
-
options.onProgress?.({
|
|
1508
|
-
batch_index: batchIndex + 1,
|
|
1509
|
-
batch_total: batches.length,
|
|
1510
|
-
batch_size: batch.length,
|
|
1511
|
-
completed_inputs: completedInputs,
|
|
1512
|
-
total_inputs: normalizedInputs.length,
|
|
1513
|
-
phase: "start"
|
|
1514
|
-
});
|
|
1515
|
-
vectors.push(...await executeBatchWithAdaptiveSplit(provider, batch, String(batchIndex + 1), runtime.timeoutMs, runtime.maxRetries, warnings));
|
|
1516
|
-
completedInputs += batch.length;
|
|
1517
|
-
options.onProgress?.({
|
|
1518
|
-
batch_index: batchIndex + 1,
|
|
1519
|
-
batch_total: batches.length,
|
|
1520
|
-
batch_size: batch.length,
|
|
1521
|
-
completed_inputs: completedInputs,
|
|
1522
|
-
total_inputs: normalizedInputs.length,
|
|
1523
|
-
phase: "complete"
|
|
1524
|
-
});
|
|
1525
|
-
}
|
|
1526
|
-
return {
|
|
1527
|
-
vectors,
|
|
1528
|
-
warnings
|
|
1529
|
-
};
|
|
1530
|
-
}
|
|
1531
|
-
|
|
1532
|
-
// dist/core/search/background-refresh.js
|
|
1533
|
-
import { spawn } from "node:child_process";
|
|
1534
|
-
import { mkdirSync, rmSync, statSync } from "node:fs";
|
|
1535
|
-
import path from "node:path";
|
|
1536
|
-
!(function() {
|
|
1537
|
-
try {
|
|
1538
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1539
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f10096ab-4dea-55ca-a631-6cb087bf9c4a");
|
|
1540
|
-
} catch (e2) {
|
|
1541
|
-
}
|
|
1542
|
-
})();
|
|
1543
|
-
var REINDEX_LOCK_ID = "reindex";
|
|
1544
|
-
var PENDING_QUEUE_REL_PATH = "search/pending-refresh.json";
|
|
1545
|
-
var PENDING_QUEUE_GATE_REL_PATH = "search/pending-refresh.gate.lock";
|
|
1546
|
-
var PENDING_QUEUE_GATE_STALE_MS = 3e4;
|
|
1547
|
-
var SEARCH_REFRESH_INLINE_ENV = "PM_SEARCH_REFRESH_INLINE";
|
|
1548
|
-
var SEARCH_REFRESH_CHILD_ENV = "PM_SEARCH_REFRESH_CHILD";
|
|
1549
|
-
function parseBooleanTrueLike(value) {
|
|
1550
|
-
if (typeof value !== "string") {
|
|
1551
|
-
return false;
|
|
1552
|
-
}
|
|
1553
|
-
const normalized = value.trim().toLowerCase();
|
|
1554
|
-
return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
|
|
1555
|
-
}
|
|
1556
|
-
function shouldRunSearchRefreshInForeground() {
|
|
1557
|
-
if (parseBooleanTrueLike(process.env[SEARCH_REFRESH_INLINE_ENV])) {
|
|
1558
|
-
return true;
|
|
1559
|
-
}
|
|
1560
|
-
if (parseBooleanTrueLike(process.env[SEARCH_REFRESH_CHILD_ENV])) {
|
|
1561
|
-
return true;
|
|
1562
|
-
}
|
|
1563
|
-
const nodeEnv = (process.env.NODE_ENV ?? "").trim().toLowerCase();
|
|
1564
|
-
return typeof process.env.VITEST === "string" || typeof process.env.VITEST_WORKER_ID === "string" || nodeEnv === "test";
|
|
1565
|
-
}
|
|
1566
|
-
function pendingQueuePath(pmRoot) {
|
|
1567
|
-
return path.join(pmRoot, PENDING_QUEUE_REL_PATH);
|
|
1568
|
-
}
|
|
1569
|
-
function pendingQueueGatePath(pmRoot) {
|
|
1570
|
-
return path.join(pmRoot, PENDING_QUEUE_GATE_REL_PATH);
|
|
1571
|
-
}
|
|
1572
|
-
function acquireQueueGate(pmRoot) {
|
|
1573
|
-
const gatePath = pendingQueueGatePath(pmRoot);
|
|
1574
|
-
try {
|
|
1575
|
-
if (Date.now() - statSync(gatePath).mtimeMs < PENDING_QUEUE_GATE_STALE_MS) {
|
|
1576
|
-
return false;
|
|
1577
|
-
}
|
|
1578
|
-
rmSync(gatePath, { recursive: true, force: true });
|
|
1579
|
-
} catch {
|
|
1580
|
-
}
|
|
1581
|
-
try {
|
|
1582
|
-
mkdirSync(path.dirname(gatePath), { recursive: true });
|
|
1583
|
-
mkdirSync(gatePath);
|
|
1584
|
-
return true;
|
|
1585
|
-
} catch {
|
|
1586
|
-
return false;
|
|
1587
|
-
}
|
|
1588
|
-
}
|
|
1589
|
-
function releaseQueueGate(pmRoot) {
|
|
1590
|
-
try {
|
|
1591
|
-
rmSync(pendingQueueGatePath(pmRoot), { recursive: true, force: true });
|
|
1592
|
-
} catch {
|
|
1593
|
-
}
|
|
1594
|
-
}
|
|
1595
|
-
async function withQueueGate(pmRoot, fn, fallback) {
|
|
1596
|
-
for (let attempt = 0; attempt < 50; attempt += 1) {
|
|
1597
|
-
if (acquireQueueGate(pmRoot)) {
|
|
1598
|
-
try {
|
|
1599
|
-
return await fn();
|
|
1600
|
-
} finally {
|
|
1601
|
-
releaseQueueGate(pmRoot);
|
|
1602
|
-
}
|
|
1603
|
-
}
|
|
1604
|
-
await delay(20);
|
|
1605
|
-
}
|
|
1606
|
-
return fallback;
|
|
1607
|
-
}
|
|
1608
|
-
function delay(ms) {
|
|
1609
|
-
return new Promise((resolve2) => {
|
|
1610
|
-
setTimeout(resolve2, ms);
|
|
1611
|
-
});
|
|
1612
|
-
}
|
|
1613
|
-
async function readPendingQueueIds(pmRoot) {
|
|
1614
|
-
const raw = await readFileIfExists(pendingQueuePath(pmRoot));
|
|
1615
|
-
if (!raw || raw.trim().length === 0) {
|
|
1616
|
-
return [];
|
|
1617
|
-
}
|
|
1618
|
-
try {
|
|
1619
|
-
const parsed = JSON.parse(raw);
|
|
1620
|
-
if (!Array.isArray(parsed.ids)) {
|
|
1621
|
-
return [];
|
|
1622
|
-
}
|
|
1623
|
-
return parsed.ids.filter((id) => typeof id === "string" && id.length > 0);
|
|
1624
|
-
} catch {
|
|
1625
|
-
return [];
|
|
1626
|
-
}
|
|
1627
|
-
}
|
|
1628
|
-
async function writePendingQueueIds(pmRoot, ids) {
|
|
1629
|
-
await writeFileAtomic(pendingQueuePath(pmRoot), `${JSON.stringify({ ids })}
|
|
1630
|
-
`);
|
|
1631
|
-
}
|
|
1632
|
-
async function enqueuePendingRefreshIds(pmRoot, itemIds) {
|
|
1633
|
-
const incoming = itemIds.filter((id) => typeof id === "string" && id.trim().length > 0);
|
|
1634
|
-
if (incoming.length === 0) {
|
|
1635
|
-
return;
|
|
1636
|
-
}
|
|
1637
|
-
const mergeIncoming = async () => {
|
|
1638
|
-
const existing = await readPendingQueueIds(pmRoot);
|
|
1639
|
-
const merged = [.../* @__PURE__ */ new Set([...existing, ...incoming])].sort((left, right) => left.localeCompare(right));
|
|
1640
|
-
await writePendingQueueIds(pmRoot, merged);
|
|
1641
|
-
};
|
|
1642
|
-
const gated = await withQueueGate(pmRoot, async () => {
|
|
1643
|
-
await mergeIncoming();
|
|
1644
|
-
return true;
|
|
1645
|
-
}, false);
|
|
1646
|
-
if (!gated) {
|
|
1647
|
-
await mergeIncoming();
|
|
1648
|
-
}
|
|
1649
|
-
}
|
|
1650
|
-
function searchRefreshRunnerPath() {
|
|
1651
|
-
return path.join(resolvePmPackageRootFromModule(import.meta.url, ["../../.."]), "dist", "cli", "search-refresh.js");
|
|
1652
|
-
}
|
|
1653
|
-
function dispatchRefreshChild(pmRoot) {
|
|
1654
|
-
try {
|
|
1655
|
-
const child = spawn(process.execPath, [searchRefreshRunnerPath()], {
|
|
1656
|
-
detached: true,
|
|
1657
|
-
stdio: "ignore",
|
|
1658
|
-
env: {
|
|
1659
|
-
...process.env,
|
|
1660
|
-
PM_PATH: pmRoot,
|
|
1661
|
-
[SEARCH_REFRESH_CHILD_ENV]: "1"
|
|
1662
|
-
}
|
|
1663
|
-
});
|
|
1664
|
-
child.on("error", () => {
|
|
1665
|
-
});
|
|
1666
|
-
child.unref();
|
|
1667
|
-
} catch {
|
|
1668
|
-
}
|
|
1669
|
-
}
|
|
1670
|
-
async function scheduleBackgroundSemanticRefresh(pmRoot, itemIds) {
|
|
1671
|
-
await enqueuePendingRefreshIds(pmRoot, itemIds);
|
|
1672
|
-
dispatchRefreshChild(pmRoot);
|
|
1673
|
-
}
|
|
1674
|
-
|
|
1675
|
-
// dist/core/search/cache.js
|
|
1676
|
-
!(function() {
|
|
1677
|
-
try {
|
|
1678
|
-
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1679
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "81b33560-411e-51e7-8009-cf3615d51a2a");
|
|
1680
|
-
} catch (e2) {
|
|
1681
|
-
}
|
|
1682
|
-
})();
|
|
1683
|
-
var SEARCH_CACHE_ARTIFACT_PATHS = ["index/manifest.json", "search/embeddings.jsonl"];
|
|
1684
|
-
var VECTORIZATION_STATUS_LEDGER_PATH = "search/vectorization-status.json";
|
|
1685
|
-
function formatInvalidationWarning(relativePath, error) {
|
|
1686
|
-
return `search_cache_invalidation_failed:${relativePath}:${String(error)}`;
|
|
1687
|
-
}
|
|
1688
|
-
function toUniqueSorted(values) {
|
|
1689
|
-
return [...new Set([...values].map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
1690
|
-
}
|
|
1691
|
-
function isValidUpdatedAt(value) {
|
|
1692
|
-
return typeof value === "string" && value.trim().length > 0 && Number.isFinite(Date.parse(value));
|
|
1693
|
-
}
|
|
1694
|
-
function normalizeVectorizationLedgerEntries(entries) {
|
|
1695
|
-
const normalized = /* @__PURE__ */ new Map();
|
|
1696
|
-
for (const [rawId, rawUpdatedAt] of Object.entries(entries)) {
|
|
1697
|
-
const id = rawId.trim();
|
|
1698
|
-
if (id.length === 0 || !isValidUpdatedAt(rawUpdatedAt)) {
|
|
1699
|
-
continue;
|
|
1700
|
-
}
|
|
1701
|
-
normalized.set(id, rawUpdatedAt);
|
|
1702
|
-
}
|
|
1703
|
-
return Object.fromEntries([...normalized.entries()].sort((left, right) => left[0].localeCompare(right[0])));
|
|
1704
|
-
}
|
|
1705
|
-
async function readVectorizationStatusLedger(pmRoot) {
|
|
1706
|
-
const ledgerPath = path2.join(pmRoot, VECTORIZATION_STATUS_LEDGER_PATH);
|
|
1707
|
-
const raw = await readFileIfExists(ledgerPath);
|
|
1708
|
-
if (raw === null || raw.trim().length === 0) {
|
|
1709
|
-
return {
|
|
1710
|
-
entries: {},
|
|
1711
|
-
embedding: null,
|
|
1712
|
-
warnings: []
|
|
1713
|
-
};
|
|
1714
|
-
}
|
|
1715
|
-
let parsed;
|
|
1716
|
-
try {
|
|
1717
|
-
parsed = JSON.parse(raw);
|
|
1718
|
-
} catch {
|
|
1719
|
-
return {
|
|
1720
|
-
entries: {},
|
|
1721
|
-
embedding: null,
|
|
1722
|
-
warnings: ["search_vectorization_status_ledger_invalid"]
|
|
1723
|
-
};
|
|
1757
|
+
let parsed;
|
|
1758
|
+
try {
|
|
1759
|
+
parsed = JSON.parse(raw);
|
|
1760
|
+
} catch {
|
|
1761
|
+
return {
|
|
1762
|
+
entries: {},
|
|
1763
|
+
embedding: null,
|
|
1764
|
+
warnings: ["search_vectorization_status_ledger_invalid"]
|
|
1765
|
+
};
|
|
1724
1766
|
}
|
|
1725
1767
|
if (typeof parsed !== "object" || parsed === null || parsed.version !== 1 || !Array.isArray(parsed.items)) {
|
|
1726
1768
|
return {
|
|
@@ -1818,7 +1860,7 @@ async function resolveSemanticRefreshRuntimeContext(pmRoot, normalizedItemIds, o
|
|
|
1818
1860
|
if (!provider) {
|
|
1819
1861
|
return buildSkippedSemanticRefreshResult(normalizedItemIds, "search_semantic_refresh_skipped:provider_unconfigured");
|
|
1820
1862
|
}
|
|
1821
|
-
const vectorStore = resolveVectorStores(effectiveSettings).active;
|
|
1863
|
+
const vectorStore = resolveVectorStores(effectiveSettings, pmRoot).active;
|
|
1822
1864
|
if (!vectorStore) {
|
|
1823
1865
|
return buildSkippedSemanticRefreshResult(normalizedItemIds, "search_semantic_refresh_skipped:vector_store_unconfigured");
|
|
1824
1866
|
}
|
|
@@ -2072,6 +2114,770 @@ async function refreshSearchArtifactsForMutation(pmRoot, itemIds, options = {})
|
|
|
2072
2114
|
};
|
|
2073
2115
|
}
|
|
2074
2116
|
|
|
2117
|
+
// dist/cli/registration-helpers.js
|
|
2118
|
+
!(function() {
|
|
2119
|
+
try {
|
|
2120
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
2121
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b171fdb9-1d1c-5054-8632-924de7f9756f");
|
|
2122
|
+
} catch (e2) {
|
|
2123
|
+
}
|
|
2124
|
+
})();
|
|
2125
|
+
var RESOLVED_GLOBAL_OPTIONS = /* @__PURE__ */ Symbol("pm.resolvedGlobalOptions");
|
|
2126
|
+
function commandOptionsReader(command) {
|
|
2127
|
+
return typeof command === "object" && command !== null ? command : {};
|
|
2128
|
+
}
|
|
2129
|
+
function resolveCommanderContract(contracts, target) {
|
|
2130
|
+
const contract = contracts.find((entry) => entry.target === target);
|
|
2131
|
+
return contract ?? { target, keys: [target] };
|
|
2132
|
+
}
|
|
2133
|
+
function setResolvedGlobalOptions(command, globalOptions) {
|
|
2134
|
+
command[RESOLVED_GLOBAL_OPTIONS] = { ...globalOptions };
|
|
2135
|
+
}
|
|
2136
|
+
function clearResolvedGlobalOptions(command) {
|
|
2137
|
+
delete command[RESOLVED_GLOBAL_OPTIONS];
|
|
2138
|
+
}
|
|
2139
|
+
function getGlobalOptions(command) {
|
|
2140
|
+
const resolved = command[RESOLVED_GLOBAL_OPTIONS];
|
|
2141
|
+
if (resolved) {
|
|
2142
|
+
return { ...resolved };
|
|
2143
|
+
}
|
|
2144
|
+
const reader = commandOptionsReader(command);
|
|
2145
|
+
const opts = typeof reader.optsWithGlobals === "function" ? reader.optsWithGlobals() : typeof reader.opts === "function" ? reader.opts() : {};
|
|
2146
|
+
return {
|
|
2147
|
+
json: opts.json === true ? true : void 0,
|
|
2148
|
+
quiet: Boolean(opts.quiet),
|
|
2149
|
+
noChangedFields: opts.changedFields === false,
|
|
2150
|
+
idOnly: opts.idOnly === true,
|
|
2151
|
+
path: typeof opts.pmPath === "string" ? opts.pmPath : typeof opts.path === "string" ? opts.path : void 0,
|
|
2152
|
+
noExtensions: opts.extensions === false,
|
|
2153
|
+
noPager: Boolean(opts.noPager),
|
|
2154
|
+
profile: Boolean(opts.profile)
|
|
2155
|
+
};
|
|
2156
|
+
}
|
|
2157
|
+
function getCommandPath(command) {
|
|
2158
|
+
const parts = [];
|
|
2159
|
+
let current = command;
|
|
2160
|
+
while (current?.parent) {
|
|
2161
|
+
parts.unshift(current.name());
|
|
2162
|
+
current = current.parent;
|
|
2163
|
+
}
|
|
2164
|
+
return parts.join(" ");
|
|
2165
|
+
}
|
|
2166
|
+
async function applyDefaultOutputFormat(globalOptions) {
|
|
2167
|
+
if (globalOptions.json === true) {
|
|
2168
|
+
return globalOptions;
|
|
2169
|
+
}
|
|
2170
|
+
const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);
|
|
2171
|
+
if (!await pathExists(getSettingsPath(pmRoot))) {
|
|
2172
|
+
return globalOptions;
|
|
2173
|
+
}
|
|
2174
|
+
const settings = await readSettings(pmRoot);
|
|
2175
|
+
return {
|
|
2176
|
+
...globalOptions,
|
|
2177
|
+
defaultOutputFormat: settings.output.default_format
|
|
2178
|
+
};
|
|
2179
|
+
}
|
|
2180
|
+
function collect(value, previous) {
|
|
2181
|
+
const next = previous ?? [];
|
|
2182
|
+
next.push(value);
|
|
2183
|
+
return next;
|
|
2184
|
+
}
|
|
2185
|
+
function pushOptionalValueFlag(args, flag, value) {
|
|
2186
|
+
if (typeof value !== "string") {
|
|
2187
|
+
return;
|
|
2188
|
+
}
|
|
2189
|
+
const trimmed = value.trim();
|
|
2190
|
+
if (trimmed.length === 0) {
|
|
2191
|
+
return;
|
|
2192
|
+
}
|
|
2193
|
+
args.push(flag, trimmed);
|
|
2194
|
+
}
|
|
2195
|
+
function pushOptionalBooleanFlag(args, flag, value) {
|
|
2196
|
+
if (value === true) {
|
|
2197
|
+
args.push(flag);
|
|
2198
|
+
}
|
|
2199
|
+
}
|
|
2200
|
+
function pushRepeatableValueFlag(args, flag, values) {
|
|
2201
|
+
if (!Array.isArray(values)) {
|
|
2202
|
+
return;
|
|
2203
|
+
}
|
|
2204
|
+
for (const value of values) {
|
|
2205
|
+
if (typeof value !== "string") {
|
|
2206
|
+
continue;
|
|
2207
|
+
}
|
|
2208
|
+
const trimmed = value.trim();
|
|
2209
|
+
if (trimmed.length === 0) {
|
|
2210
|
+
continue;
|
|
2211
|
+
}
|
|
2212
|
+
args.push(flag, trimmed);
|
|
2213
|
+
}
|
|
2214
|
+
}
|
|
2215
|
+
function optionTrue(options, key) {
|
|
2216
|
+
return options[key] === true ? true : void 0;
|
|
2217
|
+
}
|
|
2218
|
+
function optionFalse(options, key) {
|
|
2219
|
+
return options[key] === false ? true : void 0;
|
|
2220
|
+
}
|
|
2221
|
+
function readOptionString(options, key) {
|
|
2222
|
+
return typeof options[key] === "string" ? options[key] : void 0;
|
|
2223
|
+
}
|
|
2224
|
+
function addHiddenOption(command, flags, description) {
|
|
2225
|
+
command.addOption(new Option(flags, description).hideHelp());
|
|
2226
|
+
}
|
|
2227
|
+
function anyOptionTrue(options, keys) {
|
|
2228
|
+
return keys.some((key) => options[key] === true) ? true : void 0;
|
|
2229
|
+
}
|
|
2230
|
+
function copyUnknownOptions(target, source) {
|
|
2231
|
+
for (const [key, value] of Object.entries(source)) {
|
|
2232
|
+
if (key === "__proto__" || key === "constructor" || key === "prototype") {
|
|
2233
|
+
continue;
|
|
2234
|
+
}
|
|
2235
|
+
if (Object.hasOwn(target, key)) {
|
|
2236
|
+
continue;
|
|
2237
|
+
}
|
|
2238
|
+
target[key] = value;
|
|
2239
|
+
}
|
|
2240
|
+
}
|
|
2241
|
+
function buildBackgroundTestCommandArgs(id, options) {
|
|
2242
|
+
const args = ["test", id, "--run", "--json", "--progress"];
|
|
2243
|
+
pushRepeatableValueFlag(args, "--add", options.add);
|
|
2244
|
+
pushRepeatableValueFlag(args, "--add-json", options.addJson);
|
|
2245
|
+
pushRepeatableValueFlag(args, "--remove", options.remove);
|
|
2246
|
+
pushOptionalValueFlag(args, "--match", options.match);
|
|
2247
|
+
pushOptionalValueFlag(args, "--only-index", options.onlyIndex);
|
|
2248
|
+
pushOptionalBooleanFlag(args, "--only-last", options.onlyLast);
|
|
2249
|
+
pushOptionalValueFlag(args, "--timeout", options.timeout);
|
|
2250
|
+
pushRepeatableValueFlag(args, "--env-set", options.envSet);
|
|
2251
|
+
pushRepeatableValueFlag(args, "--env-clear", options.envClear);
|
|
2252
|
+
pushOptionalBooleanFlag(args, "--shared-host-safe", options.sharedHostSafe);
|
|
2253
|
+
pushOptionalValueFlag(args, "--pm-context", options.pmContext);
|
|
2254
|
+
pushOptionalBooleanFlag(args, "--override-linked-pm-context", options.overrideLinkedPmContext);
|
|
2255
|
+
pushOptionalBooleanFlag(args, "--fail-on-context-mismatch", options.failOnContextMismatch);
|
|
2256
|
+
pushOptionalBooleanFlag(args, "--fail-on-skipped", options.failOnSkipped);
|
|
2257
|
+
pushOptionalBooleanFlag(args, "--fail-on-empty-test-run", options.failOnEmptyTestRun);
|
|
2258
|
+
pushOptionalBooleanFlag(args, "--require-assertions-for-pm", options.requireAssertionsForPm);
|
|
2259
|
+
pushOptionalBooleanFlag(args, "--check-context", options.checkContext);
|
|
2260
|
+
pushOptionalBooleanFlag(args, "--auto-pm-context", options.autoPmContext);
|
|
2261
|
+
pushOptionalValueFlag(args, "--author", options.author);
|
|
2262
|
+
pushOptionalValueFlag(args, "--message", options.message);
|
|
2263
|
+
pushOptionalBooleanFlag(args, "--force", options.force);
|
|
2264
|
+
return args;
|
|
2265
|
+
}
|
|
2266
|
+
function buildBackgroundTestAllCommandArgs(options) {
|
|
2267
|
+
const args = ["test-all", "--json", "--progress"];
|
|
2268
|
+
pushOptionalValueFlag(args, "--status", options.status);
|
|
2269
|
+
pushOptionalValueFlag(args, "--limit", options.limit);
|
|
2270
|
+
pushOptionalValueFlag(args, "--offset", options.offset);
|
|
2271
|
+
pushOptionalValueFlag(args, "--timeout", options.timeout);
|
|
2272
|
+
pushRepeatableValueFlag(args, "--env-set", options.envSet);
|
|
2273
|
+
pushRepeatableValueFlag(args, "--env-clear", options.envClear);
|
|
2274
|
+
pushOptionalBooleanFlag(args, "--shared-host-safe", options.sharedHostSafe);
|
|
2275
|
+
pushOptionalValueFlag(args, "--pm-context", options.pmContext);
|
|
2276
|
+
pushOptionalBooleanFlag(args, "--override-linked-pm-context", options.overrideLinkedPmContext);
|
|
2277
|
+
pushOptionalBooleanFlag(args, "--fail-on-context-mismatch", options.failOnContextMismatch);
|
|
2278
|
+
pushOptionalBooleanFlag(args, "--fail-on-skipped", options.failOnSkipped);
|
|
2279
|
+
pushOptionalBooleanFlag(args, "--fail-on-empty-test-run", options.failOnEmptyTestRun);
|
|
2280
|
+
pushOptionalBooleanFlag(args, "--require-assertions-for-pm", options.requireAssertionsForPm);
|
|
2281
|
+
pushOptionalBooleanFlag(args, "--check-context", options.checkContext);
|
|
2282
|
+
pushOptionalBooleanFlag(args, "--auto-pm-context", options.autoPmContext);
|
|
2283
|
+
return args;
|
|
2284
|
+
}
|
|
2285
|
+
function formatHookWarnings(warnings) {
|
|
2286
|
+
return warnings.join(",");
|
|
2287
|
+
}
|
|
2288
|
+
function normalizeCreateOptions(commandOptions, options = {}) {
|
|
2289
|
+
const readCreateString = (target) => readFirstStringFromCommanderOptions(commandOptions, resolveCommanderContract(CREATE_COMMANDER_STRING_OPTION_CONTRACTS, target));
|
|
2290
|
+
const readCreateList = (target) => readStringArrayFromCommanderOptions(commandOptions, resolveCommanderContract(CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, target));
|
|
2291
|
+
const type = readCreateString("type");
|
|
2292
|
+
if (options.requireType !== false && type === void 0) {
|
|
2293
|
+
throw new PmCliError("Missing required option --type <value>. Why required: create resolves runtime schema fields/workflow from item type. Retry: add --type <built-in or configured custom type> (example: --type Task).", EXIT_CODE.USAGE);
|
|
2294
|
+
}
|
|
2295
|
+
const normalized = {
|
|
2296
|
+
title: readCreateString("title"),
|
|
2297
|
+
description: readCreateString("description"),
|
|
2298
|
+
type,
|
|
2299
|
+
template: readCreateString("template"),
|
|
2300
|
+
createMode: readCreateString("createMode"),
|
|
2301
|
+
schedulePreset: readCreateString("schedulePreset"),
|
|
2302
|
+
status: readCreateString("status"),
|
|
2303
|
+
priority: readCreateString("priority"),
|
|
2304
|
+
tags: readCreateString("tags"),
|
|
2305
|
+
addTags: readCreateList("addTags"),
|
|
2306
|
+
body: readCreateString("body"),
|
|
2307
|
+
deadline: readCreateString("deadline"),
|
|
2308
|
+
estimatedMinutes: readCreateString("estimatedMinutes"),
|
|
2309
|
+
acceptanceCriteria: readCreateString("acceptanceCriteria"),
|
|
2310
|
+
definitionOfReady: readCreateString("definitionOfReady"),
|
|
2311
|
+
order: readCreateString("order"),
|
|
2312
|
+
rank: readCreateString("rank"),
|
|
2313
|
+
goal: readCreateString("goal"),
|
|
2314
|
+
objective: readCreateString("objective"),
|
|
2315
|
+
value: readCreateString("value"),
|
|
2316
|
+
impact: readCreateString("impact"),
|
|
2317
|
+
outcome: readCreateString("outcome"),
|
|
2318
|
+
whyNow: readCreateString("whyNow"),
|
|
2319
|
+
author: readCreateString("author"),
|
|
2320
|
+
message: readCreateString("message"),
|
|
2321
|
+
assignee: readCreateString("assignee"),
|
|
2322
|
+
parent: readCreateString("parent"),
|
|
2323
|
+
allowMissingParent: optionTrue(commandOptions, "allowMissingParent") === true,
|
|
2324
|
+
reviewer: readCreateString("reviewer"),
|
|
2325
|
+
risk: readCreateString("risk"),
|
|
2326
|
+
confidence: readCreateString("confidence"),
|
|
2327
|
+
sprint: readCreateString("sprint"),
|
|
2328
|
+
release: readCreateString("release"),
|
|
2329
|
+
blockedBy: readCreateString("blockedBy"),
|
|
2330
|
+
blockedReason: readCreateString("blockedReason"),
|
|
2331
|
+
unblockNote: readCreateString("unblockNote"),
|
|
2332
|
+
reporter: readCreateString("reporter"),
|
|
2333
|
+
severity: readCreateString("severity"),
|
|
2334
|
+
environment: readCreateString("environment"),
|
|
2335
|
+
reproSteps: readCreateString("reproSteps"),
|
|
2336
|
+
resolution: readCreateString("resolution"),
|
|
2337
|
+
expectedResult: readCreateString("expectedResult"),
|
|
2338
|
+
actualResult: readCreateString("actualResult"),
|
|
2339
|
+
affectedVersion: readCreateString("affectedVersion"),
|
|
2340
|
+
fixedVersion: readCreateString("fixedVersion"),
|
|
2341
|
+
component: readCreateString("component"),
|
|
2342
|
+
regression: readCreateString("regression"),
|
|
2343
|
+
customerImpact: readCreateString("customerImpact"),
|
|
2344
|
+
dep: readCreateList("dep"),
|
|
2345
|
+
comment: readCreateList("comment"),
|
|
2346
|
+
note: readCreateList("note"),
|
|
2347
|
+
learning: readCreateList("learning"),
|
|
2348
|
+
file: readCreateList("file"),
|
|
2349
|
+
test: readCreateList("test"),
|
|
2350
|
+
doc: readCreateList("doc"),
|
|
2351
|
+
reminder: readCreateList("reminder"),
|
|
2352
|
+
event: readCreateList("event"),
|
|
2353
|
+
typeOption: readCreateList("typeOption"),
|
|
2354
|
+
field: readCreateList("field"),
|
|
2355
|
+
unset: readCreateList("unset"),
|
|
2356
|
+
clearDeps: optionTrue(commandOptions, "clearDeps"),
|
|
2357
|
+
clearComments: optionTrue(commandOptions, "clearComments"),
|
|
2358
|
+
clearNotes: optionTrue(commandOptions, "clearNotes"),
|
|
2359
|
+
clearLearnings: optionTrue(commandOptions, "clearLearnings"),
|
|
2360
|
+
clearFiles: optionTrue(commandOptions, "clearFiles"),
|
|
2361
|
+
clearTests: optionTrue(commandOptions, "clearTests"),
|
|
2362
|
+
clearDocs: optionTrue(commandOptions, "clearDocs"),
|
|
2363
|
+
clearReminders: optionTrue(commandOptions, "clearReminders"),
|
|
2364
|
+
clearEvents: optionTrue(commandOptions, "clearEvents"),
|
|
2365
|
+
clearTypeOptions: optionTrue(commandOptions, "clearTypeOptions")
|
|
2366
|
+
};
|
|
2367
|
+
copyUnknownOptions(normalized, commandOptions);
|
|
2368
|
+
return normalized;
|
|
2369
|
+
}
|
|
2370
|
+
function normalizeUpdateOptions(commandOptions) {
|
|
2371
|
+
const readUpdateString = (target) => readFirstStringFromCommanderOptions(commandOptions, resolveCommanderContract(UPDATE_COMMANDER_STRING_OPTION_CONTRACTS, target));
|
|
2372
|
+
const readUpdateList = (target) => readStringArrayFromCommanderOptions(commandOptions, resolveCommanderContract(UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, target));
|
|
2373
|
+
const normalized = {
|
|
2374
|
+
title: readUpdateString("title"),
|
|
2375
|
+
description: readUpdateString("description"),
|
|
2376
|
+
body: readUpdateString("body"),
|
|
2377
|
+
status: readUpdateString("status"),
|
|
2378
|
+
closeReason: readUpdateString("closeReason"),
|
|
2379
|
+
priority: readUpdateString("priority"),
|
|
2380
|
+
type: readUpdateString("type"),
|
|
2381
|
+
tags: readUpdateString("tags"),
|
|
2382
|
+
addTags: readUpdateList("addTags"),
|
|
2383
|
+
removeTags: readUpdateList("removeTags"),
|
|
2384
|
+
deadline: readUpdateString("deadline"),
|
|
2385
|
+
estimatedMinutes: readUpdateString("estimatedMinutes"),
|
|
2386
|
+
acceptanceCriteria: readUpdateString("acceptanceCriteria"),
|
|
2387
|
+
definitionOfReady: readUpdateString("definitionOfReady"),
|
|
2388
|
+
order: readUpdateString("order"),
|
|
2389
|
+
rank: readUpdateString("rank"),
|
|
2390
|
+
goal: readUpdateString("goal"),
|
|
2391
|
+
objective: readUpdateString("objective"),
|
|
2392
|
+
value: readUpdateString("value"),
|
|
2393
|
+
impact: readUpdateString("impact"),
|
|
2394
|
+
outcome: readUpdateString("outcome"),
|
|
2395
|
+
whyNow: readUpdateString("whyNow"),
|
|
2396
|
+
author: readUpdateString("author"),
|
|
2397
|
+
message: readUpdateString("message"),
|
|
2398
|
+
force: Boolean(commandOptions.force),
|
|
2399
|
+
allowAuditUpdate: anyOptionTrue(commandOptions, ["allowAuditUpdate", "allow_audit_update"]),
|
|
2400
|
+
allowAuditDepUpdate: anyOptionTrue(commandOptions, ["allowAuditDepUpdate", "allow_audit_dep_update"]),
|
|
2401
|
+
assignee: readUpdateString("assignee"),
|
|
2402
|
+
parent: readUpdateString("parent"),
|
|
2403
|
+
reviewer: readUpdateString("reviewer"),
|
|
2404
|
+
risk: readUpdateString("risk"),
|
|
2405
|
+
confidence: readUpdateString("confidence"),
|
|
2406
|
+
sprint: readUpdateString("sprint"),
|
|
2407
|
+
release: readUpdateString("release"),
|
|
2408
|
+
blockedBy: readUpdateString("blockedBy"),
|
|
2409
|
+
blockedReason: readUpdateString("blockedReason"),
|
|
2410
|
+
unblockNote: readUpdateString("unblockNote"),
|
|
2411
|
+
reporter: readUpdateString("reporter"),
|
|
2412
|
+
severity: readUpdateString("severity"),
|
|
2413
|
+
environment: readUpdateString("environment"),
|
|
2414
|
+
reproSteps: readUpdateString("reproSteps"),
|
|
2415
|
+
resolution: readUpdateString("resolution"),
|
|
2416
|
+
expectedResult: readUpdateString("expectedResult"),
|
|
2417
|
+
actualResult: readUpdateString("actualResult"),
|
|
2418
|
+
affectedVersion: readUpdateString("affectedVersion"),
|
|
2419
|
+
fixedVersion: readUpdateString("fixedVersion"),
|
|
2420
|
+
component: readUpdateString("component"),
|
|
2421
|
+
regression: readUpdateString("regression"),
|
|
2422
|
+
customerImpact: readUpdateString("customerImpact"),
|
|
2423
|
+
dep: readUpdateList("dep"),
|
|
2424
|
+
depRemove: readUpdateList("depRemove"),
|
|
2425
|
+
replaceDeps: optionTrue(commandOptions, "replaceDeps"),
|
|
2426
|
+
replaceTests: optionTrue(commandOptions, "replaceTests"),
|
|
2427
|
+
comment: readUpdateList("comment"),
|
|
2428
|
+
note: readUpdateList("note"),
|
|
2429
|
+
learning: readUpdateList("learning"),
|
|
2430
|
+
file: readUpdateList("file"),
|
|
2431
|
+
test: readUpdateList("test"),
|
|
2432
|
+
doc: readUpdateList("doc"),
|
|
2433
|
+
reminder: readUpdateList("reminder"),
|
|
2434
|
+
event: readUpdateList("event"),
|
|
2435
|
+
typeOption: readUpdateList("typeOption"),
|
|
2436
|
+
field: readUpdateList("field"),
|
|
2437
|
+
unset: readUpdateList("unset"),
|
|
2438
|
+
clearDeps: optionTrue(commandOptions, "clearDeps"),
|
|
2439
|
+
clearComments: optionTrue(commandOptions, "clearComments"),
|
|
2440
|
+
clearNotes: optionTrue(commandOptions, "clearNotes"),
|
|
2441
|
+
clearLearnings: optionTrue(commandOptions, "clearLearnings"),
|
|
2442
|
+
clearFiles: optionTrue(commandOptions, "clearFiles"),
|
|
2443
|
+
clearTests: optionTrue(commandOptions, "clearTests"),
|
|
2444
|
+
clearDocs: optionTrue(commandOptions, "clearDocs"),
|
|
2445
|
+
clearReminders: optionTrue(commandOptions, "clearReminders"),
|
|
2446
|
+
clearEvents: optionTrue(commandOptions, "clearEvents"),
|
|
2447
|
+
clearTypeOptions: optionTrue(commandOptions, "clearTypeOptions")
|
|
2448
|
+
};
|
|
2449
|
+
copyUnknownOptions(normalized, commandOptions);
|
|
2450
|
+
return normalized;
|
|
2451
|
+
}
|
|
2452
|
+
var UPDATE_MANY_CONTROL_OPTION_KEYS = /* @__PURE__ */ new Set([
|
|
2453
|
+
"filterStatus",
|
|
2454
|
+
"filterType",
|
|
2455
|
+
"filterTag",
|
|
2456
|
+
"filterPriority",
|
|
2457
|
+
"filterDeadlineBefore",
|
|
2458
|
+
"filterDeadlineAfter",
|
|
2459
|
+
"filterUpdatedAfter",
|
|
2460
|
+
"filterUpdatedBefore",
|
|
2461
|
+
"filterCreatedAfter",
|
|
2462
|
+
"filterCreatedBefore",
|
|
2463
|
+
"filterAssignee",
|
|
2464
|
+
"filterAssigneeFilter",
|
|
2465
|
+
"filterAssignee_filter",
|
|
2466
|
+
"filterParent",
|
|
2467
|
+
"filterSprint",
|
|
2468
|
+
"filterRelease",
|
|
2469
|
+
"filterAcMissing",
|
|
2470
|
+
"filterEstimatesMissing",
|
|
2471
|
+
"filterEstimateMissing",
|
|
2472
|
+
"filterResolutionMissing",
|
|
2473
|
+
"filterMetadataMissing",
|
|
2474
|
+
"filterReviewerMissing",
|
|
2475
|
+
"filterRiskMissing",
|
|
2476
|
+
"filterConfidenceMissing",
|
|
2477
|
+
"filterSprintMissing",
|
|
2478
|
+
"filterReleaseMissing",
|
|
2479
|
+
"filterHasNotes",
|
|
2480
|
+
"filterNoNotes",
|
|
2481
|
+
"filterHasLearnings",
|
|
2482
|
+
"filterNoLearnings",
|
|
2483
|
+
"filterHasFiles",
|
|
2484
|
+
"filterNoFiles",
|
|
2485
|
+
"filterHasDocs",
|
|
2486
|
+
"filterNoDocs",
|
|
2487
|
+
"filterHasTests",
|
|
2488
|
+
"filterNoTests",
|
|
2489
|
+
"filterHasComments",
|
|
2490
|
+
"filterNoComments",
|
|
2491
|
+
"filterHasDeps",
|
|
2492
|
+
"filterNoDeps",
|
|
2493
|
+
"filterHasBody",
|
|
2494
|
+
"filterEmptyBody",
|
|
2495
|
+
"filterHasLinkedCommand",
|
|
2496
|
+
"filterNoLinkedCommand",
|
|
2497
|
+
"ids",
|
|
2498
|
+
"limit",
|
|
2499
|
+
"offset",
|
|
2500
|
+
"dryRun",
|
|
2501
|
+
"rollback",
|
|
2502
|
+
"checkpoint"
|
|
2503
|
+
]);
|
|
2504
|
+
function extractUpdateManyMutationOptionSource(commandOptions) {
|
|
2505
|
+
const mutationOptions = {};
|
|
2506
|
+
for (const [key, value] of Object.entries(commandOptions)) {
|
|
2507
|
+
if (UPDATE_MANY_CONTROL_OPTION_KEYS.has(key)) {
|
|
2508
|
+
continue;
|
|
2509
|
+
}
|
|
2510
|
+
mutationOptions[key] = value;
|
|
2511
|
+
}
|
|
2512
|
+
return mutationOptions;
|
|
2513
|
+
}
|
|
2514
|
+
function readListOptionString(options, target) {
|
|
2515
|
+
const contract = resolveCommanderContract(LIST_COMMANDER_STRING_OPTION_CONTRACTS, target);
|
|
2516
|
+
const stringValue = readFirstStringFromCommanderOptions(options, contract);
|
|
2517
|
+
if (stringValue !== void 0) {
|
|
2518
|
+
return stringValue;
|
|
2519
|
+
}
|
|
2520
|
+
for (const key of contract.keys) {
|
|
2521
|
+
const value = options[key];
|
|
2522
|
+
if (target === "ids" && typeof value === "string") {
|
|
2523
|
+
return value;
|
|
2524
|
+
}
|
|
2525
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
2526
|
+
return String(value);
|
|
2527
|
+
}
|
|
2528
|
+
}
|
|
2529
|
+
return void 0;
|
|
2530
|
+
}
|
|
2531
|
+
function readSelectionFilterOptionFields(options) {
|
|
2532
|
+
const filterFilesMissing = optionTrue(options, "filterFilesMissing");
|
|
2533
|
+
const filterDocsMissing = optionTrue(options, "filterDocsMissing");
|
|
2534
|
+
return {
|
|
2535
|
+
filterReviewerMissing: optionTrue(options, "filterReviewerMissing"),
|
|
2536
|
+
filterRiskMissing: optionTrue(options, "filterRiskMissing"),
|
|
2537
|
+
filterConfidenceMissing: optionTrue(options, "filterConfidenceMissing"),
|
|
2538
|
+
filterSprintMissing: optionTrue(options, "filterSprintMissing"),
|
|
2539
|
+
filterReleaseMissing: optionTrue(options, "filterReleaseMissing"),
|
|
2540
|
+
hasNotes: optionTrue(options, "hasNotes"),
|
|
2541
|
+
hasLearnings: optionTrue(options, "hasLearnings"),
|
|
2542
|
+
hasFiles: optionTrue(options, "hasFiles"),
|
|
2543
|
+
hasDocs: optionTrue(options, "hasDocs"),
|
|
2544
|
+
hasTests: optionTrue(options, "hasTests"),
|
|
2545
|
+
hasComments: optionTrue(options, "hasComments"),
|
|
2546
|
+
hasDeps: optionTrue(options, "hasDeps"),
|
|
2547
|
+
hasBody: optionTrue(options, "hasBody"),
|
|
2548
|
+
hasLinkedCommand: optionTrue(options, "hasLinkedCommand"),
|
|
2549
|
+
noNotes: optionFalse(options, "notes"),
|
|
2550
|
+
noLearnings: optionFalse(options, "learnings"),
|
|
2551
|
+
noFiles: optionFalse(options, "files") ?? filterFilesMissing,
|
|
2552
|
+
filterFilesMissing,
|
|
2553
|
+
noDocs: optionFalse(options, "docs") ?? filterDocsMissing,
|
|
2554
|
+
filterDocsMissing,
|
|
2555
|
+
noTests: optionFalse(options, "tests"),
|
|
2556
|
+
noComments: optionFalse(options, "comments"),
|
|
2557
|
+
noDeps: optionFalse(options, "deps"),
|
|
2558
|
+
emptyBody: optionTrue(options, "emptyBody"),
|
|
2559
|
+
noLinkedCommand: optionFalse(options, "linkedCommand")
|
|
2560
|
+
};
|
|
2561
|
+
}
|
|
2562
|
+
function normalizeListOptions(options) {
|
|
2563
|
+
const normalized = {
|
|
2564
|
+
status: readListOptionString(options, "status"),
|
|
2565
|
+
type: readListOptionString(options, "type"),
|
|
2566
|
+
tag: readListOptionString(options, "tag"),
|
|
2567
|
+
priority: readListOptionString(options, "priority"),
|
|
2568
|
+
deadlineBefore: readListOptionString(options, "deadlineBefore"),
|
|
2569
|
+
deadlineAfter: readListOptionString(options, "deadlineAfter"),
|
|
2570
|
+
updatedAfter: readListOptionString(options, "updatedAfter"),
|
|
2571
|
+
updatedBefore: readListOptionString(options, "updatedBefore"),
|
|
2572
|
+
createdAfter: readListOptionString(options, "createdAfter"),
|
|
2573
|
+
createdBefore: readListOptionString(options, "createdBefore"),
|
|
2574
|
+
ids: readListOptionString(options, "ids"),
|
|
2575
|
+
assignee: readListOptionString(options, "assignee"),
|
|
2576
|
+
assigneeFilter: readListOptionString(options, "assigneeFilter"),
|
|
2577
|
+
parent: readListOptionString(options, "parent"),
|
|
2578
|
+
sprint: readListOptionString(options, "sprint"),
|
|
2579
|
+
release: readListOptionString(options, "release"),
|
|
2580
|
+
limit: readListOptionString(options, "limit"),
|
|
2581
|
+
offset: readListOptionString(options, "offset"),
|
|
2582
|
+
// Commander stores --no-truncate as truncate=false; --all is the positive alias.
|
|
2583
|
+
noTruncate: optionFalse(options, "truncate") ?? optionTrue(options, "all"),
|
|
2584
|
+
includeBody: optionTrue(options, "includeBody"),
|
|
2585
|
+
compact: optionTrue(options, "compact"),
|
|
2586
|
+
brief: optionTrue(options, "brief"),
|
|
2587
|
+
full: optionTrue(options, "full"),
|
|
2588
|
+
fields: readListOptionString(options, "fields"),
|
|
2589
|
+
sort: readListOptionString(options, "sort"),
|
|
2590
|
+
order: readListOptionString(options, "order"),
|
|
2591
|
+
tree: optionTrue(options, "tree"),
|
|
2592
|
+
treeDepth: readListOptionString(options, "treeDepth"),
|
|
2593
|
+
filterAcMissing: optionTrue(options, "filterAcMissing"),
|
|
2594
|
+
filterEstimatesMissing: anyOptionTrue(options, ["filterEstimatesMissing", "filterEstimateMissing"]),
|
|
2595
|
+
filterResolutionMissing: optionTrue(options, "filterResolutionMissing"),
|
|
2596
|
+
filterMetadataMissing: optionTrue(options, "filterMetadataMissing"),
|
|
2597
|
+
// Governance-missing (GH-236) + content presence/absence (GH-242) filters.
|
|
2598
|
+
...readSelectionFilterOptionFields(options)
|
|
2599
|
+
};
|
|
2600
|
+
copyUnknownOptions(normalized, options);
|
|
2601
|
+
return normalized;
|
|
2602
|
+
}
|
|
2603
|
+
function normalizeAggregateOptions(options) {
|
|
2604
|
+
return {
|
|
2605
|
+
groupBy: typeof options.groupBy === "string" ? options.groupBy : void 0,
|
|
2606
|
+
count: options.count === true ? true : void 0,
|
|
2607
|
+
completion: options.completion === true ? true : void 0,
|
|
2608
|
+
sum: typeof options.sum === "string" ? options.sum : void 0,
|
|
2609
|
+
avg: typeof options.avg === "string" ? options.avg : void 0,
|
|
2610
|
+
includeUnparented: options.includeUnparented === true || options.include_unparented === true,
|
|
2611
|
+
status: typeof options.status === "string" ? options.status : void 0,
|
|
2612
|
+
type: readListOptionString(options, "type"),
|
|
2613
|
+
tag: readListOptionString(options, "tag"),
|
|
2614
|
+
priority: readListOptionString(options, "priority"),
|
|
2615
|
+
deadlineBefore: readListOptionString(options, "deadlineBefore"),
|
|
2616
|
+
deadlineAfter: readListOptionString(options, "deadlineAfter"),
|
|
2617
|
+
assignee: readListOptionString(options, "assignee"),
|
|
2618
|
+
assigneeFilter: readListOptionString(options, "assigneeFilter"),
|
|
2619
|
+
parent: readListOptionString(options, "parent"),
|
|
2620
|
+
sprint: readListOptionString(options, "sprint"),
|
|
2621
|
+
release: readListOptionString(options, "release")
|
|
2622
|
+
};
|
|
2623
|
+
}
|
|
2624
|
+
function printListJsonStream(commandName, result, globalOptions) {
|
|
2625
|
+
setActiveCommandResult(result);
|
|
2626
|
+
if (globalOptions.quiet) {
|
|
2627
|
+
return;
|
|
2628
|
+
}
|
|
2629
|
+
const warnings = Array.isArray(result.warnings) ? result.warnings : [];
|
|
2630
|
+
const metaPayload = {
|
|
2631
|
+
type: "meta",
|
|
2632
|
+
command: commandName,
|
|
2633
|
+
count: result.count,
|
|
2634
|
+
now: result.now,
|
|
2635
|
+
filters: result.filters
|
|
2636
|
+
};
|
|
2637
|
+
if (warnings.length > 0) {
|
|
2638
|
+
metaPayload.warnings = warnings;
|
|
2639
|
+
}
|
|
2640
|
+
if (!writeStdout(`${JSON.stringify(metaPayload)}
|
|
2641
|
+
`)) {
|
|
2642
|
+
return;
|
|
2643
|
+
}
|
|
2644
|
+
for (const item of result.items) {
|
|
2645
|
+
if (!writeStdout(`${JSON.stringify({ type: "item", command: commandName, item })}
|
|
2646
|
+
`)) {
|
|
2647
|
+
return;
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2650
|
+
writeStdout(`${JSON.stringify({ type: "end", command: commandName, count: result.count })}
|
|
2651
|
+
`);
|
|
2652
|
+
}
|
|
2653
|
+
function printActivityJsonStream(result, options, globalOptions) {
|
|
2654
|
+
setActiveCommandResult(result);
|
|
2655
|
+
if (globalOptions.quiet) {
|
|
2656
|
+
return;
|
|
2657
|
+
}
|
|
2658
|
+
const metaPayload = {
|
|
2659
|
+
type: "meta",
|
|
2660
|
+
command: "activity",
|
|
2661
|
+
count: result.count,
|
|
2662
|
+
filters: {
|
|
2663
|
+
id: options.id ?? null,
|
|
2664
|
+
op: options.op ?? null,
|
|
2665
|
+
author: options.author ?? null,
|
|
2666
|
+
from: options.from ?? null,
|
|
2667
|
+
to: options.to ?? null,
|
|
2668
|
+
limit: options.limit ?? null
|
|
2669
|
+
}
|
|
2670
|
+
};
|
|
2671
|
+
if (!writeStdout(`${JSON.stringify(metaPayload)}
|
|
2672
|
+
`)) {
|
|
2673
|
+
return;
|
|
2674
|
+
}
|
|
2675
|
+
const entries = result.compact && result.compact_activity ? result.compact_activity : result.activity;
|
|
2676
|
+
for (const entry of entries) {
|
|
2677
|
+
if (!writeStdout(`${JSON.stringify({ type: "entry", command: "activity", entry })}
|
|
2678
|
+
`)) {
|
|
2679
|
+
return;
|
|
2680
|
+
}
|
|
2681
|
+
}
|
|
2682
|
+
writeStdout(`${JSON.stringify({ type: "end", command: "activity", count: result.count })}
|
|
2683
|
+
`);
|
|
2684
|
+
}
|
|
2685
|
+
function normalizeSearchOptions(options) {
|
|
2686
|
+
const readSearchString = (target) => readFirstStringFromCommanderOptions(options, resolveCommanderContract(SEARCH_COMMANDER_STRING_OPTION_CONTRACTS, target));
|
|
2687
|
+
const readSearchStringOrNumber = (target) => {
|
|
2688
|
+
const candidate = readFirstValueFromCommanderOptions(options, resolveCommanderContract(SEARCH_COMMANDER_STRING_OPTION_CONTRACTS, target));
|
|
2689
|
+
if (typeof candidate === "string") {
|
|
2690
|
+
return candidate;
|
|
2691
|
+
}
|
|
2692
|
+
if (typeof candidate === "number" && Number.isFinite(candidate)) {
|
|
2693
|
+
return candidate;
|
|
2694
|
+
}
|
|
2695
|
+
return void 0;
|
|
2696
|
+
};
|
|
2697
|
+
const fields = readSearchString("fields");
|
|
2698
|
+
const compactRequested = options.compact === true;
|
|
2699
|
+
const fullRequested = options.full === true;
|
|
2700
|
+
const defaultCompact = !compactRequested && !fullRequested && fields === void 0;
|
|
2701
|
+
const mode = options.semantic === true ? "semantic" : options.hybrid === true ? "hybrid" : readSearchString("mode");
|
|
2702
|
+
const normalized = {
|
|
2703
|
+
mode,
|
|
2704
|
+
matchMode: readSearchString("matchMode"),
|
|
2705
|
+
minScore: readSearchStringOrNumber("minScore"),
|
|
2706
|
+
count: optionTrue(options, "count"),
|
|
2707
|
+
semanticWeight: readSearchStringOrNumber("semanticWeight"),
|
|
2708
|
+
includeLinked: optionTrue(options, "includeLinked"),
|
|
2709
|
+
titleExact: optionTrue(options, "titleExact"),
|
|
2710
|
+
phraseExact: optionTrue(options, "phraseExact"),
|
|
2711
|
+
highlight: optionTrue(options, "highlight"),
|
|
2712
|
+
status: readSearchString("status"),
|
|
2713
|
+
type: readSearchString("type"),
|
|
2714
|
+
tag: readSearchString("tag"),
|
|
2715
|
+
priority: readSearchString("priority"),
|
|
2716
|
+
deadlineBefore: readSearchString("deadlineBefore"),
|
|
2717
|
+
deadlineAfter: readSearchString("deadlineAfter"),
|
|
2718
|
+
updatedAfter: readSearchString("updatedAfter"),
|
|
2719
|
+
updatedBefore: readSearchString("updatedBefore"),
|
|
2720
|
+
createdAfter: readSearchString("createdAfter"),
|
|
2721
|
+
createdBefore: readSearchString("createdBefore"),
|
|
2722
|
+
assignee: readSearchString("assignee"),
|
|
2723
|
+
sprint: readSearchString("sprint"),
|
|
2724
|
+
release: readSearchString("release"),
|
|
2725
|
+
parent: readSearchString("parent"),
|
|
2726
|
+
limit: readSearchString("limit"),
|
|
2727
|
+
fields,
|
|
2728
|
+
compact: compactRequested || defaultCompact ? true : void 0,
|
|
2729
|
+
full: optionTrue(options, "full"),
|
|
2730
|
+
// Governance-missing (GH-236) + content presence/absence (GH-242) filters,
|
|
2731
|
+
// mirroring normalizeListOptions via the shared field slice.
|
|
2732
|
+
...readSelectionFilterOptionFields(options)
|
|
2733
|
+
};
|
|
2734
|
+
copyUnknownOptions(normalized, options);
|
|
2735
|
+
return normalized;
|
|
2736
|
+
}
|
|
2737
|
+
function normalizeSearchKeywordsInput(keywords) {
|
|
2738
|
+
const query = keywords.map((entry) => entry.trim()).filter((entry) => entry.length > 0).join(" ");
|
|
2739
|
+
if (query.length === 0) {
|
|
2740
|
+
throw new PmCliError("Search query must not be empty", EXIT_CODE.USAGE);
|
|
2741
|
+
}
|
|
2742
|
+
return query;
|
|
2743
|
+
}
|
|
2744
|
+
function normalizeActivityOptions(options) {
|
|
2745
|
+
const readActivityString = (target) => readFirstStringFromCommanderOptions(options, resolveCommanderContract(ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS, target));
|
|
2746
|
+
return {
|
|
2747
|
+
id: readActivityString("id"),
|
|
2748
|
+
op: readActivityString("op"),
|
|
2749
|
+
author: readActivityString("author"),
|
|
2750
|
+
from: readActivityString("from"),
|
|
2751
|
+
to: readActivityString("to"),
|
|
2752
|
+
limit: readActivityString("limit"),
|
|
2753
|
+
compact: options.full === true ? false : options.compact === false ? false : true
|
|
2754
|
+
};
|
|
2755
|
+
}
|
|
2756
|
+
var ACTIVITY_STREAM_ENABLED_VALUES = /* @__PURE__ */ new Set(["", "rows", "ndjson", "jsonl", "true", "1", "yes", "on"]);
|
|
2757
|
+
var ACTIVITY_STREAM_DISABLED_VALUES = /* @__PURE__ */ new Set(["false", "off", "none", "0"]);
|
|
2758
|
+
function resolveActivityStreamMode(raw) {
|
|
2759
|
+
if (raw === true) {
|
|
2760
|
+
return true;
|
|
2761
|
+
}
|
|
2762
|
+
if (raw === false || raw === void 0 || raw === null) {
|
|
2763
|
+
return false;
|
|
2764
|
+
}
|
|
2765
|
+
if (typeof raw === "string") {
|
|
2766
|
+
const normalized = raw.trim().toLowerCase();
|
|
2767
|
+
if (ACTIVITY_STREAM_ENABLED_VALUES.has(normalized)) {
|
|
2768
|
+
return true;
|
|
2769
|
+
}
|
|
2770
|
+
if (ACTIVITY_STREAM_DISABLED_VALUES.has(normalized)) {
|
|
2771
|
+
return false;
|
|
2772
|
+
}
|
|
2773
|
+
}
|
|
2774
|
+
throw new PmCliError("Activity --stream accepts rows|ndjson|jsonl (or no value)", EXIT_CODE.USAGE);
|
|
2775
|
+
}
|
|
2776
|
+
function normalizeContextOptions(options) {
|
|
2777
|
+
const readContextString = (target) => readFirstStringFromCommanderOptions(options, resolveCommanderContract(CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS, target));
|
|
2778
|
+
const sectionRaw = options.section;
|
|
2779
|
+
const section = Array.isArray(sectionRaw) ? sectionRaw.filter((v) => typeof v === "string" && v.trim().length > 0) : typeof sectionRaw === "string" && sectionRaw.trim().length > 0 ? [sectionRaw] : void 0;
|
|
2780
|
+
const normalized = {
|
|
2781
|
+
date: readContextString("date"),
|
|
2782
|
+
from: readContextString("from"),
|
|
2783
|
+
to: readContextString("to"),
|
|
2784
|
+
past: options.past === true ? true : void 0,
|
|
2785
|
+
type: readContextString("type"),
|
|
2786
|
+
tag: readContextString("tag"),
|
|
2787
|
+
priority: readContextString("priority"),
|
|
2788
|
+
assignee: readContextString("assignee"),
|
|
2789
|
+
assigneeFilter: readContextString("assigneeFilter"),
|
|
2790
|
+
sprint: readContextString("sprint"),
|
|
2791
|
+
release: readContextString("release"),
|
|
2792
|
+
parent: readContextString("parent"),
|
|
2793
|
+
limit: readContextString("limit"),
|
|
2794
|
+
format: readContextString("format"),
|
|
2795
|
+
depth: readContextString("depth"),
|
|
2796
|
+
fields: readContextString("fields"),
|
|
2797
|
+
section: section && section.length > 0 ? section : void 0,
|
|
2798
|
+
activityLimit: readContextString("activityLimit"),
|
|
2799
|
+
staleThreshold: readContextString("staleThreshold")
|
|
2800
|
+
};
|
|
2801
|
+
for (const [key, value] of Object.entries(options)) {
|
|
2802
|
+
if (Object.hasOwn(normalized, key)) {
|
|
2803
|
+
continue;
|
|
2804
|
+
}
|
|
2805
|
+
normalized[key] = value;
|
|
2806
|
+
}
|
|
2807
|
+
return normalized;
|
|
2808
|
+
}
|
|
2809
|
+
function normalizeNextOptions(options) {
|
|
2810
|
+
const readNextString = (target) => readFirstStringFromCommanderOptions(options, resolveCommanderContract(NEXT_COMMANDER_STRING_OPTION_CONTRACTS, target));
|
|
2811
|
+
const normalized = {
|
|
2812
|
+
type: readNextString("type"),
|
|
2813
|
+
tag: readNextString("tag"),
|
|
2814
|
+
priority: readNextString("priority"),
|
|
2815
|
+
assignee: readNextString("assignee"),
|
|
2816
|
+
assigneeFilter: readNextString("assigneeFilter"),
|
|
2817
|
+
sprint: readNextString("sprint"),
|
|
2818
|
+
release: readNextString("release"),
|
|
2819
|
+
parent: readNextString("parent"),
|
|
2820
|
+
limit: readNextString("limit"),
|
|
2821
|
+
blockedLimit: readNextString("blockedLimit"),
|
|
2822
|
+
readyOnly: options.readyOnly === true || options.ready_only === true ? true : void 0,
|
|
2823
|
+
format: readNextString("format")
|
|
2824
|
+
};
|
|
2825
|
+
for (const [key, value] of Object.entries(options)) {
|
|
2826
|
+
if (Object.hasOwn(normalized, key)) {
|
|
2827
|
+
continue;
|
|
2828
|
+
}
|
|
2829
|
+
normalized[key] = value;
|
|
2830
|
+
}
|
|
2831
|
+
return normalized;
|
|
2832
|
+
}
|
|
2833
|
+
function collectMutationItemIds(result) {
|
|
2834
|
+
if (!result || typeof result !== "object") {
|
|
2835
|
+
return [];
|
|
2836
|
+
}
|
|
2837
|
+
const record = result;
|
|
2838
|
+
const ids = /* @__PURE__ */ new Set();
|
|
2839
|
+
const pushId = (value) => {
|
|
2840
|
+
if (typeof value !== "string") {
|
|
2841
|
+
return;
|
|
2842
|
+
}
|
|
2843
|
+
const normalized = value.trim();
|
|
2844
|
+
if (normalized.length === 0) {
|
|
2845
|
+
return;
|
|
2846
|
+
}
|
|
2847
|
+
ids.add(normalized);
|
|
2848
|
+
};
|
|
2849
|
+
pushId(record.id);
|
|
2850
|
+
const item = record.item;
|
|
2851
|
+
if (item && typeof item === "object") {
|
|
2852
|
+
pushId(item.id);
|
|
2853
|
+
}
|
|
2854
|
+
const explicitIds = record.ids;
|
|
2855
|
+
if (Array.isArray(explicitIds)) {
|
|
2856
|
+
for (const candidate of explicitIds) {
|
|
2857
|
+
pushId(candidate);
|
|
2858
|
+
}
|
|
2859
|
+
}
|
|
2860
|
+
const items = record.items;
|
|
2861
|
+
if (Array.isArray(items)) {
|
|
2862
|
+
for (const candidate of items) {
|
|
2863
|
+
if (!candidate || typeof candidate !== "object") {
|
|
2864
|
+
continue;
|
|
2865
|
+
}
|
|
2866
|
+
pushId(candidate.id);
|
|
2867
|
+
}
|
|
2868
|
+
}
|
|
2869
|
+
return [...ids].sort((left, right) => left.localeCompare(right));
|
|
2870
|
+
}
|
|
2871
|
+
async function invalidateSearchCachesForMutation(globalOptions, result) {
|
|
2872
|
+
const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);
|
|
2873
|
+
const refreshResult = await refreshSearchArtifactsForMutation(pmRoot, collectMutationItemIds(result), {
|
|
2874
|
+
background: !shouldRunSearchRefreshInForeground()
|
|
2875
|
+
});
|
|
2876
|
+
if (globalOptions.profile && refreshResult.warnings.length > 0) {
|
|
2877
|
+
printError(`profile:search_refresh_warnings=${formatHookWarnings(refreshResult.warnings)}`);
|
|
2878
|
+
}
|
|
2879
|
+
}
|
|
2880
|
+
|
|
2075
2881
|
export {
|
|
2076
2882
|
resolveProviderConfigSource,
|
|
2077
2883
|
resolveEmbeddingProviders,
|
|
@@ -2086,7 +2892,6 @@ export {
|
|
|
2086
2892
|
executeEmbeddingBatchesWithRetry,
|
|
2087
2893
|
resolveSettingsWithSemanticRuntimeDefaults,
|
|
2088
2894
|
REINDEX_LOCK_ID,
|
|
2089
|
-
shouldRunSearchRefreshInForeground,
|
|
2090
2895
|
resolveVectorStores,
|
|
2091
2896
|
executeVectorQuery,
|
|
2092
2897
|
executeVectorUpsert,
|
|
@@ -2100,6 +2905,30 @@ export {
|
|
|
2100
2905
|
readVectorizationStatusLedger,
|
|
2101
2906
|
writeVectorizationStatusLedger,
|
|
2102
2907
|
refreshSemanticEmbeddingsForMutatedItems,
|
|
2103
|
-
|
|
2908
|
+
setResolvedGlobalOptions,
|
|
2909
|
+
clearResolvedGlobalOptions,
|
|
2910
|
+
getGlobalOptions,
|
|
2911
|
+
getCommandPath,
|
|
2912
|
+
applyDefaultOutputFormat,
|
|
2913
|
+
collect,
|
|
2914
|
+
readOptionString,
|
|
2915
|
+
addHiddenOption,
|
|
2916
|
+
buildBackgroundTestCommandArgs,
|
|
2917
|
+
buildBackgroundTestAllCommandArgs,
|
|
2918
|
+
formatHookWarnings,
|
|
2919
|
+
normalizeCreateOptions,
|
|
2920
|
+
normalizeUpdateOptions,
|
|
2921
|
+
extractUpdateManyMutationOptionSource,
|
|
2922
|
+
normalizeListOptions,
|
|
2923
|
+
normalizeAggregateOptions,
|
|
2924
|
+
printListJsonStream,
|
|
2925
|
+
printActivityJsonStream,
|
|
2926
|
+
normalizeSearchOptions,
|
|
2927
|
+
normalizeSearchKeywordsInput,
|
|
2928
|
+
normalizeActivityOptions,
|
|
2929
|
+
resolveActivityStreamMode,
|
|
2930
|
+
normalizeContextOptions,
|
|
2931
|
+
normalizeNextOptions,
|
|
2932
|
+
invalidateSearchCachesForMutation
|
|
2104
2933
|
};
|
|
2105
|
-
//# sourceMappingURL=chunk-
|
|
2934
|
+
//# sourceMappingURL=chunk-PJPZTE7P.js.map
|