ЮИ - Автопрогоны: доработать иконки и hover-состояния saved sessions
This commit is contained in:
@@ -3649,13 +3649,20 @@ async function runAddressLlmPreDecompose(normalizerService, payload, userMessage
|
||||
function resolveAddressToolGateDecision(addressInputMessage, followupContext, llmPreDecomposeMeta = null, rawUserMessage = null) {
|
||||
const repairedInputMessage = repairAddressMojibake(String(addressInputMessage ?? ""));
|
||||
const rawMessageForGate = String(rawUserMessage ?? addressInputMessage ?? "");
|
||||
const repairedRawMessageForGate = repairAddressMojibake(rawMessageForGate);
|
||||
const dataScopeMetaQuery = hasAssistantDataScopeMetaQuestionSignal(rawMessageForGate) ||
|
||||
hasAssistantDataScopeMetaQuestionSignal(repairedRawMessageForGate) ||
|
||||
hasAssistantDataScopeMetaQuestionSignal(repairedInputMessage);
|
||||
const capabilityMetaQuery = shouldHandleAsAssistantCapabilityMetaQuery(rawMessageForGate) ||
|
||||
const rawCapabilityMetaQuery = shouldHandleAsAssistantCapabilityMetaQuery(rawMessageForGate) ||
|
||||
shouldHandleAsAssistantCapabilityMetaQuery(repairedRawMessageForGate);
|
||||
const capabilityMetaQuery = rawCapabilityMetaQuery ||
|
||||
shouldHandleAsAssistantCapabilityMetaQuery(repairedInputMessage);
|
||||
const dataRetrievalSignal = hasDataRetrievalRequestSignal(rawMessageForGate) ||
|
||||
const rawDataRetrievalSignal = hasDataRetrievalRequestSignal(rawMessageForGate) ||
|
||||
hasDataRetrievalRequestSignal(repairedRawMessageForGate);
|
||||
const dataRetrievalSignal = rawDataRetrievalSignal ||
|
||||
hasDataRetrievalRequestSignal(repairedInputMessage);
|
||||
if (dataScopeMetaQuery || (capabilityMetaQuery && !dataRetrievalSignal)) {
|
||||
const rawCapabilityMetaOverride = rawCapabilityMetaQuery && !rawDataRetrievalSignal;
|
||||
if (dataScopeMetaQuery || rawCapabilityMetaOverride || (capabilityMetaQuery && !dataRetrievalSignal)) {
|
||||
return {
|
||||
runAddressLane: false,
|
||||
decision: "skip_address_lane",
|
||||
@@ -4064,6 +4071,9 @@ function hasAssistantCapabilityQuestionSignal(text) {
|
||||
if (/(?:каки[ею].*(?:фич|функц|возможност|отработан)|какого\s+рода\s+ошибк.*ты\s+мож(?:ешь|ете)|какие\s+ошибк.*ты\s+мож(?:ешь|ете))/iu.test(normalized)) {
|
||||
return true;
|
||||
}
|
||||
if (/(?:мож(?:ешь|ете)|уме(?:ешь|ете)).*(?:считать|рассчитывать|посчитать).*(?:дельт|delta|маржинальн|margin|рентабельн)/iu.test(normalized)) {
|
||||
return true;
|
||||
}
|
||||
const hasCanVerb = /(?:можешь|можете|умеешь|умеете|можно)/i.test(normalized);
|
||||
const hasControlAction = /(?:настро|установ|подключ|обнов|созда|подготов|сдела|делат|дела)/i.test(normalized);
|
||||
const hasAnalysisAction = /(?:найт|искать|провер|анализ|разоб|объясн|расска|подсказ|показ)/i.test(normalized);
|
||||
@@ -4092,8 +4102,27 @@ function shouldHandleAsAssistantCapabilityMetaQuery(text) {
|
||||
function hasLivingChatSignal(text) {
|
||||
return assistantLivingModePolicy.hasLivingChatSignal(text);
|
||||
}
|
||||
function buildAssistantCapabilityContractReply() {
|
||||
return (0, capabilitiesRegistry_1.buildCapabilityContractReplyFromRegistry)();
|
||||
function buildAssistantCapabilityContractReply(userMessage = "") {
|
||||
const normalized = compactWhitespace(repairAddressMojibake(String(userMessage ?? "")).toLowerCase()).replace(/ё/g, "е");
|
||||
if (/(?:дельт|delta).*(?:договор|контракт)|(?:договор|контракт).*(?:дельт|delta)/iu.test(normalized)) {
|
||||
return [
|
||||
"По дельте по договорам отдельный подтвержденный маршрут в текущем контуре пока не включен.",
|
||||
"То есть я не буду делать вид, что уже считаю ее точно.",
|
||||
"Сейчас могу помочь с близкими вещами: показать договоры, документы, оплаты, выручку и хвосты по расчетам, чтобы подготовить основу под такой расчет.",
|
||||
"Если хочешь, следующим проходом можем именно этот контур добить архитектурно."
|
||||
].join("\n");
|
||||
}
|
||||
const registryReply = (0, capabilitiesRegistry_1.buildCapabilityContractReplyFromRegistry)();
|
||||
const normalizedReply = String(registryReply ?? "")
|
||||
.replace(/в режиме чтения/giu, "")
|
||||
.replace(/read[_ -]?only/giu, "")
|
||||
.replace(/По основным группам:/giu, "Основные направления:")
|
||||
.replace(/Если нужно, подскажу, как лучше сформулировать запрос под вашу задачу\./giu, "Если хотите, можно сразу задать конкретный вопрос по документам, остаткам, НДС, контрагенту или договору.")
|
||||
.replace(/Что не делаю:\s*/giu, "Не делаю только административные действия: ")
|
||||
.replace(/\s{2,}/g, " ")
|
||||
.replace(/\n{3,}/g, "\n\n")
|
||||
.trim();
|
||||
return normalizedReply || "Могу помогать с вопросами по данным 1С: НДС, контрагенты, долги, деньги, договоры и склад.";
|
||||
}
|
||||
const assistantProviderExecutionPolicy = (0, assistantProviderExecutionPolicy_1.createAssistantProviderExecutionPolicy)();
|
||||
const assistantLivingModePolicy = (0, assistantLivingModePolicy_1.createAssistantLivingModePolicy)({
|
||||
@@ -4161,6 +4190,8 @@ const assistantTransitionPolicy = (0, assistantTransitionPolicy_1.createAssistan
|
||||
compactWhitespace,
|
||||
repairAddressMojibake,
|
||||
countTokens,
|
||||
shouldHandleAsAssistantCapabilityMetaQuery,
|
||||
hasDataRetrievalRequestSignal,
|
||||
findLastAddressAssistantItem,
|
||||
findLastOrganizationClarificationAddressDebug,
|
||||
mergeKnownOrganizations,
|
||||
|
||||
Reference in New Issue
Block a user