cc-transcript 14.45.10__tar.gz → 14.45.11__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 (198) hide show
  1. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/PKG-INFO +1 -1
  2. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/pyproject.toml +1 -1
  3. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot.rs +94 -0
  4. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_prepared_service.rs +12 -6
  5. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/Cargo.lock +0 -0
  6. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/Cargo.toml +0 -0
  7. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/LICENSE +0 -0
  8. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/README.md +0 -0
  9. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/__init__.py +0 -0
  10. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/__init__.pyi +0 -0
  11. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/_native.pyi +0 -0
  12. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/activity.py +0 -0
  13. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/activity_probe.py +0 -0
  14. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/builders.py +0 -0
  15. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/codex.py +0 -0
  16. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/command.py +0 -0
  17. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/context.py +0 -0
  18. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/corrections.py +0 -0
  19. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/cost.py +0 -0
  20. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/decision_store.py +0 -0
  21. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/decisions.py +0 -0
  22. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/discovery.py +0 -0
  23. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/disktruth.py +0 -0
  24. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/evidence.py +0 -0
  25. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/extract/__init__.py +0 -0
  26. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/extract/correct.py +0 -0
  27. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/facts.py +0 -0
  28. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/filterspec.py +0 -0
  29. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/heartbeats.py +0 -0
  30. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/ids.py +0 -0
  31. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/judge/__init__.py +0 -0
  32. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/judge/llm.py +0 -0
  33. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/judge/similar.py +0 -0
  34. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/judge/verdicts.py +0 -0
  35. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/ledger.py +0 -0
  36. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/literals.py +0 -0
  37. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/__init__.py +0 -0
  38. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/candidates.py +0 -0
  39. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/confidence.py +0 -0
  40. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/engine.py +0 -0
  41. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/formats.py +0 -0
  42. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/sampling.py +0 -0
  43. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/signals.py +0 -0
  44. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/sourcekind.py +0 -0
  45. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/spec.py +0 -0
  46. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/mining/store.py +0 -0
  47. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/models.py +0 -0
  48. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/nlp.py +0 -0
  49. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/notifications.py +0 -0
  50. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/parser.py +0 -0
  51. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/py.typed +0 -0
  52. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/query.py +0 -0
  53. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/render.py +0 -0
  54. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/__init__.py +0 -0
  55. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/buckets.py +0 -0
  56. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/data/afinn-en-165.tsv +0 -0
  57. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/data/domain_overrides.tsv +0 -0
  58. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/data/en-ewt.udpipe +0 -0
  59. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/engine.py +0 -0
  60. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/lexicon.py +0 -0
  61. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/sentiment/scorespec.py +0 -0
  62. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/snapshot_schema/config.schema.json +0 -0
  63. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/snapshot_schema/context.schema.json +0 -0
  64. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/snapshot_schema/request.schema.json +0 -0
  65. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/snapshot_schema/response.schema.json +0 -0
  66. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/snapshot_schema/tool_registry.schema.json +0 -0
  67. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/snapshots.py +0 -0
  68. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/synthetic.py +0 -0
  69. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/tools.py +0 -0
  70. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/cc_transcript/watch.py +0 -0
  71. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/Cargo.toml +0 -0
  72. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/blame.rs +0 -0
  73. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/corpus.rs +0 -0
  74. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/corrections.rs +0 -0
  75. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/digest.rs +0 -0
  76. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/facts.rs +0 -0
  77. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/grep.rs +0 -0
  78. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/list.rs +0 -0
  79. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/mod.rs +0 -0
  80. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/scratchpad.rs +0 -0
  81. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/show.rs +0 -0
  82. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/slice.rs +0 -0
  83. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/stats.rs +0 -0
  84. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/commands/watch.rs +0 -0
  85. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/lib.rs +0 -0
  86. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/output.rs +0 -0
  87. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/target.rs +0 -0
  88. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/cli/src/timearg.rs +0 -0
  89. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/Cargo.toml +0 -0
  90. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/benches/parse.rs +0 -0
  91. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/benches/render.rs +0 -0
  92. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/benches/toolcall.rs +0 -0
  93. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/build.rs +0 -0
  94. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/activity.rs +0 -0
  95. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/actor.rs +0 -0
  96. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/blame.rs +0 -0
  97. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/buckets.rs +0 -0
  98. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/codex/discovery.rs +0 -0
  99. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/codex/lower.rs +0 -0
  100. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/codex/mod.rs +0 -0
  101. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/codex/parse.rs +0 -0
  102. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/codex/probe.rs +0 -0
  103. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/codex/protocol.rs +0 -0
  104. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/codex/types.rs +0 -0
  105. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/command.rs +0 -0
  106. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/context.rs +0 -0
  107. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/corrections.rs +0 -0
  108. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/cost.rs +0 -0
  109. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/discovery.rs +0 -0
  110. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/facts.rs +0 -0
  111. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/feedback.rs +0 -0
  112. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/filter.rs +0 -0
  113. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/gateway.rs +0 -0
  114. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/ids.rs +0 -0
  115. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/judge.rs +0 -0
  116. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/lib.rs +0 -0
  117. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/literals/command.rs +0 -0
  118. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/literals/corrections.rs +0 -0
  119. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/literals/feedback.rs +0 -0
  120. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/literals/mining.rs +0 -0
  121. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/literals/mod.rs +0 -0
  122. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/literals/protocol.rs +0 -0
  123. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/notifications.rs +0 -0
  124. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/parse.rs +0 -0
  125. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/protocol.rs +0 -0
  126. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/pystr.rs +0 -0
  127. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/query.rs +0 -0
  128. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/render.rs +0 -0
  129. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/rng.rs +0 -0
  130. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan.rs +0 -0
  131. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_checkpoint.rs +0 -0
  132. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_grep.rs +0 -0
  133. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_grep_stream.rs +0 -0
  134. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_grep_stream_tests.rs +0 -0
  135. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_index.rs +0 -0
  136. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_projection.rs +0 -0
  137. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_regressions.rs +0 -0
  138. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/scan_stream.rs +0 -0
  139. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/schema.rs +0 -0
  140. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_activity.rs +0 -0
  141. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_codec.rs +0 -0
  142. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_codex_append.rs +0 -0
  143. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_labels.rs +0 -0
  144. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_ledger.rs +0 -0
  145. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_ledger_tests.rs +0 -0
  146. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_memory.rs +0 -0
  147. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_owned.rs +0 -0
  148. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_prepared.rs +0 -0
  149. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_prepared_disk.rs +0 -0
  150. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_projection.rs +0 -0
  151. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_regressions.rs +0 -0
  152. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_root_warm.rs +0 -0
  153. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/snapshot_text.rs +0 -0
  154. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/sqlite.rs +0 -0
  155. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/toolcall.rs +0 -0
  156. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/types.rs +0 -0
  157. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/value.rs +0 -0
  158. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/src/watch.rs +0 -0
  159. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/tests/sonic_arena_model.rs +0 -0
  160. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/core/tests/std_allocation_model.rs +0 -0
  161. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/Cargo.toml +0 -0
  162. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/build.rs +0 -0
  163. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/data/command_prefix_pins.tsv +0 -0
  164. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/actor_bridge.rs +0 -0
  165. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/bin/stub_gen.rs +0 -0
  166. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/codex.rs +0 -0
  167. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/command.rs +0 -0
  168. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/context.rs +0 -0
  169. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/corrections.rs +0 -0
  170. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/discovery.rs +0 -0
  171. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/feedback.rs +0 -0
  172. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/judge.rs +0 -0
  173. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/lexicon.rs +0 -0
  174. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/lib.rs +0 -0
  175. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/mining.rs +0 -0
  176. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/nlp.rs +0 -0
  177. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/python.rs +0 -0
  178. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/render.rs +0 -0
  179. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/score.rs +0 -0
  180. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/snapshot_decode.rs +0 -0
  181. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/snapshots.rs +0 -0
  182. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/sqlite.rs +0 -0
  183. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/toolcall.rs +0 -0
  184. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/attachment.rs +0 -0
  185. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/blocks.rs +0 -0
  186. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/command.rs +0 -0
  187. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/convert.rs +0 -0
  188. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/dunder.rs +0 -0
  189. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/events.rs +0 -0
  190. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/meta.rs +0 -0
  191. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/mod.rs +0 -0
  192. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/print.rs +0 -0
  193. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/store.rs +0 -0
  194. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/system.rs +0 -0
  195. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/toolcall.rs +0 -0
  196. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/toolresult.rs +0 -0
  197. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/views/transcript.rs +0 -0
  198. {cc_transcript-14.45.10 → cc_transcript-14.45.11}/rust/crates/py/src/watch.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cc-transcript
