АРЧ АП11 - Архитектура после регресса: Архитектура: протянуть continuity-backed organization authority в session scope bootstrap и удержать phase12 wider replay зелёным
This commit is contained in:
+12
@@ -2,6 +2,7 @@
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.resolveSessionOrganizationScopeContextRuntime = resolveSessionOrganizationScopeContextRuntime;
|
||||
exports.mergeFollowupContextWithOrganizationScopeRuntime = mergeFollowupContextWithOrganizationScopeRuntime;
|
||||
const assistantContinuityPolicy_1 = require("./assistantContinuityPolicy");
|
||||
function extractOrganizationsFromNavigationState(addressNavigationState, normalizeOrganizationScopeValue) {
|
||||
if (!addressNavigationState || typeof addressNavigationState !== "object") {
|
||||
return [];
|
||||
@@ -26,7 +27,17 @@ function resolveActiveOrganizationFromNavigationState(addressNavigationState, no
|
||||
return normalizeOrganizationScopeValue(addressNavigationState.session_context?.organization_scope);
|
||||
}
|
||||
function resolveSessionOrganizationScopeContextRuntime(input) {
|
||||
const continuityAuthority = (0, assistantContinuityPolicy_1.resolveAssistantOrganizationAuthority)({
|
||||
sessionItems: Array.isArray(input.items) ? input.items : [],
|
||||
toNonEmptyString: input.normalizeOrganizationScopeValue,
|
||||
normalizeOrganizationScopeValue: input.normalizeOrganizationScopeValue
|
||||
});
|
||||
const continuityKnownOrganizations = Array.isArray(continuityAuthority.knownOrganizations)
|
||||
? continuityAuthority.knownOrganizations
|
||||
: [];
|
||||
const continuityActiveOrganization = input.normalizeOrganizationScopeValue(continuityAuthority.activeOrganization);
|
||||
const knownOrganizations = Array.from(new Map([
|
||||
...continuityKnownOrganizations,
|
||||
...extractOrganizationsFromNavigationState(input.addressNavigationState, input.normalizeOrganizationScopeValue),
|
||||
...input.extractKnownOrganizationsFromHistory(input.items)
|
||||
].map((value) => [String(value).toLowerCase(), value])).values());
|
||||
@@ -35,6 +46,7 @@ function resolveSessionOrganizationScopeContextRuntime(input) {
|
||||
const navigationActiveOrganization = resolveActiveOrganizationFromNavigationState(input.addressNavigationState, input.normalizeOrganizationScopeValue);
|
||||
const activeOrganization = selectedOrganization ??
|
||||
navigationActiveOrganization ??
|
||||
continuityActiveOrganization ??
|
||||
input.normalizeOrganizationScopeValue(lastActiveOrganization) ??
|
||||
(knownOrganizations.length === 1 ? knownOrganizations[0] : null);
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user