cctally 1.71.0 → 1.73.0
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.
- package/CHANGELOG.md +20 -0
- package/bin/_cctally_cache.py +501 -49
- package/bin/_cctally_core.py +20 -40
- package/bin/_cctally_dashboard_conversation.py +731 -94
- package/bin/_cctally_db.py +286 -1
- package/bin/_cctally_doctor.py +59 -0
- package/bin/_cctally_parser.py +17 -4
- package/bin/_cctally_record.py +162 -33
- package/bin/_cctally_refresh.py +58 -36
- package/bin/_cctally_statusline.py +811 -82
- package/bin/_cctally_transcript.py +223 -7
- package/bin/_lib_codex_conversation.py +509 -0
- package/bin/_lib_codex_conversation_export.py +124 -0
- package/bin/_lib_codex_conversation_query.py +1422 -0
- package/bin/_lib_codex_conversation_watch.py +323 -0
- package/bin/_lib_conversation_dispatch.py +809 -0
- package/bin/_lib_conversation_query.py +88 -0
- package/bin/_lib_conversation_retention.py +344 -0
- package/bin/_lib_doctor.py +62 -0
- package/bin/_lib_statusline_candidates.py +734 -0
- package/bin/cctally +31 -2
- package/package.json +8 -1
package/bin/cctally
CHANGED
|
@@ -312,11 +312,17 @@ HOOK_TICK_LOG_ROTATED_PATH = _cctally_core.HOOK_TICK_LOG_ROTATED_PATH
|
|
|
312
312
|
HOOK_TICK_THROTTLE_PATH = _cctally_core.HOOK_TICK_THROTTLE_PATH
|
|
313
313
|
HOOK_TICK_THROTTLE_LOCK_PATH = _cctally_core.HOOK_TICK_THROTTLE_LOCK_PATH
|
|
314
314
|
|
|
315
|
-
# Statusline
|
|
315
|
+
# Statusline candidate-arbitration paths + tunables (#318).
|
|
316
316
|
STATUSLINE_OBSERVE_MARKER_PATH = _cctally_core.STATUSLINE_OBSERVE_MARKER_PATH
|
|
317
317
|
STATUSLINE_PERSIST_LOCK_PATH = _cctally_core.STATUSLINE_PERSIST_LOCK_PATH
|
|
318
|
+
STATUSLINE_CANDIDATE_DIR = _cctally_core.STATUSLINE_CANDIDATE_DIR
|
|
319
|
+
STATUSLINE_SELECTED_PATH = _cctally_core.STATUSLINE_SELECTED_PATH
|
|
320
|
+
STATUSLINE_TRANSPORT_MARKER_PATH = _cctally_core.STATUSLINE_TRANSPORT_MARKER_PATH
|
|
321
|
+
STATUSLINE_AUTHORITATIVE_7D_PATH = _cctally_core.STATUSLINE_AUTHORITATIVE_7D_PATH
|
|
322
|
+
STATUSLINE_AUTHORITATIVE_5H_PATH = _cctally_core.STATUSLINE_AUTHORITATIVE_5H_PATH
|
|
318
323
|
OAUTH_BACKOFF_MARKER_PATH = _cctally_core.OAUTH_BACKOFF_MARKER_PATH
|
|
319
|
-
|
|
324
|
+
STATUSLINE_CANDIDATE_TTL_SECONDS = _cctally_core.STATUSLINE_CANDIDATE_TTL_SECONDS
|
|
325
|
+
STATUSLINE_CANDIDATE_FUTURE_SKEW_SECONDS = _cctally_core.STATUSLINE_CANDIDATE_FUTURE_SKEW_SECONDS
|
|
320
326
|
OAUTH_BACKFILL_STALE_SECONDS = _cctally_core.OAUTH_BACKFILL_STALE_SECONDS
|
|
321
327
|
OAUTH_BACKOFF_BASE_SECONDS = _cctally_core.OAUTH_BACKOFF_BASE_SECONDS
|
|
322
328
|
OAUTH_BACKOFF_CAP_SECONDS = _cctally_core.OAUTH_BACKOFF_CAP_SECONDS
|
|
@@ -1037,12 +1043,14 @@ _build_credit_plan = _cctally_record._build_credit_plan
|
|
|
1037
1043
|
_resolve_reset_aware_hwm = _cctally_record._resolve_reset_aware_hwm
|
|
1038
1044
|
_insert_credit_snapshot = _cctally_record._insert_credit_snapshot
|
|
1039
1045
|
_resolve_prior_5h = _cctally_record._resolve_prior_5h
|
|
1046
|
+
_resolve_active_five_hour_reset_event_id = _cctally_record._resolve_active_five_hour_reset_event_id
|
|
1040
1047
|
_apply_credit = _cctally_record._apply_credit
|
|
1041
1048
|
_fire_in_place_credit = _cctally_record._fire_in_place_credit
|
|
1042
1049
|
_force_clear_credit = _cctally_record._force_clear_credit
|
|
1043
1050
|
_count_stale_replays = _cctally_record._count_stale_replays
|
|
1044
1051
|
_credit_preview_text = _cctally_record._credit_preview_text
|
|
1045
1052
|
_credit_json = _cctally_record._credit_json
|
|
1053
|
+
_revalidate_credit_plan = _cctally_record._revalidate_credit_plan
|
|
1046
1054
|
_arm_reset_zero_marker = _cctally_record._arm_reset_zero_marker
|
|
1047
1055
|
_read_reset_zero_marker = _cctally_record._read_reset_zero_marker
|
|
1048
1056
|
_clear_reset_zero_marker = _cctally_record._clear_reset_zero_marker
|
|
@@ -1055,6 +1063,8 @@ _hook_tick_throttle_touch = _cctally_record._hook_tick_throttle_touch
|
|
|
1055
1063
|
# `cctally.X` (the `_cctally()` accessor + test monkeypatch surface) resolves.
|
|
1056
1064
|
_statusline_observe_age_seconds = _cctally_record._statusline_observe_age_seconds
|
|
1057
1065
|
_statusline_observe_touch = _cctally_record._statusline_observe_touch
|
|
1066
|
+
_statusline_transport_age_seconds = _cctally_record._statusline_transport_age_seconds
|
|
1067
|
+
_statusline_transport_touch = _cctally_record._statusline_transport_touch
|
|
1058
1068
|
_oauth_backoff_remaining_seconds = _cctally_record._oauth_backoff_remaining_seconds
|
|
1059
1069
|
_oauth_backoff_set = _cctally_record._oauth_backoff_set
|
|
1060
1070
|
_oauth_backoff_clear = _cctally_record._oauth_backoff_clear
|
|
@@ -1322,6 +1332,25 @@ _fork_persist = _cctally_statusline._fork_persist
|
|
|
1322
1332
|
_record_args = _cctally_statusline._record_args
|
|
1323
1333
|
_try_acquire_persist_lock = _cctally_statusline._try_acquire_persist_lock
|
|
1324
1334
|
_release_persist_lock = _cctally_statusline._release_persist_lock
|
|
1335
|
+
_atomic_write_json = _cctally_statusline._atomic_write_json
|
|
1336
|
+
_load_candidate_spool = _cctally_statusline._load_candidate_spool
|
|
1337
|
+
_scan_active_candidate_spool = _cctally_statusline._scan_active_candidate_spool
|
|
1338
|
+
_read_db_projection_stable = _cctally_statusline._read_db_projection_stable
|
|
1339
|
+
_read_db_projection_once = _cctally_statusline._read_db_projection_once
|
|
1340
|
+
_read_control_state = _cctally_statusline._read_control_state
|
|
1341
|
+
_statusline_control_db_agreement = _cctally_statusline._statusline_control_db_agreement
|
|
1342
|
+
_write_control_state = _cctally_statusline._write_control_state
|
|
1343
|
+
_reconcile_selected_control = _cctally_statusline._reconcile_selected_control
|
|
1344
|
+
_read_tombstone = _cctally_statusline._read_tombstone
|
|
1345
|
+
_write_tombstone = _cctally_statusline._write_tombstone
|
|
1346
|
+
_selected_state_lock = _cctally_statusline._selected_state_lock
|
|
1347
|
+
_authoritative_begin = _cctally_statusline._authoritative_begin
|
|
1348
|
+
_authoritative_commit = _cctally_statusline._authoritative_commit
|
|
1349
|
+
_authoritative_record_usage = _cctally_statusline._authoritative_record_usage
|
|
1350
|
+
_authoritative_repair_required = _cctally_statusline._authoritative_repair_required
|
|
1351
|
+
_after_authoritative_record = _cctally_statusline._after_authoritative_record
|
|
1352
|
+
_statusline_reduce_and_publish = _cctally_statusline._statusline_reduce_and_publish
|
|
1353
|
+
_build_publication_plan = _cctally_statusline._build_publication_plan
|
|
1325
1354
|
|
|
1326
1355
|
|
|
1327
1356
|
# Eager re-export of bin/_cctally_codex.py — the four cmd_codex_* are the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cctally",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.73.0",
|
|
4
4
|
"description": "Claude Code usage tracker and local dashboard for Pro/Max subscription limits - weekly cost-per-percent trend, quota forecasts, threshold alerts. ccusage-compatible.",
|
|
5
5
|
"homepage": "https://github.com/omrikais/cctally",
|
|
6
6
|
"repository": {
|
|
@@ -61,11 +61,17 @@
|
|
|
61
61
|
"bin/_lib_budget.py",
|
|
62
62
|
"bin/_lib_cache_report.py",
|
|
63
63
|
"bin/_lib_changelog.py",
|
|
64
|
+
"bin/_lib_codex_conversation.py",
|
|
65
|
+
"bin/_lib_codex_conversation_export.py",
|
|
66
|
+
"bin/_lib_codex_conversation_query.py",
|
|
67
|
+
"bin/_lib_codex_conversation_watch.py",
|
|
64
68
|
"bin/_lib_codex_hooks.py",
|
|
65
69
|
"bin/_lib_conversation.py",
|
|
66
70
|
"bin/_lib_conversation_anon.py",
|
|
71
|
+
"bin/_lib_conversation_dispatch.py",
|
|
67
72
|
"bin/_lib_conversation_export.py",
|
|
68
73
|
"bin/_lib_conversation_query.py",
|
|
74
|
+
"bin/_lib_conversation_retention.py",
|
|
69
75
|
"bin/_lib_conversation_watch.py",
|
|
70
76
|
"bin/_lib_credit.py",
|
|
71
77
|
"bin/_lib_dashboard_dates.py",
|
|
@@ -93,6 +99,7 @@
|
|
|
93
99
|
"bin/_lib_source_analytics.py",
|
|
94
100
|
"bin/_lib_source_identity.py",
|
|
95
101
|
"bin/_lib_statusline.py",
|
|
102
|
+
"bin/_lib_statusline_candidates.py",
|
|
96
103
|
"bin/_lib_subscription_weeks.py",
|
|
97
104
|
"bin/_lib_transcript_access.py",
|
|
98
105
|
"bin/_lib_view_models.py",
|