3
- Version: 14.45.10
3
+ Version: 14.45.11
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cc-transcript"
3
- version = "14.45.10" # informational — releases stamp the version from the git tag
3
+ version = "14.45.11" # informational — releases stamp the version from the git tag
4
4
  description = "Grep every Claude Code session you've ever run."
5
5
  readme = "README.md"
6
6
  license = "PolyForm-Noncommercial-1.0.0"
@@ -14565,6 +14565,74 @@ mod tests {
14565
14565
  assert!(validate().unwrap_err().status == Status::PermissionDenied);
14566
14566
  }
14567
14567
 
14568
+ #[test]
14569
+ fn source_validation_skips_its_parent_hold_once_cancelled_or_past_its_deadline() {
14570
+ let source = Source::new(&format!("{}\n", user("root")));
14571
+ let sources = canonical_members(&source.directory.join("members"), &["a", "b"], "");
14572
+ let store = store();
14573
+ let owner = context("a");
14574
+ let validate = |cancel: &Cancellation, deadline: u64| {
14575
+ let before = store.source_resolutions.load(Ordering::Relaxed);
14576
+ let validated = store
14577
+ .validate_source_stamps(&sources, &owner, cancel, deadline)
14578
+ .map_err(|error| error.status);
14579
+ (
14580
+ validated,
14581
+ store.source_resolutions.load(Ordering::Relaxed) - before,
14582
+ )
14583
+ };
14584
+ assert_eq!(
14585
+ validate(&Cancellation::default(), now_ms() + 30_000),
14586
+ (Ok(true), 2)
14587
+ );
14588
+ for (cancels, status) in [(true, Status::Cancelled), (false, Status::Deadline)] {
14589
+ let cancel = Cancellation::default();
14590
+ let deadline = now_ms() + 1_000;
14591
+ *store.resolve_hook.lock().unwrap() = Some(Arc::new({
14592
+ let (cancel, last) = (cancel.clone(), sources[1].path.clone());
14593
+ move |path: &Path| {
14594
+ if path != last {
14595
+ return;
14596
+ }
14597
+ if cancels {
14598
+ cancel.cancel();
14599
+ } else {
14600
+ while now_ms() <= deadline {
14601
+ std::thread::sleep(std::time::Duration::from_millis(5));
14602
+ }
14603
+ }
14604
+ }
14605
+ }));
14606
+ assert_eq!(validate(&cancel, deadline), (Err(status), 1));
14607
+ }
14608
+ }
14609
+
14610
+ #[test]
14611
+ fn empty_membership_validation_reports_cancellation_and_an_expired_deadline() {
14612
+ let store = store();
14613
+ let owner = context("a");
14614
+ let cancelled = Cancellation::default();
14615
+ cancelled.cancel();
14616
+ for (cancel, deadline, status) in [
14617
+ (Cancellation::default(), now_ms(), Status::Deadline),
14618
+ (cancelled, now_ms() + 30_000, Status::Cancelled),
14619
+ ] {
14620
+ let before = store.source_resolutions.load(Ordering::Relaxed);
14621
+ assert_eq!(
14622
+ (
14623
+ store
14624
+ .validate_source_stamps(&[], &owner, &cancel, deadline)
14625
+ .map_err(|error| error.status),
14626
+ store
14627
+ .validate_sidechain_dirs(&[], &owner, &cancel, deadline)
14628
+ .map_err(|error| error.status),
14629
+ ),
14630
+ (Err(status), Err(status))
14631
+ );
14632
+ assert_eq!(store.source_resolutions.load(Ordering::Relaxed), before);
14633
+ }
14634
+ }
14635
+
14568
14636
  #[test]
