@unbrained/pm-cli 2026.7.15 → 2026.7.17
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/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +23 -2
- package/CONTRIBUTING.md +2 -2
- package/dist/cli/bootstrap-args.d.ts +2 -115
- package/dist/cli/bootstrap-args.js +4 -831
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/eval.d.ts +4 -64
- package/dist/cli/commands/eval.js +4 -153
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/linked-test-entry.d.ts +6 -6
- package/dist/cli/commands/linked-test-entry.js +4 -65
- package/dist/cli/commands/linked-test-entry.js.map +1 -1
- package/dist/cli/commands/linked-test-parsers.d.ts +3 -45
- package/dist/cli/commands/linked-test-parsers.js +4 -516
- package/dist/cli/commands/linked-test-parsers.js.map +1 -1
- package/dist/cli/commands/list.d.ts +3 -210
- package/dist/cli/commands/list.js +4 -1068
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/search.d.ts +3 -464
- package/dist/cli/commands/search.js +4 -2236
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +6 -66
- package/dist/cli/commands/stats.js +4 -157
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/telemetry.d.ts +6 -14
- package/dist/cli/commands/telemetry.js +4 -349
- package/dist/cli/commands/telemetry.js.map +1 -1
- package/dist/cli/commands/test-all.d.ts +6 -95
- package/dist/cli/commands/test-all.js +4 -439
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/commands/test-runs.d.ts +6 -92
- package/dist/cli/commands/test-runs.js +4 -189
- package/dist/cli/commands/test-runs.js.map +1 -1
- package/dist/cli/commands/test.d.ts +6 -244
- package/dist/cli/commands/test.js +4 -1780
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.d.ts +15 -29
- package/dist/cli/commands/update-many.js +355 -259
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/main.js +140 -133
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/search-refresh.js +4 -9
- package/dist/cli/search-refresh.js.map +1 -1
- package/dist/cli/shared-parsers.d.ts +6 -9
- package/dist/cli/shared-parsers.js +4 -37
- package/dist/cli/shared-parsers.js.map +1 -1
- package/dist/cli/telemetry-flush.js +4 -4
- package/dist/cli/telemetry-flush.js.map +1 -1
- package/dist/cli-bundle/bundle-manifest.json +341 -341
- package/dist/cli-bundle/chunks/{append-OJQFUQ4T.js → append-5YF3TO7I.js} +5 -5
- package/dist/cli-bundle/chunks/append-JHO5K6RP.js +11 -0
- package/dist/cli-bundle/chunks/{chunk-WT3ZEOGH.js → chunk-23TCGBRK.js} +16 -7
- package/dist/cli-bundle/chunks/{chunk-WT3ZEOGH.js.map → chunk-23TCGBRK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-BCOFWYW4.js → chunk-2BX74BAS.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-APRVSW2O.js → chunk-2CXL335K.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-KG44YSKD.js → chunk-2FUOXSRN.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-HDH3JUGG.js → chunk-2IPNL3DR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-J6364LFM.js → chunk-2MPMKJF2.js} +9 -18
- package/dist/cli-bundle/chunks/{chunk-J6364LFM.js.map → chunk-2MPMKJF2.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-GM5QHQU6.js → chunk-2XOSFSTH.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-K3WII2ME.js → chunk-37DRDP2B.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-2WSE6PO2.js → chunk-37V5MXAU.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-UWQHLMEB.js → chunk-3D4YVTNG.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-PMOSXADO.js → chunk-47HXN6RX.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6CFNAVTF.js → chunk-5HGZKQUL.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-2IFFUZLC.js → chunk-5UKQLQM2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-DM4H7FP4.js → chunk-633PKXLT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-XSJUSQAE.js → chunk-646MQXFW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZI6VQWQ7.js → chunk-66MKH7SZ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-S6MQESFR.js → chunk-67RO3H4N.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-34L5OT3Y.js → chunk-6DYOZS6C.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RRM5JYJC.js → chunk-6O44IN44.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ONG5V5CI.js → chunk-6XAZB6SE.js} +97 -69
- package/dist/cli-bundle/chunks/chunk-6XAZB6SE.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-PENXZX3U.js → chunk-74FKFFXO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-LPYWLWDS.js → chunk-7CTQ7WW5.js} +37 -37
- package/dist/cli-bundle/chunks/chunk-7CTQ7WW5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-HO4KXD6I.js → chunk-7H5NNCJ5.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XXXF6PAQ.js → chunk-7LTCLTRG.js} +69 -61
- package/dist/cli-bundle/chunks/chunk-7LTCLTRG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TQSZFPIS.js → chunk-AFGKSHAM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-JXQUXVMI.js → chunk-AFSV5HBB.js} +77 -7
- package/dist/cli-bundle/chunks/{chunk-JXQUXVMI.js.map → chunk-AFSV5HBB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-6N2VXVTQ.js → chunk-ARGDWQ4J.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3U7ZR6M4.js → chunk-B57RJHBZ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-7B67ZL4N.js → chunk-B6SH2YNN.js} +75 -5
- package/dist/cli-bundle/chunks/{chunk-7B67ZL4N.js.map → chunk-B6SH2YNN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-YCQET3OT.js → chunk-BAP7G3N2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QKXHFPYM.js → chunk-BIRYX32V.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-RMLWNPH2.js → chunk-BVLOMU6O.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YBLZ2VE7.js → chunk-CFSUNEL7.js} +320 -239
- package/dist/cli-bundle/chunks/chunk-CFSUNEL7.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2VPAVL7O.js → chunk-CKX4WOPC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TKOVBP6C.js → chunk-D52ZN3BF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KPMKHGEA.js → chunk-D53RTYVI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-ODALILG3.js → chunk-D5XHO4Q7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-E2OJMKML.js → chunk-DCC2AQBD.js} +18 -9
- package/dist/cli-bundle/chunks/{chunk-E2OJMKML.js.map → chunk-DCC2AQBD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-YAQEBNY7.js → chunk-DDFGYUCQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-EAB64KLB.js → chunk-DG2EQRIH.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-IG3SWA4A.js → chunk-EHJFUOXL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ONREO4ST.js → chunk-EY7ZE3TG.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EJEXHTY5.js → chunk-FHOBCGQO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-H3EIEWGR.js → chunk-FL4D53ND.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WUJQK4YV.js → chunk-FVNWHUME.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-INU6DKT5.js → chunk-FXFCFL73.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-QEHQ2GVG.js → chunk-FY4RLHSC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EACOH7AU.js → chunk-FZGM3PNA.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-FNSPG7MU.js → chunk-G6KM4YKY.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-AHVTB5I5.js → chunk-G6MYGULG.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-TSMHDIW4.js → chunk-GLZKZON6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-2JKGO6QX.js → chunk-H5IOT54C.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-5ZSLZLDN.js → chunk-HF63SBLC.js} +585 -456
- package/dist/cli-bundle/chunks/chunk-HF63SBLC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SELVXEZK.js → chunk-HO4DLBNK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3CLU2XZO.js → chunk-HSYV4ZYT.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-EH2OPHBI.js → chunk-HTXXXF45.js} +23 -19
- package/dist/cli-bundle/chunks/chunk-HTXXXF45.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-CRVF2JDM.js → chunk-HXVHBERL.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-NU3IMIEA.js → chunk-I7DIDUSP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-2NCIPMQP.js → chunk-I7GY4X6Y.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JYFOV7FC.js → chunk-IE5KRAKN.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-UY2ACEMF.js → chunk-ILVOOAT4.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-GOSLKLFE.js → chunk-KH6QAHME.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-J6EY5V4N.js → chunk-KOEZCHRF.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-QKECXBBG.js → chunk-KX62NMZC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QKECXBBG.js.map → chunk-KX62NMZC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-WQPUU7XD.js → chunk-L337QKWJ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-LSG2U345.js → chunk-L6FVNR7X.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-ILX33QXL.js → chunk-LLODAQMP.js} +706 -532
- package/dist/cli-bundle/chunks/chunk-LLODAQMP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FMBNM2EN.js → chunk-LSOWTLEM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4223PVZT.js → chunk-M7MVOKVV.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-MNV226E4.js +834 -0
- package/dist/cli-bundle/chunks/chunk-MNV226E4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-UMOPHQSU.js → chunk-MR4SHYR4.js} +41 -19
- package/dist/cli-bundle/chunks/chunk-MR4SHYR4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BKVG6XOA.js → chunk-MSGETE6I.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-3WM75PWC.js → chunk-N33FD2UI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UFXU44HV.js → chunk-N7I2DGLP.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-3S5QVM5H.js → chunk-NCAFUBJX.js} +13 -13
- package/dist/cli-bundle/chunks/chunk-NCAFUBJX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-6S3YSUYG.js → chunk-NNANAWFH.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-IJIICKVW.js → chunk-NTRQLE2R.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SDQLJWBO.js → chunk-NVZ6NVHJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-H2Z3FYXQ.js → chunk-OWP6QFBV.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-Q7A43DS4.js → chunk-P22HGFFI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NLDFBC6J.js → chunk-P56LKFQX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NVPZIJVR.js → chunk-PT7MCCGD.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-P74IZQ7A.js → chunk-QKVVV6QO.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-5JLUII3O.js → chunk-QNUAZYGW.js} +321 -240
- package/dist/cli-bundle/chunks/chunk-QNUAZYGW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QIPLHNP7.js → chunk-QWBKN3QC.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-7PIWCHTW.js → chunk-R5XTTZSJ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-JOUQZENX.js → chunk-RC4UOUXA.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-BEP7WJA2.js → chunk-RGMWJLXF.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-NP22ERDF.js → chunk-RTBX3C4C.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HYB5AZ63.js → chunk-S46R2M3W.js} +117 -71
- package/dist/cli-bundle/chunks/chunk-S46R2M3W.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-H5APFTHZ.js → chunk-S6FF7VW6.js} +18 -18
- package/dist/cli-bundle/chunks/chunk-S6FF7VW6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UXONS674.js → chunk-SIJV365F.js} +54 -55
- package/dist/cli-bundle/chunks/chunk-SIJV365F.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7Z4LKRS4.js → chunk-SPFZV2GR.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-ULTHRDBP.js → chunk-TM5CIO3F.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4XQ3BDV4.js → chunk-V3VBXQQV.js} +36 -36
- package/dist/cli-bundle/chunks/chunk-V3VBXQQV.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-YAROI3PD.js → chunk-V7MP6YTN.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-OW4JWD5M.js → chunk-VAHZIPWS.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-DYH63FX7.js → chunk-VE6ZSTQW.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-3AUGG2DP.js → chunk-W5E2UUSH.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-BSEQUTQP.js → chunk-WACRQ26A.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BSEQUTQP.js.map → chunk-WACRQ26A.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-UOHFKBUV.js → chunk-WL3SS45P.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QKJGPFAF.js → chunk-WU3KAN6A.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-IA5FKNII.js → chunk-X2MGQMZO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TD3LVC7D.js → chunk-X5YCTFKT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-B7PE22W6.js → chunk-XC2HEEOV.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-J5AOEGDC.js → chunk-XNPMDSQQ.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-K2X6U4UA.js → chunk-XXLXJL7V.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-XYJK6GIQ.js +851 -0
- package/dist/cli-bundle/chunks/chunk-XYJK6GIQ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RLCHOOHC.js → chunk-YJSURTBB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PGY23YTC.js → chunk-YKFHF37B.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JFTKLTEF.js → chunk-YQCWK2MB.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-EYLCSJAI.js → chunk-YQEZWI3R.js} +2 -2
- package/dist/cli-bundle/chunks/close-BEP7MHF3.js +12 -0
- package/dist/cli-bundle/chunks/{close-CWODTPKG.js → close-Y6QFUJQN.js} +5 -5
- package/dist/cli-bundle/chunks/{close-many-CQFUY7MR.js → close-many-JJFW7KTT.js} +14 -14
- package/dist/cli-bundle/chunks/close-many-QJ6FKJUE.js +23 -0
- package/dist/cli-bundle/chunks/comments-2AOZQ5D2.js +13 -0
- package/dist/cli-bundle/chunks/{comments-WGLHR7LB.js → comments-TMHMALA5.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-LXVDXH7B.js → copy-FWQA5OU4.js} +4 -4
- package/dist/cli-bundle/chunks/copy-N3LCQBMC.js +9 -0
- package/dist/cli-bundle/chunks/{create-LBVCYMEG.js → create-AQ5SIGZC.js} +9 -9
- package/dist/cli-bundle/chunks/{create-J5U6ND4K.js → create-KOGQ3JKD.js} +9 -9
- package/dist/cli-bundle/chunks/delete-6G3MBZ6S.js +10 -0
- package/dist/cli-bundle/chunks/{delete-PMJBNY5G.js → delete-YYYFOSEA.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-OA26IS25.js → deps-5NC4IZH7.js} +5 -5
- package/dist/cli-bundle/chunks/{deps-JZ7TMVCB.js → deps-EVTOQMKW.js} +5 -5
- package/dist/cli-bundle/chunks/{docs-FEWB2DQB.js → docs-53NUGMIQ.js} +6 -6
- package/dist/cli-bundle/chunks/docs-OWRGDMNY.js +14 -0
- package/dist/cli-bundle/chunks/{files-EFIWKFTM.js → files-3PXGXYDB.js} +6 -6
- package/dist/cli-bundle/chunks/{files-6YFBJRBG.js → files-EGLKHD7O.js} +6 -6
- package/dist/cli-bundle/chunks/focus-KZLIA6WS.js +10 -0
- package/dist/cli-bundle/chunks/{focus-4QJR7FOQ.js → focus-SRPASFTN.js} +5 -5
- package/dist/cli-bundle/chunks/{history-compact-CKRPDTJN.js → history-compact-G4DULDCX.js} +6 -6
- package/dist/cli-bundle/chunks/history-compact-HHIUOMZ7.js +16 -0
- package/dist/cli-bundle/chunks/{history-redact-BB3TGDAE.js → history-redact-IUSJ6X3E.js} +4 -4
- package/dist/cli-bundle/chunks/{history-redact-D225BHOZ.js → history-redact-THHGRQXV.js} +4 -4
- package/dist/cli-bundle/chunks/history-repair-KG7SWXI6.js +16 -0
- package/dist/cli-bundle/chunks/{history-repair-RQXKQHL4.js → history-repair-LUQWRS7X.js} +6 -6
- package/dist/cli-bundle/chunks/{learnings-JLNLCOL5.js → learnings-2MRNBFJF.js} +7 -7
- package/dist/cli-bundle/chunks/learnings-ZVHSALJY.js +13 -0
- package/dist/cli-bundle/chunks/{notes-GB47XXQQ.js → notes-73JWKWUD.js} +7 -7
- package/dist/cli-bundle/chunks/notes-BAKUL5DJ.js +13 -0
- package/dist/cli-bundle/chunks/{plan-VDCJ2PCN.js → plan-AZPMCG37.js} +10 -10
- package/dist/cli-bundle/chunks/plan-LEAGLPGP.js +24 -0
- package/dist/cli-bundle/chunks/{profile-IVXQEL3D.js → profile-AGUKS52S.js} +9 -9
- package/dist/cli-bundle/chunks/{profile-FAU7NZML.js → profile-U2B6Y7GE.js} +9 -9
- package/dist/cli-bundle/chunks/{register-list-query-UL4UKBBN.js → register-list-query-A5KRJ5J2.js} +16 -16
- package/dist/cli-bundle/chunks/{register-list-query-DKA3EH5D.js → register-list-query-NEYP3TXO.js} +16 -16
- package/dist/cli-bundle/chunks/{register-mutation-RBBJ52DK.js → register-mutation-6LOPBAHC.js} +29 -29
- package/dist/cli-bundle/chunks/{register-mutation-ARFHRW55.js → register-mutation-GCZOALNJ.js} +29 -29
- package/dist/cli-bundle/chunks/{register-operations-ZIBBRSED.js → register-operations-6ZZIF27A.js} +35 -35
- package/dist/cli-bundle/chunks/{register-operations-ZUJ5JWPE.js → register-operations-REDIAEGI.js} +35 -35
- package/dist/cli-bundle/chunks/{register-setup-TDCGWIOS.js → register-setup-BHPMN5SK.js} +15 -15
- package/dist/cli-bundle/chunks/{register-setup-BCVLFEYS.js → register-setup-J3JS2ZVT.js} +15 -15
- package/dist/cli-bundle/chunks/{restore-25DLT2Q2.js → restore-E3PRGDN3.js} +6 -6
- package/dist/cli-bundle/chunks/restore-KIUYTAEJ.js +14 -0
- package/dist/cli-bundle/chunks/{schema-FNU3WE4O.js → schema-5JNFQFUW.js} +6 -6
- package/dist/cli-bundle/chunks/{schema-NBCM3RAD.js → schema-TMIW4XZC.js} +6 -6
- package/dist/cli-bundle/chunks/update-PQQHLYCC.js +21 -0
- package/dist/cli-bundle/chunks/{update-XHSIAIXE.js → update-SA6AG23P.js} +12 -12
- package/dist/cli-bundle/chunks/update-many-RQVTFJPD.js +36 -0
- package/dist/cli-bundle/chunks/update-many-TV3L3KBX.js +32 -0
- package/dist/cli-bundle/main.js +153 -855
- package/dist/cli-bundle/main.js.map +4 -4
- package/dist/cli-bundle/sdk-runtime.js +54 -54
- package/dist/cli-bundle/sdk-testing.js +6 -6
- package/dist/cli-bundle/sdk.js +195 -59
- package/dist/cli-bundle/sdk.js.map +3 -3
- package/dist/core/extensions/item-fields.js +2 -2
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +122 -0
- package/dist/sdk/cli-bootstrap.js +879 -0
- package/dist/sdk/cli-bootstrap.js.map +1 -0
- package/dist/sdk/eval.d.ts +66 -0
- package/dist/sdk/eval.js +186 -0
- package/dist/sdk/eval.js.map +1 -0
- package/dist/sdk/index.d.ts +16 -4
- package/dist/sdk/index.js +18 -6
- package/dist/sdk/index.js.map +1 -1
- package/dist/{cli/commands → sdk/query}/item-filter-options.d.ts +1 -1
- package/dist/{cli/commands → sdk/query}/item-filter-options.js +3 -3
- package/dist/sdk/query/item-filter-options.js.map +1 -0
- package/dist/sdk/query/list.d.ts +254 -0
- package/dist/sdk/query/list.js +1073 -0
- package/dist/sdk/query/list.js.map +1 -0
- package/dist/sdk/query/parsers.d.ts +9 -0
- package/dist/sdk/query/parsers.js +45 -0
- package/dist/sdk/query/parsers.js.map +1 -0
- package/dist/{cli/commands → sdk/query}/search-pagination.js +4 -4
- package/dist/sdk/query/search-pagination.js.map +1 -0
- package/dist/{cli/commands → sdk/query}/search-rendering.js +3 -3
- package/dist/sdk/query/search-rendering.js.map +1 -0
- package/dist/sdk/query/search.d.ts +469 -0
- package/dist/sdk/query/search.js +2247 -0
- package/dist/sdk/query/search.js.map +1 -0
- package/dist/sdk/runtime.d.ts +7 -7
- package/dist/sdk/runtime.js +13 -7
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/sdk/search-refresh-worker.d.ts +2 -0
- package/dist/sdk/search-refresh-worker.js +19 -0
- package/dist/sdk/search-refresh-worker.js.map +1 -0
- package/dist/sdk/stats.d.ts +66 -0
- package/dist/sdk/stats.js +151 -0
- package/dist/sdk/stats.js.map +1 -0
- package/dist/sdk/telemetry-flush.d.ts +2 -0
- package/dist/sdk/telemetry-flush.js +14 -0
- package/dist/sdk/telemetry-flush.js.map +1 -0
- package/dist/sdk/telemetry.d.ts +14 -0
- package/dist/sdk/telemetry.js +398 -0
- package/dist/sdk/telemetry.js.map +1 -0
- package/dist/sdk/test/batch.d.ts +94 -0
- package/dist/sdk/test/batch.js +492 -0
- package/dist/sdk/test/batch.js.map +1 -0
- package/dist/sdk/test/entry.d.ts +6 -0
- package/dist/sdk/test/entry.js +74 -0
- package/dist/sdk/test/entry.js.map +1 -0
- package/dist/sdk/test/execution.d.ts +282 -0
- package/dist/sdk/test/execution.js +1817 -0
- package/dist/sdk/test/execution.js.map +1 -0
- package/dist/sdk/test/parsers.d.ts +48 -0
- package/dist/sdk/test/parsers.js +522 -0
- package/dist/sdk/test/parsers.js.map +1 -0
- package/dist/sdk/test/runs.d.ts +92 -0
- package/dist/sdk/test/runs.js +195 -0
- package/dist/sdk/test/runs.js.map +1 -0
- package/docs/SDK.md +122 -0
- package/docs/SDK_PRIMITIVE_INVENTORY.md +5 -3
- package/docs/examples/sdk-custom-tool/README.md +27 -0
- package/docs/examples/sdk-custom-tool/package.json +13 -0
- package/docs/examples/sdk-custom-tool/src/cli.ts +36 -0
- package/docs/examples/sdk-custom-tool/src/entry.ts +15 -0
- package/docs/examples/sdk-custom-tool/src/index.ts +223 -0
- package/marketplace.json +2 -2
- package/package.json +4 -4
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-governance-audit/extensions/governance-audit/comments-audit.ts +77 -57
- package/packages/pm-governance-audit/extensions/governance-audit/dedupe-audit.ts +202 -194
- package/packages/pm-governance-audit/extensions/governance-audit/dedupe-merge.ts +227 -153
- package/packages/pm-governance-audit/extensions/governance-audit/normalize.ts +169 -125
- package/packages/pm-governance-audit/extensions/governance-audit/runtime-utils.ts +130 -81
- package/packages/pm-governance-audit/extensions/governance-audit/sdk.ts +53 -4
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli/commands/item-filter-options.js.map +0 -1
- package/dist/cli/commands/search-pagination.js.map +0 -1
- package/dist/cli/commands/search-rendering.js.map +0 -1
- package/dist/cli-bundle/chunks/append-UZVHUO74.js +0 -11
- package/dist/cli-bundle/chunks/chunk-3S5QVM5H.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-4XQ3BDV4.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5JLUII3O.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5ZSLZLDN.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EH2OPHBI.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-H5APFTHZ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HYB5AZ63.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ILX33QXL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-LPYWLWDS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ONG5V5CI.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-UMOPHQSU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UXONS674.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XXXF6PAQ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-YBLZ2VE7.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js +0 -58
- package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ZKRZY773.js +0 -68
- package/dist/cli-bundle/chunks/chunk-ZKRZY773.js.map +0 -7
- package/dist/cli-bundle/chunks/close-W6LI2PKM.js +0 -12
- package/dist/cli-bundle/chunks/close-many-DLDDVSH5.js +0 -23
- package/dist/cli-bundle/chunks/comments-E3TNTK24.js +0 -13
- package/dist/cli-bundle/chunks/copy-Q5ZJPUKR.js +0 -9
- package/dist/cli-bundle/chunks/delete-WNHB3LYW.js +0 -10
- package/dist/cli-bundle/chunks/docs-HA2AIDBB.js +0 -14
- package/dist/cli-bundle/chunks/focus-POIW5LTJ.js +0 -10
- package/dist/cli-bundle/chunks/history-compact-FWG2C7FZ.js +0 -16
- package/dist/cli-bundle/chunks/history-repair-6GEAM7HE.js +0 -16
- package/dist/cli-bundle/chunks/learnings-RSNLSWDC.js +0 -13
- package/dist/cli-bundle/chunks/notes-2WDH6DXU.js +0 -13
- package/dist/cli-bundle/chunks/plan-DOVI2VMW.js +0 -24
- package/dist/cli-bundle/chunks/restore-YPMVUUEX.js +0 -14
- package/dist/cli-bundle/chunks/update-WWBYOPXO.js +0 -21
- package/dist/cli-bundle/chunks/update-many-OUGIU5SF.js +0 -32
- package/dist/cli-bundle/chunks/update-many-TA7NGQBO.js +0 -36
- /package/dist/cli-bundle/chunks/{append-OJQFUQ4T.js.map → append-5YF3TO7I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-UZVHUO74.js.map → append-JHO5K6RP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BCOFWYW4.js.map → chunk-2BX74BAS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-APRVSW2O.js.map → chunk-2CXL335K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KG44YSKD.js.map → chunk-2FUOXSRN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HDH3JUGG.js.map → chunk-2IPNL3DR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GM5QHQU6.js.map → chunk-2XOSFSTH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K3WII2ME.js.map → chunk-37DRDP2B.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2WSE6PO2.js.map → chunk-37V5MXAU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UWQHLMEB.js.map → chunk-3D4YVTNG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PMOSXADO.js.map → chunk-47HXN6RX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6CFNAVTF.js.map → chunk-5HGZKQUL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2IFFUZLC.js.map → chunk-5UKQLQM2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DM4H7FP4.js.map → chunk-633PKXLT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XSJUSQAE.js.map → chunk-646MQXFW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZI6VQWQ7.js.map → chunk-66MKH7SZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S6MQESFR.js.map → chunk-67RO3H4N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-34L5OT3Y.js.map → chunk-6DYOZS6C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RRM5JYJC.js.map → chunk-6O44IN44.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PENXZX3U.js.map → chunk-74FKFFXO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HO4KXD6I.js.map → chunk-7H5NNCJ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TQSZFPIS.js.map → chunk-AFGKSHAM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6N2VXVTQ.js.map → chunk-ARGDWQ4J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3U7ZR6M4.js.map → chunk-B57RJHBZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YCQET3OT.js.map → chunk-BAP7G3N2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QKXHFPYM.js.map → chunk-BIRYX32V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RMLWNPH2.js.map → chunk-BVLOMU6O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2VPAVL7O.js.map → chunk-CKX4WOPC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TKOVBP6C.js.map → chunk-D52ZN3BF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KPMKHGEA.js.map → chunk-D53RTYVI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ODALILG3.js.map → chunk-D5XHO4Q7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YAQEBNY7.js.map → chunk-DDFGYUCQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EAB64KLB.js.map → chunk-DG2EQRIH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IG3SWA4A.js.map → chunk-EHJFUOXL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ONREO4ST.js.map → chunk-EY7ZE3TG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EJEXHTY5.js.map → chunk-FHOBCGQO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-H3EIEWGR.js.map → chunk-FL4D53ND.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WUJQK4YV.js.map → chunk-FVNWHUME.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-INU6DKT5.js.map → chunk-FXFCFL73.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QEHQ2GVG.js.map → chunk-FY4RLHSC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EACOH7AU.js.map → chunk-FZGM3PNA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FNSPG7MU.js.map → chunk-G6KM4YKY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AHVTB5I5.js.map → chunk-G6MYGULG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TSMHDIW4.js.map → chunk-GLZKZON6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2JKGO6QX.js.map → chunk-H5IOT54C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SELVXEZK.js.map → chunk-HO4DLBNK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3CLU2XZO.js.map → chunk-HSYV4ZYT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CRVF2JDM.js.map → chunk-HXVHBERL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NU3IMIEA.js.map → chunk-I7DIDUSP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2NCIPMQP.js.map → chunk-I7GY4X6Y.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JYFOV7FC.js.map → chunk-IE5KRAKN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UY2ACEMF.js.map → chunk-ILVOOAT4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GOSLKLFE.js.map → chunk-KH6QAHME.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J6EY5V4N.js.map → chunk-KOEZCHRF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WQPUU7XD.js.map → chunk-L337QKWJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LSG2U345.js.map → chunk-L6FVNR7X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FMBNM2EN.js.map → chunk-LSOWTLEM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4223PVZT.js.map → chunk-M7MVOKVV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BKVG6XOA.js.map → chunk-MSGETE6I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3WM75PWC.js.map → chunk-N33FD2UI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UFXU44HV.js.map → chunk-N7I2DGLP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6S3YSUYG.js.map → chunk-NNANAWFH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IJIICKVW.js.map → chunk-NTRQLE2R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SDQLJWBO.js.map → chunk-NVZ6NVHJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-H2Z3FYXQ.js.map → chunk-OWP6QFBV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q7A43DS4.js.map → chunk-P22HGFFI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NLDFBC6J.js.map → chunk-P56LKFQX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NVPZIJVR.js.map → chunk-PT7MCCGD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P74IZQ7A.js.map → chunk-QKVVV6QO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QIPLHNP7.js.map → chunk-QWBKN3QC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7PIWCHTW.js.map → chunk-R5XTTZSJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JOUQZENX.js.map → chunk-RC4UOUXA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BEP7WJA2.js.map → chunk-RGMWJLXF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NP22ERDF.js.map → chunk-RTBX3C4C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7Z4LKRS4.js.map → chunk-SPFZV2GR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ULTHRDBP.js.map → chunk-TM5CIO3F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YAROI3PD.js.map → chunk-V7MP6YTN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OW4JWD5M.js.map → chunk-VAHZIPWS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DYH63FX7.js.map → chunk-VE6ZSTQW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3AUGG2DP.js.map → chunk-W5E2UUSH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UOHFKBUV.js.map → chunk-WL3SS45P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QKJGPFAF.js.map → chunk-WU3KAN6A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IA5FKNII.js.map → chunk-X2MGQMZO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TD3LVC7D.js.map → chunk-X5YCTFKT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-B7PE22W6.js.map → chunk-XC2HEEOV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J5AOEGDC.js.map → chunk-XNPMDSQQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K2X6U4UA.js.map → chunk-XXLXJL7V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RLCHOOHC.js.map → chunk-YJSURTBB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PGY23YTC.js.map → chunk-YKFHF37B.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JFTKLTEF.js.map → chunk-YQCWK2MB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EYLCSJAI.js.map → chunk-YQEZWI3R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-W6LI2PKM.js.map → close-BEP7MHF3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-CWODTPKG.js.map → close-Y6QFUJQN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-CQFUY7MR.js.map → close-many-JJFW7KTT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-DLDDVSH5.js.map → close-many-QJ6FKJUE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-E3TNTK24.js.map → comments-2AOZQ5D2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-WGLHR7LB.js.map → comments-TMHMALA5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-LXVDXH7B.js.map → copy-FWQA5OU4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-Q5ZJPUKR.js.map → copy-N3LCQBMC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-LBVCYMEG.js.map → create-AQ5SIGZC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-J5U6ND4K.js.map → create-KOGQ3JKD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-WNHB3LYW.js.map → delete-6G3MBZ6S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-PMJBNY5G.js.map → delete-YYYFOSEA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-OA26IS25.js.map → deps-5NC4IZH7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-JZ7TMVCB.js.map → deps-EVTOQMKW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-FEWB2DQB.js.map → docs-53NUGMIQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-HA2AIDBB.js.map → docs-OWRGDMNY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-EFIWKFTM.js.map → files-3PXGXYDB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-6YFBJRBG.js.map → files-EGLKHD7O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-POIW5LTJ.js.map → focus-KZLIA6WS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-4QJR7FOQ.js.map → focus-SRPASFTN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-CKRPDTJN.js.map → history-compact-G4DULDCX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-FWG2C7FZ.js.map → history-compact-HHIUOMZ7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-BB3TGDAE.js.map → history-redact-IUSJ6X3E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-D225BHOZ.js.map → history-redact-THHGRQXV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-6GEAM7HE.js.map → history-repair-KG7SWXI6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-RQXKQHL4.js.map → history-repair-LUQWRS7X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-JLNLCOL5.js.map → learnings-2MRNBFJF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-RSNLSWDC.js.map → learnings-ZVHSALJY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-GB47XXQQ.js.map → notes-73JWKWUD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-2WDH6DXU.js.map → notes-BAKUL5DJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-VDCJ2PCN.js.map → plan-AZPMCG37.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-DOVI2VMW.js.map → plan-LEAGLPGP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-IVXQEL3D.js.map → profile-AGUKS52S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-FAU7NZML.js.map → profile-U2B6Y7GE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-list-query-UL4UKBBN.js.map → register-list-query-A5KRJ5J2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-list-query-DKA3EH5D.js.map → register-list-query-NEYP3TXO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-RBBJ52DK.js.map → register-mutation-6LOPBAHC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-ARFHRW55.js.map → register-mutation-GCZOALNJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-operations-ZIBBRSED.js.map → register-operations-6ZZIF27A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-operations-ZUJ5JWPE.js.map → register-operations-REDIAEGI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-TDCGWIOS.js.map → register-setup-BHPMN5SK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-BCVLFEYS.js.map → register-setup-J3JS2ZVT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-25DLT2Q2.js.map → restore-E3PRGDN3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-YPMVUUEX.js.map → restore-KIUYTAEJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-FNU3WE4O.js.map → schema-5JNFQFUW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-NBCM3RAD.js.map → schema-TMIW4XZC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-WWBYOPXO.js.map → update-PQQHLYCC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-XHSIAIXE.js.map → update-SA6AG23P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-TA7NGQBO.js.map → update-many-RQVTFJPD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-OUGIU5SF.js.map → update-many-TV3L3KBX.js.map} +0 -0
- /package/dist/{cli/commands → sdk/query}/search-pagination.d.ts +0 -0
- /package/dist/{cli/commands → sdk/query}/search-rendering.d.ts +0 -0
|
@@ -1,467 +1,6 @@
|
|
|
1
|
-
import { type ItemTypeRegistry } from "../../core/item/type-registry.js";
|
|
2
|
-
import { type EmbeddingProviderConfig, type EmbeddingProviderResolution } from "../../core/search/providers.js";
|
|
3
|
-
import { type QueryExpansionConfig, type RerankConfig } from "../../core/search/relevance.js";
|
|
4
|
-
import { type VectorQueryHit, type VectorStoreConfig, type VectorStoreResolution } from "../../core/search/vector-stores.js";
|
|
5
|
-
import { type Bm25Params } from "../../core/search/bm25.js";
|
|
6
|
-
import { type LifecycleClassifier } from "../../core/governance/metadata-coverage.js";
|
|
7
|
-
import { buildCompactSearchFilterSummary, buildVerboseSearchFilters, type SearchMode } from "./search-rendering.js";
|
|
8
|
-
import { type RuntimeFieldRegistry, type RuntimeStatusRegistry } from "../../core/schema/runtime-schema.js";
|
|
9
|
-
import type { GlobalOptions } from "../../core/shared/command-types.js";
|
|
10
|
-
import type { ItemDocument, ItemFormat, ItemMetadata, ItemStatus, PmSettings } from "../../types/index.js";
|
|
11
|
-
import type { SharedItemFilterOptions } from "./item-filter-options.js";
|
|
12
|
-
/** Documents the search options payload exchanged by command, SDK, and package integrations. */
|
|
13
|
-
export interface SearchOptions extends SharedItemFilterOptions {
|
|
14
|
-
/** Value that configures or reports mode for this contract. */
|
|
15
|
-
mode?: string;
|
|
16
|
-
/** Strategy used to control match behavior. */
|
|
17
|
-
matchMode?: string;
|
|
18
|
-
/** Value that configures or reports min score for this contract. */
|
|
19
|
-
minScore?: string | number;
|
|
20
|
-
/** Value that configures or reports count for this contract. */
|
|
21
|
-
count?: boolean;
|
|
22
|
-
/** Value that configures or reports semantic weight for this contract. */
|
|
23
|
-
semanticWeight?: string | number;
|
|
24
|
-
/** Value that configures or reports include linked for this contract. */
|
|
25
|
-
includeLinked?: boolean;
|
|
26
|
-
/** Value that configures or reports title exact for this contract. */
|
|
27
|
-
titleExact?: boolean;
|
|
28
|
-
/** Value that configures or reports phrase exact for this contract. */
|
|
29
|
-
phraseExact?: boolean;
|
|
30
|
-
/** Value that configures or reports limit for this contract. */
|
|
31
|
-
limit?: string;
|
|
32
|
-
/** Opaque cursor returned by a previous search page. */
|
|
33
|
-
after?: string;
|
|
34
|
-
/** Value that configures or reports compact for this contract. */
|
|
35
|
-
compact?: boolean;
|
|
36
|
-
/** Value that configures or reports full for this contract. */
|
|
37
|
-
full?: boolean;
|
|
38
|
-
/** Value that configures or reports fields for this contract. */
|
|
39
|
-
fields?: string;
|
|
40
|
-
/** Value that configures or reports highlight for this contract. */
|
|
41
|
-
highlight?: boolean;
|
|
42
|
-
}
|
|
43
|
-
/** Restricts search match mode values accepted by command, SDK, and storage contracts. */
|
|
44
|
-
export type SearchMatchMode = "and" | "or" | "exact";
|
|
45
|
-
type SearchProjectionMode = "compact" | "full" | "fields";
|
|
46
|
-
interface SearchProjectionConfig {
|
|
47
|
-
mode: SearchProjectionMode;
|
|
48
|
-
fields: string[];
|
|
49
|
-
}
|
|
50
|
-
declare const INLINE_QUERY_FILTER_FIELDS: readonly ["tag", "status", "type", "priority"];
|
|
51
|
-
type InlineQueryFilterField = (typeof INLINE_QUERY_FILTER_FIELDS)[number];
|
|
52
|
-
/** Documents the search hit payload exchanged by command, SDK, and package integrations. */
|
|
53
|
-
export interface SearchHit {
|
|
54
|
-
/** Value that configures or reports item for this contract. */
|
|
55
|
-
item: ItemMetadata;
|
|
56
|
-
/** Value that configures or reports score for this contract. */
|
|
57
|
-
score: number;
|
|
58
|
-
/** Value that configures or reports matched fields for this contract. */
|
|
59
|
-
matched_fields: string[];
|
|
60
|
-
/** Value that configures or reports matched all terms for this contract. */
|
|
61
|
-
matched_all_terms?: boolean;
|
|
62
|
-
/** Value that configures or reports exact id match for this contract. */
|
|
63
|
-
exact_id_match?: boolean;
|
|
64
|
-
/** Value that configures or reports highlights for this contract. */
|
|
65
|
-
highlights?: SearchHitHighlight[];
|
|
66
|
-
}
|
|
67
1
|
/**
|
|
68
|
-
*
|
|
69
|
-
* token run is wrapped in the {@link HIGHLIGHT_OPEN}/{@link HIGHLIGHT_CLOSE}
|
|
70
|
-
* markers. Emitted on {@link SearchHit.highlights} when `--highlight` is set.
|
|
71
|
-
*/
|
|
72
|
-
export interface SearchHitHighlight {
|
|
73
|
-
/** Value that configures or reports field for this contract. */
|
|
74
|
-
field: string;
|
|
75
|
-
/** Value that configures or reports snippet for this contract. */
|
|
76
|
-
snippet: string;
|
|
77
|
-
}
|
|
78
|
-
/** Restricts search result item values accepted by command, SDK, and storage contracts. */
|
|
79
|
-
export type SearchResultItem = SearchHit | Record<string, unknown>;
|
|
80
|
-
interface SearchResultBase {
|
|
81
|
-
query: string;
|
|
82
|
-
mode: SearchMode;
|
|
83
|
-
items: SearchResultItem[];
|
|
84
|
-
count: number;
|
|
85
|
-
total?: number;
|
|
86
|
-
/** Whether additional ranked hits remain after this page. */
|
|
87
|
-
has_more?: boolean;
|
|
88
|
-
/** Opaque continuation cursor when additional hits remain. */
|
|
89
|
-
next_cursor?: string;
|
|
90
|
-
/** Effective page size for this response. */
|
|
91
|
-
applied_limit?: number;
|
|
92
|
-
/** Explicit marker that the response is a bounded page. */
|
|
93
|
-
truncated?: true;
|
|
94
|
-
count_only?: boolean;
|
|
95
|
-
warnings?: string[];
|
|
96
|
-
}
|
|
97
|
-
/** Documents the search compact result payload exchanged by command, SDK, and package integrations. */
|
|
98
|
-
export interface SearchCompactResult extends SearchResultBase {
|
|
99
|
-
/** Value that configures or reports filters for this contract. */
|
|
100
|
-
filters: Record<string, unknown>;
|
|
101
|
-
/** Value that configures or reports projection for this contract. */
|
|
102
|
-
projection?: undefined;
|
|
103
|
-
/** Value that configures or reports now for this contract. */
|
|
104
|
-
now?: undefined;
|
|
105
|
-
}
|
|
106
|
-
/** Documents the search verbose result payload exchanged by command, SDK, and package integrations. */
|
|
107
|
-
export interface SearchVerboseResult extends SearchResultBase {
|
|
108
|
-
/** Value that configures or reports filters for this contract. */
|
|
109
|
-
filters: Record<string, unknown>;
|
|
110
|
-
/** Value that configures or reports projection for this contract. */
|
|
111
|
-
projection: {
|
|
112
|
-
mode: SearchProjectionMode;
|
|
113
|
-
fields: string[] | null;
|
|
114
|
-
};
|
|
115
|
-
/** Value that configures or reports now for this contract. */
|
|
116
|
-
now: string;
|
|
117
|
-
}
|
|
118
|
-
/** Restricts search result values accepted by command, SDK, and storage contracts. */
|
|
119
|
-
export type SearchResult = SearchCompactResult | SearchVerboseResult;
|
|
120
|
-
interface ExtensionSearchProviderContext {
|
|
121
|
-
query: string;
|
|
122
|
-
mode: SearchMode;
|
|
123
|
-
tokens: string[];
|
|
124
|
-
options: SearchOptions;
|
|
125
|
-
settings: PmSettings;
|
|
126
|
-
documents: ItemDocument[];
|
|
127
|
-
}
|
|
128
|
-
interface ExtensionSearchProviderHit {
|
|
129
|
-
id: string;
|
|
130
|
-
score: number;
|
|
131
|
-
matched_fields?: string[];
|
|
132
|
-
}
|
|
133
|
-
type ExtensionSearchProviderQuery = (context: ExtensionSearchProviderContext) => Promise<ExtensionSearchProviderHit[] | {
|
|
134
|
-
hits?: ExtensionSearchProviderHit[];
|
|
135
|
-
}> | ExtensionSearchProviderHit[] | {
|
|
136
|
-
hits?: ExtensionSearchProviderHit[];
|
|
137
|
-
};
|
|
138
|
-
interface ExtensionSearchProviderQueryExpansionContext {
|
|
139
|
-
query: string;
|
|
140
|
-
mode: Exclude<SearchMode, "keyword">;
|
|
141
|
-
settings: PmSettings;
|
|
142
|
-
}
|
|
143
|
-
type ExtensionSearchProviderQueryExpansion = (context: ExtensionSearchProviderQueryExpansionContext) => Promise<string[] | {
|
|
144
|
-
queries?: string[];
|
|
145
|
-
}> | string[] | {
|
|
146
|
-
queries?: string[];
|
|
147
|
-
};
|
|
148
|
-
interface ExtensionSearchProviderRerankCandidate {
|
|
149
|
-
id: string;
|
|
150
|
-
text: string;
|
|
151
|
-
score: number;
|
|
152
|
-
}
|
|
153
|
-
interface ExtensionSearchProviderRerankContext {
|
|
154
|
-
query: string;
|
|
155
|
-
mode: "hybrid";
|
|
156
|
-
model: string;
|
|
157
|
-
top_k: number;
|
|
158
|
-
settings: PmSettings;
|
|
159
|
-
candidates: ExtensionSearchProviderRerankCandidate[];
|
|
160
|
-
}
|
|
161
|
-
type ExtensionSearchProviderRerank = (context: ExtensionSearchProviderRerankContext) => Promise<Array<{
|
|
162
|
-
id?: unknown;
|
|
163
|
-
score?: unknown;
|
|
164
|
-
}> | {
|
|
165
|
-
hits?: Array<{
|
|
166
|
-
id?: unknown;
|
|
167
|
-
score?: unknown;
|
|
168
|
-
}>;
|
|
169
|
-
}> | Array<{
|
|
170
|
-
id?: unknown;
|
|
171
|
-
score?: unknown;
|
|
172
|
-
}> | {
|
|
173
|
-
hits?: Array<{
|
|
174
|
-
id?: unknown;
|
|
175
|
-
score?: unknown;
|
|
176
|
-
}>;
|
|
177
|
-
};
|
|
178
|
-
type ExtensionVectorQuery = (context: {
|
|
179
|
-
vector: number[];
|
|
180
|
-
limit: number;
|
|
181
|
-
settings: PmSettings;
|
|
182
|
-
}) => Promise<VectorQueryHit[]> | VectorQueryHit[];
|
|
183
|
-
type ExtensionVectorUpsert = (context: {
|
|
184
|
-
points: Array<{
|
|
185
|
-
id: string;
|
|
186
|
-
vector: number[];
|
|
187
|
-
payload: Record<string, unknown>;
|
|
188
|
-
}>;
|
|
189
|
-
settings: PmSettings;
|
|
190
|
-
}) => Promise<void> | void;
|
|
191
|
-
type ExtensionVectorAdapter = {
|
|
192
|
-
adapterName: string;
|
|
193
|
-
query?: ExtensionVectorQuery;
|
|
194
|
-
upsert?: ExtensionVectorUpsert;
|
|
195
|
-
};
|
|
196
|
-
type ImplicitSemanticFallbackReason = "timeout" | "connection" | "error";
|
|
197
|
-
/**
|
|
198
|
-
* Aggregate the `code` strings found along an error's `cause` chain.
|
|
2
|
+
* @module cli/commands/search
|
|
199
3
|
*
|
|
200
|
-
*
|
|
201
|
-
* "fetch failed" and stashes the real syscall code (e.g. `ECONNREFUSED`) on
|
|
202
|
-
* `error.cause.code`. Walking the chain (bounded depth) lets the fallback
|
|
203
|
-
* classifier label a downed/unreachable Ollama backend as "connection" rather
|
|
204
|
-
* than the catch-all "error".
|
|
205
|
-
*/
|
|
206
|
-
export declare function collectErrorCauseCodes(error: unknown): string;
|
|
207
|
-
/**
|
|
208
|
-
* Classify why an implicit/explicit semantic search degraded to keyword mode,
|
|
209
|
-
* inspecting both the error message and the {@link collectErrorCauseCodes} chain
|
|
210
|
-
* so undici's generic "fetch failed" is recognised as a connection failure.
|
|
211
|
-
*/
|
|
212
|
-
export declare function classifyImplicitSemanticFallbackReason(error: unknown): ImplicitSemanticFallbackReason;
|
|
213
|
-
declare function buildExplicitSemanticFallbackWarning(requestedMode: SearchMode, error: unknown): string;
|
|
214
|
-
/** Compare the vectorization-status ledger against the filtered corpus and, when the vector index is behind, emit a one-line stderr warning plus a structured `vector_index_stale:N` entry in the JSON warnings array. Best-effort: ledger read failures fall through silently — the existing semantic/hybrid fallback paths cover backend errors. */
|
|
215
|
-
declare function maybeEmitVectorIndexStaleWarning(pmRoot: string, filteredDocuments: ItemDocument[], warnings: string[]): Promise<void>;
|
|
216
|
-
declare function parseTimestampWindow(raw: unknown, fieldLabel: string): string | undefined;
|
|
217
|
-
declare function parseProjectionConfig(options: SearchOptions): SearchProjectionConfig;
|
|
218
|
-
/** Public contract for test only search command, shared by SDK and presentation-layer consumers. */
|
|
219
|
-
export declare const _testOnlySearchCommand: {
|
|
220
|
-
applyFilters: typeof applyFilters;
|
|
221
|
-
applyExactQueryFilters: typeof applyExactQueryFilters;
|
|
222
|
-
applyInlineQueryFilters: typeof applyInlineQueryFilters;
|
|
223
|
-
buildHitHighlights: typeof buildHitHighlights;
|
|
224
|
-
buildVerboseSearchFilters: typeof buildVerboseSearchFilters;
|
|
225
|
-
buildExplicitSemanticFallbackWarning: typeof buildExplicitSemanticFallbackWarning;
|
|
226
|
-
buildCompactSearchFilterSummary: typeof buildCompactSearchFilterSummary;
|
|
227
|
-
buildHybridLexicalScore: typeof buildHybridLexicalScore;
|
|
228
|
-
buildRerankCorpus: typeof buildRerankCorpus;
|
|
229
|
-
buildSemanticHits: typeof buildSemanticHits;
|
|
230
|
-
classifyImplicitSemanticFallbackReason: typeof classifyImplicitSemanticFallbackReason;
|
|
231
|
-
collectErrorCauseCodes: typeof collectErrorCauseCodes;
|
|
232
|
-
collectExactPhraseFields: typeof collectExactPhraseFields;
|
|
233
|
-
collectLinkedPaths: typeof collectLinkedPaths;
|
|
234
|
-
combineHybridHits: typeof combineHybridHits;
|
|
235
|
-
computeBuiltInBm25Hits: typeof computeBuiltInBm25Hits;
|
|
236
|
-
computeSemanticOrHybridHits: typeof computeSemanticOrHybridHits;
|
|
237
|
-
resolveBuiltInBm25Mode: typeof resolveBuiltInBm25Mode;
|
|
238
|
-
countOccurrences: typeof countOccurrences;
|
|
239
|
-
dependencyEntries: typeof dependencyEntries;
|
|
240
|
-
documentContainsExactPhrase: typeof documentContainsExactPhrase;
|
|
241
|
-
emptySearchResult: typeof emptySearchResult;
|
|
242
|
-
highlightFieldSnippet: typeof highlightFieldSnippet;
|
|
243
|
-
loadDocuments: typeof loadDocuments;
|
|
244
|
-
markTokenRuns: typeof markTokenRuns;
|
|
245
|
-
parseInlineQueryFilters: typeof parseInlineQueryFilters;
|
|
246
|
-
maybeEmitVectorIndexStaleWarning: typeof maybeEmitVectorIndexStaleWarning;
|
|
247
|
-
loadLinkedCorpus: typeof loadLinkedCorpus;
|
|
248
|
-
mergeVectorHitsById: typeof mergeVectorHitsById;
|
|
249
|
-
normalizeExtensionProviderHits: typeof normalizeExtensionProviderHits;
|
|
250
|
-
normalizeScoreMap: typeof normalizeScoreMap;
|
|
251
|
-
parseProjectionConfig: typeof parseProjectionConfig;
|
|
252
|
-
parseTimestampWindow: typeof parseTimestampWindow;
|
|
253
|
-
parseTokens: typeof parseTokens;
|
|
254
|
-
readSearchFieldValue: typeof readSearchFieldValue;
|
|
255
|
-
requireSemanticDependencies: typeof requireSemanticDependencies;
|
|
256
|
-
resolveExtensionSearchProvider: typeof resolveExtensionSearchProvider;
|
|
257
|
-
resolveExtensionSearchProviderByName: typeof resolveExtensionSearchProviderByName;
|
|
258
|
-
resolveExtensionVectorAdapter: typeof resolveExtensionVectorAdapter;
|
|
259
|
-
resolveLinkedCorpusRoots: typeof resolveLinkedCorpusRoots;
|
|
260
|
-
scoreDocument: typeof scoreDocument;
|
|
261
|
-
sortHits: typeof sortHits;
|
|
262
|
-
stringArray: typeof stringArray;
|
|
263
|
-
textEntries: typeof textEntries;
|
|
264
|
-
validateSearchProjectionFields: typeof validateSearchProjectionFields;
|
|
265
|
-
};
|
|
266
|
-
declare function validateSearchProjectionFields(projection: SearchProjectionConfig, runtimeFieldRegistry: RuntimeFieldRegistry): void;
|
|
267
|
-
declare function parseTokens(query: string): string[];
|
|
268
|
-
/** Result of extracting inline `field:value` tokens from a raw search query. */
|
|
269
|
-
interface InlineQueryParse {
|
|
270
|
-
/** The query with all recognized inline filter tokens removed. */
|
|
271
|
-
residualQuery: string;
|
|
272
|
-
/** Recognized inline filters keyed by field name; first occurrence per field wins. */
|
|
273
|
-
inlineFilters: Partial<Record<InlineQueryFilterField, string>>;
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Split a raw search query into its residual keyword text and any inline
|
|
277
|
-
* `field:value` filter tokens (GH-157). Recognized fields are
|
|
278
|
-
* {@link INLINE_QUERY_FILTER_FIELDS}; the value runs to the end of the token so
|
|
279
|
-
* colon-bearing values like `tag:area:search` parse as `{ tag: "area:search" }`.
|
|
280
|
-
* Only the first occurrence of each field is captured — later duplicates are left
|
|
281
|
-
* in the residual query so they are never silently dropped. Tokens whose prefix
|
|
282
|
-
* is not a recognized field (`foo:bar`) stay in the residual query verbatim.
|
|
283
|
-
*/
|
|
284
|
-
declare function parseInlineQueryFilters(query: string): InlineQueryParse;
|
|
285
|
-
/** Merge inline `field:value` filters into a search options object (GH-157). Explicit `--field` flags always win: an inline token is applied only when the corresponding option is not already set, and a conflicting inline token is recorded as a `search_inline_filter_ignored:<field>:flag_takes_precedence` warning so the override is observable rather than silent. Returns a fresh options object — the caller's input is never mutated. */
|
|
286
|
-
declare function applyInlineQueryFilters(options: SearchOptions, inlineFilters: Partial<Record<InlineQueryFilterField, string>>, warnings: string[]): SearchOptions;
|
|
287
|
-
declare function stringArray(value: unknown): string[];
|
|
288
|
-
declare function textEntries(value: unknown): Array<{
|
|
289
|
-
text: string;
|
|
290
|
-
}>;
|
|
291
|
-
declare function dependencyEntries(value: unknown): Array<{
|
|
292
|
-
id: string;
|
|
293
|
-
kind: string;
|
|
294
|
-
}>;
|
|
295
|
-
declare function collectExactPhraseFields(document: ItemDocument): string[];
|
|
296
|
-
declare function documentContainsExactPhrase(document: ItemDocument, normalizedQuery: string): boolean;
|
|
297
|
-
declare function applyExactQueryFilters(items: ItemDocument[], normalizedQuery: string, options: {
|
|
298
|
-
titleExact: boolean;
|
|
299
|
-
phraseExact: boolean;
|
|
300
|
-
}): ItemDocument[];
|
|
301
|
-
declare function applyFilters(items: ItemDocument[], options: SearchOptions, typeRegistry: ItemTypeRegistry, runtimeFieldFilters: Record<string, unknown>, statusFilter: ItemStatus[] | undefined, lifecycleClassifier: LifecycleClassifier): ItemDocument[];
|
|
302
|
-
declare function countOccurrences(haystack: string, needle: string): number;
|
|
303
|
-
declare function collectLinkedPaths(item: ItemMetadata): Array<{
|
|
304
|
-
scope: "project" | "global";
|
|
305
|
-
path: string;
|
|
306
|
-
}>;
|
|
307
|
-
interface ContainmentRoot {
|
|
308
|
-
resolved: string;
|
|
309
|
-
realpath: string;
|
|
310
|
-
}
|
|
311
|
-
interface LinkedCorpusRoots {
|
|
312
|
-
projectContainmentRoot: ContainmentRoot | null;
|
|
313
|
-
globalContainmentRoot: ContainmentRoot | null;
|
|
314
|
-
}
|
|
315
|
-
declare function resolveLinkedCorpusRoots(projectRoot: string, globalRoot: string): Promise<LinkedCorpusRoots>;
|
|
316
|
-
declare function loadLinkedCorpus(document: ItemDocument, roots: LinkedCorpusRoots): Promise<string>;
|
|
317
|
-
/** Documents the search tuning payload exchanged by command, SDK, and package integrations. */
|
|
318
|
-
export interface SearchTuning {
|
|
319
|
-
/** Value that configures or reports title exact bonus for this contract. */
|
|
320
|
-
title_exact_bonus: number;
|
|
321
|
-
/** Value that configures or reports title weight for this contract. */
|
|
322
|
-
title_weight: number;
|
|
323
|
-
/** Value that configures or reports description weight for this contract. */
|
|
324
|
-
description_weight: number;
|
|
325
|
-
/** Value that configures or reports tags weight for this contract. */
|
|
326
|
-
tags_weight: number;
|
|
327
|
-
/** Value that configures or reports status weight for this contract. */
|
|
328
|
-
status_weight: number;
|
|
329
|
-
/** Value that configures or reports body weight for this contract. */
|
|
330
|
-
body_weight: number;
|
|
331
|
-
/** Value that configures or reports comments weight for this contract. */
|
|
332
|
-
comments_weight: number;
|
|
333
|
-
/** Value that configures or reports notes weight for this contract. */
|
|
334
|
-
notes_weight: number;
|
|
335
|
-
/** Value that configures or reports learnings weight for this contract. */
|
|
336
|
-
learnings_weight: number;
|
|
337
|
-
/** Value that configures or reports reminders weight for this contract. */
|
|
338
|
-
reminders_weight: number;
|
|
339
|
-
/** Value that configures or reports events weight for this contract. */
|
|
340
|
-
events_weight: number;
|
|
341
|
-
/** Value that configures or reports dependencies weight for this contract. */
|
|
342
|
-
dependencies_weight: number;
|
|
343
|
-
/** Value that configures or reports linked content weight for this contract. */
|
|
344
|
-
linked_content_weight: number;
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Wrap every case-insensitive occurrence of any query token in `text` with the
|
|
348
|
-
* {@link HIGHLIGHT_OPEN}/{@link HIGHLIGHT_CLOSE} markers. Token boundaries follow
|
|
349
|
-
* the same substring semantics as the lexical scorer (a token highlights inside
|
|
350
|
-
* longer words, matching how it scored), and overlapping matches are coalesced
|
|
351
|
-
* by the single combined alternation so markers never nest.
|
|
352
|
-
*/
|
|
353
|
-
declare function markTokenRuns(text: string, tokens: string[]): string;
|
|
354
|
-
/**
|
|
355
|
-
* Build a single highlighted snippet for one field value (GH-157), or null when
|
|
356
|
-
* no token matches. The snippet is a window of {@link HIGHLIGHT_SNIPPET_RADIUS}
|
|
357
|
-
* characters on each side of the first match with the matching token runs
|
|
358
|
-
* wrapped in markers, prefixed/suffixed with an ellipsis when the field text was
|
|
359
|
-
* trimmed. Returning null lets the caller skip fields with no concrete textual
|
|
360
|
-
* match (e.g. a field flagged purely by the phrase-coverage bonus).
|
|
361
|
-
*/
|
|
362
|
-
declare function highlightFieldSnippet(text: string, tokens: string[]): string | null;
|
|
363
|
-
/** Produce per-field matched-text snippets for a hit (GH-157, `--highlight`). Iterates the hit's already-sorted `matched_fields`, retains only the document-derived searchable fields (skipping synthetic markers like `id`, `semantic`, `rerank`, and `linked_content`), and emits a snippet for each field that still contains a concrete token match. */
|
|
364
|
-
declare function buildHitHighlights(document: ItemDocument, matchedFields: string[], tokens: string[]): SearchHitHighlight[];
|
|
365
|
-
declare function scoreDocument(document: ItemDocument, tokens: string[], normalizedQuery: string, linkedCorpus: string, tuning: SearchTuning, idPrefix: string, applyCoverageBonus?: boolean): SearchHit | null;
|
|
366
|
-
declare function sortHits(items: SearchHit[], statusRegistry: RuntimeStatusRegistry): SearchHit[];
|
|
367
|
-
declare function buildHybridLexicalScore(document: ItemDocument, tokens: string[], normalizedQuery: string, includeLinked: boolean, linkedCorpusById: Map<string, string>, tuning: SearchTuning, idPrefix: string, applyCoverageBonus?: boolean): SearchHit | null;
|
|
368
|
-
declare function normalizeScoreMap(scoreById: Map<string, number>): Map<string, number>;
|
|
369
|
-
/** Implements resolve search max results for the public runtime surface of this module. */
|
|
370
|
-
export declare function resolveSearchMaxResults(settings: unknown): number;
|
|
371
|
-
/** Implements resolve search score threshold for the public runtime surface of this module. */
|
|
372
|
-
export declare function resolveSearchScoreThreshold(settings: unknown): number;
|
|
373
|
-
/** Implements resolve hybrid semantic weight for the public runtime surface of this module. */
|
|
374
|
-
export declare function resolveHybridSemanticWeight(settings: unknown): number;
|
|
375
|
-
/** Implements resolve search tuning for the public runtime surface of this module. */
|
|
376
|
-
export declare function resolveSearchTuning(settings: unknown): SearchTuning;
|
|
377
|
-
declare function emptySearchResult(query: string, mode: SearchMode, matchMode: SearchMatchMode, options: SearchOptions, includeLinked: boolean, scoreThreshold: number, hybridSemanticWeight: number, queryExpansion: QueryExpansionConfig, rerank: RerankConfig, projection: SearchProjectionConfig, warnings: string[], runtimeFieldFilters?: Record<string, unknown>, countOnly?: boolean): SearchResult;
|
|
378
|
-
declare function requireSemanticDependencies(requestedMode: Exclude<SearchMode, "keyword">, providerResolution: EmbeddingProviderResolution, vectorResolution: VectorStoreResolution, hasExtensionVectorQuery: boolean): {
|
|
379
|
-
provider: EmbeddingProviderConfig;
|
|
380
|
-
vectorStore: VectorStoreConfig | null;
|
|
381
|
-
};
|
|
382
|
-
interface ExtensionSearchProviderHooks {
|
|
383
|
-
providerName: string;
|
|
384
|
-
query?: ExtensionSearchProviderQuery;
|
|
385
|
-
queryExpansion?: ExtensionSearchProviderQueryExpansion;
|
|
386
|
-
rerank?: ExtensionSearchProviderRerank;
|
|
387
|
-
}
|
|
388
|
-
declare function resolveExtensionSearchProviderByName(providerName: string | undefined): ExtensionSearchProviderHooks | null;
|
|
389
|
-
declare function resolveExtensionSearchProvider(settings: PmSettings): {
|
|
390
|
-
providerName: string;
|
|
391
|
-
query: ExtensionSearchProviderQuery;
|
|
392
|
-
} | null;
|
|
393
|
-
declare function resolveExtensionVectorAdapter(settings: PmSettings): ExtensionVectorAdapter | null;
|
|
394
|
-
declare function normalizeExtensionProviderHits(providerName: string, raw: unknown, filteredById: Map<string, ItemDocument>): SearchHit[];
|
|
395
|
-
declare function buildSemanticHits(vectorHits: VectorQueryHit[], filteredById: Map<string, ItemDocument>): {
|
|
396
|
-
semanticHits: SearchHit[];
|
|
397
|
-
semanticScores: Map<string, number>;
|
|
398
|
-
};
|
|
399
|
-
declare function combineHybridHits(filteredById: Map<string, ItemDocument>, semanticScores: Map<string, number>, keywordHits: SearchHit[], hybridSemanticWeight: number, semanticFieldLabel?: string): SearchHit[];
|
|
400
|
-
/** Built-in BM25 activation outcome for semantic/hybrid search (pm-75k9): - `"explicit"`: `search.provider` is `bm25` — the user opted into offline lexical ranking, so it is used even if an embedding provider is configured. - `"auto-fallback"`: `search.provider` is `auto` and neither an embedding provider nor an extension search provider is available — BM25 is used in place of degrading to the naive field-weighted keyword scorer. - `null`: BM25 does not apply; the existing embedding/extension path runs. */
|
|
401
|
-
type BuiltInBm25Mode = "explicit" | "auto-fallback";
|
|
402
|
-
declare function resolveBuiltInBm25Mode(params: {
|
|
403
|
-
configuredProvider: string | undefined;
|
|
404
|
-
hasEmbeddingProvider: boolean;
|
|
405
|
-
hasExtensionSearchProvider: boolean;
|
|
406
|
-
}): BuiltInBm25Mode | null;
|
|
407
|
-
/**
|
|
408
|
-
* Rank the filtered corpus with the offline BM25 provider (pm-75k9). Builds a
|
|
409
|
-
* BM25 index over each document's resolved search corpus (honoring
|
|
410
|
-
* `search.corpus_fields`), scores the query, and shapes hits for the requested
|
|
411
|
-
* mode: semantic mode returns pure BM25-ranked hits tagged
|
|
412
|
-
* `matched_fields: ["bm25"]`, while hybrid mode blends the BM25 scores with the
|
|
413
|
-
* locally computed keyword scores via {@link combineHybridHits}. The exact
|
|
414
|
-
* full-ID / short-ID guarantee is preserved in both modes via
|
|
415
|
-
* {@link forceExactIdHitsToTop}. No network, embedding service, or vector store
|
|
416
|
-
* is involved, so this path cannot fail on a backend error.
|
|
4
|
+
* Compatibility export for the SDK-owned search implementation.
|
|
417
5
|
*/
|
|
418
|
-
|
|
419
|
-
requestedMode: Exclude<SearchMode, "keyword">;
|
|
420
|
-
query: string;
|
|
421
|
-
filteredDocuments: ItemDocument[];
|
|
422
|
-
keywordHits: SearchHit[];
|
|
423
|
-
corpusFields: string[];
|
|
424
|
-
bm25Params: Bm25Params;
|
|
425
|
-
hybridSemanticWeight: number;
|
|
426
|
-
}): SearchHit[];
|
|
427
|
-
interface SemanticQueryContext {
|
|
428
|
-
requestedMode: Exclude<SearchMode, "keyword">;
|
|
429
|
-
query: string;
|
|
430
|
-
filteredDocuments: ItemDocument[];
|
|
431
|
-
keywordHits: SearchHit[];
|
|
432
|
-
hybridSemanticWeight: number;
|
|
433
|
-
limit: number | undefined;
|
|
434
|
-
maxResults: number;
|
|
435
|
-
provider: EmbeddingProviderConfig;
|
|
436
|
-
vectorStore: VectorStoreConfig | null;
|
|
437
|
-
extensionVectorAdapter: ExtensionVectorAdapter | null;
|
|
438
|
-
queryExpansion: QueryExpansionConfig;
|
|
439
|
-
queryExpansionExtension: {
|
|
440
|
-
providerName: string;
|
|
441
|
-
expand: ExtensionSearchProviderQueryExpansion;
|
|
442
|
-
} | null;
|
|
443
|
-
rerank: RerankConfig;
|
|
444
|
-
rerankExtension: {
|
|
445
|
-
providerName: string;
|
|
446
|
-
rerank: ExtensionSearchProviderRerank;
|
|
447
|
-
} | null;
|
|
448
|
-
warnings: string[];
|
|
449
|
-
settings: PmSettings;
|
|
450
|
-
embeddingTimeoutMs?: number;
|
|
451
|
-
vectorQueryTimeoutMs?: number;
|
|
452
|
-
}
|
|
453
|
-
interface SemanticQueryResult {
|
|
454
|
-
hits: SearchHit[];
|
|
455
|
-
vectorMatchCount: number;
|
|
456
|
-
}
|
|
457
|
-
declare function mergeVectorHitsById(vectorHitGroups: VectorQueryHit[][]): VectorQueryHit[];
|
|
458
|
-
declare function buildRerankCorpus(document: ItemDocument): string;
|
|
459
|
-
declare function computeSemanticOrHybridHits(context: SemanticQueryContext): Promise<SemanticQueryResult>;
|
|
460
|
-
declare function loadDocuments(pmRoot: string, itemFormat: ItemFormat, typeToFolder: Record<string, string>, schema: PmSettings["schema"]): Promise<{
|
|
461
|
-
documents: ItemDocument[];
|
|
462
|
-
warnings: string[];
|
|
463
|
-
}>;
|
|
464
|
-
declare function readSearchFieldValue(hit: SearchHit, field: string): unknown;
|
|
465
|
-
/** Implements run search for the public runtime surface of this module. */
|
|
466
|
-
export declare function runSearch(rawQuery: string, rawOptions: SearchOptions, global: GlobalOptions): Promise<SearchResult>;
|
|
467
|
-
export {};
|
|
6
|
+
export * from "../../sdk/query/search.js";
|