answer42 0.4.83__tar.gz → 0.4.85__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.83 → answer42-0.4.85}/PKG-INFO +1 -1
- {answer42-0.4.83 → answer42-0.4.85}/pyproject.toml +1 -1
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260/Ext/Form/Module.bsl +13 -7
- {answer42-0.4.83 → answer42-0.4.85}/.gitignore +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/LICENSE +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/README.md +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/credentials.example.json +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/docs/agent-installation.md +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/docs/architecture.md +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/docs/assets/answer42-logo.png +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/docs/assets/platform42-logo.svg +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/docs/installation.md +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/scripts/build_cf.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/scripts/build_pages.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/scripts/e2e_http_smoke.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/scripts/e2e_stable.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/scripts/openclaw_mcp_autoreload.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/scripts/rag_cli.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/ConfigDumpInfo.xml +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/Configuration.xml +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/DataProcessors/MCPTestManager/Ext/ObjectModule.bsl +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260/Ext/Form.xml" +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260.xml" +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/DataProcessors/MCPTestManager.xml +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/Ext/ManagedApplicationModule.bsl +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/cf/Languages//320/240/321/203/321/201/321/201/320/272/320/270/320/271.xml" +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/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.83 → answer42-0.4.85}/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.83 → answer42-0.4.85}/src/client_cf/ConfigDumpInfo.xml +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/client_cf/Configuration.xml +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/client_cf/Languages//320/240/321/203/321/201/321/201/320/272/320/270/320/271.xml" +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/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.83 → answer42-0.4.85}/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.83 → answer42-0.4.85}/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.83 → answer42-0.4.85}/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.83 → answer42-0.4.85}/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.83 → answer42-0.4.85}/src/mcp_1c/__init__.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/assets/MCPTestClient.cf +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/assets/MCPTestManager.cf +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/assets/__init__.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/assets/skills/answer42/SKILL.md +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/assets/skills/answer42-rag/SKILL.md +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/assets/skills/answer42-universal-report/SKILL.md +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/auth.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/bridge.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/credentials.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/os_support.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/platform.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/protocol.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/__init__.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/detect.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/dump.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/model.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/parsers.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/service.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/store.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/summary_backend.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/rag/summary_vector.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/recorder.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/release_helper.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/runtime.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/server.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/src/mcp_1c/skill_installer.py +0 -0
- {answer42-0.4.83 → answer42-0.4.85}/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.85
|
|
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.85"
|
|
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"
|
|
@@ -1987,6 +1987,7 @@
|
|
|
1987
1987
|
Тайминги = Новый Структура;
|
|
1988
1988
|
АктивноеОкно = Неопределено;
|
|
1989
1989
|
КнопкаРаздела = Неопределено;
|
|
1990
|
+
ИсходноеАктивноеОкно = Неопределено;
|
|
1990
1991
|
Попытка
|
|
1991
1992
|
СтрокаПоиска = СокрЛП(СвойствоСтруктуры(Параметры, "query", ""));
|
|
1992
1993
|
Если ПустаяСтрока(СтрокаПоиска) Тогда
|
|
@@ -1995,6 +1996,7 @@
|
|
|
1995
1996
|
|
|
1996
1997
|
ЗаголовокРаздела = СвойствоСтруктуры(Параметры, "section", "");
|
|
1997
1998
|
Максимум = СвойствоСтруктуры(Параметры, "max_results", 20);
|
|
1999
|
+
ИсходноеАктивноеОкно = ТестируемоеПриложение.ПолучитьАктивноеОкно();
|
|
1998
2000
|
НачалоЭтапа = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
|
1999
2001
|
АктивноеОкно = КомандныйИнтерфейсЦелевоеОкно(Параметры);
|
|
2000
2002
|
Тайминги.Вставить("target_window_ms", ТекущаяУниверсальнаяДатаВМиллисекундах() - НачалоЭтапа);
|
|
@@ -2048,14 +2050,14 @@
|
|
|
2048
2050
|
КонецЕсли;
|
|
2049
2051
|
КонецЕсли;
|
|
2050
2052
|
НачалоЭтапа = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
|
2051
|
-
ЗакрытьКомандныйИнтерфейсПослеРаботыMCP(АктивноеОкно,
|
|
2053
|
+
ЗакрытьКомандныйИнтерфейсПослеРаботыMCP(АктивноеОкно, КнопкаРаздела, ИсходноеАктивноеОкно);
|
|
2052
2054
|
Тайминги.Вставить("cleanup_ms", ТекущаяУниверсальнаяДатаВМиллисекундах() - НачалоЭтапа);
|
|
2053
2055
|
Тайминги.Вставить("total_ms", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
|
|
2054
2056
|
РезультатПоиска.Вставить("_timings", Тайминги);
|
|
2055
2057
|
Возврат РезультатПоиска;
|
|
2056
2058
|
Исключение
|
|
2057
2059
|
Если АктивноеОкно <> Неопределено Тогда
|
|
2058
|
-
ЗакрытьКомандныйИнтерфейсПослеРаботыMCP(АктивноеОкно,
|
|
2060
|
+
ЗакрытьКомандныйИнтерфейсПослеРаботыMCP(АктивноеОкно, КнопкаРаздела, ИсходноеАктивноеОкно);
|
|
2059
2061
|
КонецЕсли;
|
|
2060
2062
|
Тайминги.Вставить("total_ms", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
|
|
2061
2063
|
Возврат Новый Структура("available,reason,error,_timings", Ложь, "not_supported", ОписаниеОшибки(), Тайминги);
|
|
@@ -2063,13 +2065,13 @@
|
|
|
2063
2065
|
КонецФункции
|
|
2064
2066
|
|
|
2065
2067
|
&НаКлиенте
|
|
2066
|
-
Процедура ЗакрытьКомандныйИнтерфейсПослеРаботыMCP(Окно, КнопкаРаздела = Неопределено)
|
|
2068
|
+
Процедура ЗакрытьКомандныйИнтерфейсПослеРаботыMCP(Окно, КнопкаРаздела = Неопределено, ИсходноеАктивноеОкно = Неопределено)
|
|
2067
2069
|
// Некоторые методы test-client оставляют раскрытый командный интерфейс поверх
|
|
2068
2070
|
// формы. После этого интерактивные действия по форме могут падать с
|
|
2069
2071
|
// "Недоступный пользователю элемент управления...". Возвращаем UI в форму:
|
|
2070
2072
|
// если нажимали кнопку раздела — нажимаем её повторно (переключатель панели),
|
|
2071
|
-
// закрываем случайно открытую панель/окно "Помощь", затем активизируем
|
|
2072
|
-
// и первую найденную форму.
|
|
2073
|
+
// закрываем случайно открытую панель/окно "Помощь", затем активизируем окно,
|
|
2074
|
+
// которое было активным до вызова утилиты, и первую найденную в нем форму.
|
|
2073
2075
|
Если КнопкаРаздела <> Неопределено Тогда
|
|
2074
2076
|
Попытка
|
|
2075
2077
|
КнопкаРаздела.Нажать();
|
|
@@ -2078,12 +2080,16 @@
|
|
|
2078
2080
|
КонецПопытки;
|
|
2079
2081
|
КонецЕсли;
|
|
2080
2082
|
ЗакрытьПанелиПомощиПослеКомандногоИнтерфейсаMCP(Окно);
|
|
2083
|
+
ОкноДляАктивации = ИсходноеАктивноеОкно;
|
|
2084
|
+
Если ОкноДляАктивации = Неопределено Тогда
|
|
2085
|
+
ОкноДляАктивации = Окно;
|
|
2086
|
+
КонецЕсли;
|
|
2081
2087
|
Попытка
|
|
2082
|
-
|
|
2088
|
+
ОкноДляАктивации.Активизировать();
|
|
2083
2089
|
Исключение
|
|
2084
2090
|
КонецПопытки;
|
|
2085
2091
|
Попытка
|
|
2086
|
-
Форма = НайтиОбъектРекурсивно(
|
|
2092
|
+
Форма = НайтиОбъектРекурсивно(ОкноДляАктивации, "", "", "тестируемаяформа", 0);
|
|
2087
2093
|
Если Форма <> Неопределено Тогда
|
|
2088
2094
|
Форма.Активизировать();
|
|
2089
2095
|
КонецЕсли;
|
|
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.83 → answer42-0.4.85}/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
|
|
File without changes
|
{answer42-0.4.83 → answer42-0.4.85}/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
|
|
File without changes
|