@harperfast/harper 5.2.0 → 5.2.2
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/copyDb.ts +40 -11
- package/bin/harper.ts +20 -51
- package/bin/help.ts +216 -0
- package/components/Application.ts +236 -46
- package/components/ApplicationScope.ts +26 -0
- package/components/EntryHandler.ts +410 -105
- package/components/RuntimeModuleTracker.ts +189 -0
- package/components/Scope.ts +68 -24
- package/components/componentLoader.ts +70 -16
- package/components/deployLifecycle.ts +119 -33
- package/components/deploymentRecorder.ts +102 -11
- package/components/mcp/tools/operations.ts +6 -0
- package/components/operations.js +8 -6
- package/config/configUtils.ts +78 -20
- package/config/harperConfigEnvVars.ts +114 -17
- package/config-root.schema.json +10 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +26 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -4
- package/dataLayer/hdbInfoController.ts +8 -0
- package/dataLayer/schemaDescribe.ts +2 -1
- package/dist/bin/copyDb.js +33 -9
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/harper.d.ts +6 -0
- package/dist/bin/harper.js +18 -50
- package/dist/bin/harper.js.map +1 -1
- package/dist/bin/help.d.ts +8 -0
- package/dist/bin/help.js +192 -0
- package/dist/bin/help.js.map +1 -0
- package/dist/components/Application.d.ts +16 -1
- package/dist/components/Application.js +210 -38
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +7 -0
- package/dist/components/ApplicationScope.js +22 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/EntryHandler.d.ts +4 -4
- package/dist/components/EntryHandler.js +386 -95
- package/dist/components/EntryHandler.js.map +1 -1
- package/dist/components/RuntimeModuleTracker.d.ts +11 -0
- package/dist/components/RuntimeModuleTracker.js +189 -0
- package/dist/components/RuntimeModuleTracker.js.map +1 -0
- package/dist/components/Scope.d.ts +1 -0
- package/dist/components/Scope.js +69 -22
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/componentLoader.js +69 -10
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/deployLifecycle.d.ts +6 -2
- package/dist/components/deployLifecycle.js +109 -31
- package/dist/components/deployLifecycle.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +6 -0
- package/dist/components/deploymentRecorder.js +94 -12
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/tools/operations.js +6 -0
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/operations.js +8 -6
- package/dist/components/operations.js.map +1 -1
- package/dist/config/configUtils.d.ts +6 -0
- package/dist/config/configUtils.js +78 -18
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.js +108 -16
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +12 -5
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
- package/dist/dataLayer/hdbInfoController.js +4 -0
- package/dist/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +2 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +57 -0
- package/dist/resources/DatabaseTransaction.js +284 -104
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +8 -2
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Resources.js +22 -4
- package/dist/resources/Resources.js.map +1 -1
- package/dist/resources/Table.d.ts +8 -6
- package/dist/resources/Table.js +158 -31
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +6 -6
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.js +27 -1
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/blob.d.ts +0 -1
- package/dist/resources/blob.js +15 -7
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/databases.d.ts +22 -5
- package/dist/resources/databases.js +118 -9
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +15 -2
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +128 -39
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/jsResource.d.ts +4 -26
- package/dist/resources/jsResource.js +5 -59
- package/dist/resources/jsResource.js.map +1 -1
- package/dist/resources/models/Models.d.ts +11 -1
- package/dist/resources/models/Models.js +10 -1
- package/dist/resources/models/Models.js.map +1 -1
- package/dist/resources/models/backendRegistry.d.ts +9 -0
- package/dist/resources/models/backendRegistry.js +10 -0
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/openaiStream.d.ts +16 -1
- package/dist/resources/models/openaiStream.js +113 -21
- package/dist/resources/models/openaiStream.js.map +1 -1
- package/dist/resources/models/v1/chatCompletions.d.ts +54 -0
- package/dist/resources/models/v1/chatCompletions.js +115 -0
- package/dist/resources/models/v1/chatCompletions.js.map +1 -0
- package/dist/resources/models/v1/embeddings.d.ts +11 -0
- package/dist/resources/models/v1/embeddings.js +71 -0
- package/dist/resources/models/v1/embeddings.js.map +1 -0
- package/dist/resources/models/v1/errors.d.ts +54 -0
- package/dist/resources/models/v1/errors.js +130 -0
- package/dist/resources/models/v1/errors.js.map +1 -0
- package/dist/resources/models/v1/index.d.ts +36 -0
- package/dist/resources/models/v1/index.js +75 -0
- package/dist/resources/models/v1/index.js.map +1 -0
- package/dist/resources/models/v1/models.d.ts +26 -0
- package/dist/resources/models/v1/models.js +44 -0
- package/dist/resources/models/v1/models.js.map +1 -0
- package/dist/resources/models/v1/translation.d.ts +133 -0
- package/dist/resources/models/v1/translation.js +298 -0
- package/dist/resources/models/v1/translation.js.map +1 -0
- package/dist/resources/roles.d.ts +1 -1
- package/dist/resources/roles.js +54 -7
- package/dist/resources/roles.js.map +1 -1
- package/dist/resources/search.d.ts +1 -1
- package/dist/resources/search.js +7 -3
- package/dist/resources/search.js.map +1 -1
- package/dist/security/jsLoader.js +84 -33
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/role.js +4 -0
- package/dist/security/role.js.map +1 -1
- package/dist/security/superUserGuard.d.ts +7 -0
- package/dist/security/superUserGuard.js +23 -0
- package/dist/security/superUserGuard.js.map +1 -0
- package/dist/security/tokenAuthentication.d.ts +0 -1
- package/dist/security/tokenAuthentication.js +6 -2
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/security/user.d.ts +6 -1
- package/dist/security/user.js +23 -1
- package/dist/security/user.js.map +1 -1
- package/dist/server/http.d.ts +23 -2
- package/dist/server/http.js +99 -12
- package/dist/server/http.js.map +1 -1
- package/dist/server/operationsServer.d.ts +0 -2
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/multipartParser.js +9 -0
- package/dist/server/serverHelpers/multipartParser.js.map +1 -1
- package/dist/server/serverHelpers/operationAuthorizationState.d.ts +2 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js +13 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -0
- package/dist/server/serverHelpers/registeredOperations.d.ts +3 -2
- package/dist/server/serverHelpers/registeredOperations.js +14 -13
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
- package/dist/server/serverHelpers/serverHandlers.js +19 -3
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +1 -1
- package/dist/server/serverHelpers/serverUtilities.js +10 -7
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/static.js +57 -18
- package/dist/server/static.js.map +1 -1
- package/dist/server/storageReclamation.d.ts +17 -0
- package/dist/server/storageReclamation.js +90 -6
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/manageThreads.js +8 -0
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.js +20 -0
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.js +12 -0
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/sqlEngine/diff/differential.js +7 -3
- package/dist/sqlEngine/diff/differential.js.map +1 -1
- package/dist/sqlEngine/parser/normalizer.js +37 -9
- package/dist/sqlEngine/parser/normalizer.js.map +1 -1
- package/dist/sqlTranslator/index.js +6 -1
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/upgrade/upgradePrompt.d.ts +2 -2
- package/dist/upgrade/upgradePrompt.js +22 -3
- package/dist/upgrade/upgradePrompt.js.map +1 -1
- package/dist/utility/environment/environmentManager.d.ts +11 -0
- package/dist/utility/environment/environmentManager.js +154 -0
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/errors/commonErrors.d.ts +1 -0
- package/dist/utility/errors/commonErrors.js +1 -0
- package/dist/utility/errors/commonErrors.js.map +1 -1
- package/dist/utility/hdbTerms.d.ts +2 -0
- package/dist/utility/hdbTerms.js +2 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/install/installer.js +32 -0
- package/dist/utility/install/installer.js.map +1 -1
- package/dist/utility/lmdb/environmentUtility.js +2 -1
- package/dist/utility/lmdb/environmentUtility.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +7 -0
- package/dist/utility/logging/harper_logger.js +57 -24
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/npm-shrinkwrap.json +208 -198
- package/package.json +10 -8
- package/resources/DESIGN.md +1 -0
- package/resources/DatabaseTransaction.ts +313 -102
- package/resources/ResourceInterface.ts +8 -2
- package/resources/Resources.ts +22 -4
- package/resources/Table.ts +398 -259
- package/resources/analytics/write.ts +22 -20
- package/resources/auditStore.ts +32 -1
- package/resources/blob.ts +15 -8
- package/resources/databases.ts +123 -12
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +119 -45
- package/resources/jsResource.ts +5 -62
- package/resources/models/Models.ts +14 -1
- package/resources/models/backendRegistry.ts +10 -0
- package/resources/models/openaiStream.ts +131 -19
- package/resources/models/v1/chatCompletions.ts +128 -0
- package/resources/models/v1/embeddings.ts +70 -0
- package/resources/models/v1/errors.ts +141 -0
- package/resources/models/v1/index.ts +72 -0
- package/resources/models/v1/models.ts +53 -0
- package/resources/models/v1/translation.ts +362 -0
- package/resources/roles.ts +67 -7
- package/resources/search.ts +8 -3
- package/security/jsLoader.ts +84 -30
- package/security/role.ts +7 -0
- package/security/superUserGuard.ts +20 -0
- package/security/tokenAuthentication.ts +6 -3
- package/security/user.ts +26 -1
- package/server/DESIGN.md +45 -34
- package/server/http.ts +100 -13
- package/server/operationsServer.ts +0 -2
- package/server/serverHelpers/multipartParser.ts +9 -0
- package/server/serverHelpers/operationAuthorizationState.ts +11 -0
- package/server/serverHelpers/registeredOperations.ts +19 -15
- package/server/serverHelpers/serverHandlers.js +20 -3
- package/server/serverHelpers/serverUtilities.ts +10 -7
- package/server/static.ts +75 -20
- package/server/storageReclamation.ts +104 -8
- package/server/threads/manageThreads.js +8 -0
- package/server/threads/socketRouter.ts +20 -0
- package/server/threads/threadServer.js +11 -0
- package/sqlTranslator/index.ts +6 -1
- package/static/defaultConfig.yaml +2 -0
- package/studio/web/assets/{Chat-DoVWScmq.js → Chat-BMUjPklt.js} +5 -5
- package/studio/web/assets/{Chat-DoVWScmq.js.map → Chat-BMUjPklt.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js → FloatingChat-Cbghuxe5.js} +5 -5
- package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js.map → FloatingChat-Cbghuxe5.js.map} +1 -1
- package/studio/web/assets/{apiToken-BUI_04o7.js → apiToken-CkgTQAqc.js} +2 -2
- package/studio/web/assets/{apiToken-BUI_04o7.js.map → apiToken-CkgTQAqc.js.map} +1 -1
- package/studio/web/assets/{applications-D03NA7wW.js → applications-WvF4NOTN.js} +13 -13
- package/studio/web/assets/applications-WvF4NOTN.js.map +1 -0
- package/studio/web/assets/chevron-right-anDJCGlp.js +2 -0
- package/studio/web/assets/chevron-right-anDJCGlp.js.map +1 -0
- package/studio/web/assets/index-CDeqVx71.css +1 -0
- package/studio/web/assets/index-Sevt3MVx.js +819 -0
- package/studio/web/assets/index-Sevt3MVx.js.map +1 -0
- package/studio/web/assets/index.lazy-Dg5YYPGg.js +14 -0
- package/studio/web/assets/{index.lazy-Dx3MpyDC.js.map → index.lazy-Dg5YYPGg.js.map} +1 -1
- package/studio/web/assets/{jsonMode-Cjj7dtlr.js → jsonMode-CBSEleE7.js} +2 -2
- package/studio/web/assets/{jsonMode-Cjj7dtlr.js.map → jsonMode-CBSEleE7.js.map} +1 -1
- package/studio/web/assets/languageServices-gxedeeTo.js +2 -0
- package/studio/web/assets/languageServices-gxedeeTo.js.map +1 -0
- package/studio/web/assets/{notifications-0edoFTsb.js → notifications-Ap84YyQp.js} +2 -2
- package/studio/web/assets/{notifications-0edoFTsb.js.map → notifications-Ap84YyQp.js.map} +1 -1
- package/studio/web/assets/notifications-vehqyOLM.js +2 -0
- package/studio/web/assets/{notifications-CwKhipK7.js.map → notifications-vehqyOLM.js.map} +1 -1
- package/studio/web/assets/{pollUnlessForbidden-HHdQZW1N.js → pollUnlessForbidden-BhzefVRn.js} +2 -2
- package/studio/web/assets/pollUnlessForbidden-BhzefVRn.js.map +1 -0
- package/studio/web/assets/{profile-DUfEPQtx.js → profile-DzDpRLHY.js} +2 -2
- package/studio/web/assets/{profile-DUfEPQtx.js.map → profile-DzDpRLHY.js.map} +1 -1
- package/studio/web/assets/queryClient-CgtkoiCY.js +2 -0
- package/studio/web/assets/queryClient-CgtkoiCY.js.map +1 -0
- package/studio/web/assets/regions-DpJ8s7iN.js +2 -0
- package/studio/web/assets/regions-DpJ8s7iN.js.map +1 -0
- package/studio/web/assets/register-BDy01-q3.js +3 -0
- package/studio/web/assets/register-BDy01-q3.js.map +1 -0
- package/studio/web/assets/register-CQHRwNP4.js +3 -0
- package/studio/web/assets/register-CQHRwNP4.js.map +1 -0
- package/studio/web/assets/{setComponentFile-DMPo4UjC.js → setComponentFile-D0aPcI3W.js} +2 -2
- package/studio/web/assets/{setComponentFile-DMPo4UjC.js.map → setComponentFile-D0aPcI3W.js.map} +1 -1
- package/studio/web/assets/setup-I15FAF9H.js +3 -0
- package/studio/web/assets/{setup-B56Oz1_u.js.map → setup-I15FAF9H.js.map} +1 -1
- package/studio/web/assets/status-BF1eJshJ.js +62 -0
- package/studio/web/assets/status-BF1eJshJ.js.map +1 -0
- package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js → swagger-ui-react-DwSPXXhl.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js.map → swagger-ui-react-DwSPXXhl.js.map} +1 -1
- package/studio/web/assets/{textarea-DhLMZ3PA.js → table-DpOjNQHt.js} +2 -10
- package/studio/web/assets/table-DpOjNQHt.js.map +1 -0
- package/studio/web/assets/{tsMode-CrHCRjTK.js → tsMode-Bu51A-VG.js} +2 -2
- package/studio/web/assets/{tsMode-CrHCRjTK.js.map → tsMode-Bu51A-VG.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js → useEntityRestURL-DrV1zMrN.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js.map → useEntityRestURL-DrV1zMrN.js.map} +1 -1
- package/studio/web/index.html +6 -7
- package/upgrade/upgradePrompt.ts +22 -3
- package/utility/environment/environmentManager.ts +152 -0
- package/utility/errors/commonErrors.ts +2 -0
- package/utility/hdbTerms.ts +2 -0
- package/utility/install/installer.ts +37 -0
- package/utility/lmdb/environmentUtility.ts +2 -1
- package/utility/logging/harper_logger.ts +57 -26
- package/studio/web/assets/applications-D03NA7wW.js.map +0 -1
- package/studio/web/assets/index-Bh_CNAHr.js +0 -809
- package/studio/web/assets/index-Bh_CNAHr.js.map +0 -1
- package/studio/web/assets/index-C8Mv9kHV.css +0 -1
- package/studio/web/assets/index.lazy-Dx3MpyDC.js +0 -14
- package/studio/web/assets/notifications-CwKhipK7.js +0 -2
- package/studio/web/assets/pollUnlessForbidden-HHdQZW1N.js.map +0 -1
- package/studio/web/assets/queryClient-CbA8wM7J.js +0 -2
- package/studio/web/assets/queryClient-CbA8wM7J.js.map +0 -1
- package/studio/web/assets/setup-B56Oz1_u.js +0 -3
- package/studio/web/assets/status-BAod7p3o.js +0 -62
- package/studio/web/assets/status-BAod7p3o.js.map +0 -1
- package/studio/web/assets/textarea-DhLMZ3PA.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentLoader.js","sourceRoot":"","sources":["../../components/componentLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GA,4DAgDC;AAiED,4CAEC;AAmKD,sCA2cC;AAh1BD,yEAAqE;AACrE,qCASiB;AACjB,yCAAyD;AACzD,6DAAmD;AACnD,+BAAqC;AACrC,kFAAoE;AACpE,gEAA0D;AAC1D,wDAA2F;AAC3F,wEAA0D;AAC1D,kFAAoE;AACpE,6DAA+C;AAC/C,sEAAwD;AACxD,6DAA+C;AAC/C,wDAA0C;AAC1C,iEAAmD;AACnD,iEAAmD;AACnD,wFAAgF;AAChF,uEAAyD;AACzD,+EAAiE;AACjE,yEAAoF;AACpF,2DAAqF;AACrF,yDAAqD;AACrD,mDAAgF;AAChF,yDAAuD;AACvD,mDAA6C;AAE7C,4DAAkD;AAClD,wFAA8E;AAC9E,0DAA4C;AAC5C,wDAA0C;AAC1C,6DAAuE;AACvE,mEAAmE;AACnE,oEAA8D;AAC9D,yCAAmC;AACnC,+DAAyD;AACzD,qDAAkF;AAClF,iEAAmD;AACnD,6DAA+C;AAC/C,wDAAmD;AACnD,gDAAoE;AACpE,2DAAqD;AACrD,+DAAsF;AAEtF,qDAA2D;AAC3D,uCAAyC;AAEzC,MAAM,aAAa,GAAG,IAAA,8BAAa,EAAC,2BAAa,CAAC,cAAc,CAAC,CAAC;AAClE,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAY,CAAC;AAC3C,IAAI,YAAY,CAAC;AACjB,IAAI,SAAS,CAAC;AAEd;;;;;GAKG;AACH;;;;;;;;;;;;;;;GAeG;AACH,SAAS,eAAe,CAAC,OAAe;IACvC,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAwB,EAAE,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACvE,OAAO,IAAA,4BAAY,EAAC,IAAA,6BAAY,GAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,OAAe;IAC1C,IAAI,CAAC;QACJ,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAe,CAAC,OAAO,GAAG,gBAAgB,OAAO,kCAAmC,KAAe,CAAC,OAAO,EAAE,CAAC;QAC/G,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,IAAA,iCAAc,GAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAAY,CAAC,CAAC,KAAK,CAAC,IAAA,8BAAW,EAAC,KAAc,CAAC,CAAC,CAAC;QACrF,oBAAkB,CAAC,MAAM,CACxB,OAAO,EACP,KAAc,EACd,cAAc,OAAO,uDAAuD,CAC5E,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,mBAAmC,EAAE,eAA2B;IAC9G,IAAI,eAAe;QAAE,SAAS,GAAG,eAAe,CAAC;IACjD,IAAI,mBAAmB;QAAE,gBAAgB,GAAG,mBAAmB,CAAC;IAChE,+FAA+F;IAC/F,yFAAyF;IACzF,iGAAiG;IACjG,8BAA8B;IAC9B,MAAM,IAAA,8CAAwB,GAAE,CAAC;IACjC,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,IAAI,IAAA,oBAAU,EAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAA,qBAAW,EAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAAE,SAAS;YACpE,8EAA8E;YAC9E,mFAAmF;YACnF,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,EAAE;gBAAE,SAAS;YAC9B,SAAS,CAAC,IAAI,CACb,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,+BAAiB,EAAE;gBACtD,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,KAAK;gBACjB,OAAO;gBACP,KAAK,EAAE,WAAW,CAAC,KAAK;aACxB,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7C,IAAI,YAAY,EAAE,CAAC;QAClB,IAAI,IAAA,iCAAc,GAAE,KAAK,CAAC;YAAE,0BAAY,CAAC,IAAI,EAAE,CAAC,2BAA2B,GAAG,YAAY,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAA,oBAAQ,EAAC,YAAY,CAAC,CAAC,CAAC;QAC/D,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CACb,aAAa,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE;gBACpD,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACzC,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,WAAW,CAAC,KAAK;aACxB,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,YAAY,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC,CAAC;AACJ,CAAC;AAEY,QAAA,wBAAwB,GAAQ;IAC5C,IAAI,EAAE,iDAAiD;IACvD,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,mBAAmB;IAC5B,aAAa,EAAE,cAAc;IAC7B,KAAK;IACL,UAAU,EAAE,SAAS;IACrB,IAAI,aAAa;QAChB,OAAO,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK;IACL,MAAM,EAAE,WAAW;IACnB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,aAAa;IACnB,cAAc,EAAE,IAAI;IACpB,IAAI;IACJ,OAAO;IACP,OAAO,EAAE,0BAAY;IACrB,UAAU;IACV,GAAG,EAAE,YAAY;IACjB,SAAS;IACT;;;OAGG;CACH,CAAC;AACF,IAAI,kCAAY,EAAE,CAAC;IAClB,gCAAwB,CAAC,aAAa,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/E,4FAA4F;IAC5F,oFAAoF;IACpF,gCAAwB,CAAC,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC5D,CAAC;KAAM,CAAC;IACP,yFAAyF;IACzF,4FAA4F;IAC5F,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,2FAA2F;IAC3F,4FAA4F;IAC5F,yDAAyD;IACzD,OAAO,CAAC,yCAAyC,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,IAAA,wCAAuB,GAAE,EAAE,CAAC;IACrE,gCAAwB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC;AACpD,CAAC;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,gCAAwB,CAAC,CAAC;AAE3C,QAAA,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAErC,gGAAgG;AAChG,iGAAiG;AACjG,iGAAiG;AACjG,+FAA+F;AAC/F,gGAAgG;AAChG,6FAA6F;AAC7F,gGAAgG;AAChG,yFAAyF;AACzF,kFAAkF;AACrE,QAAA,qBAAqB,GAAG,IAAI,GAAG,EAAe,CAAC;AAE5D,IAAI,aAAa,CAAC;AAClB,SAAgB,gBAAgB,CAAC,QAAQ;IACxC,aAAa,GAAG,QAAQ,CAAC;AAC1B,CAAC;AAED,IAAI,QAAgB,CAAC;AACd,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC;AAAlC,QAAA,gBAAgB,oBAAkB;AAE/C;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,kBAA0B;IACtD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,iBAAM,CAAC,YAAY,CAAC;QAClC,oCAAoC;QACpC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC3D,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,MAAM,QAAQ,GAAG,GAAG,EAAE;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC;gBACJ,yCAAyC;gBACzC,MAAM,cAAc,GAAG,IAAA,gBAAI,EAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAA,oBAAU,EAAC,cAAc,CAAC,EAAE,CAAC;oBACjC,mBAAmB;oBACnB,IAAA,mBAAS,EAAC,cAAc,CAAC,CAAC;gBAC3B,CAAC;gBAED,yBAAyB;gBACzB,MAAM,YAAY,GAAG,IAAA,gBAAI,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,kBAAkB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC;oBACJ,IAAA,mBAAS,EAAC,YAAY,CAAC,CAAC,CAAC,+DAA+D;oBACxF,kBAAkB,GAAG,IAAA,sBAAY,EAAC,YAAY,CAAC,KAAK,IAAA,sBAAY,EAAC,8BAAY,CAAC,CAAC;gBAChF,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzB,IAAA,gBAAM,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,IAAA,qBAAW,EAAC,8BAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;gBAChD,CAAC;gBACD,8CAA8C;gBAC9C,MAAM,cAAc,GAAG,IAAA,gBAAI,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBACxD,IAAI,qBAAqB,GAAG,KAAK,CAAC;gBAClC,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC;oBACJ,IAAA,mBAAS,EAAC,cAAc,CAAC,CAAC;oBAC1B,qBAAqB,GAAG,IAAI,CAAC;oBAC7B,oBAAoB,GAAG,IAAA,sBAAY,EAAC,cAAc,CAAC,KAAK,IAAA,sBAAY,EAAC,8BAAY,CAAC,CAAC;gBACpF,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,IAAI,qBAAqB,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBACpD,IAAA,gBAAM,EAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,IAAA,qBAAW,EAAC,8BAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;gBAClD,CAAC;gBAED,OAAO,EAAE,CAAC;YACX,CAAC;oBAAS,CAAC;gBACV,2BAA2B;gBAC3B,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,6BAA6B,CAAC,KAAY,EAAE,MAAoB;IACxE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAClC,sEAAsE;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC,4BAA4B;QAC/G,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,UAAU,kCAAkC,OAAO,OAAO,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,YAAY,EAAE,KAAK,CAAC;QACxB,MAAM,QAAQ,GAAG,GAAG,EAAE;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,YAAY,CAAC,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,iBAAM,CAAC,YAAY,CAAC;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/D,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtC,YAAY,GAAG,OAAO,CAAC;gBACvB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACvB,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACtE,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,kCAAkC;YACxD,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,WAA2B,CAAC;QAChC,IAAI,CAAC;YACJ,iGAAiG;YACjG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAClB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBAChE,uDAAuD;oBACvD,wGAAwG;oBACxG,MAAM,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBACnC,CAAC,CAAC;gBACF,IAAI,OAAO,CACV,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACb,CAAC,WAAW,GAAG,UAAU,CACxB,GAAG,EAAE,CACJ,MAAM,CACL,IAAI,KAAK,CACR,qCAAqC,OAAO,UAAU,KAAK,CAAC,UAAU,iBAAiB,KAAK,CAAC,OAAO,EAAE,CACtG,CACD,EACF,OAAO,CACP,CAAC,CACH;aACD,CAAC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACV,iBAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7C,YAAY,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAmBD;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CAClC,kBAA0B,EAC1B,SAAoB,EACpB,MAAc,EACd,UAAgC,EAAE;IAElC,MAAM,cAAc,GAAG,IAAA,sBAAY,EAAC,kBAAkB,CAAC,CAAC;IACxD,IAAI,mBAAW,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,mBAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5E,mBAAW,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEtC,MAAM,EACL,wBAAwB,EACxB,gBAAgB,GAAG,IAAI,sCAAgB,CAAC,IAAA,oBAAQ,EAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,kBAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EACxG,MAAM,EACN,UAAU,EACV,OAAO,EACP,KAAK,GACL,GAAG,OAAO,CAAC;IACZ,gBAAgB,CAAC,WAAW,KAAK,IAAA,sBAAY,EAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,wBAAwB;QAAE,gBAAgB,GAAG,wBAAwB,CAAC;IAC1E,IAAI,CAAC;QACJ,IAAI,MAAM,CAAC;QACX,IAAI,UAAU,GAAG,IAAA,gBAAI,EAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,CAAC,mDAAmD;QACpH,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,IAAI,IAAA,gBAAI,EAAC,kBAAkB,EAAE,sBAAsB,CAAC,EAAE,CAAC;YACjF,UAAU,GAAG,IAAA,gBAAI,EAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,6BAAY,GAAE,CAAC,CAAC,CAAC,IAAA,oBAAa,EAAC,IAAA,sBAAY,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5F,0HAA0H;QAC3H,CAAC;aAAM,IAAI,CAAC,MAAM,IAAI,IAAA,oBAAU,EAAC,CAAC,UAAU,GAAG,IAAA,gBAAI,EAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,MAAM,GAAG,IAAA,oBAAa,EAAC,IAAA,sBAAY,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,CAAC;aAAM,CAAC;YACP,MAAM,GAAG,kCAAc,CAAC;QACzB,CAAC;QACD,gBAAgB,CAAC,MAAM,KAAK,MAAM,CAAC;QAEnC,4EAA4E;QAC5E,gFAAgF;QAChF,6EAA6E;QAC7E,8DAA8D;QAC9D,IAAI,MAAM;YAAE,MAAM,KAAK,kCAAc,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,2EAA2E;YAC3E,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,MAAM;YAAE,MAAM,IAAA,8BAAe,EAAC,MAAM,CAAC,CAAC;QAE1C,uFAAuF;QACvF,wFAAwF;QACxF,4FAA4F;QAC5F,kFAAkF;QAClF,6FAA6F;QAC7F,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,MAAM,EAAE,CAAC;gBACZ,0BAAY,CAAC,IAAI,CAChB,iHAAiH,CACjH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,MAAM,mBAAmB,GAAG,IAAA,oBAAQ,EAAC,kBAAkB,CAAC,CAAC;gBACzD,IAAI,CAAC;oBACJ,gFAAgF;oBAChF,8EAA8E;oBAC9E,iFAAiF;oBACjF,MAAM,IAAA,8CAAwB,GAAE,CAAC;oBACjC,IAAA,yCAAmB,EAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,OAAO,GAAG,6BAA6B,mBAAmB,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC7F,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC,IAAA,iCAAc,GAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAAY,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/D,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,6BAA6B,mBAAmB,GAAG,CAAC,CAAC;oBAC3G,OAAO,SAAS,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,CAAC;gBACJ,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,0BAAY,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBAC9D,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC3D,0BAAY,CAAC,KAAK,CACjB,wLAAwL,CACxL,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,cAAc,GAAW,QAAQ,CAAC;QACxC,MAAM,sBAAsB,GAAG,EAAE,CAAC;QAClC,iFAAiF;QACjF,KAAK,MAAM,aAAa,IAAI,MAAM,EAAE,CAAC;YACpC,IAAI,aAAa,KAAK,KAAK;gBAAE,SAAS,CAAC,+BAA+B;YACtE,mDAAmD;YACnD,qGAAqG;YACrG,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAA,oBAAQ,EAAC,kBAAkB,CAAC,IAAI,aAAa,EAAE,CAAC;YAExG,QAAQ,GAAG,aAAa,CAAC;YACzB,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe;gBAAE,SAAS;YAE/B,6EAA6E;YAC7E,oBAAkB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAEhD,MAAM,mBAAmB,GAAG,MAAM;gBACjC,CAAC,CAAC,IAAI,sCAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,kBAAM,EAAE,gCAAwB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBAChH,CAAC,CAAC,gBAAgB,CAAC;YAEpB,IAAI,eAAoB,CAAC;YACzB,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC;YACpC,MAAM,mBAAmB,GAAG,eAAe,CAAC,aAAa,IAAI,QAAQ,CAAC;YACtE,IAAI,CAAC;gBACJ,IAAI,GAAG,EAAE,CAAC;oBACT,IAAI,mBAAmB,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACjE,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,mBAAmB,sBAAsB,CAAC,CAAC;wBACxG,SAAS;oBACV,CAAC;oBACD,IAAI,aAAa,GAAkB,IAAI,CAAC;oBACxC,IAAI,MAAM,EAAE,CAAC;wBACZ,aAAa,GAAG,IAAA,gBAAI,EAAC,kBAAkB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;oBACvE,CAAC;yBAAM,CAAC;wBACP,IAAI,eAAe,GAAG,kBAAkB,CAAC;wBACzC,MAAM,WAAW,GAAG,IAAA,sCAAc,GAAE,CAAC;wBACrC,MAAM,kBAAkB,GACvB,kBAAkB,KAAK,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,GAAG,eAAG,CAAC,CAAC;wBACxF,aAAa,GAAG,IAAA,gBAAI,EAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;wBACrE,OAAO,CAAC,IAAA,oBAAU,EAAC,aAAa,CAAC,EAAE,CAAC;4BACnC,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,eAAe,CAAC,CAAC;4BAC9C,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;gCACtC,aAAa,GAAG,IAAI,CAAC;gCACrB,MAAM;4BACP,CAAC;4BACD,eAAe,GAAG,YAAY,CAAC;4BAC/B,IACC,kBAAkB;gCAClB,eAAe,KAAK,WAAW;gCAC/B,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,GAAG,eAAG,CAAC,EAC7C,CAAC;gCACF,aAAa,GAAG,IAAI,CAAC;gCACrB,MAAM;4BACP,CAAC;4BACD,aAAa,GAAG,IAAA,gBAAI,EAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;wBACtE,CAAC;oBACF,CAAC;oBACD,IAAI,aAAa,EAAE,CAAC;wBACnB,mBAAmB,CAAC,WAAW,KAAK,IAAA,sBAAY,EAAC,aAAa,CAAC,CAAC;wBAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;4BACnC,eAAe,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;gCACvE,MAAM,EAAE,KAAK;gCACb,gBAAgB,EAAE,mBAAmB;gCACrC,UAAU,EAAE,KAAK;gCACjB,OAAO,EAAE,OAAO,IAAI,aAAa;gCACjC,aAAa,EAAE,OAAO,CAAC,aAAa;gCACpC,0EAA0E;gCAC1E,4EAA4E;gCAC5E,8EAA8E;gCAC9E,2EAA2E;gCAC3E,uEAAuE;gCACvE,+DAA+D;gCAC/D,KAAK,EAAE,IAAA,8BAAc,EAAC,KAAK,EAAE,IAAA,4BAAY,EAAC,eAAe,CAAC,CAAC;6BAC3D,CAAC,CAAC;4BACH,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;wBAC9C,CAAC;oBACF,CAAC;yBAAM,IAAI,mBAAmB,KAAK,cAAc,EAAE,CAAC;wBACnD,oBAAkB,CAAC,MAAM,CACxB,mBAAmB,EACnB,cAAc,mBAAmB,2BAA2B,CAC5D,CAAC;wBACF,SAAS;oBACV,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;oBACnE,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,MAAM,GAAG,gCAAwB,CAAC,aAAa,CAAC,CAAC;oBACvD,eAAe;wBACd,OAAO,MAAM,KAAK,QAAQ;4BACzB,CAAC,CAAC,MAAM,MAAM,kCACZ,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,IAAA,gBAAI,EAAC,8BAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,EAChG;4BACF,CAAC,CAAC,MAAM,CAAC;gBACZ,CAAC;gBAED,IAAI,CAAC,eAAe,EAAE,CAAC;oBACtB,8DAA8D;oBAC9D,kDAAkD;oBAClD,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,mBAAmB,aAAa,CAAC,CAAC;oBAC3G,SAAS;gBACV,CAAC;gBAED,wHAAwH;gBACxH,MAAM,WAAW,GAAG,CAAC,OAAY,EAAE,EAAE;oBACpC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;oBACxB,OAAO,IAAA,oBAAK,EAAC,OAAO,CAAC,CAAC;gBACvB,CAAC,CAAC;gBACF,2BAA2B;gBAC3B,MAAM,OAAO,GACZ,eAAe,CAAC,OAAO,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,CAAC;gBACtG,MAAM,UAAU,GACf,OAAO,EAAE,UAAU;oBACnB,6CAA6C;oBAC7C,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC;gBAE9C,IACC,mBAAmB,IAAI,eAAe;oBACtC,CAAC,OAAO,IAAI,eAAe;wBAC1B,mBAAmB,IAAI,eAAe;wBACtC,YAAY,IAAI,eAAe;wBAC/B,iBAAiB,IAAI,eAAe;wBACpC,WAAW,IAAI,eAAe;wBAC9B,gBAAgB,IAAI,eAAe,CAAC,EACpC,CAAC;oBACF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,aAAa,gDAAgD,CAAC,CAAC;oBACjG,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,cAAc,mBAAmB,kBAAkB,CAAC,CAAC;oBAC3G,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,uCAAuC;gBACvC,IAAI,SAAS,CAAC,QAAQ,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;oBAC7D,MAAM,KAAK,GAAG,IAAI,gBAAK,CACtB,OAAO,IAAI,QAAQ,EACnB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,MAAM;oBACN,2EAA2E;oBAC3E,6EAA6E;oBAC7E,4CAA4C;oBAC5C,MAAM;oBACN,2EAA2E;oBAC3E,+DAA+D;oBAC/D,KAAK,CACL,CAAC;oBAEF,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC3B,gFAAgF;wBAChF,oFAAoF;wBACpF,qFAAqF;wBACrF,qCAAqC;wBACrC,0EAA0E;wBAC1E,sEAAsE;wBACtE,yEAAyE;wBACzE,4DAA4D;wBAC5D,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;wBACnC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACP,qFAAqF;wBACrF,wFAAwF;wBACxF,IAAA,kCAAe,EAAC,6BAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,kCAAe,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACjF,CAAC;oBAED,MAAM,6BAA6B,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAE5D,mEAAmE;oBACnE,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,mBAAmB,uBAAuB,CAAC,CAAC;oBAEzG,SAAS;gBACV,CAAC;gBAED,qDAAqD;gBACrD,IACC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAClC,CAAC,mBAAmB,IAAI,eAAe;wBACtC,OAAO,IAAI,eAAe;wBAC1B,YAAY,IAAI,eAAe;wBAC/B,iBAAiB,IAAI,eAAe;wBACpC,WAAW,IAAI,eAAe;wBAC9B,gBAAgB,IAAI,eAAe,CAAC,EACpC,CAAC;oBACF,0BAAY,CAAC,IAAI,EAAE,CAClB,aAAa,aAAa,qJAAqJ,CAC/K,CAAC;gBACH,CAAC;gBAED,qFAAqF;gBACrF,yFAAyF;gBACzF,qFAAqF;gBACrF,8EAA8E;gBAC9E,sFAAsF;gBACtF,wFAAwF;gBACxF,gFAAgF;gBAChF,qDAAqD;gBACrD,IACC,KAAK;oBACL,CAAC,OAAO,eAAe,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,eAAe,CAAC,iBAAiB,KAAK,UAAU,CAAC,EACvG,CAAC;oBACF,MAAM,KAAK,GAAG,IAAI,KAAK,CACtB,cAAc,aAAa,iBAAiB;wBAC3C,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,CAAC,IAAI,GAAG;wBACpC,KAAK,CAAC,OAAO,IAAI,YAAY,KAAK,CAAC,OAAO,GAAG;qBAC7C;yBACC,MAAM,CAAC,OAAO,CAAC;yBACf,IAAI,CACJ,IAAI,CACJ,+OAA+O,CACjP,CAAC;oBACF,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,cAAc,mBAAmB,kBAAkB,CAAC,CAAC;oBAC3G,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,IAAI,kCAAY,EAAE,CAAC;oBAClB,sFAAsF;oBACtF,6EAA6E;oBAC7E,oFAAoF;oBACpF,gFAAgF;oBAChF,gFAAgF;oBAChF,qFAAqF;oBACrF,gFAAgF;oBAChF,oBAAoB;oBACpB,IAAI,OAAO,eAAe,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;wBAC7D,oFAAoF;wBACpF,iEAAiE;wBACjE,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,oBAAQ,EAAC,cAAc,CAAC,IAAI,aAAa,IAAI,cAAc,EAAE,CAAC;wBACrG,IAAI,6BAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC9C,eAAe,GAAG,6BAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAC5D,CAAC;6BAAM,CAAC;4BACP,eAAe;gCACd,CAAC,MAAM,eAAe,CAAC,iBAAiB,CAAC;oCACxC,MAAM,EAAN,kBAAM;oCACN,WAAW;oCACX,IAAI;oCACJ,UAAU;oCACV,SAAS;oCACT,GAAG,eAAe;iCAClB,CAAC,CAAC,IAAI,eAAe,CAAC;4BACxB,6BAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;wBAC3D,CAAC;oBACF,CAAC;oBACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;wBACvB,IAAI,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,oBAAoB,CAAC;4BAC9C,0BAAY,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;oBAC7E,CAAC;gBACF,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ;oBACrB,eAAe;wBACd,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;4BAC9B,MAAM,EAAN,kBAAM;4BACN,WAAW;4BACX,IAAI;4BACJ,UAAU;4BACV,SAAS;4BACT,GAAG,eAAe;yBAClB,CAAC,CAAC,IAAI,eAAe,CAAC;gBACzB,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAE5C,IACC,CAAC,eAAe,CAAC,UAAU;oBAC1B,eAAe,CAAC,eAAe;oBAC/B,eAAe,CAAC,SAAS;oBACzB,eAAe,CAAC,cAAc,CAAC;oBAChC,eAAe,CAAC,KAAK,IAAI,SAAS,EACjC,CAAC;oBACF,MAAM,SAAS,GAAG,IAAI,4BAAW,CAAC;wBACjC,MAAM,EAAE,eAAe;wBACvB,IAAI,EAAE,aAAa;wBACnB,SAAS,EAAE,kBAAkB;wBAC7B,MAAM,EAAE,eAAe;wBACvB,SAAS;qBACT,CAAC,CAAC;oBAEH,sBAAsB,CAAC,aAAa,CAAC,GAAG,MAAM,IAAA,kDAAiC,EAAC,SAAS,CAAC,CAAC;gBAC5F,CAAC;gBAED,qDAAqD;gBACrD,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,mBAAmB,uBAAuB,CAAC,CAAC;YAC1G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,KAAK,CAAC,OAAO,GAAG,6BAA6B,aAAa,sBAAsB,IAAA,oBAAQ,EAAC,kBAAkB,CAAC,aAC3G,KAAK,CAAC,OACP,EAAE,CAAC;gBACH,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC,IAAA,iCAAc,GAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAAY,CAAC,CAAC,KAAK,CAAC,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC,CAAC;gBAC5E,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,gCAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjF,oBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,6BAA6B,mBAAmB,GAAG,CAAC,CAAC;YAC5G,CAAC;QACF,CAAC;QAED,QAAQ,GAAG,cAAc,CAAC;QAC1B,IAAI,kCAAY,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;YACjD,IAAI,aAAa,GAAyC,IAAI,CAAC;YAC/D,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,0EAA0E;YAClG,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,+EAA+E;YAEpG,gGAAgG;YAChG,8FAA8F;YAC9F,iGAAiG;YACjG,6FAA6F;YAC7F,kFAAkF;YAClF,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;gBAClC,IAAI,UAAU,EAAE,CAAC;oBAChB,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO;gBACR,CAAC;gBACD,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC;oBACJ,GAAG,CAAC;wBACH,OAAO,GAAG,KAAK,CAAC;wBAChB,IAAA,sCAAkB,GAAE,CAAC;wBACrB,wFAAwF;wBACxF,qFAAqF;wBACrF,IAAI,CAAC;4BACJ,MAAM,wBAAwB,EAAE,CAAC;4BACjC,MAAM,IAAA,iCAAc,GAAE,CAAC;wBACxB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,0BAAY,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;wBAC5D,CAAC;oBACF,CAAC,QAAQ,OAAO,EAAE,CAAC,kEAAkE;gBACtF,CAAC;wBAAS,CAAC;oBACV,UAAU,GAAG,KAAK,CAAC;gBACpB,CAAC;YACF,CAAC,CAAC;YAEF,IAAA,8CAA0B,EAAC,GAAG,EAAE;gBAC/B,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC/B,aAAa,GAAG,IAAI,CAAC;oBACrB,KAAK,eAAe,EAAE,CAAC;gBACxB,CAAC,EAAE,GAAG,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,kCAAY,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAClG,MAAM,eAAe,GAAG,MAAM,IAAA,0BAAY,EACzC,IAAA,gBAAI,EAAC,kBAAkB,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC,EACvE,gBAAgB,CAChB,CAAC;YACF,mBAAW,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YACjD,OAAO,eAAe,CAAC;QACxB,CAAC;QACD,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3E,IACC,4BAA4B,CAAC,MAAM,GAAG,CAAC;YACvC,4BAA4B,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC;YACrE,SAAS,CAAC,QAAQ,EACjB,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,kBAAkB,4EAA4E,CAAC;YACvH,aAAa,EAAE,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACzC,CAAC,IAAA,iCAAc,GAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAAY,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACtE,oBAAkB,CAAC,MAAM,CAAC,IAAA,oBAAQ,EAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,aAAa;gBACjB,0BAAY,CAAC,IAAI,CAChB,aAAa,aAAa,UAAU,IAAA,oBAAQ,EAAC,kBAAkB,CAAC,mCAAmC,CACnG,CAAC;QACJ,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,wCAAwC,kBAAkB,EAAE,EAAE,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC,CAAC;QAChG,KAAK,CAAC,OAAO,GAAG,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrE,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,gCAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"componentLoader.js","sourceRoot":"","sources":["../../components/componentLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ export type DeployPhase = 'start' | 'end';
|
|
|
3
3
|
export type DeployLifecycleEvent = {
|
|
4
4
|
name: string;
|
|
5
5
|
phase: DeployPhase;
|
|
6
|
+
deploymentId?: string;
|
|
7
|
+
ownerThreadId?: number;
|
|
6
8
|
};
|
|
7
9
|
type DeployLifecycleEventsMap = {
|
|
8
10
|
'deploy:start': [componentName: string];
|
|
@@ -12,6 +14,8 @@ declare class DeployLifecycle extends EventEmitter<DeployLifecycleEventsMap> {
|
|
|
12
14
|
#private;
|
|
13
15
|
isDeployInFlight(componentName: string): boolean;
|
|
14
16
|
_handle(event: DeployLifecycleEvent): void;
|
|
17
|
+
_reclaimOwner(ownerThreadId: number): void;
|
|
18
|
+
_reclaimOwnerAfterTermination(ownerThreadId: number, waitForTermination?: (ownerThreadId: number) => Promise<void>): Promise<void>;
|
|
15
19
|
_clearForTests(): void;
|
|
16
20
|
}
|
|
17
21
|
export declare const deployLifecycle: DeployLifecycle;
|
|
@@ -24,7 +28,7 @@ export declare const deployLifecycle: DeployLifecycle;
|
|
|
24
28
|
* component compose correctly (each call must be paired with exactly one
|
|
25
29
|
* broadcastDeployEnd).
|
|
26
30
|
*/
|
|
27
|
-
export declare function broadcastDeployStart(componentName: string): Promise<
|
|
31
|
+
export declare function broadcastDeployStart(componentName: string): Promise<string>;
|
|
28
32
|
/**
|
|
29
33
|
* Announce the end of a deploy for `componentName`. Fire-and-forget — the
|
|
30
34
|
* caller (the deploy operation) is done by this point and doesn't need to
|
|
@@ -33,7 +37,7 @@ export declare function broadcastDeployStart(componentName: string): Promise<voi
|
|
|
33
37
|
* Must be called exactly once per matching broadcastDeployStart, even if the
|
|
34
38
|
* deploy errored — typically from a `finally` block.
|
|
35
39
|
*/
|
|
36
|
-
export declare function broadcastDeployEnd(componentName: string): void;
|
|
40
|
+
export declare function broadcastDeployEnd(componentName: string, deploymentId: string): void;
|
|
37
41
|
export declare function _resetForTests(): void;
|
|
38
42
|
export declare const supportsCrossThreadBroadcast: boolean;
|
|
39
43
|
export {};
|
|
@@ -10,63 +10,134 @@
|
|
|
10
10
|
//
|
|
11
11
|
// This module solves that by broadcasting a structured "deploy:start" /
|
|
12
12
|
// "deploy:end" signal to every Harper thread. Each thread's deploy emitter
|
|
13
|
-
// fires locally so Scopes (and any plugin subscribers) can react: Scopes
|
|
14
|
-
// their EntryHandlers on start
|
|
13
|
+
// fires locally so Scopes (and any plugin subscribers) can react: Scopes pause
|
|
14
|
+
// their EntryHandlers on start and resume them on end. The result is that
|
|
15
15
|
// during a deploy, no watcher fires events for the deployed component, and
|
|
16
|
-
// after the deploy the
|
|
17
|
-
//
|
|
16
|
+
// after the deploy the watcher compares the new tree with its retained snapshot
|
|
17
|
+
// and emits the same logical add/change/unlink events consumers saw before #1806.
|
|
18
18
|
//
|
|
19
|
-
// State sharing across threads is intentionally narrow:
|
|
20
|
-
//
|
|
21
|
-
// need to gate their own work on deploy progress
|
|
22
|
-
// listen to the events directly.
|
|
19
|
+
// State sharing across threads is intentionally narrow: local deployment-owner
|
|
20
|
+
// records are rebuilt from the broadcast stream and reclaimed when their owner
|
|
21
|
+
// thread exits. Plugins that need to gate their own work on deploy progress
|
|
22
|
+
// import `deployLifecycle` and listen to the events directly.
|
|
23
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
24
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
25
|
+
};
|
|
23
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
27
|
exports.supportsCrossThreadBroadcast = exports.deployLifecycle = void 0;
|
|
25
28
|
exports.broadcastDeployStart = broadcastDeployStart;
|
|
26
29
|
exports.broadcastDeployEnd = broadcastDeployEnd;
|
|
27
30
|
exports._resetForTests = _resetForTests;
|
|
28
31
|
const node_events_1 = require("node:events");
|
|
32
|
+
const node_crypto_1 = require("node:crypto");
|
|
33
|
+
const promises_1 = require("node:timers/promises");
|
|
29
34
|
const node_worker_threads_1 = require("node:worker_threads");
|
|
30
35
|
const manageThreads_js_1 = require("../server/threads/manageThreads.js");
|
|
36
|
+
const harper_logger_ts_1 = __importDefault(require("../utility/logging/harper_logger.js"));
|
|
31
37
|
const DEPLOY_LIFECYCLE_MSG = 'harper:deploy:lifecycle';
|
|
32
38
|
class DeployLifecycle extends node_events_1.EventEmitter {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
#inFlight = new Map();
|
|
39
|
+
#deployments = new Map();
|
|
40
|
+
#byComponent = new Map();
|
|
41
|
+
#deadOwners = new Set();
|
|
42
|
+
#legacyDeployments = new Map();
|
|
43
|
+
#legacySequence = 0;
|
|
39
44
|
isDeployInFlight(componentName) {
|
|
40
|
-
return (this.#
|
|
45
|
+
return (this.#byComponent.get(componentName)?.size ?? 0) > 0;
|
|
41
46
|
}
|
|
42
47
|
// Process a deploy lifecycle event in-process. Called both from the
|
|
43
48
|
// broadcast receiver (for events originating on another thread) and from
|
|
44
49
|
// the broadcaster (so the originating thread also reacts locally).
|
|
45
50
|
_handle(event) {
|
|
46
|
-
const
|
|
51
|
+
const ownerThreadId = event.ownerThreadId ?? node_worker_threads_1.threadId;
|
|
52
|
+
let deploymentId = event.deploymentId;
|
|
47
53
|
if (event.phase === 'start') {
|
|
48
|
-
this.#
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
if (this.#deadOwners.has(ownerThreadId))
|
|
55
|
+
return;
|
|
56
|
+
if (!deploymentId) {
|
|
57
|
+
deploymentId = `legacy:${node_worker_threads_1.threadId}:${++this.#legacySequence}`;
|
|
58
|
+
const legacy = this.#legacyDeployments.get(event.name) ?? [];
|
|
59
|
+
legacy.push(deploymentId);
|
|
60
|
+
this.#legacyDeployments.set(event.name, legacy);
|
|
61
|
+
}
|
|
62
|
+
if (this.#deployments.has(deploymentId))
|
|
63
|
+
return;
|
|
64
|
+
const active = this.#byComponent.get(event.name) ?? new Set();
|
|
65
|
+
this.#deployments.set(deploymentId, { name: event.name, ownerThreadId });
|
|
66
|
+
this.#byComponent.set(event.name, active);
|
|
67
|
+
active.add(deploymentId);
|
|
68
|
+
if (active.size === 1)
|
|
69
|
+
this.#emitSafely('deploy:start', event.name);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (!deploymentId)
|
|
73
|
+
deploymentId = this.#legacyDeployments.get(event.name)?.pop();
|
|
74
|
+
if (deploymentId)
|
|
75
|
+
this.#removeDeployment(deploymentId);
|
|
76
|
+
}
|
|
77
|
+
_reclaimOwner(ownerThreadId) {
|
|
78
|
+
this.#deadOwners.add(ownerThreadId);
|
|
79
|
+
for (const [deploymentId, deployment] of this.#deployments) {
|
|
80
|
+
if (deployment.ownerThreadId === ownerThreadId)
|
|
81
|
+
this.#removeDeployment(deploymentId);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async _reclaimOwnerAfterTermination(ownerThreadId, waitForTermination = waitForOwnerTermination) {
|
|
85
|
+
if (ownerThreadId === 0 || ownerThreadId === node_worker_threads_1.threadId)
|
|
86
|
+
return;
|
|
87
|
+
this.#deadOwners.add(ownerThreadId);
|
|
88
|
+
await waitForTermination(ownerThreadId);
|
|
89
|
+
this._reclaimOwner(ownerThreadId);
|
|
90
|
+
}
|
|
91
|
+
#removeDeployment(deploymentId) {
|
|
92
|
+
const deployment = this.#deployments.get(deploymentId);
|
|
93
|
+
if (!deployment)
|
|
94
|
+
return;
|
|
95
|
+
this.#deployments.delete(deploymentId);
|
|
96
|
+
const active = this.#byComponent.get(deployment.name);
|
|
97
|
+
if (!active)
|
|
98
|
+
return;
|
|
99
|
+
active.delete(deploymentId);
|
|
100
|
+
if (active.size === 0) {
|
|
101
|
+
this.#byComponent.delete(deployment.name);
|
|
102
|
+
this.#emitSafely('deploy:end', deployment.name);
|
|
51
103
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.emit('deploy:end', event.name);
|
|
104
|
+
}
|
|
105
|
+
#emitSafely(event, componentName) {
|
|
106
|
+
for (const listener of this.rawListeners(event)) {
|
|
107
|
+
try {
|
|
108
|
+
listener.call(this, componentName);
|
|
58
109
|
}
|
|
59
|
-
|
|
60
|
-
|
|
110
|
+
catch (error) {
|
|
111
|
+
harper_logger_ts_1.default.error(`Listener for ${event} threw for ${componentName}:`, error);
|
|
61
112
|
}
|
|
62
113
|
}
|
|
63
114
|
}
|
|
64
115
|
// Test-only: clear in-flight state without firing events.
|
|
65
116
|
_clearForTests() {
|
|
66
|
-
this.#
|
|
117
|
+
this.#deployments.clear();
|
|
118
|
+
this.#byComponent.clear();
|
|
119
|
+
this.#deadOwners.clear();
|
|
120
|
+
this.#legacyDeployments.clear();
|
|
121
|
+
this.#legacySequence = 0;
|
|
67
122
|
}
|
|
68
123
|
}
|
|
69
124
|
exports.deployLifecycle = new DeployLifecycle();
|
|
125
|
+
async function waitForOwnerTermination(ownerThreadId) {
|
|
126
|
+
let timeoutReported = false;
|
|
127
|
+
for (;;) {
|
|
128
|
+
try {
|
|
129
|
+
if (!(await (0, manageThreads_js_1.isThreadRunning)(ownerThreadId)))
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (!timeoutReported) {
|
|
134
|
+
timeoutReported = true;
|
|
135
|
+
harper_logger_ts_1.default.warn(`Retrying liveness check for exited thread ${ownerThreadId}:`, error);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
await (0, promises_1.setTimeout)(25, undefined, { ref: false });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
70
141
|
let receiverInstalled = false;
|
|
71
142
|
function ensureReceiver() {
|
|
72
143
|
if (receiverInstalled)
|
|
@@ -82,6 +153,11 @@ function ensureReceiver() {
|
|
|
82
153
|
// suppress only the main thread's watchers and the worker watchers would keep
|
|
83
154
|
// firing restart storms (harper#488).
|
|
84
155
|
ensureReceiver();
|
|
156
|
+
(0, manageThreads_js_1.onThreadExit)((deadThreadId) => {
|
|
157
|
+
void exports.deployLifecycle
|
|
158
|
+
._reclaimOwnerAfterTermination(deadThreadId)
|
|
159
|
+
.catch((error) => harper_logger_ts_1.default.error(`Could not reclaim deployments from thread ${deadThreadId}:`, error));
|
|
160
|
+
});
|
|
85
161
|
/**
|
|
86
162
|
* Announce the start of a deploy for `componentName`. Awaits acknowledgement
|
|
87
163
|
* from every worker so the caller can rely on all watchers being suppressed
|
|
@@ -93,7 +169,8 @@ ensureReceiver();
|
|
|
93
169
|
*/
|
|
94
170
|
async function broadcastDeployStart(componentName) {
|
|
95
171
|
ensureReceiver();
|
|
96
|
-
const
|
|
172
|
+
const deploymentId = (0, node_crypto_1.randomUUID)();
|
|
173
|
+
const event = { name: componentName, phase: 'start', deploymentId, ownerThreadId: node_worker_threads_1.threadId };
|
|
97
174
|
exports.deployLifecycle._handle(event); // local thread first
|
|
98
175
|
let timer;
|
|
99
176
|
try {
|
|
@@ -121,6 +198,7 @@ async function broadcastDeployStart(componentName) {
|
|
|
121
198
|
if (timer)
|
|
122
199
|
clearTimeout(timer);
|
|
123
200
|
}
|
|
201
|
+
return deploymentId;
|
|
124
202
|
}
|
|
125
203
|
/**
|
|
126
204
|
* Announce the end of a deploy for `componentName`. Fire-and-forget — the
|
|
@@ -130,9 +208,9 @@ async function broadcastDeployStart(componentName) {
|
|
|
130
208
|
* Must be called exactly once per matching broadcastDeployStart, even if the
|
|
131
209
|
* deploy errored — typically from a `finally` block.
|
|
132
210
|
*/
|
|
133
|
-
function broadcastDeployEnd(componentName) {
|
|
211
|
+
function broadcastDeployEnd(componentName, deploymentId) {
|
|
134
212
|
ensureReceiver();
|
|
135
|
-
const event = { name: componentName, phase: 'end' };
|
|
213
|
+
const event = { name: componentName, phase: 'end', deploymentId, ownerThreadId: node_worker_threads_1.threadId };
|
|
136
214
|
exports.deployLifecycle._handle(event);
|
|
137
215
|
try {
|
|
138
216
|
void (0, manageThreads_js_1.broadcast)({ type: DEPLOY_LIFECYCLE_MSG, event }, false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployLifecycle.js","sourceRoot":"","sources":["../../components/deployLifecycle.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,EAAE;AACF,gFAAgF;AAChF,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,qDAAqD;AACrD,EAAE;AACF,wEAAwE;AACxE,2EAA2E;AAC3E,+EAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"deployLifecycle.js","sourceRoot":"","sources":["../../components/deployLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ interface CreateOptions {
|
|
|
11
11
|
rollback_of?: string | null;
|
|
12
12
|
credentials?: CredentialReference[] | null;
|
|
13
13
|
emitter?: ProgressEmitter;
|
|
14
|
+
ingestTimeoutMs?: number;
|
|
14
15
|
}
|
|
15
16
|
export declare class DeploymentRecorder {
|
|
16
17
|
readonly deploymentId: string;
|
|
@@ -20,6 +21,8 @@ export declare class DeploymentRecorder {
|
|
|
20
21
|
private pendingPut;
|
|
21
22
|
private dirty;
|
|
22
23
|
private sealed;
|
|
24
|
+
private flushSuppressed;
|
|
25
|
+
private readonly ingestTimeoutMs?;
|
|
23
26
|
private constructor();
|
|
24
27
|
static create(options: CreateOptions): Promise<DeploymentRecorder>;
|
|
25
28
|
/**
|
|
@@ -45,6 +48,7 @@ export declare class DeploymentRecorder {
|
|
|
45
48
|
* materialized by the time they reach us, so they take the simpler buffer path.
|
|
46
49
|
*/
|
|
47
50
|
ingestPayload(source: Readable | Buffer | string): Promise<void>;
|
|
51
|
+
private ingestPayloadWithoutFlush;
|
|
48
52
|
/**
|
|
49
53
|
* Drop the stored payload tarball, retaining the metadata (size, hash, event_log). Used to
|
|
50
54
|
* reclaim storage for large deploys once every peer has installed from the blob and it is no
|
|
@@ -100,7 +104,9 @@ export declare class DeploymentRecorder {
|
|
|
100
104
|
private put;
|
|
101
105
|
}
|
|
102
106
|
export declare const DEFAULT_AWAIT_ROW_TIMEOUT_MS = 120000;
|
|
107
|
+
export declare const DEFAULT_INGEST_TRANSACTION_TIMEOUT_MS = 600000;
|
|
103
108
|
export declare function coerceTimeoutMs(value: unknown, fallback: number): number;
|
|
109
|
+
export declare function ingestTransactionTimeoutMs(deploymentTimeout: unknown): number;
|
|
104
110
|
/**
|
|
105
111
|
* Peer-side helper — wait for the hdb_deployment row to arrive via table replication,
|
|
106
112
|
* then return it. The row is committed on origin before `replicateOperation` is
|
|
@@ -33,9 +33,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.DEFAULT_AWAIT_ROW_TIMEOUT_MS = exports.DeploymentRecorder = void 0;
|
|
36
|
+
exports.DEFAULT_INGEST_TRANSACTION_TIMEOUT_MS = exports.DEFAULT_AWAIT_ROW_TIMEOUT_MS = exports.DeploymentRecorder = void 0;
|
|
37
37
|
exports.getActiveEmitter = getActiveEmitter;
|
|
38
38
|
exports.coerceTimeoutMs = coerceTimeoutMs;
|
|
39
|
+
exports.ingestTransactionTimeoutMs = ingestTransactionTimeoutMs;
|
|
39
40
|
exports.awaitDeploymentRow = awaitDeploymentRow;
|
|
40
41
|
exports.readPayloadBlobWithRetry = readPayloadBlobWithRetry;
|
|
41
42
|
// DeploymentRecorder — lifecycle owner for one row in system.hdb_deployment.
|
|
@@ -50,6 +51,7 @@ const node_crypto_1 = require("node:crypto");
|
|
|
50
51
|
const node_crypto_2 = require("node:crypto");
|
|
51
52
|
const node_stream_1 = require("node:stream");
|
|
52
53
|
const databases_ts_1 = require("../resources/databases.js");
|
|
54
|
+
const transaction_ts_1 = require("../resources/transaction.js");
|
|
53
55
|
const blob_ts_1 = require("../resources/blob.js");
|
|
54
56
|
const terms = __importStar(require("../utility/hdbTerms.js"));
|
|
55
57
|
const hdbError_ts_1 = require("../utility/errors/hdbError.js");
|
|
@@ -75,6 +77,33 @@ function getActiveEmitter(deploymentId) {
|
|
|
75
77
|
// streaming path is uncapped — this bound exists solely to keep a pending-upgrade window from
|
|
76
78
|
// OOMing the node on a large deploy. 1 GiB comfortably covers real components.
|
|
77
79
|
const UNTRACKED_PAYLOAD_BUFFER_CAP_BYTES = 1024 * 1024 * 1024;
|
|
80
|
+
/**
|
|
81
|
+
* Run `write()` in a fresh transaction while preserving audit attribution. Recorder writes must
|
|
82
|
+
* commit independently of a caller's transaction so an older staged row cannot overwrite them;
|
|
83
|
+
* authorization is enforced by the deploy operation rather than these internal writes.
|
|
84
|
+
*
|
|
85
|
+
* `timeoutBudget` is sticky across RocksDB `getReadTxn()` calls, so reads inside `write()` cannot
|
|
86
|
+
* silently restore the generic default. The transaction uses the larger of this budget and the
|
|
87
|
+
* configured global limit.
|
|
88
|
+
*/
|
|
89
|
+
function withIsolatedTransaction(write, timeoutMs) {
|
|
90
|
+
const ambient = transaction_ts_1.contextStorage.getStore();
|
|
91
|
+
const context = {
|
|
92
|
+
user: ambient?.user,
|
|
93
|
+
originatingOperation: ambient?.originatingOperation,
|
|
94
|
+
session: ambient?.session,
|
|
95
|
+
signal: ambient?.signal,
|
|
96
|
+
};
|
|
97
|
+
return (0, transaction_ts_1.transaction)(context, (txn) => {
|
|
98
|
+
if (timeoutMs != null) {
|
|
99
|
+
// TODO(harper#2057): only extends the RocksDB DatabaseTransaction head; on
|
|
100
|
+
// HARPER_STORAGE_ENGINE=lmdb, Table.txnForContext() chains a separate LMDBTransaction
|
|
101
|
+
// that this budget doesn't reach.
|
|
102
|
+
txn.timeoutBudget = timeoutMs;
|
|
103
|
+
}
|
|
104
|
+
return write();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
78
107
|
class DeploymentRecorder {
|
|
79
108
|
deploymentId;
|
|
80
109
|
record;
|
|
@@ -83,9 +112,12 @@ class DeploymentRecorder {
|
|
|
83
112
|
pendingPut = null;
|
|
84
113
|
dirty = false;
|
|
85
114
|
sealed = false;
|
|
86
|
-
|
|
115
|
+
flushSuppressed = false;
|
|
116
|
+
ingestTimeoutMs;
|
|
117
|
+
constructor(deploymentId, initial, ingestTimeoutMs) {
|
|
87
118
|
this.deploymentId = deploymentId;
|
|
88
119
|
this.record = initial;
|
|
120
|
+
this.ingestTimeoutMs = ingestTimeoutMs;
|
|
89
121
|
}
|
|
90
122
|
static async create(options) {
|
|
91
123
|
const deploymentId = (0, node_crypto_1.randomUUID)();
|
|
@@ -110,7 +142,7 @@ class DeploymentRecorder {
|
|
|
110
142
|
credentials: options.credentials ?? null,
|
|
111
143
|
error: null,
|
|
112
144
|
};
|
|
113
|
-
const recorder = new DeploymentRecorder(deploymentId, record);
|
|
145
|
+
const recorder = new DeploymentRecorder(deploymentId, record, options.ingestTimeoutMs);
|
|
114
146
|
await recorder.put();
|
|
115
147
|
if (options.emitter) {
|
|
116
148
|
recorder.subscribeTo(options.emitter);
|
|
@@ -161,9 +193,8 @@ class DeploymentRecorder {
|
|
|
161
193
|
// the record dirty; the chained continuation issues a follow-up put once the prior one
|
|
162
194
|
// settles. This keeps event_log writes O(1) puts per burst rather than O(N) per event.
|
|
163
195
|
scheduleFlush() {
|
|
164
|
-
if (this.sealed) {
|
|
165
|
-
//
|
|
166
|
-
// terminal write. See seal() for why. The emitter still emits live SSE events.
|
|
196
|
+
if (this.sealed || this.flushSuppressed) {
|
|
197
|
+
// Accumulate state until finish() or the active ingest writes it without a competing put.
|
|
167
198
|
this.dirty = true;
|
|
168
199
|
return;
|
|
169
200
|
}
|
|
@@ -178,6 +209,7 @@ class DeploymentRecorder {
|
|
|
178
209
|
this.scheduleFlush();
|
|
179
210
|
}
|
|
180
211
|
});
|
|
212
|
+
this.pendingPut.catch((error) => logger_ts_1.logger.warn?.('Failed to persist deployment progress', error));
|
|
181
213
|
}
|
|
182
214
|
/**
|
|
183
215
|
* Drain a payload source (Buffer, base64 string, or Readable) into the row's
|
|
@@ -193,6 +225,27 @@ class DeploymentRecorder {
|
|
|
193
225
|
* materialized by the time they reach us, so they take the simpler buffer path.
|
|
194
226
|
*/
|
|
195
227
|
async ingestPayload(source) {
|
|
228
|
+
this.flushSuppressed = true;
|
|
229
|
+
try {
|
|
230
|
+
while (this.pendingPut) {
|
|
231
|
+
try {
|
|
232
|
+
await this.pendingPut;
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
/* already logged; the ingest write carries the current row state */
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
await this.ingestPayloadWithoutFlush(source);
|
|
239
|
+
}
|
|
240
|
+
finally {
|
|
241
|
+
this.flushSuppressed = false;
|
|
242
|
+
if (this.dirty && !this.sealed) {
|
|
243
|
+
this.dirty = false;
|
|
244
|
+
this.scheduleFlush();
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
async ingestPayloadWithoutFlush(source) {
|
|
196
249
|
const hash = (0, node_crypto_2.createHash)('sha256');
|
|
197
250
|
// In-memory sources: the bytes are already resident, so hashing them and creating a
|
|
198
251
|
// buffer-backed blob is both simplest and no worse for memory than what the caller
|
|
@@ -203,7 +256,10 @@ class DeploymentRecorder {
|
|
|
203
256
|
this.record.payload_blob = (0, blob_ts_1.createBlob)(buffer, { type: 'application/gzip' });
|
|
204
257
|
this.record.payload_hash = hash.digest('hex');
|
|
205
258
|
this.record.payload_size = buffer.length;
|
|
206
|
-
|
|
259
|
+
// Same blob-durability gate as the streaming path below applies here too (the commit
|
|
260
|
+
// waits for the buffer to land on disk), so a large base64-in-JSON/CBOR body needs the
|
|
261
|
+
// same extended budget.
|
|
262
|
+
await this.put(ingestTransactionTimeoutMs(this.ingestTimeoutMs));
|
|
207
263
|
return;
|
|
208
264
|
}
|
|
209
265
|
// Streaming source. If the hdb_deployment table is missing (upgrade directive hasn't
|
|
@@ -260,6 +316,16 @@ class DeploymentRecorder {
|
|
|
260
316
|
});
|
|
261
317
|
const blob = (0, blob_ts_1.createBlob)(tap, { type: 'application/gzip' });
|
|
262
318
|
this.record.payload_blob = blob;
|
|
319
|
+
// This row's commit is gated on the blob's durable file write (resources/blob.ts,
|
|
320
|
+
// startPreCommitBlobsForRecord's local-write branch) so a peer never sees a row that
|
|
321
|
+
// references a not-yet-durable blob — the write transaction is legitimately held open for
|
|
322
|
+
// as long as the payload takes to land on disk. The deploy system is explicitly designed
|
|
323
|
+
// to carry arbitrarily large, uncapped components (see the module comment above), so that
|
|
324
|
+
// duration scales with payload size, not with anything bounded. Run this one put() under
|
|
325
|
+
// an extended open-time budget instead of the generic storage.maxTransactionOpenTime meant
|
|
326
|
+
// for ordinary short requests (a large-but-otherwise-healthy ingest tripped that generic
|
|
327
|
+
// guard on a loaded self-hosted runner — see the Large Deploy Payload Test regression).
|
|
328
|
+
//
|
|
263
329
|
// Persisting the row encodes the blob, which synchronously starts the file write that
|
|
264
330
|
// drains the tap, so `isSaving(blob)` is set as soon as put() is *called*. Await the put,
|
|
265
331
|
// the source draining (tapDone), and the file flush (saving) together: handing all three
|
|
@@ -267,7 +333,7 @@ class DeploymentRecorder {
|
|
|
267
333
|
// a large upload mid-stream (which rejects both tapDone and the blob write) fails the
|
|
268
334
|
// deploy loudly here instead of leaking an unhandledRejection. This also makes hash/size
|
|
269
335
|
// correctness independent of the put()/store write timing and of isSaving() being defined.
|
|
270
|
-
const putDone = this.put();
|
|
336
|
+
const putDone = this.put(ingestTransactionTimeoutMs(this.ingestTimeoutMs));
|
|
271
337
|
const saving = (0, blob_ts_1.isSaving)(blob) ?? Promise.resolve();
|
|
272
338
|
try {
|
|
273
339
|
await Promise.all([putDone, tapDone, saving]);
|
|
@@ -286,7 +352,7 @@ class DeploymentRecorder {
|
|
|
286
352
|
// ensures the null-reference write lands after the original reference write
|
|
287
353
|
// (so it wins) and the blob's file lock is released before we unlink it.
|
|
288
354
|
await Promise.allSettled([putDone, saving]);
|
|
289
|
-
await this.put();
|
|
355
|
+
await this.put(ingestTransactionTimeoutMs(this.ingestTimeoutMs));
|
|
290
356
|
(0, blob_ts_1.deleteBlob)(blob);
|
|
291
357
|
}
|
|
292
358
|
catch (cleanupError) {
|
|
@@ -300,7 +366,7 @@ class DeploymentRecorder {
|
|
|
300
366
|
this.record.payload_size = blob.size ?? byteCount;
|
|
301
367
|
// Persist the now-known hash + size. The blob is already saved, so this re-put does
|
|
302
368
|
// not re-stream — saveBlob short-circuits on the existing fileId.
|
|
303
|
-
await this.put();
|
|
369
|
+
await this.put(ingestTransactionTimeoutMs(this.ingestTimeoutMs));
|
|
304
370
|
}
|
|
305
371
|
/**
|
|
306
372
|
* Drop the stored payload tarball, retaining the metadata (size, hash, event_log). Used to
|
|
@@ -436,14 +502,14 @@ class DeploymentRecorder {
|
|
|
436
502
|
get row() {
|
|
437
503
|
return this.record;
|
|
438
504
|
}
|
|
439
|
-
async put() {
|
|
505
|
+
async put(timeoutMs) {
|
|
440
506
|
const table = databases_ts_1.databases.system?.[terms.SYSTEM_TABLE_NAMES.DEPLOYMENT_TABLE_NAME];
|
|
441
507
|
if (!table) {
|
|
442
508
|
// Table missing means the upgrade directive hasn't run yet (or the table got dropped).
|
|
443
509
|
// We tolerate this — tracking is observability; the deploy itself must still succeed.
|
|
444
510
|
return;
|
|
445
511
|
}
|
|
446
|
-
await table.put(this.record);
|
|
512
|
+
await withIsolatedTransaction(() => table.put(this.record), timeoutMs);
|
|
447
513
|
}
|
|
448
514
|
}
|
|
449
515
|
exports.DeploymentRecorder = DeploymentRecorder;
|
|
@@ -454,10 +520,26 @@ exports.DeploymentRecorder = DeploymentRecorder;
|
|
|
454
520
|
// blob-stream receive default and gives a loaded cluster room to converge. Override per-deploy
|
|
455
521
|
// via the `deployment_timeout` operation parameter.
|
|
456
522
|
exports.DEFAULT_AWAIT_ROW_TIMEOUT_MS = 120_000;
|
|
523
|
+
// Default open-time budget for the origin's payload-ingest write transaction (ingestPayload,
|
|
524
|
+
// below). Distinct from DEFAULT_AWAIT_ROW_TIMEOUT_MS (that one bounds a *replication* wait;
|
|
525
|
+
// this one bounds *local disk I/O* for a component the deploy system explicitly supports at
|
|
526
|
+
// arbitrarily large, uncapped sizes — see the module comment above and the large-payload
|
|
527
|
+
// regression test). 10 minutes comfortably covers a multi-GB ingest even on a slow or loaded
|
|
528
|
+
// disk while still being a bounded safety net, not a disabled one. Overridable via the same
|
|
529
|
+
// `deployment_timeout` operation parameter as the peer-side waits, so operators sizing for
|
|
530
|
+
// even larger components (or a known-slow disk) have one knob, not two.
|
|
531
|
+
exports.DEFAULT_INGEST_TRANSACTION_TIMEOUT_MS = 600_000;
|
|
457
532
|
function coerceTimeoutMs(value, fallback) {
|
|
458
533
|
const requested = Number(value);
|
|
459
534
|
return Number.isFinite(requested) && requested >= 0 ? requested : fallback;
|
|
460
535
|
}
|
|
536
|
+
// Floored at the default, never lowered by it: `deployment_timeout` also governs the
|
|
537
|
+
// peer-side row/blob wait (awaitDeploymentRow), where 0 means "poll once, don't wait" — a
|
|
538
|
+
// legitimate fast-fail setting for peers that must never also starve the origin's own disk
|
|
539
|
+
// write down to 0ms.
|
|
540
|
+
function ingestTransactionTimeoutMs(deploymentTimeout) {
|
|
541
|
+
return Math.max(coerceTimeoutMs(deploymentTimeout, exports.DEFAULT_INGEST_TRANSACTION_TIMEOUT_MS), exports.DEFAULT_INGEST_TRANSACTION_TIMEOUT_MS);
|
|
542
|
+
}
|
|
461
543
|
/**
|
|
462
544
|
* Peer-side helper — wait for the hdb_deployment row to arrive via table replication,
|
|
463
545
|
* then return it. The row is committed on origin before `replicateOperation` is
|