14569
14637
  fn early_positive_query_rejects_a_parent_retargeted_during_its_page() {
14570
14638
  let source = Source::new(&format!("{}\n", user("root")));
@@ -17846,6 +17914,32 @@ mod tests {
17846
17914
  );
17847
17915
  }
17848
17916
 
17917
+ #[test]
17918
+ fn registered_warmer_cancelled_on_its_last_step_fails_its_final_hold() {
17919
+ let (source, store, owner, mut request) = registered_warming(300);
17920
+ registered_pages(&store, &owner, &request);
17921
+ std::fs::OpenOptions::new()
17922
+ .append(true)
17923
+ .open(source.directory.join("thread-0255.jsonl"))
17924
+ .unwrap()
17925
+ .write_all(format!("{}\n", user("appended")).as_bytes())
17926
+ .unwrap();
17927
+ let cancel = Cancellation::default();
17928
+ *store.built_facts_hook.lock().unwrap() = Some(Arc::new({
17929
+ let cancel = cancel.clone();
17930
+ move |_: &Arc<crate::snapshot_prepared::PreparedFacts>| cancel.cancel()
17931
+ }));
17932
+ let builds = store.fact_builds.load(Ordering::Relaxed);
17933
+ request.insert("deadline_unix_ms", json!(now_ms() + 120_000));
17934
+ let cancelled = store.request(&request, &owner, &cancel);
17935
+ assert_eq!(
17936
+ cancelled["status"].as_str(),
17937
+ Some("cancelled"),
17938
+ "{cancelled:?}"
17939
+ );
17940
+ assert_eq!(store.fact_builds.load(Ordering::Relaxed) - builds, 1);
17941
+ }
17942
+
17849
17943
  #[test]
