clawmetry 0.12.332__tar.gz → 0.12.333__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.
- {clawmetry-0.12.332 → clawmetry-0.12.333}/CHANGELOG.md +3 -0
- {clawmetry-0.12.332/clawmetry.egg-info → clawmetry-0.12.333}/PKG-INFO +1 -1
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/js/app.js +22 -3
- {clawmetry-0.12.332 → clawmetry-0.12.333/clawmetry.egg-info}/PKG-INFO +1 -1
- {clawmetry-0.12.332 → clawmetry-0.12.333}/dashboard.py +1 -1
- {clawmetry-0.12.332 → clawmetry-0.12.333}/ARCHITECTURE.md +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/CLAUDE.md +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/LICENSE +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/MANIFEST.in +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/README.md +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/__main__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/aider.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/base.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/claude_code.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/codex.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/cursor.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/goose.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/hermes.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/nanoclaw.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/nemo.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/openclaw.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/opencode.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/picoclaw.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/qwen_code.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/adapters/registry.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/alert_evaluator.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/approvals.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/blueprints/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/cli.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/config.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/connector_health.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/dives_prompt.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/dives_sql_safety.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/error_patterns.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/eval_regression_replay.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/eval_runner.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/eval_suite_runner.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/extensions.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/gateway_tap.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/insights.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/interceptor.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/latency_tracker.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/local_server.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/otel_exporter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/outcome_classifier.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/providers/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/providers/base.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/providers/local.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/providers/turso.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/providers_pricing.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/proxy.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/py.typed +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/relay.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/resources/add-nemoclaw-clawmetry-preset.sh +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/risk.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/css/dashboard.css +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/img/logo.svg +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/js/alerts.js +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/js/auth-bootstrap.js +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/js/dives.js +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/js/gw-setup.js +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/js/i18n.js +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/js/nav-dropdown.js +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/_glossary.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/_meta.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/ar.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/bn.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/de.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/el.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/en.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/es-419.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/es.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/fa.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/fil.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/fr.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/gu.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/he.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/hi.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/id.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/it.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/ja.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/kn.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/ko.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/ml.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/mr.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/nl.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/pa.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/pl.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/pt-BR.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/pt-PT.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/ru.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/sv.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/ta.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/te.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/th.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/tr.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/uk.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/ur.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/vi.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/zh-CN.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/locales/zh-TW.json +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/v2/dist/assets/index-BP9nlZ3e.js +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/v2/dist/assets/index-NbINX9rU.css +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/v2/dist/index.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/sync.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/telemetry.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/README.md +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/partials/banners.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/partials/budget-modal.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/partials/cloud-modal.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/partials/overlays.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/partials/paywall_modal.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/alerts.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/approvals.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/brain.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/clusters.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/context-economics.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/context.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/crons.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/dives.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/flow.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/history.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/logs.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/memory.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/models.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/nemoclaw.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/notifications.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/overview.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/policy.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/security.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/selfevolve.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/skills.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/subagents.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/tool-catalog.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/tracing.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/transcripts.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/turn-anatomy.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/usage.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/templates/tabs/version-impact.html +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/tests/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/tests/e2e/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/tests/e2e/test_cloud_sync_resilience.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/tests/integration/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/tests/integration/test_fast_paths_cross_process.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/token_confidence.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/track.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/v2/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/v2/routes.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry.egg-info/SOURCES.txt +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry.egg-info/dependency_links.txt +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry.egg-info/entry_points.txt +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry.egg-info/requires.txt +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry.egg-info/top_level.txt +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/gateway.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/hardware.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/logs.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/openapi.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/pricing.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/streams.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/helpers/system.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/_dedupe.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/advisor.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/agents.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/alerts.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/autonomy.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/bootstrap.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/brain.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/channels.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/components.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/context_economics.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/crons.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/dives.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/evals.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/fleet_history.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/health.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/heartbeat.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/infra.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/insights.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/local_query.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/meta.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/nemoclaw.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/overview.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/plugins.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/policy.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/reasoning.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/review.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/scheduler.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/selfconfig.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/selfevolve.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/sessions.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/skills.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/tool_catalog.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/tracing.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/turn_anatomy.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/update_check.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/usage.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/routes/workspaces.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/setup.cfg +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/setup.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/__init__.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/_moat_perf_fixture.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/conftest.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/eval_ci_mock_agent.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_adapter_claude_code.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_adapter_hermes.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_adapters.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_adaptive_heartbeat.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_advisor_auth_resolution.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_aesgcm_swallow_fix.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_aider_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_alert_evaluator_unit.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_alert_rules_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_alerts_evaluator_duckdb.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_anon_auth_fail_ping.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_api.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_appjs_units.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_approvals_duckdb_watcher.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_approvals_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_auth_detected_token.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_auto_update.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_automation_analysis_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_autonomy_v3_shape.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_backfill_family_cost.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_bootstrap_capture.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_cache_push.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_cache_push_channel_events.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_history_v3_event_detail.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_llm_call_timeline.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_local_fastpath.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_no_log_keyword_noise.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_brain_sse_reconnect.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_budget_cap.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cache_trends.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channel_bluebubbles_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channel_config_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channel_event_chokepoint.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channel_signal_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channel_telegram_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channel_tui_duckdb_fastpath.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channel_whatsapp_duckdb_fastpath.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_channels_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_circular_import.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_class_bug_parent_sid_drain.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_claude_code_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_claude_sessions_privacy_boundary.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_claudecode.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cli.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cli_banner.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_codex_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_component_gateway_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_component_tool_model_completed.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_component_tool_timeout.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_connector_health.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_context_anatomy_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_context_window_model_aware.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cost_optimizer_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cron_health.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cron_runs_duckdb_ingest.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cron_runs_events_only.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_crons_cache_push.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_crons_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_crons_runs_endpoint.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_cursor_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_daemon_error_event_pipeline.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_daemon_health_endpoint.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_dashboard_perf_hotfix.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_decoding_config_extract.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_delegation_tree_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_dives_prompt.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_dives_sql_safety.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_duckdb_coverage_batch_2026_05_13.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_duckdb_coverage_phase2_2026_05_13.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_duckdb_coverage_phase3_2026_05_13.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_duckdb_coverage_phase4_channels_2026_05_13.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_duckdb_coverage_phase5_channels_2026_05_13.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_duckdb_fastpath_v3_invariants.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_browserstack.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_cross_repo_handoff.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_duckdb_relay.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_nightly_workflow.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_oss_all_tabs.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_oss_golden_path.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_real_openclaw_pipeline.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_e2e_telegram_brain_ingest.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_error_patterns.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_eval_regression_replay.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_eval_runner.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_eval_suite_runner.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_evaluate_alerts_integration.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_event_id_unification_and_dedup.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_event_metrics_extraction.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_events_only_computation.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_fallbacks_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_family_runtime_ingest.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_first_heartbeat_onboarding.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_flow_events_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_flow_runs_endpoint.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_flow_sse_reconnect.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_forward_progress.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_gateway_health.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_gateway_health_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_gateway_metric_history.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_gateway_tap.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_gateway_tap_opt_in_banner.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_gateway_token_fallback.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_gateway_ws_handshake_client_id.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_goose_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_hallucination_risk.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_health_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_heartbeat_agent_install_piggyback.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_heartbeat_dispatch.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_heartbeat_envelope.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_heartbeat_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_heartbeat_relay_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_i18n_catalog.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_insights.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_install_script_linux_restart.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_install_script_no_duplicate_daemon.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_interceptor.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_issue_1127_ux_dead_ends.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_latency_tracker.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_max_bytes_auto_vacuum.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_query_api.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_server_proxy.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_store_concurrent_flush_1590.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_store_default_on.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_store_missing_writers.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_store_multi_agent.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_store_rename.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_local_store_sync_integration.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_log_sse_reconnect.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_loop_signals_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_memory_cache_push.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_memory_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_memory_rag.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_bug_class_v3_event_shape_gate.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_cloud_robustness.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_cloud_roundtrip_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_cloud_sync_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_component_tool_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_cross_repo_version_skew.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_daemon_crash_recovery.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_e2e_regression_1129.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_event_shape_manifest_guard.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_live_openclaw_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_perf_benchmark.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_real_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_send_message_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_moat_tier1_daemon_proxy_sweep.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_model_transitions_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_multi_workspace_discovery.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_nanoclaw_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_nemo_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_nemo_adapter_pro_gate.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_nemoclaw_governance.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_no_agent_detected_state.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_no_direct_get_store_in_routes.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_oauth_detection.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_openclaw_claude_session_ingest.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_openclaw_sessions_followup.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_opencode_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_oss_routes_source_canary.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_outcome_classifier.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_overview_autonomy_score.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_overview_heartbeat.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_overview_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_pending_query_dispatch.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_per_agent_budget.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_phase_2_to_5_live_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_picoclaw_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_plugins_invocations_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_proxy.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_proxy_budget_abort.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_query_sessions_message_count.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_qwen_code_adapter.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_rate_limits_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_read_cloud_token_fallback.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_real_openclaw_binary_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_reasoning_v3_shape.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_relay.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_reliability.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_review_queue.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_run_daemon_uniqueness.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_runtime_detection_snapshot.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_schema_migration_failure_integrity.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_selfconfig_session_attribution.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_session_export.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_session_export_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_session_tools_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sessions_by_type_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sessions_clusters_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sessions_local_fastpath.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sessions_retention_cap.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sigterm_ring_flush.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_skills_fidelity_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_skills_fidelity_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_skills_multi_dir_discovery.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_spans_e2e.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_spans_ingest.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_subagent_attribution_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_subagents_events_only.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_subagents_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_subscribe_queue_bounded.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sync_daemon_crash_recovery.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sync_main_block_at_eof.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sync_progress_sticky.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sync_reliability.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sync_skip_sidecar_jsonls.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_sync_trial_gating.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_system_snapshot_dlq.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_task_runs_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_telegram_gatewaylog_parser.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_telegram_ingest.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_telemetry.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_tier1_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_tier_pro_paywall_no_flash.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_token_attribution_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_token_confidence.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_token_spike_rules.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_token_velocity_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_tool_alternatives.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_tool_modal_fastpath_2026_05_13.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_tracing_accuracy.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_track.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_transcript_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_transcript_openclaw_shapes.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_transcripts_list_detail_count_parity.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_update_banner_live_version.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_uptime_portable.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_usage_cache_trends_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_usage_forecast_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_usage_local_store.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_usage_per_session.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_v3_schema_parser.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_version_impact.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_version_impact_local_store_v3.py +0 -0
- {clawmetry-0.12.332 → clawmetry-0.12.333}/tests/test_workspace_switcher_copy.py +0 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
### Fixed: Active Tasks showed week-old runs as "Recently Completed" (2026-05-27)
|
|
4
|
+
- The overview Active Tasks panel filtered "Recently Completed/Failed" by each task's run **duration** (`runtimeMs < 2h`) instead of **how long ago it finished**, so a 5-minute task that ended days ago kept showing as "recent" and an idle node looked busy. Now bounded by finish age (1h), derived the same way the card's "Finished N ago" label is (`completionTs → updatedAt → startedAt+runtime`). Idle nodes correctly show "No active tasks — The AI is idle"; running tasks still always show. (#2170)
|
|
5
|
+
|
|
3
6
|
### Release: runtime switcher scopes Tracing + clearer "N sessions" labels (2026-05-27)
|
|
4
7
|
- The global runtime switcher now also filters the **Tracing** tab (event-derived traces set `trace_id = session_id`, whose prefix is the runtime). Brain + Transcripts + Tracing now all de-merge by runtime. (#2167)
|
|
5
8
|
- Switcher option labels now read **"Claude Code · 22 sessions"** / **"OpenClaw · 1 session"** / **"All runtimes · 23 sessions"** instead of a bare `(22)`, which had read as "22 Claude Code runtimes" (there is one runtime running many sessions). (#2167)
|
|
@@ -14589,14 +14589,33 @@ async function loadOverviewTasks() {
|
|
|
14589
14589
|
else if (isRealFailure) failed.push(a);
|
|
14590
14590
|
else done.push(a);
|
|
14591
14591
|
});
|
|
14592
|
-
//
|
|
14593
|
-
|
|
14594
|
-
|
|
14592
|
+
// "Recently Completed/Failed" must mean RECENT — bound by how long ago the
|
|
14593
|
+
// task FINISHED, not its run duration. The old `runtimeMs < 2h` check used
|
|
14594
|
+
// duration, so a 5-minute task that finished 6 days ago still passed and
|
|
14595
|
+
// showed as "recent" (an idle node looked busy). Derive the end time the
|
|
14596
|
+
// same way _ovRenderCard's "Finished N ago" does (completionTs → updatedAt
|
|
14597
|
+
// → startedAt+runtime); unknown end time → not recent.
|
|
14598
|
+
var RECENT_DONE_MS = 60 * 60 * 1000; // 1h
|
|
14599
|
+
var _nowMs = Date.now();
|
|
14600
|
+
function _ovEndedMs(a) {
|
|
14601
|
+
var e = 0;
|
|
14602
|
+
if (a.completionTs) { var ct = Date.parse(a.completionTs); if (!isNaN(ct)) e = ct; }
|
|
14603
|
+
if (!e && a.updatedAt) e = a.updatedAt;
|
|
14604
|
+
if (!e && a.startedAt && a.runtimeMs) e = a.startedAt + a.runtimeMs;
|
|
14605
|
+
return e;
|
|
14606
|
+
}
|
|
14607
|
+
function _ovRecentlyFinished(a) {
|
|
14608
|
+
var e = _ovEndedMs(a);
|
|
14609
|
+
return e > 0 && (_nowMs - e) < RECENT_DONE_MS;
|
|
14610
|
+
}
|
|
14611
|
+
done = done.filter(_ovRecentlyFinished);
|
|
14612
|
+
failed = failed.filter(_ovRecentlyFinished);
|
|
14595
14613
|
|
|
14596
14614
|
if (countBadge) countBadge.textContent = running.length > 0 ? '(' + running.length + ' running)' : '(' + (done.length + failed.length) + ' recent)';
|
|
14597
14615
|
|
|
14598
14616
|
var totalShown = running.length + done.length + failed.length;
|
|
14599
14617
|
if (totalShown === 0) {
|
|
14618
|
+
if (countBadge) countBadge.textContent = '';
|
|
14600
14619
|
el.innerHTML = '<div style="text-align:center;padding:40px 20px;color:var(--text-muted);">'
|
|
14601
14620
|
+ '<div style="font-size:32px;margin-bottom:12px;" class="tasks-empty-icon">😴</div>'
|
|
14602
14621
|
+ '<div style="font-size:14px;font-weight:600;color:var(--text-tertiary);margin-bottom:4px;">No active tasks</div>'
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/resources/add-nemoclaw-clawmetry-preset.sh
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clawmetry-0.12.332 → clawmetry-0.12.333}/clawmetry/static/v2/dist/assets/index-NbINX9rU.css
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|