usage-cli 0.33.9__tar.gz → 0.33.10__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.
- {usage_cli-0.33.9/usage_cli.egg-info → usage_cli-0.33.10}/PKG-INFO +1 -1
- {usage_cli-0.33.9 → usage_cli-0.33.10}/pyproject.toml +1 -1
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_windows_manifest.py +15 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10/usage_cli.egg-info}/PKG-INFO +1 -1
- {usage_cli-0.33.9 → usage_cli-0.33.10}/LICENSE +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/README.md +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/THIRD_PARTY_NOTICES.md +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/agy.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/claude.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/codex.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/grok.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/muse.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/rate_limits.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/registry.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/adapters/types.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/aggregator.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/blocks.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/diagnoser.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/diagnosis_snapshot.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/dispatch_ledger.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/history_persist.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/insights.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/ledger_backfill.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/persona_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/reporter.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/subscription.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/analyzer/usage_snapshot.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/i18n.json +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/installer/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/installer/claude_pane.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/installer/codex_hook_trust.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/installer/login_item.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/installer/session_hooks.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/installer/setup_hook.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/installer/statusline_settings.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/_shared_cache_file.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/agy_disk_cache.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/agy_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/agy_quota_probe.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/cache_quarantine.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/chromium_cache.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/claude_desktop.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/claude_paths.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/claude_usage.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/codex_disk_cache.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/codex_events.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/codex_fork_replay.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/codex_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/codex_paths.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/disk_cache_common.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/disk_cache_lifecycle.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/grok_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/grok_quota_probe.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/history_disk_cache.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/history_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/jsonl_limits.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/jsonl_utils.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/loaders/muse_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/main.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/actions.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/agy.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/app.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/chrome.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/fsevents_watch.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/grok.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/manual_refresh.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/menu.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/new_badge.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/notify.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/popover.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/prefs.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/refresh.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/state.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/title.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/update.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/menubar/whats_new.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/base.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/catalog.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/dynamic_height.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/panel_scale.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/panel_window.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/panel_window_state.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/payload.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/web_panel.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/panels/window_drag.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/agy_window_keeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/burn_rate.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/codex_window_keeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/keeper_outcome.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/notifications.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/quota_snapshot.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/status_payload.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/usage_rate.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/quota/window_keeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/setup.cfg +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/setup_app.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_adapters_claude.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_adapters_codex.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_adapters_rate_limits.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_aggregator.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_agy_adapter.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_agy_disk_cache.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_agy_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_agy_quota_probe.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_agy_window_keeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_analyzer_blocks.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_analyzer_pipeline.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_app_version.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_burn_rate.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_cache_quarantine.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_check_upstream.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_chromium_cache.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_claude_desktop.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_claude_pane.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_claude_paths.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_codex_consistency.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_codex_hook_trust.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_codex_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_codex_window_keeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_desktop_fresh_cache.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_desktop_quota_display.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_desktop_quota_review.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_diagnoser.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_disk_cache_shards.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_dispatch_ledger.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_doctor.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_dynamic_height.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_fsevents_watch.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_grok_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_grok_quota_probe.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_history_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_history_persist.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_hook_scripts_are_standalone.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_html_report_snapshot.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_i18n_format_fallback.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_i18n_key_parity.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_i18n_packaged_path.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_insights.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_jsonl_utils.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_keeper_menu.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_keeper_outcome.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_ledger_backfill.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_login_item.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_main.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_manual_refresh.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_menubar.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_menubar_agy.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_menubar_grok.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_menubar_notify.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_menubar_prefs.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_menubar_state.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_menubar_update.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_muse_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_new_badge.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_packaged_resources.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_packaging.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_panel_footer_layout.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_panel_scale.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_panel_window_state.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_panels.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_panels_lazy_import.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_persona_loader.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_pricing.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_project_resolver.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_quota_aware.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_quota_label.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_report_cold_read.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_report_daily_chart.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_report_filter_js.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_report_share_mask.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_reporter_build_data.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_service_status.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_session_resume.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_setup_app.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_setup_hook.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_setup_hook_coexistence.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_setup_hook_resume.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_setup_hook_terse.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_subprocess_utils.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_subscription.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_taskbar_menu.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_time_utils.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_tui.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_tui_sprite.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_ui_tables.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_update_checker.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_update_gate.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_update_release_notes.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_cli.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_client.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_diagnosis_snapshot.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_dir_sweeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_lang.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_logging.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_notifications.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_rate.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_snapshot.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_snapshot_replay.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_statusline.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_statusline_agy.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_statusline_forwarder.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_statusline_grok.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_terse_mode.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_usage_terse_reminder.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_web_panel_payload.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_whats_new.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_wheel_packaging.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_win_login_item.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_window_keeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tests/test_wintray.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tui/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tui/app.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/tui/sprite.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/html_report.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/report_charts.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/report_daily_chart.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/report_filter.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/report_ledger.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/report_scripts.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/report_styles.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/ui/tables.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/updates/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/updates/checker.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/updates/gate.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/updates/release_notes.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/updates/whats_new.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_app/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_app/cli.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_app/doctor.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_cli.egg-info/SOURCES.txt +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_cli.egg-info/dependency_links.txt +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_cli.egg-info/entry_points.txt +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_cli.egg-info/requires.txt +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_cli.egg-info/top_level.txt +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/app_version.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/i18n.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/prefs.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/pricing.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/project_resolver.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/service_status.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/subprocess_utils.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/time_utils.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/usage_dir_sweeper.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/usage_lang.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_common/usage_logging.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_quota_aware.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_session_resume.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_statusline.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_statusline_agy.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_statusline_forwarder.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_statusline_grok.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_terse_mode.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/usage_hooks/usage_terse_reminder.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/__init__.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/app.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/login_item.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/menu.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/prefs.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/quota_label.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/taskbar_menu.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/taskbar_obstacles.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/taskbar_overlay.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/watch.py +0 -0
- {usage_cli-0.33.9 → usage_cli-0.33.10}/wintray/whats_new.py +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from xml.etree import ElementTree
|
|
5
6
|
|
|
@@ -23,3 +24,17 @@ def test_windows_build_embeds_manifest() -> None:
|
|
|
23
24
|
|
|
24
25
|
assert '$ManifestFile = Join-Path $PSScriptRoot "usage.manifest"' in build_script
|
|
25
26
|
assert "--manifest $ManifestFile `" in build_script
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def test_windows_build_bundles_hook_sources_where_installers_resolve_them() -> None:
|
|
30
|
+
# The installers resolve hook sources as <bundle>/usage_hooks/<name>; a hook
|
|
31
|
+
# bundled anywhere else is never found, so self-heal can't install or update it.
|
|
32
|
+
installer_sources = "".join(
|
|
33
|
+
path.read_text(encoding="utf-8") for path in (REPO_ROOT / "installer").glob("*.py")
|
|
34
|
+
)
|
|
35
|
+
resolved = set(re.findall(r'"usage_hooks" / "(usage_\w+\.py)"', installer_sources))
|
|
36
|
+
build_script = (REPO_ROOT / "scripts" / "build_windows.ps1").read_text(encoding="utf-8")
|
|
37
|
+
|
|
38
|
+
assert resolved
|
|
39
|
+
for name in sorted(resolved):
|
|
40
|
+
assert f"'usage_hooks/{name}');usage_hooks\"" in build_script, name
|
|
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
|
|
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
|
|
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
|