deskclaw 0.5.0__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 (53) hide show
  1. deskclaw-0.5.0/.gitignore +89 -0
  2. deskclaw-0.5.0/PKG-INFO +23 -0
  3. deskclaw-0.5.0/README.md +0 -0
  4. deskclaw-0.5.0/deskclaw/__init__.py +0 -0
  5. deskclaw-0.5.0/deskclaw/adapters/__init__.py +13 -0
  6. deskclaw-0.5.0/deskclaw/adapters/http_adapter.py +623 -0
  7. deskclaw-0.5.0/deskclaw/adapters/loader.py +378 -0
  8. deskclaw-0.5.0/deskclaw/adapters/nanobot.py +108 -0
  9. deskclaw-0.5.0/deskclaw/adapters/nanoclaw.py +82 -0
  10. deskclaw-0.5.0/deskclaw/adapters/openclaw_adapter.py +546 -0
  11. deskclaw-0.5.0/deskclaw/adapters/protocol.py +112 -0
  12. deskclaw-0.5.0/deskclaw/adapters/registry.py +55 -0
  13. deskclaw-0.5.0/deskclaw/backup/__init__.py +0 -0
  14. deskclaw-0.5.0/deskclaw/backup/engine.py +315 -0
  15. deskclaw-0.5.0/deskclaw/cli/__init__.py +3 -0
  16. deskclaw-0.5.0/deskclaw/cli/main.py +1026 -0
  17. deskclaw-0.5.0/deskclaw/dashboard/__init__.py +0 -0
  18. deskclaw-0.5.0/deskclaw/dashboard/app.py +906 -0
  19. deskclaw-0.5.0/deskclaw/dashboard/frontend/index.html +12 -0
  20. deskclaw-0.5.0/deskclaw/dashboard/frontend/package-lock.json +1878 -0
  21. deskclaw-0.5.0/deskclaw/dashboard/frontend/package.json +23 -0
  22. deskclaw-0.5.0/deskclaw/dashboard/frontend/src/App.tsx +28 -0
  23. deskclaw-0.5.0/deskclaw/dashboard/frontend/src/hooks.ts +34 -0
  24. deskclaw-0.5.0/deskclaw/dashboard/frontend/src/index.css +162 -0
  25. deskclaw-0.5.0/deskclaw/dashboard/frontend/src/main.tsx +13 -0
  26. deskclaw-0.5.0/deskclaw/dashboard/frontend/src/pages/Overview.tsx +130 -0
  27. deskclaw-0.5.0/deskclaw/dashboard/frontend/src/pages/StressMatrix.tsx +148 -0
  28. deskclaw-0.5.0/deskclaw/dashboard/frontend/src/vite-env.d.ts +1 -0
  29. deskclaw-0.5.0/deskclaw/dashboard/frontend/tsconfig.json +21 -0
  30. deskclaw-0.5.0/deskclaw/dashboard/frontend/vite.config.ts +11 -0
  31. deskclaw-0.5.0/deskclaw/evaluation/__init__.py +0 -0
  32. deskclaw-0.5.0/deskclaw/evaluation/benchmark_normalization.py +196 -0
  33. deskclaw-0.5.0/deskclaw/evaluation/results_bridge.py +339 -0
  34. deskclaw-0.5.0/deskclaw/evaluation/scorer.py +573 -0
  35. deskclaw-0.5.0/deskclaw/execution/__init__.py +0 -0
  36. deskclaw-0.5.0/deskclaw/execution/benchmark_registry.py +309 -0
  37. deskclaw-0.5.0/deskclaw/execution/dispatcher.py +404 -0
  38. deskclaw-0.5.0/deskclaw/experiment/__init__.py +59 -0
  39. deskclaw-0.5.0/deskclaw/experiment/models.py +279 -0
  40. deskclaw-0.5.0/deskclaw/experiment/pipeline.py +243 -0
  41. deskclaw-0.5.0/deskclaw/experiment/registry.py +128 -0
  42. deskclaw-0.5.0/deskclaw/experiment/reporter.py +211 -0
  43. deskclaw-0.5.0/deskclaw/experiment/scoring.py +161 -0
  44. deskclaw-0.5.0/deskclaw/experiment/stats.py +155 -0
  45. deskclaw-0.5.0/deskclaw/experiment/template_adapter.py +106 -0
  46. deskclaw-0.5.0/deskclaw/experiment/workspace.py +150 -0
  47. deskclaw-0.5.0/deskclaw/setup/__init__.py +0 -0
  48. deskclaw-0.5.0/deskclaw/setup/loader.py +371 -0
  49. deskclaw-0.5.0/pyproject.toml +53 -0
  50. deskclaw-0.5.0/tests/test_cli_integration.py +338 -0
  51. deskclaw-0.5.0/tests/test_execution_eval.py +770 -0
  52. deskclaw-0.5.0/tests/test_experiment.py +652 -0
  53. deskclaw-0.5.0/tests/test_pipeline_phases.py +488 -0
