@hawkeyexl/manni 4.10.0 → 4.12.0
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/README.md +1 -1
- package/dist/batch-EFSFG6GC.js +46 -0
- package/dist/build-NIO3UIWJ.js +36 -0
- package/dist/calibrate-6VO7URRV.js +41 -0
- package/dist/capture-NMBVJO3C.js +38 -0
- package/dist/check-SHOYX2B5.js +30 -0
- package/dist/check-XMJKH3KV.js +34 -0
- package/dist/{check-NLL4NRYA.js → check-Y62BJNC4.js} +35 -31
- package/dist/{check-NLL4NRYA.js.map → check-Y62BJNC4.js.map} +1 -1
- package/dist/{check-7B77ZD2N.js → check-ZMO3ZLMW.js} +19 -15
- package/dist/{chunk-PK7EKJ5T.js → chunk-24AJK2RG.js} +5 -10
- package/dist/chunk-24AJK2RG.js.map +1 -0
- package/dist/chunk-2OZF2VUB.js +164 -0
- package/dist/chunk-2OZF2VUB.js.map +1 -0
- package/dist/chunk-2UJZXVHR.js +1868 -0
- package/dist/chunk-2UJZXVHR.js.map +1 -0
- package/dist/{chunk-DNZUBCGZ.js → chunk-3BRJCQPY.js} +36 -7
- package/dist/chunk-3BRJCQPY.js.map +1 -0
- package/dist/{chunk-D2UW3ZCK.js → chunk-42VFJOAF.js} +13 -11
- package/dist/{chunk-D2UW3ZCK.js.map → chunk-42VFJOAF.js.map} +1 -1
- package/dist/{chunk-LQZQ5KGG.js → chunk-4Q24OYI3.js} +7 -7
- package/dist/{chunk-XU73V5XT.js → chunk-4WJTURRO.js} +15 -15
- package/dist/{chunk-WN47MNSK.js → chunk-5SID2SVL.js} +4 -4
- package/dist/{chunk-5REEVKGH.js → chunk-AANUY4BH.js} +2 -2
- package/dist/chunk-ANPIIYRH.js +2272 -0
- package/dist/chunk-ANPIIYRH.js.map +1 -0
- package/dist/{chunk-RZVCWX5R.js → chunk-AYVKN3PG.js} +4 -4
- package/dist/{chunk-2UCC26MO.js → chunk-CH6IOGXV.js} +9 -9
- package/dist/{chunk-RODZ7MB7.js → chunk-D5Z6B4M7.js} +6 -6
- package/dist/{chunk-IJ62BB2T.js → chunk-D6SELXQ2.js} +7 -7
- package/dist/{chunk-2JV7C4YV.js → chunk-DDILEF5F.js} +890 -1399
- package/dist/chunk-DDILEF5F.js.map +1 -0
- package/dist/{chunk-3E2X2RBU.js → chunk-DGRLHDM4.js} +9 -9
- package/dist/{chunk-2BV4FBC7.js → chunk-DHGB4JBG.js} +4 -3
- package/dist/chunk-DHGB4JBG.js.map +1 -0
- package/dist/{chunk-6LR73NMO.js → chunk-DLU5FCFT.js} +30 -28
- package/dist/chunk-DLU5FCFT.js.map +1 -0
- package/dist/chunk-DSWKBZWW.js +16 -0
- package/dist/chunk-DSWKBZWW.js.map +1 -0
- package/dist/{chunk-BD7IXBWE.js → chunk-F564FHMQ.js} +8 -8
- package/dist/{chunk-ABHG6I3G.js → chunk-FKAZUZQU.js} +469 -85
- package/dist/chunk-FKAZUZQU.js.map +1 -0
- package/dist/{chunk-DFCQ6BMI.js → chunk-G3MBUL5M.js} +4 -4
- package/dist/{chunk-SUTMSDQ2.js → chunk-GQ3KRY3B.js} +3 -3
- package/dist/chunk-HDPN46JP.js +393 -0
- package/dist/chunk-HDPN46JP.js.map +1 -0
- package/dist/{chunk-EAUIQADY.js → chunk-IQQAJROD.js} +6 -6
- package/dist/{chunk-ZHRPH52H.js → chunk-IZXN3WI6.js} +2 -2
- package/dist/{chunk-NCPWXHDO.js → chunk-JEUFYSFQ.js} +4 -4
- package/dist/{chunk-G6FNWRAI.js → chunk-JSSM7VVV.js} +4 -4
- package/dist/{chunk-CCWMACJL.js → chunk-KFGZPVFA.js} +229 -821
- package/dist/chunk-KFGZPVFA.js.map +1 -0
- package/dist/{chunk-H26VDFDS.js → chunk-KGFSPJLD.js} +2 -2
- package/dist/{chunk-AO5TSDKT.js → chunk-KMORGMCW.js} +7 -7
- package/dist/{chunk-WQWKYAAK.js → chunk-NUQF5F5J.js} +2 -2
- package/dist/{chunk-2YJ5H5E6.js → chunk-NZ6KSHFD.js} +23 -21
- package/dist/{chunk-2YJ5H5E6.js.map → chunk-NZ6KSHFD.js.map} +1 -1
- package/dist/{chunk-7Y3N4Y72.js → chunk-OHUDZRLK.js} +3 -3
- package/dist/{chunk-GCKHSBEN.js → chunk-OKMTUAWO.js} +4 -4
- package/dist/{chunk-6M5VJOC2.js → chunk-OTJOBZJ5.js} +167 -166
- package/dist/chunk-OTJOBZJ5.js.map +1 -0
- package/dist/{chunk-2W34HX2U.js → chunk-PS257NIU.js} +288 -373
- package/dist/chunk-PS257NIU.js.map +1 -0
- package/dist/chunk-QDC7JPFG.js +685 -0
- package/dist/chunk-QDC7JPFG.js.map +1 -0
- package/dist/chunk-QEAGL4V5.js +3185 -0
- package/dist/chunk-QEAGL4V5.js.map +1 -0
- package/dist/{chunk-GB2XPITA.js → chunk-QMY57PVW.js} +2 -2
- package/dist/{chunk-55GMOVKW.js → chunk-QNDDPXFR.js} +2 -2
- package/dist/{chunk-GXN7RRHR.js → chunk-QSIXNTRV.js} +4 -4
- package/dist/{chunk-G7XD4QH5.js → chunk-RGLFV4KO.js} +11372 -10218
- package/dist/chunk-RGLFV4KO.js.map +1 -0
- package/dist/{chunk-QBVP3SQP.js → chunk-SGR7ZAVE.js} +13 -7
- package/dist/chunk-SGR7ZAVE.js.map +1 -0
- package/dist/{chunk-KBG463UK.js → chunk-SMHAYK6I.js} +2409 -5243
- package/dist/chunk-SMHAYK6I.js.map +1 -0
- package/dist/{chunk-XG6PVB5S.js → chunk-SSQZB5SQ.js} +1 -11
- package/dist/chunk-SSQZB5SQ.js.map +1 -0
- package/dist/{chunk-GDLHTI5R.js → chunk-STPGIKPY.js} +8 -2
- package/dist/chunk-STPGIKPY.js.map +1 -0
- package/dist/{chunk-QJRQ4BRC.js → chunk-U22TOL5Y.js} +17 -17
- package/dist/{chunk-NGTVREIH.js → chunk-U6IHLEWT.js} +2 -2
- package/dist/{chunk-Z5YHMRLF.js → chunk-UUCCV3SI.js} +2 -2
- package/dist/{chunk-ZXXFP2LA.js → chunk-UXMCHBOJ.js} +2 -2
- package/dist/{chunk-VZVEP2OZ.js → chunk-VFAKGIDG.js} +2 -2
- package/dist/{chunk-QCHVR4ZM.js → chunk-VM7VAFJW.js} +33 -7
- package/dist/chunk-VM7VAFJW.js.map +1 -0
- package/dist/{chunk-VQK4VHLF.js → chunk-YQV75FIL.js} +2 -2
- package/dist/chunk-YUTVAMWW.js +2 -0
- package/dist/chunk-ZPLVANY2.js +15 -0
- package/dist/chunk-ZPLVANY2.js.map +1 -0
- package/dist/{cli-BIIUKPTE.js → cli-4CR7QIOK.js} +26 -22
- package/dist/{cli-BIIUKPTE.js.map → cli-4CR7QIOK.js.map} +1 -1
- package/dist/{cli-V2DI3K2R.js → cli-6R4W3HAH.js} +37 -33
- package/dist/{cli-V2DI3K2R.js.map → cli-6R4W3HAH.js.map} +1 -1
- package/dist/{cli-HO62TOM2.js → cli-BOMA2FMP.js} +14 -11
- package/dist/{cli-EH3I4IUX.js → cli-EDQPQOCE.js} +47 -41
- package/dist/cli-EDQPQOCE.js.map +1 -0
- package/dist/{cli-P2X7PNY6.js → cli-GBF76EXT.js} +25 -20
- package/dist/{cli-P2X7PNY6.js.map → cli-GBF76EXT.js.map} +1 -1
- package/dist/{cli-4YYC6LCY.js → cli-MQYCF3SR.js} +27 -23
- package/dist/{cli-4YYC6LCY.js.map → cli-MQYCF3SR.js.map} +1 -1
- package/dist/{cli-UETKXHJN.js → cli-OJKFXQOM.js} +9 -9
- package/dist/{cli-LWST5FQH.js → cli-PHZAO4LZ.js} +4 -4
- package/dist/{cli-TELPAMJO.js → cli-PTKFFNOW.js} +59 -35
- package/dist/cli-PTKFFNOW.js.map +1 -0
- package/dist/{cli-SGVFZOAW.js → cli-UW2K5Z5J.js} +34 -29
- package/dist/{cli-SGVFZOAW.js.map → cli-UW2K5Z5J.js.map} +1 -1
- package/dist/cli-XXTNPPKB.js +83 -0
- package/dist/cli-XXTNPPKB.js.map +1 -0
- package/dist/cli.js +24 -12
- package/dist/cli.js.map +1 -1
- package/dist/{config-TYXYQK3I.js → config-JJW75SBX.js} +5 -5
- package/dist/docmeta.js +13 -10
- package/dist/docmeta.js.map +1 -1
- package/dist/github-6VQKSB67.js +35 -0
- package/dist/github-RBSEM7ZK.js +30 -0
- package/dist/graph/runtime.d.ts +4 -1
- package/dist/graph/runtime.js +20 -9
- package/dist/graph/runtime.js.map +1 -1
- package/dist/{host-6GURH5HE.js → host-YSTYO5DX.js} +3 -3
- package/dist/index.d.ts +1214 -940
- package/dist/index.js +190 -160
- package/dist/index.js.map +1 -1
- package/dist/{json-QR4G35KA.js → json-PU2HLHDQ.js} +18 -14
- package/dist/labels-SJNSOPBI.js +73 -0
- package/dist/labels-SJNSOPBI.js.map +1 -0
- package/dist/lint-KIVTHLGU.js +34 -0
- package/dist/list-RDEJDDJF.js +32 -0
- package/dist/list-SUTDWL2J.js +35 -0
- package/dist/{page-FSXDXCDD.js → page-UMAA3NCM.js} +18 -13
- package/dist/{prepare-UPIBTFNS.js → prepare-3I3LOXXD.js} +24 -20
- package/dist/{prepare-UPIBTFNS.js.map → prepare-3I3LOXXD.js.map} +1 -1
- package/dist/{pretty-4IONWSEP.js → pretty-ANLRHU4O.js} +18 -14
- package/dist/{pretty-R4BQD2VH.js → pretty-Q3ZFKOR7.js} +18 -14
- package/dist/{provider-527CO4DM.js → provider-LBX4IXGX.js} +3 -3
- package/dist/{release-3D5PK6M7.js → release-VV3UTKE5.js} +3 -3
- package/dist/{reporters-M6LJ2IYU.js → reporters-26H3N2KW.js} +3 -3
- package/dist/{reporters-DHO2BXAD.js → reporters-ILT36CIH.js} +7 -7
- package/dist/{reporters-FPP6JNDP.js → reporters-PNDLWT6K.js} +16 -12
- package/dist/run-QXCK33Z4.js +37 -0
- package/dist/{term-ASM4LVYC.js → term-D2N7UN4P.js} +981 -138
- package/dist/term-D2N7UN4P.js.map +1 -0
- package/dist/validate-BRUCOT2O.js +19 -0
- package/dist/validate-BRUCOT2O.js.map +1 -0
- package/package.json +3 -2
- package/plugin/manni/.claude-plugin/plugin.json +1 -1
- package/shapes/graph/shapes-1.1.0.ttl +785 -0
- package/dist/batch-6NICDKRE.js +0 -41
- package/dist/build-3KP2K3XN.js +0 -32
- package/dist/calibrate-LUA3DWKD.js +0 -36
- package/dist/capture-NETOHCB4.js +0 -34
- package/dist/check-E4QCB7LS.js +0 -20
- package/dist/check-PTECPIIB.js +0 -26
- package/dist/chunk-2BV4FBC7.js.map +0 -1
- package/dist/chunk-2JV7C4YV.js.map +0 -1
- package/dist/chunk-2W34HX2U.js.map +0 -1
- package/dist/chunk-4DLF5SA4.js +0 -392
- package/dist/chunk-4DLF5SA4.js.map +0 -1
- package/dist/chunk-6AGESHHM.js +0 -387
- package/dist/chunk-6AGESHHM.js.map +0 -1
- package/dist/chunk-6LR73NMO.js.map +0 -1
- package/dist/chunk-6M5VJOC2.js.map +0 -1
- package/dist/chunk-ABHG6I3G.js.map +0 -1
- package/dist/chunk-CCWMACJL.js.map +0 -1
- package/dist/chunk-DNZUBCGZ.js.map +0 -1
- package/dist/chunk-G7XD4QH5.js.map +0 -1
- package/dist/chunk-GDLHTI5R.js.map +0 -1
- package/dist/chunk-KBG463UK.js.map +0 -1
- package/dist/chunk-PK7EKJ5T.js.map +0 -1
- package/dist/chunk-QBVP3SQP.js.map +0 -1
- package/dist/chunk-QCHVR4ZM.js.map +0 -1
- package/dist/chunk-VVVKBUBO.js +0 -818
- package/dist/chunk-VVVKBUBO.js.map +0 -1
- package/dist/chunk-XG6PVB5S.js.map +0 -1
- package/dist/cli-EH3I4IUX.js.map +0 -1
- package/dist/cli-TELPAMJO.js.map +0 -1
- package/dist/github-ESK45CEZ.js +0 -26
- package/dist/github-WER7JUTN.js +0 -31
- package/dist/lint-QTI7XK2A.js +0 -30
- package/dist/list-JO4G3TS3.js +0 -30
- package/dist/list-O2MJUP5V.js +0 -28
- package/dist/run-YH5Z7RJ7.js +0 -32
- package/dist/term-ASM4LVYC.js.map +0 -1
- package/dist/validate-7JI3H57P.js +0 -17
- /package/dist/{batch-6NICDKRE.js.map → batch-EFSFG6GC.js.map} +0 -0
- /package/dist/{build-3KP2K3XN.js.map → build-NIO3UIWJ.js.map} +0 -0
- /package/dist/{calibrate-LUA3DWKD.js.map → calibrate-6VO7URRV.js.map} +0 -0
- /package/dist/{capture-NETOHCB4.js.map → capture-NMBVJO3C.js.map} +0 -0
- /package/dist/{check-7B77ZD2N.js.map → check-SHOYX2B5.js.map} +0 -0
- /package/dist/{check-E4QCB7LS.js.map → check-XMJKH3KV.js.map} +0 -0
- /package/dist/{check-PTECPIIB.js.map → check-ZMO3ZLMW.js.map} +0 -0
- /package/dist/{chunk-LQZQ5KGG.js.map → chunk-4Q24OYI3.js.map} +0 -0
- /package/dist/{chunk-XU73V5XT.js.map → chunk-4WJTURRO.js.map} +0 -0
- /package/dist/{chunk-WN47MNSK.js.map → chunk-5SID2SVL.js.map} +0 -0
- /package/dist/{chunk-5REEVKGH.js.map → chunk-AANUY4BH.js.map} +0 -0
- /package/dist/{chunk-RZVCWX5R.js.map → chunk-AYVKN3PG.js.map} +0 -0
- /package/dist/{chunk-2UCC26MO.js.map → chunk-CH6IOGXV.js.map} +0 -0
- /package/dist/{chunk-RODZ7MB7.js.map → chunk-D5Z6B4M7.js.map} +0 -0
- /package/dist/{chunk-IJ62BB2T.js.map → chunk-D6SELXQ2.js.map} +0 -0
- /package/dist/{chunk-3E2X2RBU.js.map → chunk-DGRLHDM4.js.map} +0 -0
- /package/dist/{chunk-BD7IXBWE.js.map → chunk-F564FHMQ.js.map} +0 -0
- /package/dist/{chunk-DFCQ6BMI.js.map → chunk-G3MBUL5M.js.map} +0 -0
- /package/dist/{chunk-SUTMSDQ2.js.map → chunk-GQ3KRY3B.js.map} +0 -0
- /package/dist/{chunk-EAUIQADY.js.map → chunk-IQQAJROD.js.map} +0 -0
- /package/dist/{chunk-ZHRPH52H.js.map → chunk-IZXN3WI6.js.map} +0 -0
- /package/dist/{chunk-NCPWXHDO.js.map → chunk-JEUFYSFQ.js.map} +0 -0
- /package/dist/{chunk-G6FNWRAI.js.map → chunk-JSSM7VVV.js.map} +0 -0
- /package/dist/{chunk-H26VDFDS.js.map → chunk-KGFSPJLD.js.map} +0 -0
- /package/dist/{chunk-AO5TSDKT.js.map → chunk-KMORGMCW.js.map} +0 -0
- /package/dist/{chunk-WQWKYAAK.js.map → chunk-NUQF5F5J.js.map} +0 -0
- /package/dist/{chunk-7Y3N4Y72.js.map → chunk-OHUDZRLK.js.map} +0 -0
- /package/dist/{chunk-GCKHSBEN.js.map → chunk-OKMTUAWO.js.map} +0 -0
- /package/dist/{chunk-GB2XPITA.js.map → chunk-QMY57PVW.js.map} +0 -0
- /package/dist/{chunk-55GMOVKW.js.map → chunk-QNDDPXFR.js.map} +0 -0
- /package/dist/{chunk-GXN7RRHR.js.map → chunk-QSIXNTRV.js.map} +0 -0
- /package/dist/{chunk-QJRQ4BRC.js.map → chunk-U22TOL5Y.js.map} +0 -0
- /package/dist/{chunk-NGTVREIH.js.map → chunk-U6IHLEWT.js.map} +0 -0
- /package/dist/{chunk-Z5YHMRLF.js.map → chunk-UUCCV3SI.js.map} +0 -0
- /package/dist/{chunk-ZXXFP2LA.js.map → chunk-UXMCHBOJ.js.map} +0 -0
- /package/dist/{chunk-VZVEP2OZ.js.map → chunk-VFAKGIDG.js.map} +0 -0
- /package/dist/{chunk-VQK4VHLF.js.map → chunk-YQV75FIL.js.map} +0 -0
- /package/dist/{cli-HO62TOM2.js.map → chunk-YUTVAMWW.js.map} +0 -0
- /package/dist/{config-TYXYQK3I.js.map → cli-BOMA2FMP.js.map} +0 -0
- /package/dist/{cli-UETKXHJN.js.map → cli-OJKFXQOM.js.map} +0 -0
- /package/dist/{cli-LWST5FQH.js.map → cli-PHZAO4LZ.js.map} +0 -0
- /package/dist/{github-ESK45CEZ.js.map → config-JJW75SBX.js.map} +0 -0
- /package/dist/{github-WER7JUTN.js.map → github-6VQKSB67.js.map} +0 -0
- /package/dist/{host-6GURH5HE.js.map → github-RBSEM7ZK.js.map} +0 -0
- /package/dist/{json-QR4G35KA.js.map → host-YSTYO5DX.js.map} +0 -0
- /package/dist/{lint-QTI7XK2A.js.map → json-PU2HLHDQ.js.map} +0 -0
- /package/dist/{list-JO4G3TS3.js.map → lint-KIVTHLGU.js.map} +0 -0
- /package/dist/{list-O2MJUP5V.js.map → list-RDEJDDJF.js.map} +0 -0
- /package/dist/{page-FSXDXCDD.js.map → list-SUTDWL2J.js.map} +0 -0
- /package/dist/{pretty-4IONWSEP.js.map → page-UMAA3NCM.js.map} +0 -0
- /package/dist/{pretty-R4BQD2VH.js.map → pretty-ANLRHU4O.js.map} +0 -0
- /package/dist/{provider-527CO4DM.js.map → pretty-Q3ZFKOR7.js.map} +0 -0
- /package/dist/{reporters-DHO2BXAD.js.map → provider-LBX4IXGX.js.map} +0 -0
- /package/dist/{release-3D5PK6M7.js.map → release-VV3UTKE5.js.map} +0 -0
- /package/dist/{reporters-FPP6JNDP.js.map → reporters-26H3N2KW.js.map} +0 -0
- /package/dist/{reporters-M6LJ2IYU.js.map → reporters-ILT36CIH.js.map} +0 -0
- /package/dist/{run-YH5Z7RJ7.js.map → reporters-PNDLWT6K.js.map} +0 -0
- /package/dist/{validate-7JI3H57P.js.map → run-QXCK33Z4.js.map} +0 -0
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
shortPin,
|
|
7
7
|
shortSrc,
|
|
8
8
|
spellAt
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AYVKN3PG.js";
|
|
10
10
|
import {
|
|
11
11
|
parseSrc
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-24AJK2RG.js";
|
|
13
13
|
import {
|
|
14
14
|
palette
|
|
15
15
|
} from "./chunk-RNVYGWIC.js";
|
|
@@ -452,4 +452,4 @@ export {
|
|
|
452
452
|
removalLine,
|
|
453
453
|
renderRemovePretty
|
|
454
454
|
};
|
|
455
|
-
//# sourceMappingURL=chunk-
|
|
455
|
+
//# sourceMappingURL=chunk-OHUDZRLK.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
JEV,
|
|
8
8
|
JEV_OUT_OF_LOOP
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-U6IHLEWT.js";
|
|
10
10
|
import {
|
|
11
11
|
TracevalsError
|
|
12
12
|
} from "./chunk-UKZNLVJW.js";
|
|
@@ -20,10 +20,10 @@ import {
|
|
|
20
20
|
FAMILY_CONFIG_NAMES,
|
|
21
21
|
findConfigFileSync,
|
|
22
22
|
readConfigFileSync
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-OTJOBZJ5.js";
|
|
24
24
|
import {
|
|
25
25
|
assertKnownProvider
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-VM7VAFJW.js";
|
|
27
27
|
import {
|
|
28
28
|
errorMessage
|
|
29
29
|
} from "./chunk-G3T47CFV.js";
|
|
@@ -532,4 +532,4 @@ export {
|
|
|
532
532
|
discoverConfig,
|
|
533
533
|
loadConfig
|
|
534
534
|
};
|
|
535
|
-
//# sourceMappingURL=chunk-
|
|
535
|
+
//# sourceMappingURL=chunk-OKMTUAWO.js.map
|
|
@@ -5,137 +5,11 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
PROVIDERS_KEY,
|
|
7
7
|
parseProviders
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-VM7VAFJW.js";
|
|
9
9
|
import {
|
|
10
10
|
errorMessage
|
|
11
11
|
} from "./chunk-G3T47CFV.js";
|
|
12
12
|
|
|
13
|
-
// src/shared/encryption.ts
|
|
14
|
-
import {
|
|
15
|
-
createCipheriv,
|
|
16
|
-
createDecipheriv,
|
|
17
|
-
createHmac,
|
|
18
|
-
hkdfSync,
|
|
19
|
-
randomBytes,
|
|
20
|
-
timingSafeEqual
|
|
21
|
-
} from "node:crypto";
|
|
22
|
-
import { TextDecoder } from "node:util";
|
|
23
|
-
var ENCRYPTED_VALUE = /^~[A-Za-z0-9_-]{82,}$/;
|
|
24
|
-
function isEncryptedValue(value) {
|
|
25
|
-
return typeof value === "string" && ENCRYPTED_VALUE.test(value);
|
|
26
|
-
}
|
|
27
|
-
var ENCRYPTION_KEY_SHAPE = /^[A-Za-z0-9_-]{32,}$/;
|
|
28
|
-
function isValidEncryptionKey(value) {
|
|
29
|
-
return typeof value === "string" && ENCRYPTION_KEY_SHAPE.test(value);
|
|
30
|
-
}
|
|
31
|
-
function generateEncryptionKey() {
|
|
32
|
-
return randomBytes(32).toString("hex");
|
|
33
|
-
}
|
|
34
|
-
var VERSION = 1;
|
|
35
|
-
var NONCE_BYTES = 12;
|
|
36
|
-
var TAG_BYTES = 16;
|
|
37
|
-
var BLOCK = 32;
|
|
38
|
-
var MIN_BYTES = 1 + NONCE_BYTES + BLOCK + TAG_BYTES;
|
|
39
|
-
var subkeyCache = /* @__PURE__ */ new Map();
|
|
40
|
-
function subkeys(key) {
|
|
41
|
-
const cached = subkeyCache.get(key);
|
|
42
|
-
if (cached !== void 0) return cached;
|
|
43
|
-
const ikm = Buffer.from(key, "utf8");
|
|
44
|
-
const derive = (info) => Buffer.from(hkdfSync("sha256", ikm, Buffer.alloc(0), info, 32));
|
|
45
|
-
const made = {
|
|
46
|
-
encrypt: derive("manni/v1/encrypt"),
|
|
47
|
-
nonce: derive("manni/v1/nonce"),
|
|
48
|
-
pin: derive("manni/v1/pin")
|
|
49
|
-
};
|
|
50
|
-
subkeyCache.set(key, made);
|
|
51
|
-
return made;
|
|
52
|
-
}
|
|
53
|
-
function requireKey(key, caller) {
|
|
54
|
-
if (!isValidEncryptionKey(key)) {
|
|
55
|
-
throw new Error(
|
|
56
|
-
`${caller}: the key must be at least 32 hex or base64url characters.`
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
function pad(data) {
|
|
61
|
-
const out = Buffer.alloc((Math.floor(data.length / BLOCK) + 1) * BLOCK);
|
|
62
|
-
data.copy(out);
|
|
63
|
-
out[data.length] = 128;
|
|
64
|
-
return out;
|
|
65
|
-
}
|
|
66
|
-
function unpad(padded) {
|
|
67
|
-
let i = padded.length - 1;
|
|
68
|
-
while (i >= 0 && padded[i] === 0) i--;
|
|
69
|
-
if (i < 0 || padded[i] !== 128) return null;
|
|
70
|
-
if (padded.length !== (Math.floor(i / BLOCK) + 1) * BLOCK) return null;
|
|
71
|
-
return padded.subarray(0, i);
|
|
72
|
-
}
|
|
73
|
-
function nonceFor(keys, context, padded) {
|
|
74
|
-
return createHmac("sha256", keys.nonce).update(context).update(Buffer.from([0])).update(padded).digest().subarray(0, NONCE_BYTES);
|
|
75
|
-
}
|
|
76
|
-
function aad(context) {
|
|
77
|
-
return Buffer.concat([Buffer.from([VERSION]), context]);
|
|
78
|
-
}
|
|
79
|
-
function encryptValue(value, key, context) {
|
|
80
|
-
requireKey(key, "encryptValue");
|
|
81
|
-
const json = JSON.stringify(value);
|
|
82
|
-
if (json === void 0) {
|
|
83
|
-
throw new TypeError("encryptValue: the value is not JSON.");
|
|
84
|
-
}
|
|
85
|
-
const keys = subkeys(key);
|
|
86
|
-
const ctx = Buffer.from(context, "utf8");
|
|
87
|
-
const padded = pad(Buffer.from(json, "utf8"));
|
|
88
|
-
const nonce = nonceFor(keys, ctx, padded);
|
|
89
|
-
const cipher = createCipheriv("aes-256-gcm", keys.encrypt, nonce, {
|
|
90
|
-
authTagLength: TAG_BYTES
|
|
91
|
-
});
|
|
92
|
-
cipher.setAAD(aad(ctx));
|
|
93
|
-
const sealed = Buffer.concat([cipher.update(padded), cipher.final()]);
|
|
94
|
-
const tag = cipher.getAuthTag();
|
|
95
|
-
const bytes = Buffer.concat([Buffer.from([VERSION]), nonce, sealed, tag]);
|
|
96
|
-
return `~${bytes.toString("base64url")}`;
|
|
97
|
-
}
|
|
98
|
-
var FAILED = { ok: false };
|
|
99
|
-
function decryptValue(token, key, context) {
|
|
100
|
-
try {
|
|
101
|
-
return open(token, key, context);
|
|
102
|
-
} catch {
|
|
103
|
-
return FAILED;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
function open(token, key, context) {
|
|
107
|
-
if (!isEncryptedValue(token) || !isValidEncryptionKey(key)) return FAILED;
|
|
108
|
-
const body = token.slice(1);
|
|
109
|
-
const bytes = Buffer.from(body, "base64url");
|
|
110
|
-
if (bytes.toString("base64url") !== body) return FAILED;
|
|
111
|
-
if (bytes.length < MIN_BYTES) return FAILED;
|
|
112
|
-
if ((bytes.length - 1 - NONCE_BYTES - TAG_BYTES) % BLOCK !== 0) return FAILED;
|
|
113
|
-
if (bytes[0] !== VERSION) return FAILED;
|
|
114
|
-
const nonce = bytes.subarray(1, 1 + NONCE_BYTES);
|
|
115
|
-
const sealed = bytes.subarray(1 + NONCE_BYTES, bytes.length - TAG_BYTES);
|
|
116
|
-
const tag = bytes.subarray(bytes.length - TAG_BYTES);
|
|
117
|
-
const keys = subkeys(key);
|
|
118
|
-
const ctx = Buffer.from(context, "utf8");
|
|
119
|
-
const decipher = createDecipheriv("aes-256-gcm", keys.encrypt, nonce, {
|
|
120
|
-
authTagLength: TAG_BYTES
|
|
121
|
-
});
|
|
122
|
-
decipher.setAAD(aad(ctx));
|
|
123
|
-
decipher.setAuthTag(tag);
|
|
124
|
-
const padded = Buffer.concat([decipher.update(sealed), decipher.final()]);
|
|
125
|
-
if (!timingSafeEqual(nonceFor(keys, ctx, padded), nonce)) return FAILED;
|
|
126
|
-
const data = unpad(padded);
|
|
127
|
-
if (data === null) return FAILED;
|
|
128
|
-
const json = new TextDecoder("utf-8", { fatal: true }).decode(data);
|
|
129
|
-
const value = JSON.parse(json);
|
|
130
|
-
return { ok: true, value };
|
|
131
|
-
}
|
|
132
|
-
var KEYED_PIN_PREFIX = "hmac-sha256-";
|
|
133
|
-
function keyedPin(text, key) {
|
|
134
|
-
requireKey(key, "keyedPin");
|
|
135
|
-
const mac = createHmac("sha256", subkeys(key).pin).update(text, "utf8").digest("hex");
|
|
136
|
-
return `${KEYED_PIN_PREFIX}${mac}`;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
13
|
// src/shared/collections.ts
|
|
140
14
|
import picomatch2 from "picomatch";
|
|
141
15
|
|
|
@@ -593,11 +467,135 @@ function isGlob(entry) {
|
|
|
593
467
|
return picomatch2.scan(entry).isGlob;
|
|
594
468
|
}
|
|
595
469
|
|
|
470
|
+
// src/shared/encryption.ts
|
|
471
|
+
import {
|
|
472
|
+
createCipheriv,
|
|
473
|
+
createDecipheriv,
|
|
474
|
+
createHmac,
|
|
475
|
+
hkdfSync,
|
|
476
|
+
randomBytes,
|
|
477
|
+
timingSafeEqual
|
|
478
|
+
} from "node:crypto";
|
|
479
|
+
import { TextDecoder } from "node:util";
|
|
480
|
+
var ENCRYPTED_VALUE = /^~[A-Za-z0-9_-]{82,}$/;
|
|
481
|
+
function isEncryptedValue(value) {
|
|
482
|
+
return typeof value === "string" && ENCRYPTED_VALUE.test(value);
|
|
483
|
+
}
|
|
484
|
+
var ENCRYPTION_KEY_SHAPE = /^[A-Za-z0-9_-]{32,}$/;
|
|
485
|
+
function isValidEncryptionKey(value) {
|
|
486
|
+
return typeof value === "string" && ENCRYPTION_KEY_SHAPE.test(value);
|
|
487
|
+
}
|
|
488
|
+
function generateEncryptionKey() {
|
|
489
|
+
return randomBytes(32).toString("hex");
|
|
490
|
+
}
|
|
491
|
+
var VERSION = 1;
|
|
492
|
+
var NONCE_BYTES = 12;
|
|
493
|
+
var TAG_BYTES = 16;
|
|
494
|
+
var BLOCK = 32;
|
|
495
|
+
var MIN_BYTES = 1 + NONCE_BYTES + BLOCK + TAG_BYTES;
|
|
496
|
+
var subkeyCache = /* @__PURE__ */ new Map();
|
|
497
|
+
function subkeys(key) {
|
|
498
|
+
const cached = subkeyCache.get(key);
|
|
499
|
+
if (cached !== void 0) return cached;
|
|
500
|
+
const ikm = Buffer.from(key, "utf8");
|
|
501
|
+
const derive = (info) => Buffer.from(hkdfSync("sha256", ikm, Buffer.alloc(0), info, 32));
|
|
502
|
+
const made = {
|
|
503
|
+
encrypt: derive("manni/v1/encrypt"),
|
|
504
|
+
nonce: derive("manni/v1/nonce"),
|
|
505
|
+
pin: derive("manni/v1/pin")
|
|
506
|
+
};
|
|
507
|
+
subkeyCache.set(key, made);
|
|
508
|
+
return made;
|
|
509
|
+
}
|
|
510
|
+
function requireKey(key, caller) {
|
|
511
|
+
if (!isValidEncryptionKey(key)) {
|
|
512
|
+
throw new Error(
|
|
513
|
+
`${caller}: the key must be at least 32 hex or base64url characters.`
|
|
514
|
+
);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
function pad(data) {
|
|
518
|
+
const out = Buffer.alloc((Math.floor(data.length / BLOCK) + 1) * BLOCK);
|
|
519
|
+
data.copy(out);
|
|
520
|
+
out[data.length] = 128;
|
|
521
|
+
return out;
|
|
522
|
+
}
|
|
523
|
+
function unpad(padded) {
|
|
524
|
+
let i = padded.length - 1;
|
|
525
|
+
while (i >= 0 && padded[i] === 0) i--;
|
|
526
|
+
if (i < 0 || padded[i] !== 128) return null;
|
|
527
|
+
if (padded.length !== (Math.floor(i / BLOCK) + 1) * BLOCK) return null;
|
|
528
|
+
return padded.subarray(0, i);
|
|
529
|
+
}
|
|
530
|
+
function nonceFor(keys, context, padded) {
|
|
531
|
+
return createHmac("sha256", keys.nonce).update(context).update(Buffer.from([0])).update(padded).digest().subarray(0, NONCE_BYTES);
|
|
532
|
+
}
|
|
533
|
+
function aad(context) {
|
|
534
|
+
return Buffer.concat([Buffer.from([VERSION]), context]);
|
|
535
|
+
}
|
|
536
|
+
function encryptValue(value, key, context) {
|
|
537
|
+
requireKey(key, "encryptValue");
|
|
538
|
+
const json = JSON.stringify(value);
|
|
539
|
+
if (json === void 0) {
|
|
540
|
+
throw new TypeError("encryptValue: the value is not JSON.");
|
|
541
|
+
}
|
|
542
|
+
const keys = subkeys(key);
|
|
543
|
+
const ctx = Buffer.from(context, "utf8");
|
|
544
|
+
const padded = pad(Buffer.from(json, "utf8"));
|
|
545
|
+
const nonce = nonceFor(keys, ctx, padded);
|
|
546
|
+
const cipher = createCipheriv("aes-256-gcm", keys.encrypt, nonce, {
|
|
547
|
+
authTagLength: TAG_BYTES
|
|
548
|
+
});
|
|
549
|
+
cipher.setAAD(aad(ctx));
|
|
550
|
+
const sealed = Buffer.concat([cipher.update(padded), cipher.final()]);
|
|
551
|
+
const tag = cipher.getAuthTag();
|
|
552
|
+
const bytes = Buffer.concat([Buffer.from([VERSION]), nonce, sealed, tag]);
|
|
553
|
+
return `~${bytes.toString("base64url")}`;
|
|
554
|
+
}
|
|
555
|
+
var FAILED = { ok: false };
|
|
556
|
+
function decryptValue(token, key, context) {
|
|
557
|
+
try {
|
|
558
|
+
return open(token, key, context);
|
|
559
|
+
} catch {
|
|
560
|
+
return FAILED;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
function open(token, key, context) {
|
|
564
|
+
if (!isEncryptedValue(token) || !isValidEncryptionKey(key)) return FAILED;
|
|
565
|
+
const body = token.slice(1);
|
|
566
|
+
const bytes = Buffer.from(body, "base64url");
|
|
567
|
+
if (bytes.toString("base64url") !== body) return FAILED;
|
|
568
|
+
if (bytes.length < MIN_BYTES) return FAILED;
|
|
569
|
+
if ((bytes.length - 1 - NONCE_BYTES - TAG_BYTES) % BLOCK !== 0) return FAILED;
|
|
570
|
+
if (bytes[0] !== VERSION) return FAILED;
|
|
571
|
+
const nonce = bytes.subarray(1, 1 + NONCE_BYTES);
|
|
572
|
+
const sealed = bytes.subarray(1 + NONCE_BYTES, bytes.length - TAG_BYTES);
|
|
573
|
+
const tag = bytes.subarray(bytes.length - TAG_BYTES);
|
|
574
|
+
const keys = subkeys(key);
|
|
575
|
+
const ctx = Buffer.from(context, "utf8");
|
|
576
|
+
const decipher = createDecipheriv("aes-256-gcm", keys.encrypt, nonce, {
|
|
577
|
+
authTagLength: TAG_BYTES
|
|
578
|
+
});
|
|
579
|
+
decipher.setAAD(aad(ctx));
|
|
580
|
+
decipher.setAuthTag(tag);
|
|
581
|
+
const padded = Buffer.concat([decipher.update(sealed), decipher.final()]);
|
|
582
|
+
if (!timingSafeEqual(nonceFor(keys, ctx, padded), nonce)) return FAILED;
|
|
583
|
+
const data = unpad(padded);
|
|
584
|
+
if (data === null) return FAILED;
|
|
585
|
+
const json = new TextDecoder("utf-8", { fatal: true }).decode(data);
|
|
586
|
+
const value = JSON.parse(json);
|
|
587
|
+
return { ok: true, value };
|
|
588
|
+
}
|
|
589
|
+
var KEYED_PIN_PREFIX = "hmac-sha256-";
|
|
590
|
+
function keyedPin(text, key) {
|
|
591
|
+
requireKey(key, "keyedPin");
|
|
592
|
+
const mac = createHmac("sha256", subkeys(key).pin).update(text, "utf8").digest("hex");
|
|
593
|
+
return `${KEYED_PIN_PREFIX}${mac}`;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
596
|
// src/shared/tools.ts
|
|
597
597
|
import { isAbsolute as isAbsolute2, resolve as resolve2 } from "node:path";
|
|
598
|
-
var TOOL_KEYS = ["vale", "dita-ot"];
|
|
599
|
-
var VALE_KEYS = ["config"];
|
|
600
|
-
var DITA_OT_KEYS = ["home"];
|
|
598
|
+
var TOOL_KEYS = ["vale", "dita-ot", "doc-detective"];
|
|
601
599
|
function isMapping2(value) {
|
|
602
600
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
603
601
|
}
|
|
@@ -618,52 +616,54 @@ function parseTools(raw, source, toError) {
|
|
|
618
616
|
rejectUnknownKeys2(raw, TOOL_KEYS, "tools", source, toError);
|
|
619
617
|
const tools = {};
|
|
620
618
|
if (Object.hasOwn(raw, "vale")) {
|
|
621
|
-
tools.vale =
|
|
619
|
+
tools.vale = parseStringKey(raw["vale"], "vale", "config", source, toError);
|
|
622
620
|
}
|
|
623
621
|
if (Object.hasOwn(raw, "dita-ot")) {
|
|
624
|
-
tools["dita-ot"] =
|
|
622
|
+
tools["dita-ot"] = parseStringKey(raw["dita-ot"], "dita-ot", "home", source, toError);
|
|
623
|
+
}
|
|
624
|
+
if (Object.hasOwn(raw, "doc-detective")) {
|
|
625
|
+
tools["doc-detective"] = parseStringKey(
|
|
626
|
+
raw["doc-detective"],
|
|
627
|
+
"doc-detective",
|
|
628
|
+
"config",
|
|
629
|
+
source,
|
|
630
|
+
toError
|
|
631
|
+
);
|
|
625
632
|
}
|
|
626
633
|
return tools;
|
|
627
634
|
}
|
|
628
|
-
function
|
|
635
|
+
function parseStringKey(raw, tool, key, source, toError) {
|
|
629
636
|
if (!isMapping2(raw)) {
|
|
630
|
-
throw toError(`${source}: tools
|
|
637
|
+
throw toError(`${source}: tools.${tool} must be a mapping.`);
|
|
631
638
|
}
|
|
632
|
-
rejectUnknownKeys2(raw,
|
|
633
|
-
const
|
|
634
|
-
if (Object.hasOwn(raw,
|
|
635
|
-
const
|
|
636
|
-
if (typeof
|
|
637
|
-
throw toError(`${source}: tools
|
|
639
|
+
rejectUnknownKeys2(raw, [key], `tools.${tool}`, source, toError);
|
|
640
|
+
const out = {};
|
|
641
|
+
if (Object.hasOwn(raw, key)) {
|
|
642
|
+
const value = raw[key];
|
|
643
|
+
if (typeof value !== "string" || value.trim() === "") {
|
|
644
|
+
throw toError(`${source}: tools.${tool}.${key} must be a non-empty string.`);
|
|
638
645
|
}
|
|
639
|
-
|
|
646
|
+
out[key] = value;
|
|
640
647
|
}
|
|
641
|
-
return
|
|
648
|
+
return out;
|
|
642
649
|
}
|
|
643
|
-
function
|
|
644
|
-
|
|
645
|
-
throw toError(`${source}: tools.dita-ot must be a mapping.`);
|
|
646
|
-
}
|
|
647
|
-
rejectUnknownKeys2(raw, DITA_OT_KEYS, "tools.dita-ot", source, toError);
|
|
648
|
-
const ditaOt = {};
|
|
649
|
-
if (Object.hasOwn(raw, "home")) {
|
|
650
|
-
const home = raw["home"];
|
|
651
|
-
if (typeof home !== "string" || home.trim() === "") {
|
|
652
|
-
throw toError(`${source}: tools.dita-ot.home must be a non-empty string.`);
|
|
653
|
-
}
|
|
654
|
-
ditaOt.home = home;
|
|
655
|
-
}
|
|
656
|
-
return ditaOt;
|
|
650
|
+
function fromConfigDir(path, configDir) {
|
|
651
|
+
return isAbsolute2(path) ? path : resolve2(configDir, path);
|
|
657
652
|
}
|
|
658
653
|
function valeConfigPath(tools, configDir) {
|
|
659
654
|
const config = tools.vale?.config;
|
|
660
655
|
if (config === void 0) return void 0;
|
|
661
|
-
return
|
|
656
|
+
return fromConfigDir(config, configDir);
|
|
662
657
|
}
|
|
663
658
|
function ditaOtHome(tools, configDir) {
|
|
664
659
|
const home = tools["dita-ot"]?.home;
|
|
665
660
|
if (home === void 0) return void 0;
|
|
666
|
-
return
|
|
661
|
+
return fromConfigDir(home, configDir);
|
|
662
|
+
}
|
|
663
|
+
function docDetectiveConfigPath(tools, configDir) {
|
|
664
|
+
const config = tools["doc-detective"]?.config;
|
|
665
|
+
if (config === void 0) return void 0;
|
|
666
|
+
return fromConfigDir(config, configDir);
|
|
667
667
|
}
|
|
668
668
|
|
|
669
669
|
// src/shared/config-file.ts
|
|
@@ -930,13 +930,6 @@ function readFamilyConfigFileSync(explicitPath, cwd, toError) {
|
|
|
930
930
|
}
|
|
931
931
|
|
|
932
932
|
export {
|
|
933
|
-
isEncryptedValue,
|
|
934
|
-
isValidEncryptionKey,
|
|
935
|
-
generateEncryptionKey,
|
|
936
|
-
encryptValue,
|
|
937
|
-
decryptValue,
|
|
938
|
-
KEYED_PIN_PREFIX,
|
|
939
|
-
keyedPin,
|
|
940
933
|
matchesFileGlob,
|
|
941
934
|
PAGE_PLACEHOLDER,
|
|
942
935
|
hasPagePlaceholder,
|
|
@@ -951,10 +944,18 @@ export {
|
|
|
951
944
|
selectCollections,
|
|
952
945
|
isMember,
|
|
953
946
|
matchesCollectionPaths,
|
|
947
|
+
isEncryptedValue,
|
|
948
|
+
isValidEncryptionKey,
|
|
949
|
+
generateEncryptionKey,
|
|
950
|
+
encryptValue,
|
|
951
|
+
decryptValue,
|
|
952
|
+
KEYED_PIN_PREFIX,
|
|
953
|
+
keyedPin,
|
|
954
954
|
findGitRoot,
|
|
955
955
|
searchPath,
|
|
956
956
|
valeConfigPath,
|
|
957
957
|
ditaOtHome,
|
|
958
|
+
docDetectiveConfigPath,
|
|
958
959
|
FAMILY_CONFIG_NAMES,
|
|
959
960
|
ENCRYPTION_KEY_FIELD,
|
|
960
961
|
ENCRYPTION_KEY_PREVIOUS_FIELD,
|
|
@@ -965,4 +966,4 @@ export {
|
|
|
965
966
|
findFamilyConfigFile,
|
|
966
967
|
readFamilyConfigFile
|
|
967
968
|
};
|
|
968
|
-
//# sourceMappingURL=chunk-
|
|
969
|
+
//# sourceMappingURL=chunk-OTJOBZJ5.js.map
|