@harperfast/harper 5.3.2 → 5.3.3
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/bin/cliOperations.ts +3 -3
- package/bin/copyDb.ts +4 -3
- package/components/DESIGN.md +12 -0
- package/components/packageComponent.ts +42 -17
- package/config/DESIGN.md +4 -0
- package/config/configUtils.ts +8 -8
- package/config/parseConfigFile.ts +11 -7
- package/dist/bin/cliOperations.js +3 -3
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/copyDb.js +3 -3
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/components/packageComponent.d.ts +9 -7
- package/dist/components/packageComponent.js +41 -16
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/config/configUtils.js +4 -3
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/parseConfigFile.d.ts +1 -0
- package/dist/config/parseConfigFile.js +7 -3
- package/dist/config/parseConfigFile.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +75 -10
- package/dist/resources/DatabaseTransaction.js +1080 -277
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/Resource.js +40 -14
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.js +1 -0
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.js +16 -2
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +34 -16
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/databases.d.ts +5 -0
- package/dist/resources/databases.js +38 -4
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/recordLock.d.ts +9 -4
- package/dist/resources/recordLock.js +79 -19
- package/dist/resources/recordLock.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +2 -0
- package/dist/server/DurableSubscriptionsSession.js +20 -17
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/mqtt.js +41 -23
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/serverHelpers/NodeAdapterResponse.js +18 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -1
- package/dist/utility/npmUtilities.js +18 -7
- package/dist/utility/npmUtilities.js.map +1 -1
- package/package.json +1 -1
- package/resources/DESIGN.md +42 -10
- package/resources/DatabaseTransaction.ts +1244 -275
- package/resources/Resource.ts +39 -14
- package/resources/RocksTransactionLogStore.ts +1 -0
- package/resources/Table.ts +24 -2
- package/resources/analytics/DESIGN.md +17 -0
- package/resources/analytics/write.ts +28 -15
- package/resources/databases.ts +40 -4
- package/resources/record-locks.md +34 -17
- package/resources/recordLock.ts +89 -22
- package/server/DESIGN.md +2 -0
- package/server/DurableSubscriptionsSession.ts +18 -16
- package/server/mqtt.ts +39 -22
- package/server/serverHelpers/NodeAdapterResponse.ts +19 -1
- package/studio/web/assets/Chat-B-Rd-ft9.js +2100 -0
- package/studio/web/assets/FloatingChat-CFypO7kh.js +23 -0
- package/studio/web/assets/SearchDialog-BRIyPiBl.js +1 -0
- package/studio/web/assets/{abnfDiagram-O67JEVCF-raXE027J.js → abnfDiagram-YUKMZFIV-DPR2lFRk.js} +1 -1
- package/studio/web/assets/{apiToken-DNrfij0E.js → apiToken-BraYnzvC.js} +1 -1
- package/studio/web/assets/applications-XCds8-ZP.js +296 -0
- package/studio/web/assets/architecture-WOLXFQ4H-DtJHIK0_.js +1 -0
- package/studio/web/assets/{architectureDiagram-NJMV4G6O-C8_Eet7w.js → architectureDiagram-47P4ROYG-MDymp2dh.js} +3 -3
- package/studio/web/assets/authStore-DE1HFvVP.js +3 -0
- package/studio/web/assets/{blockDiagram-BEXU5L5S-DR6S5-1D.js → blockDiagram-E7TT5TSB-O5qRgZmd.js} +3 -3
- package/studio/web/assets/button-C37w80Uk.js +21 -0
- package/studio/web/assets/{c4Diagram-YGBWAQC7-BAfZ1G01.js → c4Diagram-CRA5TL53-BdPORGHo.js} +2 -2
- package/studio/web/assets/channel-yCStoq0_.js +1 -0
- package/studio/web/assets/{chevron-up-CFxbMGv2.js → chevron-up-DozwrIz-.js} +1 -1
- package/studio/web/assets/chunk-2BW5OAIV-DJ-iXJAw.js +10 -0
- package/studio/web/assets/{chunk-ZIGJFQKS-Cs8fUn7y.js → chunk-3YJQHVM4-BOgacqS1.js} +2 -2
- package/studio/web/assets/{chunk-7PRAP22T-KyqX6x3f.js → chunk-4EA7E6EY-C-7xqUBl.js} +1 -1
- package/studio/web/assets/{chunk-GWA4HPMP-DsejB6gA.js → chunk-7TKQ45FW-C3XA1bIN.js} +1 -1
- package/studio/web/assets/{chunk-GTNCS2PH-DGHLXyow.js → chunk-AW2ZBBNX-BdvgD1UW.js} +3 -3
- package/studio/web/assets/{chunk-5DYCD2WN-BceBfIHT.js → chunk-DBDB3WZW-CKKxIc6F.js} +1 -1
- package/studio/web/assets/{chunk-MBY4JIJT-BwSGweQP.js → chunk-E2ZNV5FY-bVefNHvz.js} +3 -3
- package/studio/web/assets/chunk-EU5HNXII-BHv2kWp4.js +213 -0
- package/studio/web/assets/chunk-FVRAUYC3-BoL_NO6b.js +2 -0
- package/studio/web/assets/{chunk-742MDFTN-CIkt8ijt.js → chunk-HJ2JQQFS-N_98oMRS.js} +1 -1
- package/studio/web/assets/{chunk-NETBCI7D-C8UnOw_f.js → chunk-HTAEGDNF-BQ1fSjPs.js} +1 -1
- package/studio/web/assets/{chunk-WEXAMYUT-BAIhTwyh.js → chunk-KQW6MTUR-qP0QiQAg.js} +1 -1
- package/studio/web/assets/chunk-NGNAAXSQ-DqoPQk1a.js +136 -0
- package/studio/web/assets/{chunk-UA2S7LBM-BHpEdH8D.js → chunk-NTY3LDVX-CSBFjlJg.js} +1 -1
- package/studio/web/assets/chunk-VPRB5NB3-BVHOe9Q-.js +129 -0
- package/studio/web/assets/{chunk-7INBJB4K-BpeAXyOi.js → chunk-XC4XBNZT-46uQwtF4.js} +10 -10
- package/studio/web/assets/{classDiagram-v2-NBCMYWYE-DmDPkt2u.js → classDiagram-v2-K4WV4PDN-Da0ps1Ui.js} +3 -3
- package/studio/web/assets/cn-DpF1PxBT.js +1 -0
- package/studio/web/assets/{createLucideIcon-fO5dL7D5.js → createLucideIcon-DLWRoWN-.js} +1 -1
- package/studio/web/assets/{cssMode-DBucrQdT.js → cssMode-BY1w91l8.js} +1 -1
- package/studio/web/assets/cynefin-EF2NZ3EQ-jQ2eCUaU.js +1 -0
- package/studio/web/assets/cynefinDiagram-3GCD6N5R-TNi5iS0E.js +62 -0
- package/studio/web/assets/dagre-W4DXFKR2-BnLHmA44.js +4 -0
- package/studio/web/assets/{diagram-22UHCM2B-DJCvcaWP.js → diagram-2UJZ2QOL-r_jehhZR.js} +7 -7
- package/studio/web/assets/{diagram-3UASUU5V-Du6VKWln.js → diagram-OVF4WLC6-BSUXGVh8.js} +11 -11
- package/studio/web/assets/{diagram-CDSNMT55-l5Ga0u-W.js → diagram-PFPMY2P6-BrVedycw.js} +3 -3
- package/studio/web/assets/{diagram-MLGK6HIB-CNQY47LA.js → diagram-UMYRVEAY-CBIaakBB.js} +1 -1
- package/studio/web/assets/diagram-YEKJPTXX-DFmmDXCl.js +41 -0
- package/studio/web/assets/diagram-ZIFT7M5P-CQfOWxOi.js +3 -0
- package/studio/web/assets/dist-9lpzt2Hn.js +11 -0
- package/studio/web/assets/{ebnfDiagram-ZINNZB2B-5OnkTpfi.js → ebnfDiagram-VR2GEFS7-FXA3Xe6e.js} +1 -1
- package/studio/web/assets/{editor-CHpQCuBq.js → editor-D5mpVs1b.js} +1 -1
- package/studio/web/assets/elk-IJKZMXRS-CC4gfVRU.js +27 -0
- package/studio/web/assets/{erDiagram-OPXOYQCR-CQlCX84D.js → erDiagram-O2IAPWRE-C-BkDTPl.js} +2 -2
- package/studio/web/assets/errorText-8xV8WZBt.js +1 -0
- package/studio/web/assets/eventmodeling-K75KTNOO-D0dJ_PbR.js +1 -0
- package/studio/web/assets/flowDiagram-OXPTDLAJ-C1LEc_Hf.js +1 -0
- package/studio/web/assets/{ganttDiagram-FUAMR5RP-bloX3Voy.js → ganttDiagram-R7TSEDQI-85F44BIo.js} +4 -4
- package/studio/web/assets/{getAnalytics-C0FHjtdQ.js → getAnalytics-B1xpd4kG.js} +1 -1
- package/studio/web/assets/gitGraph-VSP46ZUC-BBmqrmjK.js +1 -0
- package/studio/web/assets/gitGraphDiagram-XJZIOB7I-CFY6iMwg.js +106 -0
- package/studio/web/assets/graphlib-DS17s2tU.js +1 -0
- package/studio/web/assets/{html-B1iA8q38.js → html-DiXKiahz.js} +1 -1
- package/studio/web/assets/{htmlMode-CrL3YO5Y.js → htmlMode-DitVJ707.js} +1 -1
- package/studio/web/assets/index-CDnn0-PN.css +1 -0
- package/studio/web/assets/index-D8kyF6dt.js +833 -0
- package/studio/web/assets/index.lazy-DgbjUxLo.js +1 -0
- package/studio/web/assets/info-OHQRW6UA-Bs2aEco7.js +1 -0
- package/studio/web/assets/{infoDiagram-VRGFBTTK-B0J1132p.js → infoDiagram-5W2HQ5XZ-d6yG1yfZ.js} +1 -1
- package/studio/web/assets/invalidateEntityQueries-BkWXiqjz.js +1 -0
- package/studio/web/assets/{ishikawaDiagram-OU5B5YK6-BNk0tuQx.js → ishikawaDiagram-K3B6WC7H-CSYz-WRA.js} +2 -2
- package/studio/web/assets/{javascript-CXgQMkoa.js → javascript-BBVXeMDm.js} +1 -1
- package/studio/web/assets/{journeyDiagram-ZHPQQLJL-Be79RMQM.js → journeyDiagram-COXZFDF6-BDj6Wqcj.js} +3 -3
- package/studio/web/assets/{jsonMode-DycqRKOv.js → jsonMode-D85_j2oD.js} +1 -1
- package/studio/web/assets/{kanban-definition-PNTS6WVX-4uuoQP9W.js → kanban-definition-P3RFRI5V-C2Bjfbp-.js} +6 -6
- package/studio/web/assets/{languageServices-HYHV1wDJ.js → languageServices-U3mWhpRL.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-CH_6SYiA.js → lspLanguageFeatures-CoymyM3c.js} +1 -1
- package/studio/web/assets/{mermaid-parser.core-V1UYMeXV.js → mermaid-parser.core-Ch_T61iL.js} +6 -6
- package/studio/web/assets/mermaid.core-BOAgKzo5.js +44 -0
- package/studio/web/assets/{mindmap-definition-NLK3R4M7-C70Ctm0J.js → mindmap-definition-LZFPQGKD-DzOapzMM.js} +3 -3
- package/studio/web/assets/notifications-CPgEC6ZP.js +1 -0
- package/studio/web/assets/notifications-D_VqhHnx.js +1 -0
- package/studio/web/assets/operations-D8aaKYty.js +4 -0
- package/studio/web/assets/packet-JDAUHWVQ-CGHB_EIE.js +1 -0
- package/studio/web/assets/{pegDiagram-GJSIUBJH-d6z1cc7W.js → pegDiagram-BGZESJAR-ADzOIKrz.js} +1 -1
- package/studio/web/assets/pie-XZMESJXO-Bijz5Y2o.js +1 -0
- package/studio/web/assets/pieDiagram-CAPJLFHJ-VM7fvbwO.js +39 -0
- package/studio/web/assets/profile-DM5E6Xls.js +1 -0
- package/studio/web/assets/{quadrantDiagram-O4NWA36T-CIF5Qkou.js → quadrantDiagram-GDMTTRAM-Bmza84_j.js} +3 -3
- package/studio/web/assets/radar-ABXABTNO-IaC8pB63.js +1 -0
- package/studio/web/assets/railroad-I3PHUGI6-CCrSUqeq.js +1 -0
- package/studio/web/assets/railroad-abnf-LNEFI6M7-BhobVp-t.js +1 -0
- package/studio/web/assets/railroad-ebnf-DWYD2UWJ-OHhGUTEh.js +1 -0
- package/studio/web/assets/railroad-peg-JR7BVNR7-FupC3Jcn.js +1 -0
- package/studio/web/assets/{railroadDiagram-XR7U4H2S-y3Jv2U6N.js → railroadDiagram-SM67HX2B-CgFGOVI5.js} +1 -1
- package/studio/web/assets/regions-WFvXqryO.js +1 -0
- package/studio/web/assets/{register-DCN4QUii.js → register-B7DvfAGj.js} +3 -3
- package/studio/web/assets/request-ChoMERRk.js +2 -0
- package/studio/web/assets/{requirementDiagram-PLB6GJNP-ChINZEmu.js → requirementDiagram-X7JNWC4A-BHoQgkoT.js} +4 -4
- package/studio/web/assets/restartGate-D_e93lFE.js +1 -0
- package/studio/web/assets/restartUnconfirmed-BqcDZ__Y.js +1 -0
- package/studio/web/assets/sankeyDiagram-UM26HJRW-8tFu_oUe.js +40 -0
- package/studio/web/assets/sequenceDiagram-ZO4K6R2Y-jryb1rwT.js +169 -0
- package/studio/web/assets/setComponentFile-BHk22Rh6.js +1 -0
- package/studio/web/assets/setup-wNdpTrVH.js +2 -0
- package/studio/web/assets/{stateDiagram-v2-GCMORJYK-Bs8RIb9K.js → stateDiagram-v2-TBUQTH76-CnWE5yFn.js} +2 -2
- package/studio/web/assets/status-CYoonm9V.js +61 -0
- package/studio/web/assets/{swimlanes-2SLR337P-B52xrf6t.js → swimlanes-N4OXWK64-CBlFzDJn.js} +1 -1
- package/studio/web/assets/swimlanesDiagram-K3J5GTZL-DvFLtUPi.js +8 -0
- package/studio/web/assets/{timeline-definition-EJHVYXUP-DJSITpQX.js → timeline-definition-YOQAKGHF-CFWqHrqI.js} +4 -4
- package/studio/web/assets/{toggleHighContrast-CfAp6Sxb.js → toggleHighContrast-CKEm-P4K.js} +1 -1
- package/studio/web/assets/treeView-D4JQ5SDB-CpV9zuVb.js +1 -0
- package/studio/web/assets/treemap-SAJKECNS-Bc94Tqiq.js +1 -0
- package/studio/web/assets/{tsMode-HZR0bfq4.js → tsMode-Dv35qHmn.js} +1 -1
- package/studio/web/assets/{typescript-UMJSfZyF.js → typescript-Bly1EW8o.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-B379CS-h.js → useEntityRestURL-Cg3P0MOb.js} +1 -1
- package/studio/web/assets/usecaseDiagram-VIAY4XPW-Brf2xP3S.js +328 -0
- package/studio/web/assets/{vendor-core-6LhfJlRC.js → vendor-core-PejxhUWQ.js} +1 -1
- package/studio/web/assets/vendor-datadog-GjET_Cbn.js +6 -0
- package/studio/web/assets/{vendor-react-BOliS0BL.js → vendor-react-DSIx92Ld.js} +1 -1
- package/studio/web/assets/vendor-tanstack-C5Y-nrd2.js +2 -0
- package/studio/web/assets/vendor-ui-BBWHOEoQ.js +41 -0
- package/studio/web/assets/{vennDiagram-UO4OBE2U-DZTsDA4k.js → vennDiagram-BLWOH2XV-XxOyJPq_.js} +3 -3
- package/studio/web/assets/wardley-7MLQ67FV-DRW0zuE4.js +1 -0
- package/studio/web/assets/{wardleyDiagram-VNRHLVJA-qu_f7Tvl.js → wardleyDiagram-YMQ3BMBF-B3WskJ9W.js} +3 -3
- package/studio/web/assets/wasAReleasedBeforeB-D5grAaGM.js +1 -0
- package/studio/web/assets/{workers-Bn_0_L1R.js → workers-DVtjrvUa.js} +1 -1
- package/studio/web/assets/{xml-CG2N-1r1.js → xml-DjAPbgLN.js} +1 -1
- package/studio/web/assets/xychartDiagram-TAQBALBS-D5NV4Env.js +7 -0
- package/studio/web/assets/{yaml-68pda6Av.js → yaml-oTUyoJy1.js} +1 -1
- package/studio/web/index.html +17 -15
- package/utility/npmUtilities.ts +17 -7
- package/studio/web/assets/Chat-CrxPD4ph.js +0 -2294
- package/studio/web/assets/FloatingChat-EXzoUQ-9.js +0 -23
- package/studio/web/assets/SearchDialog-7qRL8Yqx.js +0 -1
- package/studio/web/assets/_basePickBy-QJXUw_pr.js +0 -1
- package/studio/web/assets/_baseUniq-DR4vVjyC.js +0 -1
- package/studio/web/assets/alertDialog-BbWD9Xxa.js +0 -1
- package/studio/web/assets/applications-CdqjiSQe.js +0 -296
- package/studio/web/assets/architecture-7GRP2DOG-DDmz3hpI.js +0 -1
- package/studio/web/assets/arrow-up-D2g_57vT.js +0 -1
- package/studio/web/assets/authStore-CJCaADw9.js +0 -3
- package/studio/web/assets/button-DWwfgGWI.js +0 -21
- package/studio/web/assets/channel-D0AkPjJ8.js +0 -1
- package/studio/web/assets/chunk-3FUC2YCW-DuRp-j19.js +0 -2
- package/studio/web/assets/chunk-7M6MHVWA-h6WlaTzO.js +0 -213
- package/studio/web/assets/chunk-FOHPRMQF-DzxwRta7.js +0 -161
- package/studio/web/assets/chunk-O7XYJQB3-CBS3nZYV.js +0 -128
- package/studio/web/assets/chunk-Z7XXMR3K-DSHbImdf.js +0 -10
- package/studio/web/assets/cn-6T8VranJ.js +0 -1
- package/studio/web/assets/cynefin-OW5HDTMX-DIvbXLSj.js +0 -1
- package/studio/web/assets/cynefinDiagram-VND7K2PF-BdtaXiCE.js +0 -62
- package/studio/web/assets/dagre-6A5THRUB-C7RUWHyz.js +0 -4
- package/studio/web/assets/diagram-ATOU4E4O-dxRfeG4B.js +0 -3
- package/studio/web/assets/diagram-MPIPVDR6-7prveD1B.js +0 -41
- package/studio/web/assets/dist-BrRuMUzt.js +0 -11
- package/studio/web/assets/download-Cn6tPG4L.js +0 -1
- package/studio/web/assets/elk-276RUBZZ-DxDQPjQT.js +0 -27
- package/studio/web/assets/errorText-NpBmvk9I.js +0 -1
- package/studio/web/assets/eventmodeling-NTZA5JFV-DONQf5aG.js +0 -1
- package/studio/web/assets/flowDiagram-KWPJA3E3-BoZ8_QR1.js +0 -1
- package/studio/web/assets/gitGraph-4MIJSDKK-BrXWmJt2.js +0 -1
- package/studio/web/assets/gitGraphDiagram-X574FWY7-C2KnnZeY.js +0 -106
- package/studio/web/assets/graphlib-C9Tl7QrK.js +0 -1
- package/studio/web/assets/index-QLZw6xrU.css +0 -1
- package/studio/web/assets/index-qCLyhyah.js +0 -828
- package/studio/web/assets/index.lazy-DCx-DxIV.js +0 -2
- package/studio/web/assets/info-A6RAGUB7-BhzBHe4U.js +0 -1
- package/studio/web/assets/mermaid.core-1PX6R49U.js +0 -44
- package/studio/web/assets/notifications-BSObVIY1.js +0 -1
- package/studio/web/assets/notifications-DFLXk68b.js +0 -1
- package/studio/web/assets/packet-AYTQ26CC-DWbXHx5g.js +0 -1
- package/studio/web/assets/pie-WAS4IAKB-DjoTm3yr.js +0 -1
- package/studio/web/assets/pieDiagram-5QR66LMP-Dz3RHpDA.js +0 -39
- package/studio/web/assets/profile-TBjzOMIy.js +0 -1
- package/studio/web/assets/radar-RG4KPBEZ-CVBgjCOj.js +0 -1
- package/studio/web/assets/railroad-74A4TZTK-BdhXw10Q.js +0 -1
- package/studio/web/assets/railroad-abnf-HS5TGJTU-BcoQPN39.js +0 -1
- package/studio/web/assets/railroad-ebnf-LZEXJU2U-B1Lke2JN.js +0 -1
- package/studio/web/assets/railroad-peg-WCYAUIDC-D-oJFkiV.js +0 -1
- package/studio/web/assets/regions-C4an4H7e.js +0 -1
- package/studio/web/assets/restartGate-nHAFLDh-.js +0 -1
- package/studio/web/assets/sankeyDiagram-IPEJSGJF-D9AyLce2.js +0 -40
- package/studio/web/assets/sequenceDiagram-PO4LG4MO-hfk4aIEm.js +0 -169
- package/studio/web/assets/setComponentFile-BrqOM1Zm.js +0 -1
- package/studio/web/assets/setup-0v2MCm-E.js +0 -2
- package/studio/web/assets/status-DdezofUu.js +0 -61
- package/studio/web/assets/swimlanesDiagram-TC7HE7FX-DfN7BAP5.js +0 -8
- package/studio/web/assets/tabs-BCTQzoQK.js +0 -1
- package/studio/web/assets/treeView-Q6P3EWNA-C-epdxRo.js +0 -1
- package/studio/web/assets/treemap-WGGIJYW6-DOVyp_zw.js +0 -1
- package/studio/web/assets/usecaseDiagram-POWQR4AR-B6252cbq.js +0 -328
- package/studio/web/assets/vendor-datadog-ozKf-pts.js +0 -6
- package/studio/web/assets/vendor-tanstack-Bntfka-M.js +0 -2
- package/studio/web/assets/vendor-ui-9EYYDgoN.js +0 -41
- package/studio/web/assets/wardley-WFR3VGLG-Cfqoe6z4.js +0 -1
- package/studio/web/assets/xychartDiagram-PMCCYNJV-UrOKRsmR.js +0 -7
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigParseError = void 0;
|
|
4
|
+
exports.formatConfigParseErrorDetails = formatConfigParseErrorDetails;
|
|
4
5
|
exports.parseConfigFile = parseConfigFile;
|
|
5
6
|
const yaml_1 = require("yaml");
|
|
6
7
|
// yaml's prettyErrors frames the offending source lines into `message`, and a config file holds
|
|
7
8
|
// credentials. Neither the cause nor the original stack is carried for the same reason.
|
|
8
9
|
class ConfigParseError extends Error {
|
|
9
10
|
constructor(filePath, error) {
|
|
10
|
-
|
|
11
|
-
const at = linePos?.[0] ? ` at line ${linePos[0].line}, column ${linePos[0].col}` : '';
|
|
12
|
-
super(`Unable to parse the Harper configuration file at ${filePath}: ${code ?? name ?? 'parse failure'}${at}`);
|
|
11
|
+
super(`Unable to parse the Harper configuration file at ${filePath}: ${formatConfigParseErrorDetails(error)}`);
|
|
13
12
|
this.name = 'ConfigParseError';
|
|
14
13
|
}
|
|
15
14
|
}
|
|
16
15
|
exports.ConfigParseError = ConfigParseError;
|
|
16
|
+
function formatConfigParseErrorDetails(error) {
|
|
17
|
+
const { name, code, linePos } = (error ?? {});
|
|
18
|
+
const at = linePos?.[0] ? ` at line ${linePos[0].line}, column ${linePos[0].col}` : '';
|
|
19
|
+
return `${code ?? name ?? 'parse failure'}${at}`;
|
|
20
|
+
}
|
|
17
21
|
function parseConfigFile(contents, filePath) {
|
|
18
22
|
try {
|
|
19
23
|
// yaml routes warnings through `process.emitWarning` rather than a throw, so a framed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseConfigFile.js","sourceRoot":"","sources":["../../config/parseConfigFile.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"parseConfigFile.js","sourceRoot":"","sources":["../../config/parseConfigFile.ts"],"names":[],"mappings":";;;AAWA,sEAQC;AAED,0CAWC;AAhCD,+BAA6B;AAE7B,gGAAgG;AAChG,wFAAwF;AACxF,MAAa,gBAAiB,SAAQ,KAAK;IAC1C,YAAY,QAAgB,EAAE,KAAc;QAC3C,KAAK,CAAC,oDAAoD,QAAQ,KAAK,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IAChC,CAAC;CACD;AALD,4CAKC;AAED,SAAgB,6BAA6B,CAAC,KAAc;IAC3D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAI3C,CAAC;IACF,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC;AAClD,CAAC;AAED,SAAgB,eAAe,CAAC,QAAgB,EAAE,QAAgB;IACjE,IAAI,CAAC;QACJ,sFAAsF;QACtF,0FAA0F;QAC1F,OAAO,IAAA,YAAK,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,4FAA4F;QAC5F,uEAAuE;QACvE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC1C,MAAM,IAAI,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACvC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAyC,CAAC;IAChF,OAAO,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,gBAAgB,CAAC;AAC3D,CAAC"}
|
|
@@ -11,6 +11,8 @@ export declare const TRANSACTION_STATE: {
|
|
|
11
11
|
LINGERING: number;
|
|
12
12
|
};
|
|
13
13
|
export declare const COMMIT_PHASE_GRACE = 10;
|
|
14
|
+
/** Test seam: clears the stuck- and stalled-commit log cooldowns so consecutive tests can assert on log emission without sleeping. */
|
|
15
|
+
export declare function resetStuckCommitLogCooldownForTests(): void;
|
|
14
16
|
export declare function trackOutstandingCommit(commitResolution: Promise<number | void>, store?: any, startedFrom?: {
|
|
15
17
|
resourceName: string;
|
|
16
18
|
method: string;
|
|
@@ -109,7 +111,7 @@ export type TransactionWrite = {
|
|
|
109
111
|
entry?: Partial<Entry>;
|
|
110
112
|
before?: () => void | Promise<void>;
|
|
111
113
|
beforeIntermediate?: () => void | Promise<void>;
|
|
112
|
-
commit?: (txnTime: number, existingEntry: Partial<Entry>, retry: boolean, transaction: any) => MaybePromise<void>;
|
|
114
|
+
commit?: (txnTime: number, existingEntry: Partial<Entry>, retry: boolean, transaction: any, committedBy?: DatabaseTransaction) => MaybePromise<void>;
|
|
113
115
|
validate?: (txnTime: number, committedBy: DatabaseTransaction) => void;
|
|
114
116
|
fullUpdate?: boolean;
|
|
115
117
|
recordVersion?: number;
|
|
@@ -123,6 +125,7 @@ export type TransactionWrite = {
|
|
|
123
125
|
savedBlobs?: Blob[];
|
|
124
126
|
skipped?: boolean;
|
|
125
127
|
appendedAuditEntry?: boolean;
|
|
128
|
+
appendedTo?: RocksTransaction;
|
|
126
129
|
stagedIn?: DatabaseTransaction;
|
|
127
130
|
priorWrite?: TransactionWrite;
|
|
128
131
|
chainsStagedState?: boolean;
|
|
@@ -137,6 +140,7 @@ export type TransactionWrite = {
|
|
|
137
140
|
recordVersionApplied?: boolean;
|
|
138
141
|
innerCommit?: MaybePromise<CommitResolution>;
|
|
139
142
|
reloadCommitBase?: boolean;
|
|
143
|
+
stagedOn?: RocksTransaction;
|
|
140
144
|
baseReadTxn?: any;
|
|
141
145
|
writeGeneration?: WriteGeneration;
|
|
142
146
|
instanceClosed?: boolean;
|
|
@@ -167,6 +171,17 @@ export declare function priorStagedWrite(operation: TransactionWrite): Transacti
|
|
|
167
171
|
export declare function writeKeyId(key: Id): unknown;
|
|
168
172
|
type RocksTransactionWithRetry = RocksTransaction & {
|
|
169
173
|
isRetry?: boolean;
|
|
174
|
+
retries?: number;
|
|
175
|
+
hasStagedLog?: boolean;
|
|
176
|
+
stagedTxnTime?: number;
|
|
177
|
+
commitStartedAt?: number;
|
|
178
|
+
commitOverdueLogged?: boolean;
|
|
179
|
+
lockHolds?: Set<RecordLockHandle>;
|
|
180
|
+
holdBudgetSpent?: boolean;
|
|
181
|
+
abortedByWrapper?: boolean;
|
|
182
|
+
commitInFlight?: boolean;
|
|
183
|
+
committed?: boolean;
|
|
184
|
+
immediateCommit?: boolean;
|
|
170
185
|
};
|
|
171
186
|
export declare class DatabaseTransaction implements Transaction {
|
|
172
187
|
#private;
|
|
@@ -177,6 +192,7 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
177
192
|
ownedWrites?: WeakSet<TransactionWrite>;
|
|
178
193
|
writesByKey?: Map<any, Map<unknown, TransactionWrite>>;
|
|
179
194
|
completions: Promise<void>[];
|
|
195
|
+
private completionHandles?;
|
|
180
196
|
db: RootDatabaseKind;
|
|
181
197
|
transaction: RocksTransactionWithRetry;
|
|
182
198
|
readTxn: ReadTransaction;
|
|
@@ -195,6 +211,7 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
195
211
|
next: DatabaseTransaction;
|
|
196
212
|
root?: DatabaseTransaction;
|
|
197
213
|
commitStartedAt?: number;
|
|
214
|
+
commitOverdueLogged?: boolean;
|
|
198
215
|
writeSupervised?: boolean;
|
|
199
216
|
stale: boolean;
|
|
200
217
|
baseReadRefConsumed?: boolean;
|
|
@@ -233,9 +250,18 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
233
250
|
requestAbortListener?: () => void;
|
|
234
251
|
ownedReadIterators?: Set<OwnedReadIterator>;
|
|
235
252
|
commitsInFlight: number;
|
|
253
|
+
private activeCommitHandle?;
|
|
254
|
+
private activeCommitHandles?;
|
|
255
|
+
private activeHandleStagedTxnTime?;
|
|
256
|
+
private activeHandleInFlight?;
|
|
257
|
+
private activeHandleCommitted?;
|
|
236
258
|
poisonedMidCommit?: boolean;
|
|
237
259
|
deferredPoisonDeadline?: number;
|
|
238
260
|
unsubmittedCommitDeadline?: number;
|
|
261
|
+
loggedRetriesSeen?: number;
|
|
262
|
+
loggedRetriesChangedAt?: number;
|
|
263
|
+
loggedRetriesTick?: number;
|
|
264
|
+
loggedRetryAdvancing?: boolean;
|
|
239
265
|
nativeCommitSubmitted: boolean;
|
|
240
266
|
commitSubmitted: boolean;
|
|
241
267
|
submittedLink?: DatabaseTransaction;
|
|
@@ -316,12 +342,40 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
316
342
|
unregisterPendingLock(store: any, keyId: unknown): void;
|
|
317
343
|
/** Release every transaction-scoped lock() handle this link owns. */
|
|
318
344
|
releaseRecordLocks(): void;
|
|
345
|
+
private budgetCarrier;
|
|
346
|
+
private backfillActiveHandleWrites;
|
|
347
|
+
private isSingleHandleTarget;
|
|
348
|
+
private getHandleStagedTxnTime;
|
|
349
|
+
private setHandleStagedTxnTime;
|
|
350
|
+
private isHandleCommitInFlight;
|
|
351
|
+
private setHandleCommitInFlight;
|
|
352
|
+
private isHandleCommitted;
|
|
353
|
+
private setHandleCommitted;
|
|
354
|
+
private trackActiveCommitHandle;
|
|
355
|
+
private releaseActiveCommitHandle;
|
|
356
|
+
private clearActiveCommitHandles;
|
|
357
|
+
private hasActiveCommitHandle;
|
|
358
|
+
/**
|
|
359
|
+
* Retries so far of the handles with a durable transaction-log entry still retrying their commit on
|
|
360
|
+
* this link, summed over overlapping commits so the total moves whenever any of them does, or -1
|
|
361
|
+
* when there is none.
|
|
362
|
+
*/
|
|
363
|
+
activeDurableLogRetries(): number;
|
|
364
|
+
private isActiveCommitHandle;
|
|
365
|
+
private hasSiblingCommitInFlight;
|
|
366
|
+
private isWriteOwnedByActiveCommit;
|
|
367
|
+
private hasWriteOwnedByActiveCommit;
|
|
368
|
+
private hasSavedWrite;
|
|
369
|
+
private hasSavedWriteForHandle;
|
|
370
|
+
private retainTransactionLockHolds;
|
|
319
371
|
private noteCommittedLockVersions;
|
|
320
372
|
/**
|
|
321
373
|
* Discard the staged write set (committed or aborted); the per-key chain must go with it so a
|
|
322
|
-
* reused transaction never bases a write on a previous batch's staged state.
|
|
374
|
+
* reused transaction never bases a write on a previous batch's staged state. When concurrent
|
|
375
|
+
* commits share one DatabaseTransaction, only the writes staged on `committedTransaction` are
|
|
376
|
+
* removed while another native commit is still in flight.
|
|
323
377
|
*/
|
|
324
|
-
clearWrites(): void;
|
|
378
|
+
clearWrites(committedTransaction?: RocksTransaction, fromAbort?: boolean): void;
|
|
325
379
|
/**
|
|
326
380
|
* Drop this transaction's back-reference from its context once completed (commit or abort),
|
|
327
381
|
* so a long-lived context (e.g. an MQTT subscription context held open for the life of a
|
|
@@ -353,23 +407,25 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
353
407
|
* no record), and writes with no stored entry at all — a delete leaves a readable tombstone on any
|
|
354
408
|
* audited or delete-tracking table, so only a delete on a table with neither is entry-less. Such a
|
|
355
409
|
* `put(A); delete(B)` confirms on A's entry, whose version is this transaction's (every write in a
|
|
356
|
-
* transaction is stamped with one version).
|
|
410
|
+
* transaction is stamped with one version). `savedOnly` also skips a deferred write not yet saved,
|
|
411
|
+
* which a commit leaves in place for a later one.
|
|
357
412
|
*/
|
|
358
|
-
lastConfirmableEntry(): Partial<Entry> | undefined;
|
|
413
|
+
lastConfirmableEntry(savedOnly?: boolean): Partial<Entry> | undefined;
|
|
359
414
|
/**
|
|
360
415
|
* Stage an async operation that commit() must wait for. Staging can happen a turn or more before
|
|
361
416
|
* commit() attaches its Promise.all, so the no-op rejection handler is attached here: without it a
|
|
362
417
|
* rejection in that window is an unhandled rejection (fatal under --unhandled-rejections=strict).
|
|
363
418
|
* The rejection still surfaces through commit()'s Promise.all.
|
|
364
419
|
*/
|
|
365
|
-
stageCompletion(completion: Promise<void
|
|
420
|
+
stageCompletion(completion: Promise<void>, transaction?: RocksTransaction): void;
|
|
421
|
+
private takeCompletions;
|
|
366
422
|
/**
|
|
367
423
|
* Discard staged completions that no commit() will ever aggregate (abort path). Their rejections
|
|
368
424
|
* are already no-op-handled by stageCompletion(), so without this they fail silently; log instead.
|
|
369
425
|
* Clearing them also keeps a reused transaction's next commit() from rejecting with the previous
|
|
370
426
|
* batch's error.
|
|
371
427
|
*/
|
|
372
|
-
drainCompletions(): void;
|
|
428
|
+
drainCompletions(targetTransaction?: RocksTransaction, preserveActiveWrites?: boolean): void;
|
|
373
429
|
addWrite(operation: TransactionWrite): any;
|
|
374
430
|
save(operation: TransactionWrite, transaction?: RocksTransaction, reloadEntry?: boolean, options?: CommitOptions): MaybePromise<CommitResolution>;
|
|
375
431
|
/**
|
|
@@ -458,8 +514,8 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
458
514
|
/** See completeMidScopeCommit, which is the only caller and carries the reasoning. */
|
|
459
515
|
private rotateAfterMidScopeCommit;
|
|
460
516
|
private assertDatabaseCommitAllowed;
|
|
461
|
-
protected abortAfterCommitError(error: any): never;
|
|
462
|
-
abort(retainReadTransaction?: boolean, cascade?: boolean): void;
|
|
517
|
+
protected abortAfterCommitError(error: any, targetTransaction?: RocksTransaction): never;
|
|
518
|
+
abort(retainReadTransaction?: boolean, cascade?: boolean, targetTransaction?: RocksTransaction): void;
|
|
463
519
|
/** How long this logical commit may keep retrying: the thread-wide queue limit, or its own larger explicit budget. */
|
|
464
520
|
private commitConflictBudget;
|
|
465
521
|
/**
|
|
@@ -484,6 +540,11 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
484
540
|
* through a mid-scope commit is in the same position.
|
|
485
541
|
*/
|
|
486
542
|
private abandonCommitAfterDeadline;
|
|
543
|
+
/**
|
|
544
|
+
* A durably logged commit past its conflict budget cannot be aborted; release its deferred
|
|
545
|
+
* record-lock holds (`holdBudgetSpent` prevents re-retaining them) and log once per chain/cooldown.
|
|
546
|
+
*/
|
|
547
|
+
private noteOverdueLoggedCommit;
|
|
487
548
|
/**
|
|
488
549
|
* Give up on a chain of linked transactions after exhausting conflict retries: poison every link
|
|
489
550
|
* first, then abort each link's native transaction and release its DatabaseTransaction-level
|
|
@@ -577,7 +638,7 @@ export declare function isJoinableScope(transaction: DatabaseTransaction | null
|
|
|
577
638
|
* outcome is not known yet. Merely entering commit() is not enough: a wholly pre-submit transaction
|
|
578
639
|
* remains subject to shouldSpareCommitPhase() and its ordinary bounded grace.
|
|
579
640
|
*/
|
|
580
|
-
export declare function deferForCommitInFlight(txn: DatabaseTransaction, url: string | undefined, expiration?: any): boolean;
|
|
641
|
+
export declare function deferForCommitInFlight(txn: DatabaseTransaction, url: string | undefined, expiration?: any, tick?: number): boolean;
|
|
581
642
|
/**
|
|
582
643
|
* Test seam: re-arms the once-per-process replay warning. The whole unit suite shares one process,
|
|
583
644
|
* so whichever test first drives a commit under open iterators consumes the warning for every test
|
|
@@ -585,7 +646,11 @@ export declare function deferForCommitInFlight(txn: DatabaseTransaction, url: st
|
|
|
585
646
|
*/
|
|
586
647
|
export declare function resetReplayedWritesWarning(): void;
|
|
587
648
|
export declare function setMaxOutstandingTxnDuration(ms: number): number;
|
|
649
|
+
/** Test seam: overrides the per-retry backoff cap and returns the previous value. */
|
|
650
|
+
export declare function setMaxRetryDelayMs(ms: number): number;
|
|
588
651
|
/** Test seam: whether the monitor supervises this logical transaction for its writes. */
|
|
589
652
|
export declare function isWriteSupervised(txn: DatabaseTransaction): boolean;
|
|
653
|
+
/** Test seam: returns the current open-transaction monitor interval. */
|
|
654
|
+
export declare function getTxnExpiration(): number;
|
|
590
655
|
export declare function setTxnExpiration(ms: any): Set<DatabaseTransaction>;
|
|
591
656
|
export {};
|