17850
17944
  fn disk_facts_complete_queries_when_memory_fact_budget_is_smaller() {
17851
17945
  let source = Source::new(&format!("{}\n", user("root")));
@@ -904,7 +904,7 @@ impl NativeStore {
904
904
  return Ok(false);
905
905
  }
906
906
  }
907
- dirs.hold()
907
+ dirs.hold(|| cancel.check(deadline))
908
908
  }
909
909
 
910
910
  fn validate_sidechain_dirs(
@@ -935,7 +935,7 @@ impl NativeStore {
935
935
  return Ok(false);
936
936
  }
937
937
  }
938
- dirs.hold()
938
+ dirs.hold(|| cancel.check(deadline))
939
939
  }
940
940
 
941
941
  fn prepare_graph(
@@ -1670,7 +1670,7 @@ impl NativeStore {
1670
1670
  });
1671
1671
  }
1672
1672
  let since = active_since_ns(request)?;
1673
- if !dirs.hold()?
1673
+ if !dirs.hold(|| cancel.check(remaining.deadline_unix_ms))?
1674
1674
  || members
1675
1675
  .iter()
1676
1676
  .filter(|member| active(member, since))
@@ -2146,7 +2146,10 @@ impl NativeStore {
2146
2146
  steps += 1;
2147
2147
  uncached_steps += usize::from(!cached);
2148
2148
  }
2149
- if !dirs.hold()? {
2149
+ if !dirs.hold(|| match cancel.check(remaining.deadline_unix_ms) {
2150
+ Err(error) if error.status == Status::Deadline => Ok(()),
2151
+ checked => checked,
2152
+ })? {
2150
2153
  return Err(SnapshotError::new(
2151
2154
  Status::Changed,
2152
2155
  "registered source changed",
@@ -2253,7 +2256,7 @@ impl NativeStore {
2253
2256
  let page = self
2254
2257
  .prepared_query_steps(&mut cursor, &mut dirs, context, reservation, cancel, usage)
2255
2258
  .and_then(|page| {
2256
- if dirs.hold()? {
2259
+ if dirs.hold(|| cancel.check(cursor.remaining.deadline_unix_ms))? {
2257
2260
  Ok(page)
2258
2261
  } else {
2259
2262
  Err(SnapshotError::new(
@@ -3075,8 +3078,10 @@ impl<'a> ResolvedDirs<'a> {
3075
3078
  Ok(canonical)
3076
3079
  }
3077
3080
 
3078
- fn hold(&self) -> Result<bool, SnapshotError> {
3081
+ fn hold(&self, check: impl Fn() -> Result<(), SnapshotError>) -> Result<bool, SnapshotError> {
3082
+ check()?;
3079
3083
  for (directory, canonical) in &self.dirs {
3084
+ check()?;
3080
3085
  match self.store.canonical_path(directory) {
3081
3086
  Ok(current) if current == *canonical => {}
3082
3087
  Ok(_) => return Ok(false),
@@ -3084,6 +3089,7 @@ impl<'a> ResolvedDirs<'a> {
3084
3089
  Err(error) => return Err(io_error(error)),
3085
3090
  }
3086
3091
  }
3092
+ check()?;
3087
3093
  Ok(true)
3088
3094
  }
3089
3095
  }