cctally 1.108.0 → 1.109.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.
Files changed (78) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/bin/_cctally_account.py +4 -0
  3. package/bin/_cctally_alerts.py +6 -2
  4. package/bin/_cctally_cache.py +1590 -153
  5. package/bin/_cctally_config.py +3 -2
  6. package/bin/_cctally_core.py +589 -32
  7. package/bin/_cctally_dashboard.py +1223 -160
  8. package/bin/_cctally_dashboard_conversation.py +263 -8
  9. package/bin/_cctally_dashboard_envelope.py +144 -4
  10. package/bin/_cctally_dashboard_share.py +154 -36
  11. package/bin/_cctally_dashboard_sources.py +2146 -347
  12. package/bin/_cctally_db.py +634 -5
  13. package/bin/_cctally_diagnosis_sources.py +57 -11
  14. package/bin/_cctally_doctor.py +84 -15
  15. package/bin/_cctally_five_hour.py +1295 -40
  16. package/bin/_cctally_forecast.py +109 -26
  17. package/bin/_cctally_journal.py +380 -37
  18. package/bin/_cctally_milestone_history.py +86 -6
  19. package/bin/_cctally_percent_breakdown.py +6 -1
  20. package/bin/_cctally_project.py +48 -76
  21. package/bin/_cctally_quota.py +39 -7
  22. package/bin/_cctally_quota_model.py +17 -2
  23. package/bin/_cctally_record.py +1603 -437
  24. package/bin/_cctally_refresh.py +2 -1
  25. package/bin/_cctally_share.py +24 -5
  26. package/bin/_cctally_source_analytics.py +553 -30
  27. package/bin/_cctally_statusline.py +83 -19
  28. package/bin/_cctally_store.py +61 -4
  29. package/bin/_cctally_tui.py +229 -74
  30. package/bin/_cctally_weekrefs.py +28 -5
  31. package/bin/_lib_blocks.py +127 -20
  32. package/bin/_lib_cache_report.py +20 -5
  33. package/bin/_lib_codex_conversation_query.py +11 -1
  34. package/bin/_lib_codex_hooks.py +102 -0
  35. package/bin/_lib_conversation.py +119 -0
  36. package/bin/_lib_conversation_dispatch.py +31 -1
  37. package/bin/_lib_conversation_query.py +61 -14
  38. package/bin/_lib_conversation_retention.py +413 -25
  39. package/bin/_lib_dashboard_sources.py +267 -7
  40. package/bin/_lib_diagnosis.py +10 -0
  41. package/bin/_lib_diff_kernel.py +12 -1
  42. package/bin/_lib_doctor.py +214 -6
  43. package/bin/_lib_ingest_frontier.py +1366 -49
  44. package/bin/_lib_journal.py +19 -2
  45. package/bin/_lib_merge_gate.py +307 -0
  46. package/bin/_lib_pricing.py +522 -18
  47. package/bin/_lib_record.py +130 -12
  48. package/bin/_lib_render.py +9 -3
  49. package/bin/_lib_retained_size.py +27 -2
  50. package/bin/_lib_segment_summary.py +66 -8
  51. package/bin/_lib_share_templates.py +28 -18
  52. package/bin/_lib_snapshot_cache.py +115 -1
  53. package/bin/_lib_source_retry.py +320 -0
  54. package/bin/_lib_statusline_candidates.py +400 -36
  55. package/bin/_lib_tick_stats.py +119 -0
  56. package/bin/_lib_view_models.py +251 -76
  57. package/bin/cctally +69 -0
  58. package/dashboard/static/assets/ConversationsView-TO5bpIyc.js +72 -0
  59. package/dashboard/static/assets/{DoctorModal-CWn3U4Wl.js → DoctorModal-BZGXOlc2.js} +1 -1
  60. package/dashboard/static/assets/ModalRoot-C_fvugTl.js +1 -0
  61. package/dashboard/static/assets/{ProjectsDrillPanel-QLI9i5mZ.js → ProjectsDrillPanel-KbO_KWa7.js} +1 -1
  62. package/dashboard/static/assets/SourceDetailModal-BrOPLVRL.js +1 -0
  63. package/dashboard/static/assets/{UpdateModal-D3m8GG6V.js → UpdateModal-CYgEFAi4.js} +2 -2
  64. package/dashboard/static/assets/dashboardStream.shared-worker-DbG6Ef0T.js +1 -0
  65. package/dashboard/static/assets/index-Cj_l7T7u.css +1 -0
  66. package/dashboard/static/assets/index-DLVwACUM.js +13 -0
  67. package/dashboard/static/assets/outlineNavigation-DXX-RjKl.js +9 -0
  68. package/dashboard/static/assets/useKeymap-DQx_A1MB.js +1 -0
  69. package/dashboard/static/dashboard.html +3 -3
  70. package/package.json +3 -1
  71. package/dashboard/static/assets/ConversationsView-BOSaBRtu.js +0 -72
  72. package/dashboard/static/assets/ModalRoot-SR070V6c.js +0 -1
  73. package/dashboard/static/assets/SourceDetailModal-pv0wlFxl.js +0 -1
  74. package/dashboard/static/assets/dashboardStream.shared-worker-1XTMV3nr.js +0 -1
  75. package/dashboard/static/assets/index-BHu4mxd8.css +0 -1
  76. package/dashboard/static/assets/index-CIWsbux3.js +0 -13
  77. package/dashboard/static/assets/outlineNavigation-CJvKqmLV.js +0 -9
  78. package/dashboard/static/assets/useKeymap-ffqsS5G0.js +0 -1
@@ -640,8 +640,9 @@ def _normalize_account_budget_refs(raw_obj: dict, provider: str,
640
640
  try:
641
641
  conn = _cctally_store.stats_open_guarded(
642
642
  db_path,
643
- connect=lambda p: sqlite3.connect(
644
- f"file:{p}?mode=ro", uri=True),
643
+ # #778: forward the opener's `cached_statements=0`.
644
+ connect=lambda p, **kw: sqlite3.connect(
645
+ f"file:{p}?mode=ro", uri=True, **kw),
645
646
  )
646
647
  except _cctally_db.StatsDbMaintenanceError:
647
648
  stats_maintenance_unavailable = True