АРЧ АП11 - Архитектура после регресса: Архитектура: протянуть continuity-backed organization authority в session scope bootstrap и удержать phase12 wider replay зелёным

This commit is contained in:
2026-04-18 18:26:08 +03:00
parent 12550606bb
commit 09dd0e4513
4 changed files with 61 additions and 0 deletions
@@ -1,4 +1,5 @@
import type { AddressNavigationState } from "../types/addressNavigation";
import { resolveAssistantOrganizationAuthority } from "./assistantContinuityPolicy";
export interface AssistantSessionOrganizationScopeContext {
knownOrganizations: string[];
@@ -57,9 +58,21 @@ function resolveActiveOrganizationFromNavigationState(
export function resolveSessionOrganizationScopeContextRuntime<ItemType = unknown>(
input: ResolveSessionOrganizationScopeContextRuntimeInput<ItemType>
): AssistantSessionOrganizationScopeContext {
const continuityAuthority = 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])
@@ -77,6 +90,7 @@ export function resolveSessionOrganizationScopeContextRuntime<ItemType = unknown
const activeOrganization =
selectedOrganization ??
navigationActiveOrganization ??
continuityActiveOrganization ??
input.normalizeOrganizationScopeValue(lastActiveOrganization) ??
(knownOrganizations.length === 1 ? knownOrganizations[0] : null);