Initial SFERA platform baseline

This commit is contained in:
2026-05-16 19:03:49 +03:00
commit 3b845c8fce
282 changed files with 55045 additions and 0 deletions
+580
View File
@@ -0,0 +1,580 @@
export type UiLanguage = "ru" | "en";
export function normalizeLanguage(value: string | undefined): UiLanguage {
return value === "en" ? "en" : "ru";
}
export const messages = {
ru: {
productSubtitle: "Семантическое пространство 1С",
nav: {
overview: "Обзор",
projects: "Проекты 1С",
graph: "Граф",
objects: "Объекты",
review: "Проверка",
knowledge: "Знания",
patterns: "Паттерны",
privacy: "Приватность",
aiUsage: "Расход ИИ",
operations: "Операции",
settings: "Настройки"
},
searchPlaceholder: "Поиск по 1С объектам, процедурам, знаниям",
rights: "Права",
projectSettings: "Настройки",
createProject: "+ Проект",
notifications: "Уведомления",
profile: "Профиль",
workspaceSelector: "Компания",
projectSelector: "Проект",
environmentSelector: "Среда",
activeTaskSelector: "Задача",
languageRu: "Русский",
languageEn: "English",
commandLanguageNote: "Команды: русский по умолчанию, английский доступен",
apiOnline: "API доступен",
apiOffline: "API недоступен",
overview: "Обзор",
projects: "Проекты",
objects: "Объекты",
configurationTree: "Дерево конфигурации",
openWindows: "Открытые окна",
projectDashboard: "Обзор проекта 1С",
projectDashboardDescription: "Рабочая сводка по выбранной 1С-конфигурации: состояние, проверки, снимки и быстрый переход в открытые объекты.",
contextPanel: "Контекст",
contextInspector: "Контекстный инспектор",
owner: "Владелец",
subsystem: "Подсистема",
criticality: "Критичность",
activeTask: "Активная задача",
calls: "Вызовы",
riskContext: "Риски и изменения",
runtimeIncidents: "Инциденты выполнения",
heroBadge: "Семантическое ядро 1С",
title: "Операционный контур 1С",
subtitle: "Семантический граф, проверка, знания, приватность и управление ИИ в одном рабочем представлении.",
review: "Проверка",
graph: "Граф 1С",
knowledge: "Знания",
governance: "Управление",
aiPolicy: "Политика ИИ",
aiUsage: "Расход ИИ",
projectWorkspace: "Рабочее пространство 1С",
projectWorkspaceDescription: "Снимок, проверка, знания, UI-формы, интеграции и регламентные задания выбранного 1С-проекта.",
selectedProject: "Выбранный проект",
openProject: "Открыть проект",
openInEditor: "Открыть в редакторе",
nodes: "Узлы",
edges: "Связи",
procedures: "Процедуры",
queries: "Запросы",
writes: "Записи",
reviewFindings: "Замечания проверки",
noReviewFindings: "Замечаний нет",
severity: "Уровень",
finding: "Замечание",
source: "Источник",
forms: "Формы",
commands: "Команды",
elements: "Элементы",
integrations: "Интеграции",
scheduledJobs: "Регламентные задания",
knowledgeCoverage: "Покрытие знаниями",
covered: "Покрыто",
uncovered: "Не покрыто",
unsecuredObjects: "Без прав ролей",
unownedObjects: "Без владельца",
sensitiveFields: "Чувствительные поля",
permissionState: "Права доступа",
permissionStateDescription: "Текущий экран показывает только чтение семантического состояния; действия изменения будут требовать роли владельца проекта.",
commandPalette: "Командная строка",
commandPlaceholder: "Найти объект 1С, процедуру или команду",
savedView: "Представление",
auditTrail: "Аудит",
authoringHistory: "История изменений",
noAuthoringChanges: "Пока нет сохранённых authoring change-set",
version: "Версия",
approvedBy: "Подтвердил",
aiContext: "Контекст ИИ",
model: "Модель",
tokenImpact: "Влияние на токены",
noProjectData: "Нет данных выбранного проекта",
noProjectDataDescription: "Снимок сохранён, но проектные данные ещё не доступны для панели.",
ideWorkspace: "IDE 1С",
ideWorkspaceDescription: "Современная рабочая среда 1С: модуль, форма, свойства, события, версии, документация, знания, обучение, AI-подсказки и semantic diff.",
objectTree: "Дерево объектов",
bslEditor: "Редактор BSL",
procedureOutline: "Outline процедур",
findUsages: "Использования",
quickFixes: "Быстрые исправления",
insertGuardClause: "Вставить проверку отказа",
extractProcedure: "Выделить процедуру",
addKnowledgeLink: "Связать со знанием",
moduleMode: "Модуль",
formMode: "Форма",
propertiesMode: "Свойства",
eventsMode: "События",
versionsMode: "Версии",
documentationMode: "Документация",
knowledgeMode: "Знания",
learningMode: "Обучение",
formDesigner: "Дизайнер формы",
eventsInspector: "Инспектор событий",
knowledgeLearning: "Знания и обучение",
knowledgeLearningDescription: "AI связывает текущий объект с документацией, паттернами, историей решений и учебными материалами команды.",
postAndClose: "Провести и закрыть",
saveAndClose: "Записать и закрыть",
save: "Записать",
create: "Создать",
search: "Поиск",
emptyList: "Список пуст",
mainSection: "Основное",
nameField: "Наименование",
code: "Код",
comment: "Комментарий",
client: "Клиент",
agent: "Агент",
sites: "Сайты",
compensationTerms: "Условия возмещения",
agencyAgreements: "Агентские соглашения",
telegram: "Телеграм",
mail: "Почта",
sentToBankCompanyName: "Наименование компании, отправленное в банк",
mergeProject: "Мерч проект",
legalEntity: "Юр лицо",
result: "Результат",
author: "Автор",
editor: "Редактор",
creationDate: "Дата создания",
editDate: "Дата редактирования",
supplier: "Поставщик",
contract: "Договор",
documentNumber: "Номер",
operation: "Операция",
goods: "Товары",
services: "Услуги",
additional: "Дополнительно",
numberSign: "N",
item: "Номенклатура",
quantity: "Количество",
price: "Цена",
amount: "Сумма",
eventName: "Событие",
objectVersioningDescription: "История SFERA хранится на уровне объекта 1С: каждое изменение связано с diff, задачей, автором и rollback-точкой.",
documentationModeDescription: "Документация открывается рядом с объектом: назначение, бизнес-правила, связи с формами, отчётами, командами и регламентами.",
knowledgeModeDescription: "База знаний связывает текущий объект с паттернами команды, BSP/vendor docs, обсуждениями, решениями и известными рисками.",
learningModeDescription: "Обучение показывает, что можно безопасно написать в текущем контексте, какие переменные доступны и какие стандарты команды применимы.",
problemsPanel: "Проблемы",
outputPanel: "Вывод",
testsPanel: "Тесты",
referencesPanel: "Ссылки",
propertiesInspector: "Инспектор свойств",
semanticDiff: "Семантический diff",
aiPairProgrammer: "AI-помощник",
currentContext: "Текущий контекст",
availableVariables: "Доступные переменные",
localVariables: "Локальные переменные",
objectAttributes: "Реквизиты объекта",
tabularSections: "Табличные части",
formElements: "Элементы формы",
metadataDraft: "Черновик объекта 1С",
metadataDraftDescription: "SFERA создаёт объект как версионированный черновик workspace: реквизиты, табличные части, формы и diff без записи в production 1С.",
objectKind: "Тип объекта",
objectName: "Имя объекта",
attributeName: "Имя реквизита",
attributeType: "Тип",
tabularSectionName: "Имя табличной части",
formName: "Имя формы",
commandName: "Имя команды",
commandHandler: "Обработчик",
synonym: "Синоним",
requiredFlag: "Обязательный",
addAttribute: "Добавить реквизит",
addTabularColumn: "Добавить колонку",
addForm: "Добавить форму",
addCommand: "Добавить команду",
applyMetadataDraft: "Создать черновик",
suggestedCompletion: "Предложение продолжения",
guardedApply: "Безопасное применение",
versionPreview: "Preview версии",
affectedNodes: "Затронутые узлы",
applyBlocked: "Применение заблокировано",
workspaceApplyReady: "Можно сохранить в workspace-историю SFERA",
productionApplyDisabled: "Запись в production 1С отключена",
previewRequired: "Требуется preview",
applyToSfera: "Применить в SFERA",
rollbackPlan: "План отката",
authoringMode: "Режим разработки",
workspaceHistoryOnly: "только workspace-история SFERA",
impactBeforeApply: "Анализ влияния до применения",
reviewBeforeApply: "Проверка до применения",
versionKind: "Тип версии",
lineage: "Линия версий",
parentVersion: "Родительская версия",
versionDiff: "Diff версии",
taskLabel: "Задача",
sessionLabel: "Сессия",
fullPayload: "Полные данные",
summaryOnly: "Кратко",
loading: "Загрузка",
rootVersion: "корневая",
agentOnline: "Агент онлайн",
online: "онлайн",
offline: "офлайн",
snapshotStatus: "Снимок",
agentStatus: "Агент",
parserStatus: "Парсер",
diagnosticsStatus: "Диагностика",
taskStatus: "Задача",
privacyStatus: "Приватность",
metadataOnly: "только метаданные",
sferaProjectTree: "Дерево проекта SFERA",
sirObjects: "Объекты SIR",
aiHandlers: "AI-обработчики",
semanticRules: "Семантические правила",
reviewPolicies: "Политики проверки",
knowledgeBindings: "Связи знаний",
agentCommands: "Команды агентов",
rollbackTemplates: "Шаблоны отката",
highReviewFindings: "Критичные замечания проверки",
policyGated: "по политике доступа",
graphEdges: "Связи графа",
aiShort: "ИИ",
appliedToWorkspace: "Записано в workspace",
rolledBackToWorkspace: "Откат записан в workspace",
blocked: "заблокировано",
ready: "готово",
required: "требуется",
checked: "проверено",
applying: "Применяется...",
rollingBack: "Откатываем...",
building: "Строим...",
savedToSfera: "Записано в SFERA",
guardedApplyNote: "Безопасная запись из рабочего места SFERA IDE",
rollbackApplyNote: "План отката проверен в SFERA IDE",
aiSuggestion: "AI предлагает код с учётом текущей процедуры, переменных, регистра и прав доступа.",
editorDirty: "Есть несохранённые изменения",
readOnlyPrototype: "Preview-режим: запись только в workspace-историю SFERA.",
addLine: "Добавить строку",
removeLine: "Удалить строку",
selectedObject: "Выбранный объект",
objectOverview: "Обзор объекта",
objectOverviewDescription: "Сводка выбранного объекта 1С: структура, формы, команды, связи, риски, знания и версии.",
line: "Строка",
snapshots: "Снимки",
activeProjects: "активных проектов",
relations: "связей",
packages: "пакетов",
aiTokens: "AI токены",
requests: "запросов",
current: "актуально",
latestSnapshots: "Последние снимки SIR",
snapshotsDescription: "Проекты, доступные для проверки, графа и анализа влияния.",
open: "Открыть",
project: "Проект",
snapshot: "Снимок",
hash: "Хэш",
status: "Статус",
stored: "сохранено",
none: "нет",
noSnapshots: "Нет сохранённых снимков",
noSnapshotsDescription: "После индексации 1С-конфигурации список появится здесь.",
governanceDescription: "Контроль владельцев, приватности, расхода ИИ и покрытия знаниями.",
owners: "Владельцы",
tasks: "Задачи",
privacy: "Приватность",
tokenLimit: "Лимит токенов",
used: "Использовано",
remaining: "Осталось",
unlimited: "без лимита",
apiUnavailable: "API недоступен",
unknownApiError: "Неизвестная ошибка API"
},
en: {
productSubtitle: "1C Semantic Workspace",
nav: {
overview: "Overview",
projects: "1C Projects",
graph: "Graph",
objects: "Objects",
review: "Review",
knowledge: "Knowledge",
patterns: "Patterns",
privacy: "Privacy",
aiUsage: "AI Usage",
operations: "Operations",
settings: "Settings"
},
searchPlaceholder: "Search 1C objects, routines, knowledge",
rights: "Access",
projectSettings: "Settings",
createProject: "+ Project",
notifications: "Notifications",
profile: "Profile",
workspaceSelector: "Workspace",
projectSelector: "Project",
environmentSelector: "Env",
activeTaskSelector: "Task",
languageRu: "Русский",
languageEn: "English",
commandLanguageNote: "Commands: Russian by default, English available",
apiOnline: "API online",
apiOffline: "API offline",
overview: "Overview",
projects: "Projects",
objects: "Objects",
configurationTree: "Configuration tree",
openWindows: "Open windows",
projectDashboard: "1C project overview",
projectDashboardDescription: "Working summary for the selected 1C configuration: state, checks, snapshots, and quick jumps to open objects.",
contextPanel: "Context",
contextInspector: "Context inspector",
owner: "Owner",
subsystem: "Subsystem",
criticality: "Criticality",
activeTask: "Active task",
calls: "Calls",
riskContext: "Risks and changes",
runtimeIncidents: "Runtime incidents",
heroBadge: "1C semantic core",
title: "1C Operational Workspace",
subtitle: "Semantic graph, review, knowledge, privacy, and AI governance in one working view.",
review: "Review",
graph: "1C Graph",
knowledge: "Knowledge",
governance: "Governance",
aiPolicy: "AI policy",
aiUsage: "AI usage",
projectWorkspace: "1C Workspace",
projectWorkspaceDescription: "Snapshot, review, knowledge, UI forms, integrations, and scheduled jobs for the selected 1C project.",
selectedProject: "Selected project",
openProject: "Open project",
openInEditor: "Open in editor",
nodes: "Nodes",
edges: "Edges",
procedures: "Procedures",
queries: "Queries",
writes: "Writes",
reviewFindings: "Review findings",
noReviewFindings: "No findings",
severity: "Severity",
finding: "Finding",
source: "Source",
forms: "Forms",
commands: "Commands",
elements: "Elements",
integrations: "Integrations",
scheduledJobs: "Scheduled jobs",
knowledgeCoverage: "Knowledge coverage",
covered: "Covered",
uncovered: "Uncovered",
unsecuredObjects: "No role access",
unownedObjects: "No owner",
sensitiveFields: "Sensitive fields",
permissionState: "Permissions",
permissionStateDescription: "This screen currently exposes read-only semantic state; mutation actions will require the project owner role.",
commandPalette: "Command line",
commandPlaceholder: "Find a 1C object, routine, or command",
savedView: "View",
auditTrail: "Audit",
authoringHistory: "Change history",
noAuthoringChanges: "No saved authoring change sets yet",
version: "Version",
approvedBy: "Approved by",
aiContext: "AI context",
model: "Model",
tokenImpact: "Token impact",
noProjectData: "No selected project data",
noProjectDataDescription: "The snapshot is stored, but project details are not yet available to the panel.",
ideWorkspace: "1C IDE",
ideWorkspaceDescription: "A modern 1C workspace: module, form, properties, events, versions, docs, knowledge, training, AI suggestions, and semantic diff.",
objectTree: "Object tree",
bslEditor: "BSL editor",
procedureOutline: "Procedure outline",
findUsages: "Find usages",
quickFixes: "Quick fixes",
insertGuardClause: "Insert guard clause",
extractProcedure: "Extract procedure",
addKnowledgeLink: "Link knowledge",
moduleMode: "Module",
formMode: "Form",
propertiesMode: "Properties",
eventsMode: "Events",
versionsMode: "Versions",
documentationMode: "Docs",
knowledgeMode: "Knowledge",
learningMode: "Training",
formDesigner: "Form designer",
eventsInspector: "Events inspector",
knowledgeLearning: "Knowledge and training",
knowledgeLearningDescription: "AI links the current object with docs, patterns, decision history, and team learning material.",
postAndClose: "Post and close",
saveAndClose: "Save and close",
save: "Save",
create: "Create",
search: "Search",
emptyList: "List is empty",
mainSection: "Main",
nameField: "Name",
code: "Code",
comment: "Comment",
client: "Client",
agent: "Agent",
sites: "Sites",
compensationTerms: "Compensation terms",
agencyAgreements: "Agency agreements",
telegram: "Telegram",
mail: "Mail",
sentToBankCompanyName: "Company name sent to bank",
mergeProject: "Merge project",
legalEntity: "Legal entity",
result: "Result",
author: "Author",
editor: "Editor",
creationDate: "Creation date",
editDate: "Edit date",
supplier: "Supplier",
contract: "Contract",
documentNumber: "Number",
operation: "Operation",
goods: "Goods",
services: "Services",
additional: "Additional",
numberSign: "No.",
item: "Item",
quantity: "Quantity",
price: "Price",
amount: "Amount",
eventName: "Event",
objectVersioningDescription: "SFERA history is stored at the 1C object level: every change is linked to a diff, task, author, and rollback point.",
documentationModeDescription: "Documentation opens next to the object: purpose, business rules, links with forms, reports, commands, and jobs.",
knowledgeModeDescription: "The knowledge base links the current object with team patterns, BSP/vendor docs, discussions, decisions, and known risks.",
learningModeDescription: "Training shows what can be safely written in the current context, which variables are available, and which team standards apply.",
problemsPanel: "Problems",
outputPanel: "Output",
testsPanel: "Tests",
referencesPanel: "References",
propertiesInspector: "Properties inspector",
semanticDiff: "Semantic diff",
aiPairProgrammer: "AI pair programmer",
currentContext: "Current context",
availableVariables: "Available variables",
localVariables: "Local variables",
objectAttributes: "Object attributes",
tabularSections: "Tabular sections",
formElements: "Form elements",
metadataDraft: "1C object draft",
metadataDraftDescription: "SFERA creates the object as a versioned workspace draft: attributes, tabular sections, forms, and diff without writing to production 1C.",
objectKind: "Object kind",
objectName: "Object name",
attributeName: "Attribute name",
attributeType: "Type",
tabularSectionName: "Tabular section name",
formName: "Form name",
commandName: "Command name",
commandHandler: "Handler",
synonym: "Synonym",
requiredFlag: "Required",
addAttribute: "Add attribute",
addTabularColumn: "Add column",
addForm: "Add form",
addCommand: "Add command",
applyMetadataDraft: "Create draft",
suggestedCompletion: "Suggested completion",
guardedApply: "Guarded apply",
versionPreview: "Version preview",
affectedNodes: "Affected nodes",
applyBlocked: "Apply blocked",
workspaceApplyReady: "Ready to save into SFERA workspace history",
productionApplyDisabled: "Production 1C write is disabled",
previewRequired: "Preview required",
applyToSfera: "Apply to SFERA",
rollbackPlan: "Rollback plan",
authoringMode: "Authoring mode",
workspaceHistoryOnly: "SFERA workspace history only",
impactBeforeApply: "Impact before apply",
reviewBeforeApply: "Review before apply",
versionKind: "Version kind",
lineage: "Lineage",
parentVersion: "Parent version",
versionDiff: "Version diff",
taskLabel: "Task",
sessionLabel: "Session",
fullPayload: "Full payload",
summaryOnly: "Summary",
loading: "Loading",
rootVersion: "root",
agentOnline: "Agent online",
online: "online",
offline: "offline",
snapshotStatus: "Snapshot",
agentStatus: "Agent",
parserStatus: "Parser",
diagnosticsStatus: "Diagnostics",
taskStatus: "Task",
privacyStatus: "Privacy",
metadataOnly: "metadata-only",
sferaProjectTree: "SFERA Project",
sirObjects: "SIR objects",
aiHandlers: "AI handlers",
semanticRules: "Semantic rules",
reviewPolicies: "Review policies",
knowledgeBindings: "Knowledge bindings",
agentCommands: "Agent commands",
rollbackTemplates: "Rollback templates",
highReviewFindings: "Review HIGH findings",
policyGated: "policy-gated",
graphEdges: "Graph edges",
aiShort: "AI",
appliedToWorkspace: "Applied to workspace",
rolledBackToWorkspace: "Rolled back to workspace",
blocked: "blocked",
ready: "ready",
required: "required",
checked: "checked",
applying: "Applying...",
rollingBack: "Rolling back...",
building: "Loading...",
savedToSfera: "Saved to SFERA",
guardedApplyNote: "Guarded apply from SFERA IDE workbench",
rollbackApplyNote: "Rollback preview checked in SFERA IDE",
aiSuggestion: "AI suggests code using the current routine, variables, register, and access context.",
editorDirty: "Unsaved changes",
readOnlyPrototype: "Preview mode: writes only to SFERA workspace history.",
addLine: "Add line",
removeLine: "Remove line",
selectedObject: "Selected object",
objectOverview: "Object overview",
objectOverviewDescription: "Summary of the selected 1C object: structure, forms, commands, links, risks, knowledge, and versions.",
line: "Line",
snapshots: "Snapshots",
activeProjects: "active projects",
relations: "relations",
packages: "packs",
aiTokens: "AI tokens",
requests: "requests",
current: "current",
latestSnapshots: "Latest SIR snapshots",
snapshotsDescription: "Projects available for review, graph, and impact analysis.",
open: "Open",
project: "Project",
snapshot: "Snapshot",
hash: "Hash",
status: "Status",
stored: "stored",
none: "none",
noSnapshots: "No stored snapshots",
noSnapshotsDescription: "Indexed 1C configurations will appear here.",
governanceDescription: "Owners, privacy, AI usage, and knowledge coverage controls.",
owners: "Owners",
tasks: "Tasks",
privacy: "Privacy",
tokenLimit: "Token limit",
used: "Used",
remaining: "Remaining",
unlimited: "unlimited",
apiUnavailable: "API unavailable",
unknownApiError: "Unknown API error"
}
} as const;