АРЧ АП11 - Архитектура: протянуть continuity snapshot в living-chat organization authority и добавить оценку риска правки в AGENTS
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.runAssistantLivingChatRuntime = runAssistantLivingChatRuntime;
|
||||
const assistantMemoryRecapPolicy_1 = require("./assistantMemoryRecapPolicy");
|
||||
const assistantContinuityPolicy_1 = require("./assistantContinuityPolicy");
|
||||
function formatIsoDateForReply(value) {
|
||||
const source = String(value ?? "").trim();
|
||||
const match = source.match(/^(\d{4})-(\d{2})-(\d{2})$/);
|
||||
@@ -151,6 +152,10 @@ function buildAddressMemoryRecapReply(input) {
|
||||
}
|
||||
async function runAssistantLivingChatRuntime(input) {
|
||||
const userMessage = String(input.userMessage ?? "");
|
||||
const continuitySnapshot = (0, assistantContinuityPolicy_1.resolveAssistantContinuitySnapshot)({
|
||||
sessionItems: input.sessionItems,
|
||||
toNonEmptyString: input.toNonEmptyString
|
||||
});
|
||||
const dataScopeMetaQuery = input.hasAssistantDataScopeMetaQuestionSignal(userMessage);
|
||||
const capabilityMetaQuery = input.shouldHandleAsAssistantCapabilityMetaQuery(userMessage);
|
||||
const destructiveSignal = input.hasDestructiveDataActionSignal(userMessage);
|
||||
@@ -164,9 +169,13 @@ async function runAssistantLivingChatRuntime(input) {
|
||||
let livingChatGroundingGuardApplied = false;
|
||||
let livingChatGroundingGuardReason = null;
|
||||
let livingChatProactiveScopeOfferApplied = false;
|
||||
let knownOrganizations = input.mergeKnownOrganizations(input.sessionScope.knownOrganizations ?? []);
|
||||
const continuityActiveOrganization = input.toNonEmptyString(continuitySnapshot.activeOrganization);
|
||||
let knownOrganizations = input.mergeKnownOrganizations([
|
||||
...(Array.isArray(input.sessionScope.knownOrganizations) ? input.sessionScope.knownOrganizations : []),
|
||||
continuityActiveOrganization
|
||||
]);
|
||||
let selectedOrganization = input.toNonEmptyString(input.sessionScope.selectedOrganization);
|
||||
let activeOrganization = input.toNonEmptyString(input.sessionScope.activeOrganization);
|
||||
let activeOrganization = input.toNonEmptyString(input.sessionScope.activeOrganization) ?? continuityActiveOrganization;
|
||||
const memoryRecapContext = (0, assistantMemoryRecapPolicy_1.resolveAssistantLivingChatMemoryContext)({
|
||||
modeDecisionReason: input.modeDecision?.reason ?? null,
|
||||
sessionItems: input.sessionItems
|
||||
@@ -265,6 +274,7 @@ async function runAssistantLivingChatRuntime(input) {
|
||||
}
|
||||
const shouldOfferProactiveOrganizationScope = !selectedOrganization &&
|
||||
!activeOrganization &&
|
||||
!continuitySnapshot.hasGroundedAddressContext &&
|
||||
!hasPriorAssistantTurn(input.sessionItems) &&
|
||||
input.modeDecision?.mode === "chat" &&
|
||||
input.hasLivingChatSignal(userMessage);
|
||||
@@ -330,6 +340,8 @@ async function runAssistantLivingChatRuntime(input) {
|
||||
? input.mergeKnownOrganizations(dataScopeProbe.organizations)
|
||||
: [],
|
||||
living_chat_data_scope_probe_error: dataScopeProbe?.error ?? null,
|
||||
living_chat_continuity_grounded_context_detected: continuitySnapshot.hasGroundedAddressContext,
|
||||
living_chat_continuity_active_organization: continuityActiveOrganization,
|
||||
living_chat_selected_organization: selectedOrganization ?? null,
|
||||
assistant_known_organizations: knownOrganizations,
|
||||
assistant_active_organization: activeOrganization ?? null,
|
||||
|
||||
Reference in New Issue
Block a user