answer42 0.4.71__tar.gz → 0.4.72__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {answer42-0.4.71 → answer42-0.4.72}/PKG-INFO +1 -1
- {answer42-0.4.71 → answer42-0.4.72}/pyproject.toml +1 -1
- {answer42-0.4.71 → answer42-0.4.72}/scripts/e2e_stable.py +1 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260/Ext/Form/Module.bsl +33 -2
- answer42-0.4.72/src/mcp_1c/assets/MCPTestManager.cf +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/protocol.py +1 -1
- answer42-0.4.71/src/mcp_1c/assets/MCPTestManager.cf +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/.gitignore +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/LICENSE +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/README.md +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/credentials.example.json +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/docs/agent-installation.md +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/docs/architecture.md +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/docs/assets/answer42-logo.png +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/docs/assets/platform42-logo.svg +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/docs/installation.md +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/scripts/build_cf.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/scripts/build_pages.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/scripts/e2e_http_smoke.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/scripts/openclaw_mcp_autoreload.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/scripts/rag_cli.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/ConfigDumpInfo.xml +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/Configuration.xml +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/DataProcessors/MCPTestManager/Ext/ObjectModule.bsl +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260/Ext/Form.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/DataProcessors/MCPTestManager.xml +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/Ext/ManagedApplicationModule.bsl +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/cf/Languages//320/240/321/203/321/201/321/201/320/272/320/270/320/271.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Catalogs//320/237/320/241_/320/222/320/273/320/260/320/264/320/265/320/273/320/265/321/206.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Catalogs//320/237/320/241_/320/241/320/277/321/200/320/260/320/262/320/276/321/207/320/275/320/270/320/2721.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/ConfigDumpInfo.xml +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Configuration.xml +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Languages//320/240/321/203/321/201/321/201/320/272/320/270/320/271.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Reports//320/237/320/241_/320/241/320/277/320/270/321/201/320/276/320/272/320/255/320/273/320/265/320/274/320/265/320/275/321/202/320/276/320/262/Ext/ManagerModule.bsl" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Reports//320/237/320/241_/320/241/320/277/320/270/321/201/320/276/320/272/320/255/320/273/320/265/320/274/320/265/320/275/321/202/320/276/320/262/Ext/ObjectModule.bsl" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Reports//320/237/320/241_/320/241/320/277/320/270/321/201/320/276/320/272/320/255/320/273/320/265/320/274/320/265/320/275/321/202/320/276/320/262/Templates//320/236/321/201/320/275/320/276/320/262/320/275/320/260/321/217/320/241/321/205/320/265/320/274/320/260/320/232/320/276/320/274/320/277/320/276/320/275/320/276/320/262/320/272/320/270/320/224/320/260/320/275/320/275/321/213/321/205/Ext/Template.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Reports//320/237/320/241_/320/241/320/277/320/270/321/201/320/276/320/272/320/255/320/273/320/265/320/274/320/265/320/275/321/202/320/276/320/262/Templates//320/236/321/201/320/275/320/276/320/262/320/275/320/260/321/217/320/241/321/205/320/265/320/274/320/260/320/232/320/276/320/274/320/277/320/276/320/275/320/276/320/262/320/272/320/270/320/224/320/260/320/275/320/275/321/213/321/205.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/client_cf/Reports//320/237/320/241_/320/241/320/277/320/270/321/201/320/276/320/272/320/255/320/273/320/265/320/274/320/265/320/275/321/202/320/276/320/262.xml" +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/__init__.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/assets/MCPTestClient.cf +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/assets/__init__.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/assets/skills/answer42/SKILL.md +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/assets/skills/answer42-rag/SKILL.md +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/assets/skills/answer42-universal-report/SKILL.md +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/auth.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/bridge.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/credentials.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/os_support.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/platform.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/__init__.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/detect.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/dump.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/model.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/parsers.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/service.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/store.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/summary_backend.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/rag/summary_vector.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/recorder.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/release_helper.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/runtime.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/server.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/skill_installer.py +0 -0
- {answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/window_control.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: answer42
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.72
|
|
4
4
|
Summary: Answer42 — The Answer to Life, Universe, and 1C — UI Driver. MCP-powered 1C:Enterprise UI automation: click, fill, navigate, test, and introspect managed forms through the test-client API
|
|
5
5
|
Author: Marvin (AI Assistant), 42Clouds, and contributors
|
|
6
6
|
Author-email: "Kosolapov Stanislav (proDOOMman)" <prodoomman@gmail.com>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "answer42"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.72"
|
|
4
4
|
description = "Answer42 — The Answer to Life, Universe, and 1C — UI Driver. MCP-powered 1C:Enterprise UI automation: click, fill, navigate, test, and introspect managed forms through the test-client API"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
@@ -225,6 +225,7 @@ async def common_start(session: ClientSession, sid: str, suffix: str) -> tuple[P
|
|
|
225
225
|
start = await call_ok(session, "start_session", {
|
|
226
226
|
"session_id": sid,
|
|
227
227
|
"command_parameter": "E2E_COMMAND_PARAMETER",
|
|
228
|
+
"rag_enabled": True,
|
|
228
229
|
})
|
|
229
230
|
assert start["session_id"] == sid, start
|
|
230
231
|
assert start.get("client_ibsrv_port"), start
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
|
|
339
339
|
&НаКлиенте
|
|
340
340
|
Функция ВерсияПротоколаМенеджераMCP()
|
|
341
|
-
Возврат "2026.
|
|
341
|
+
Возврат "2026.09.01.1";
|
|
342
342
|
КонецФункции
|
|
343
343
|
|
|
344
344
|
&НаКлиенте
|
|
@@ -7211,7 +7211,18 @@
|
|
|
7211
7211
|
Иначе
|
|
7212
7212
|
РезультатАктивизацииКолонки = АктивизироватьКолонкуТаблицыMCP(Таблица, ИмяПоля, ИскатьПоЗаголовку);
|
|
7213
7213
|
Если Не ТаблицаВРежимеРедактированияMCP(Таблица) Тогда
|
|
7214
|
-
|
|
7214
|
+
// После позиционирования по row некоторые web-формы документа кратковременно
|
|
7215
|
+
// теряют edit-mode при переходе по элементам таблицы. Не падаем на первой
|
|
7216
|
+
// такой гонке: повторно входим в редактирование текущей строки и еще раз
|
|
7217
|
+
// активизируем нужную колонку перед поиском редактора.
|
|
7218
|
+
РезультатПовторногоРедактированияПослеАктивизации = ОбеспечитьРедактированиеТекущейСтрокиТаблицыMCP(Таблица, ИмяТаблицы);
|
|
7219
|
+
Если РезультатПовторногоРедактированияПослеАктивизации.editing Тогда
|
|
7220
|
+
РезультатАктивизацииКолонки = АктивизироватьКолонкуТаблицыMCP(Таблица, ИмяПоля, ИскатьПоЗаголовку);
|
|
7221
|
+
КонецЕсли;
|
|
7222
|
+
Если Не ТаблицаВРежимеРедактированияMCP(Таблица) Тогда
|
|
7223
|
+
ВызватьИсключение "Таблица " + ИмяТаблицы + " вышла из режима редактирования до поиска редактора поля " + ИмяПоля
|
|
7224
|
+
+ "; повторный вход: " + СвойствоСтруктуры(РезультатПовторногоРедактированияПослеАктивизации, "error", "");
|
|
7225
|
+
КонецЕсли;
|
|
7215
7226
|
КонецЕсли;
|
|
7216
7227
|
АктивноеОкно = ТестируемоеПриложение.ПолучитьАктивноеОкно();
|
|
7217
7228
|
Поле = НайтиПолеРедактораТаблицыMCP(АктивноеОкно, Таблица, ИмяТаблицы, ИмяПоля, ИскатьПоЗаголовку);
|
|
@@ -7225,6 +7236,26 @@
|
|
|
7225
7236
|
ВызватьИсключение "Таблица " + ИмяТаблицы + " не в режиме редактирования перед активизацией редактора " + ИмяРедактора;
|
|
7226
7237
|
КонецЕсли;
|
|
7227
7238
|
Поле.Активизировать();
|
|
7239
|
+
Если Не ТаблицаВРежимеРедактированияMCP(Таблица) Тогда
|
|
7240
|
+
// Вторая точка той же гонки: сам редактор ячейки может получить фокус уже
|
|
7241
|
+
// после того, как web-клиент закрыл edit-mode. Восстанавливаем режим и
|
|
7242
|
+
// заново находим live-редактор, чтобы не вводить текст в осиротевший field.
|
|
7243
|
+
РезультатПовторногоРедактированияПередВводом = ОбеспечитьРедактированиеТекущейСтрокиТаблицыMCP(Таблица, ИмяТаблицы);
|
|
7244
|
+
Если РезультатПовторногоРедактированияПередВводом.editing Тогда
|
|
7245
|
+
АктивизироватьКолонкуТаблицыMCP(Таблица, ИмяПоля, ИскатьПоЗаголовку);
|
|
7246
|
+
АктивноеОкноПовторногоВвода = ТестируемоеПриложение.ПолучитьАктивноеОкно();
|
|
7247
|
+
ПовторноеПоле = НайтиПолеРедактораТаблицыMCP(АктивноеОкноПовторногоВвода, Таблица, ИмяТаблицы, ИмяПоля, ИскатьПоЗаголовку);
|
|
7248
|
+
Если ПовторноеПоле <> Неопределено Тогда
|
|
7249
|
+
Поле = ПовторноеПоле;
|
|
7250
|
+
ИмяРедактора = БезопасноеСвойство(Поле, "Имя", ИмяРедактора);
|
|
7251
|
+
Поле.Активизировать();
|
|
7252
|
+
КонецЕсли;
|
|
7253
|
+
КонецЕсли;
|
|
7254
|
+
Если Не ТаблицаВРежимеРедактированияMCP(Таблица) Тогда
|
|
7255
|
+
ВызватьИсключение "Таблица " + ИмяТаблицы + " вышла из режима редактирования перед вводом в редактор " + ИмяРедактора
|
|
7256
|
+
+ "; повторный вход: " + СвойствоСтруктуры(РезультатПовторногоРедактированияПередВводом, "error", "");
|
|
7257
|
+
КонецЕсли;
|
|
7258
|
+
КонецЕсли;
|
|
7228
7259
|
ПроверитьРедактированиеРодительскойТаблицыПередВводомMCP(Поле, "Перед вводом поля " + ИмяПоля);
|
|
7229
7260
|
|
|
7230
7261
|
Попытка
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{answer42-0.4.71 → answer42-0.4.72}/src/cf/DataProcessors/MCPTestManager/Ext/ObjectModule.bsl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{answer42-0.4.71 → answer42-0.4.72}/src/mcp_1c/assets/skills/answer42-universal-report/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|