answer42 0.4.2__tar.gz → 0.4.4__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.
Files changed (61) hide show
  1. {answer42-0.4.2 → answer42-0.4.4}/PKG-INFO +1 -1
  2. {answer42-0.4.2 → answer42-0.4.4}/pyproject.toml +1 -1
  3. {answer42-0.4.2 → answer42-0.4.4}/scripts/e2e_stable.py +2 -3
  4. {answer42-0.4.2 → answer42-0.4.4}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260/Ext/Form/Module.bsl +347 -339
  5. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/assets/MCPTestClient.cf +0 -0
  6. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/assets/MCPTestManager.cf +0 -0
  7. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/credentials.py +1 -3
  8. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/server.py +47 -103
  9. {answer42-0.4.2 → answer42-0.4.4}/.gitignore +0 -0
  10. {answer42-0.4.2 → answer42-0.4.4}/LICENSE +0 -0
  11. {answer42-0.4.2 → answer42-0.4.4}/README.md +0 -0
  12. {answer42-0.4.2 → answer42-0.4.4}/credentials.example.json +0 -0
  13. {answer42-0.4.2 → answer42-0.4.4}/docs/agent-installation.md +0 -0
  14. {answer42-0.4.2 → answer42-0.4.4}/docs/architecture.md +0 -0
  15. {answer42-0.4.2 → answer42-0.4.4}/docs/assets/answer42-logo.png +0 -0
  16. {answer42-0.4.2 → answer42-0.4.4}/docs/assets/platform42-logo.svg +0 -0
  17. {answer42-0.4.2 → answer42-0.4.4}/docs/installation.md +0 -0
  18. {answer42-0.4.2 → answer42-0.4.4}/scripts/build_cf.py +0 -0
  19. {answer42-0.4.2 → answer42-0.4.4}/scripts/build_pages.py +0 -0
  20. {answer42-0.4.2 → answer42-0.4.4}/scripts/e2e_http_smoke.py +0 -0
  21. {answer42-0.4.2 → answer42-0.4.4}/scripts/openclaw_mcp_autoreload.py +0 -0
  22. {answer42-0.4.2 → answer42-0.4.4}/scripts/rag_cli.py +0 -0
  23. {answer42-0.4.2 → answer42-0.4.4}/src/cf/ConfigDumpInfo.xml +0 -0
  24. {answer42-0.4.2 → answer42-0.4.4}/src/cf/Configuration.xml +0 -0
  25. {answer42-0.4.2 → answer42-0.4.4}/src/cf/DataProcessors/MCPTestManager/Ext/ObjectModule.bsl +0 -0
  26. {answer42-0.4.2 → answer42-0.4.4}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260/Ext/Form.xml" +0 -0
  27. {answer42-0.4.2 → answer42-0.4.4}/src/cf/DataProcessors/MCPTestManager/Forms//320/244/320/276/321/200/320/274/320/260.xml" +0 -0
  28. {answer42-0.4.2 → answer42-0.4.4}/src/cf/DataProcessors/MCPTestManager.xml +0 -0
  29. {answer42-0.4.2 → answer42-0.4.4}/src/cf/Ext/ManagedApplicationModule.bsl +0 -0
  30. {answer42-0.4.2 → answer42-0.4.4}/src/cf/Languages//320/240/321/203/321/201/321/201/320/272/320/270/320/271.xml" +0 -0
  31. {answer42-0.4.2 → answer42-0.4.4}/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
  32. {answer42-0.4.2 → answer42-0.4.4}/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
  33. {answer42-0.4.2 → answer42-0.4.4}/src/client_cf/ConfigDumpInfo.xml +0 -0
  34. {answer42-0.4.2 → answer42-0.4.4}/src/client_cf/Configuration.xml +0 -0
  35. {answer42-0.4.2 → answer42-0.4.4}/src/client_cf/Languages//320/240/321/203/321/201/321/201/320/272/320/270/320/271.xml" +0 -0
  36. {answer42-0.4.2 → answer42-0.4.4}/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
  37. {answer42-0.4.2 → answer42-0.4.4}/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
  38. {answer42-0.4.2 → answer42-0.4.4}/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
  39. {answer42-0.4.2 → answer42-0.4.4}/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
  40. {answer42-0.4.2 → answer42-0.4.4}/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
  41. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/__init__.py +0 -0
  42. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/assets/__init__.py +0 -0
  43. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/assets/skills/answer42/SKILL.md +0 -0
  44. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/assets/skills/answer42-rag/SKILL.md +0 -0
  45. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/auth.py +0 -0
  46. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/bridge.py +0 -0
  47. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/os_support.py +0 -0
  48. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/platform.py +0 -0
  49. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/protocol.py +0 -0
  50. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/rag/__init__.py +0 -0
  51. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/rag/detect.py +0 -0
  52. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/rag/dump.py +0 -0
  53. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/rag/model.py +0 -0
  54. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/rag/parsers.py +0 -0
  55. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/rag/service.py +0 -0
  56. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/rag/store.py +0 -0
  57. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/recorder.py +0 -0
  58. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/release_helper.py +0 -0
  59. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/runtime.py +0 -0
  60. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/skill_installer.py +0 -0
  61. {answer42-0.4.2 → answer42-0.4.4}/src/mcp_1c/window_control.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: answer42
3
- Version: 0.4.2
3
+ Version: 0.4.4
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.2"
3
+ version = "0.4.4"
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"
@@ -123,8 +123,7 @@ async def call_ok(session: ClientSession, name: str, args: dict | None = None):
123
123
 
124
124
  async def call_ui_ok(session: ClientSession, name: str, args: dict | None = None, timeout: float | None = None):
125
125
  args = args or {}
126
- read_timeout = timedelta(seconds=timeout) if timeout else None
127
- result = await session.call_tool(name, args, read_timeout_seconds=read_timeout)
126
+ result = await session.call_tool(name, args, read_timeout_seconds=timeout)
128
127
  if result.is_error:
129
128
  value = "\n".join(getattr(item, "text", "") for item in result.content)
130
129
  await _record_manual_step(session, args.get("session_id", "e2e-mcp"), name, args, {"error": value})
@@ -482,7 +481,7 @@ async def run_coverage(session: ClientSession, sid: str, suffix: str, screenshot
482
481
 
483
482
  negative_calls = [
484
483
  ("get_object", {"name": "DefinitelyMissing", "session_id": sid}, "Объект не может быть найден"),
485
- ("activate_object", {"name": "DefinitelyMissing", "session_id": sid}, "Объект не найден"),
484
+ ("focus_object", {"name": "DefinitelyMissing", "session_id": sid}, "Объект не найден"),
486
485
  ("click_button", {"name": "DefinitelyMissing", "session_id": sid}, "Кнопка не найдена"),
487
486
  ("set_field_value", {"field_name": "DefinitelyMissing", "value": "x", "session_id": sid}, "Поле не найдено"),
488
487
  ("activate_field", {"field_name": "DefinitelyMissing", "session_id": sid}, "Поле не найдено"),