@@ -0,0 +1,89 @@
1
+ # ═══════════════════════════════════════════════
2
+ # DeskClaw Benchmark Platform — .gitignore
3
+ # ═══════════════════════════════════════════════
4
+
5
+ # ── Python ──
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+ *.pyo
10
+ *.pyd
11
+ .Python
12
+ *.egg-info/
13
+ *.egg
14
+ dist/
15
+ build/
16
+ wheels/
17
+
18
+ # ── Virtual Environments ──
19
+ .venv/
20
+ venv/
21
+ ENV/
22
+
23
+ # ── Node.js ──
24
+ node_modules/
25
+ *.tsbuildinfo
26
+
27
+ # ── Environment & Secrets ──
28
+ .env
29
+ .env.*
30
+ !.env.example
31
+ *.key
32
+ *.pem
33
+
34
+ # ── DeskClaw Runtime Artifacts ──
35
+ snapshots/
36
+ results/
37
+ reports/
38
+ .deskclaw-dashboard.pid
39
+ experiment_results/
40
+ benchmarks/cache/
41
+
42
+ # ── IDE / Editor ──
43
+ .vscode/
44
+ .idea/
45
+ *.swp
46
+ *.swo
47
+ *~
48
+ .DS_Store
49
+ Thumbs.db
50
+
51
+ # ── Testing & Linting Cache ──
52
+ .pytest_cache/
53
+ .ruff_cache/
54
+ .mypy_cache/
55
+ .coverage
56
+ htmlcov/
57
+ coverage.xml
58
+
59
+ # ── Sisyphus automation state ──
60
+ .sisyphus/
61
+
62
+ # ── External benchmark runtime code ──
63
+ # Upstream source is cloned by scripts/setup-benchmarks.sh.
64
+ # Only .gitkeep, deskclaw-benchmark.yaml, and submodule refs are tracked.
65
+ swe-bench/*
66
+ !swe-bench/.gitkeep
67
+ !swe-bench/deskclaw-benchmark.yaml
68
+
69
+ gaia2/*
70
+ !gaia2/.gitkeep
71
+ !gaia2/deskclaw-benchmark.yaml
72
+
73
+ osworld/*
74
+ !osworld/.gitkeep
75
+
76
+ tau-bench/*
77
+ !tau-bench/deskclaw-benchmark.yaml
78
+ !tau-bench/upstream
79
+
80
+ ClawWork/*
81
+ !ClawWork/deskclaw-benchmark.yaml
82
+
83
+ agentbench/*
84
+ !agentbench/.gitkeep
85
+
86
+ # ── Misc ──
87
+ *.log
88
+ *.tmp
89
+ .cursor/plans/
@@ -0,0 +1,23 @@
1
+ Metadata-Version: 2.4
2
+ Name: deskclaw
3
+ Version: 0.5.0
4
+ Summary: DeskClaw Benchmark Platform — Agentic AI 端到端能力验证平台
5
+ License: MIT
6
+ Requires-Python: >=3.11
7
+ Requires-Dist: click>=8.1
8
+ Requires-Dist: httpx>=0.27
9
+ Provides-Extra: benchmarks
10
+ Requires-Dist: meta-agents-research-environments; extra == 'benchmarks'
11
+ Requires-Dist: pyyaml>=6.0; extra == 'benchmarks'
12
+ Requires-Dist: swebench>=4.0; extra == 'benchmarks'
13
+ Provides-Extra: dashboard
14
+ Requires-Dist: fastapi>=0.115; extra == 'dashboard'
15
+ Requires-Dist: uvicorn>=0.32; extra == 'dashboard'
16
+ Requires-Dist: websockets>=14.0; extra == 'dashboard'
17
+ Provides-Extra: dev
18
+ Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
19
+ Requires-Dist: pytest>=8.0; extra == 'dev'
20
+ Requires-Dist: ruff>=0.8; extra == 'dev'
21
+ Provides-Extra: experiment
22
+ Requires-Dist: matplotlib>=3.9; extra == 'experiment'
23
+ Requires-Dist: scipy>=1.14; extra == 'experiment'
File without changes
File without changes
@@ -0,0 +1,13 @@
1
+ import deskclaw.adapters.nanoclaw as nanoclaw # noqa: F401
2
+ import deskclaw.adapters.nanobot as nanobot # noqa: F401
3
+ import deskclaw.adapters.openclaw_adapter as openclaw_adapter # noqa: F401
4
+
5
+ from deskclaw.adapters.loader import AdapterLoader
6
+
7
+ _PROJECT_ROOT = __import__("pathlib").Path(__file__).resolve().parent.parent.parent.parent
8
+ _DEFAULT_ADAPTERS_DIR = str(_PROJECT_ROOT / "plugins" / "adapters")
9
+
10
+
11
+ def discover_dynamic_adapters(adapters_dir: str = _DEFAULT_ADAPTERS_DIR) -> list[str]:
12
+ """Scan for and register YAML/Python adapter definitions at runtime."""
13
+ return AdapterLoader.discover_and_register(adapters_dir)