cc-transcript 14.28.4__tar.gz → 14.29.0__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.
Potentially problematic release.
This version of cc-transcript might be problematic. Click here for more details.
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/PKG-INFO +1 -1
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/_native.pyi +1 -1
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshot_schema/request.schema.json +7 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshot_schema/response.schema.json +7 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshots.py +2 -2
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/pyproject.toml +1 -1
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/grep.rs +7 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/scan.rs +15 -6
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/scan_grep.rs +1 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/scan_regressions.rs +4 -3
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot.rs +756 -91
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_codec.rs +183 -35
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_codex_append.rs +1 -1
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_labels.rs +1 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_owned.rs +104 -12
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_prepared_service.rs +29 -28
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_projection.rs +48 -7
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_regressions.rs +2 -1
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_root_warm.rs +4 -2
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/snapshot_decode.rs +230 -21
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/snapshots.rs +42 -36
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/Cargo.lock +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/Cargo.toml +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/LICENSE +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/README.md +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/__init__.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/__init__.pyi +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/activity.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/activity_probe.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/builders.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/codex.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/command.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/context.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/corrections.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/cost.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/decision_store.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/decisions.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/discovery.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/disktruth.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/evidence.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/extract/__init__.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/extract/correct.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/facts.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/filterspec.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/heartbeats.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/ids.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/judge/__init__.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/judge/llm.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/judge/similar.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/judge/verdicts.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/ledger.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/literals.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/__init__.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/candidates.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/confidence.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/engine.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/formats.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/sampling.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/signals.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/sourcekind.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/spec.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/mining/store.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/models.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/nlp.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/notifications.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/parser.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/py.typed +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/query.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/render.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/__init__.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/buckets.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/data/afinn-en-165.tsv +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/data/domain_overrides.tsv +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/data/en-ewt.udpipe +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/engine.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/lexicon.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/sentiment/scorespec.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshot_schema/config.schema.json +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshot_schema/context.schema.json +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshot_schema/tool_registry.schema.json +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/synthetic.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/tools.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/watch.py +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/Cargo.toml +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/blame.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/corpus.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/corrections.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/digest.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/facts.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/list.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/mod.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/scratchpad.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/show.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/slice.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/stats.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/commands/watch.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/lib.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/main.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/output.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/target.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/cli/src/timearg.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/Cargo.toml +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/benches/parse.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/benches/render.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/benches/toolcall.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/activity.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/actor.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/blame.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/buckets.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/codex/discovery.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/codex/lower.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/codex/mod.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/codex/parse.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/codex/probe.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/codex/protocol.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/codex/types.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/command.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/context.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/corrections.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/cost.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/discovery.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/facts.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/feedback.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/filter.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/gateway.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/ids.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/judge.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/lib.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/literals/command.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/literals/corrections.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/literals/feedback.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/literals/mining.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/literals/mod.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/literals/protocol.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/notifications.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/parse.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/protocol.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/pystr.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/query.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/render.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/rng.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/schema.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_activity.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_memory.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_prepared.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_prepared_disk.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/snapshot_text.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/sqlite.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/toolcall.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/types.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/value.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/core/src/watch.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/Cargo.toml +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/build.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/data/command_prefix_pins.tsv +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/actor_bridge.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/bin/stub_gen.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/codex.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/command.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/context.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/corrections.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/discovery.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/feedback.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/judge.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/lexicon.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/lib.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/mining.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/nlp.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/python.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/render.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/score.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/sqlite.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/toolcall.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/attachment.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/blocks.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/command.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/convert.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/dunder.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/events.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/meta.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/mod.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/print.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/store.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/system.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/toolcall.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/toolresult.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/views/transcript.rs +0 -0
- {cc_transcript-14.28.4 → cc_transcript-14.29.0}/rust/crates/py/src/watch.rs +0 -0
|
@@ -1137,7 +1137,7 @@ class NativeSnapshotScope:
|
|
|
1137
1137
|
def prose_page(self, start: builtins.int) -> builtins.str: ...
|
|
1138
1138
|
def event(self, index: builtins.int) -> typing.Any: ...
|
|
1139
1139
|
def classifier_facts(self, prefix: builtins.str, event_limit: builtins.int = 50) -> builtins.str: ...
|
|
1140
|
-
def activity(self, classifier_json: builtins.str,
|
|
1140
|
+
def activity(self, classifier_json: builtins.str, anchors_json: typing.Optional[builtins.str] = None, lookback: builtins.int = 40, lookahead: builtins.int = 120) -> dict: ...
|
|
1141
1141
|
def mine(self, spec_json: builtins.str, callable_formats: typing.Sequence[tuple[builtins.str, typing.Any, typing.Any, builtins.bool]]) -> builtins.list[dict]: ...
|
|
1142
1142
|
def capture(self, anchors_json: builtins.str, before: builtins.int = 6, after: builtins.int = 2, preview_chars: builtins.int = 200) -> builtins.str: ...
|
|
1143
1143
|
def hydrate(self, windows_json: builtins.str, render_json: builtins.str) -> builtins.str: ...
|
{cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshot_schema/request.schema.json
RENAMED
|
@@ -707,6 +707,12 @@
|
|
|
707
707
|
"title": "Max Read Bytes",
|
|
708
708
|
"type": "integer"
|
|
709
709
|
},
|
|
710
|
+
"max_source_read_bytes": {
|
|
711
|
+
"exclusiveMinimum": 0,
|
|
712
|
+
"maximum": 536870912,
|
|
713
|
+
"title": "Max Source Read Bytes",
|
|
714
|
+
"type": "integer"
|
|
715
|
+
},
|
|
710
716
|
"max_sources": {
|
|
711
717
|
"exclusiveMinimum": 0,
|
|
712
718
|
"maximum": 65536,
|
|
@@ -716,6 +722,7 @@
|
|
|
716
722
|
},
|
|
717
723
|
"required": [
|
|
718
724
|
"max_read_bytes",
|
|
725
|
+
"max_source_read_bytes",
|
|
719
726
|
"max_events",
|
|
720
727
|
"max_items",
|
|
721
728
|
"max_output_bytes",
|
{cc_transcript-14.28.4 → cc_transcript-14.29.0}/cc_transcript/snapshot_schema/response.schema.json
RENAMED
|
@@ -1013,6 +1013,12 @@
|
|
|
1013
1013
|
"title": "Max Read Bytes",
|
|
1014
1014
|
"type": "integer"
|
|
1015
1015
|
},
|
|
1016
|
+
"max_source_read_bytes": {
|
|
1017
|
+
"maximum": 9007199254740991,
|
|
1018
|
+
"minimum": 0,
|
|
1019
|
+
"title": "Max Source Read Bytes",
|
|
1020
|
+
"type": "integer"
|
|
1021
|
+
},
|
|
1016
1022
|
"max_sources": {
|
|
1017
1023
|
"maximum": 9007199254740991,
|
|
1018
1024
|
"minimum": 0,
|
|
@@ -1022,6 +1028,7 @@
|
|
|
1022
1028
|
},
|
|
1023
1029
|
"required": [
|
|
1024
1030
|
"max_read_bytes",
|
|
1031
|
+
"max_source_read_bytes",
|
|
1025
1032
|
"max_events",
|
|
1026
1033
|
"max_items",
|
|
1027
1034
|
"max_output_bytes",
|
|
@@ -229,14 +229,14 @@ class TranscriptSnapshot:
|
|
|
229
229
|
self,
|
|
230
230
|
classifier: Mapping[str, str],
|
|
231
231
|
*,
|
|
232
|
-
|
|
232
|
+
anchors: Sequence[EventRef] = (),
|
|
233
233
|
lookback_turns: int = 40,
|
|
234
234
|
lookahead_turns: int = 120,
|
|
235
235
|
) -> SessionActivity:
|
|
236
236
|
payload = _call(
|
|
237
237
|
self._native.activity,
|
|
238
238
|
_json(classifier),
|
|
239
|
-
|
|
239
|
+
_json([asdict(anchor) for anchor in anchors]) if anchors else None,
|
|
240
240
|
lookback_turns,
|
|
241
241
|
lookahead_turns,
|
|
242
242
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "cc-transcript"
|
|
3
|
-
version = "14.
|
|
3
|
+
version = "14.29.0" # 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"
|
|
@@ -22,6 +22,8 @@ const DEFAULT_MAX_MATCHES: usize = 20;
|
|
|
22
22
|
pub struct ScanOptions {
|
|
23
23
|
#[arg(long, help = "Maximum cumulative source and logical projection bytes.")]
|
|
24
24
|
pub max_read_bytes: Option<usize>,
|
|
25
|
+
#[arg(long, help = "Maximum cumulative source bytes read.")]
|
|
26
|
+
pub max_source_read_bytes: Option<usize>,
|
|
25
27
|
#[arg(
|
|
26
28
|
long,
|
|
27
29
|
help = "Maximum cumulative preparation and event traversal work."
|
|
@@ -41,6 +43,10 @@ impl ScanOptions {
|
|
|
41
43
|
fn apply(&self, mut limits: WorkLimits) -> Result<WorkLimits, CliExit> {
|
|
42
44
|
if let Some(n) = self.max_read_bytes {
|
|
43
45
|
limits.max_read_bytes = n;
|
|
46
|
+
limits.max_source_read_bytes = n;
|
|
47
|
+
}
|
|
48
|
+
if let Some(n) = self.max_source_read_bytes {
|
|
49
|
+
limits.max_source_read_bytes = n;
|
|
44
50
|
}
|
|
45
51
|
if let Some(n) = self.max_events {
|
|
46
52
|
limits.max_events = n;
|
|
@@ -60,6 +66,7 @@ impl ScanOptions {
|
|
|
60
66
|
}
|
|
61
67
|
if [
|
|
62
68
|
limits.max_read_bytes,
|
|
69
|
+
limits.max_source_read_bytes,
|
|
63
70
|
limits.max_events,
|
|
64
71
|
limits.max_output_bytes,
|
|
65
72
|
limits.max_discovery_entries,
|
|
@@ -89,12 +89,18 @@ impl<'store> ScanBudget<'store> {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
pub fn remaining(&self) -> WorkLimits {
|
|
92
|
+
let read = self
|
|
93
|
+
.limits
|
|
94
|
+
.max_read_bytes
|
|
95
|
+
.saturating_sub(self.progress.source_bytes)
|
|
96
|
+
.saturating_sub(self.progress.projection_bytes);
|
|
92
97
|
WorkLimits {
|
|
93
|
-
max_read_bytes:
|
|
98
|
+
max_read_bytes: read,
|
|
99
|
+
max_source_read_bytes: self
|
|
94
100
|
.limits
|
|
95
|
-
.
|
|
101
|
+
.max_source_read_bytes
|
|
96
102
|
.saturating_sub(self.progress.source_bytes)
|
|
97
|
-
.
|
|
103
|
+
.min(read),
|
|
98
104
|
max_events: self
|
|
99
105
|
.limits
|
|
100
106
|
.max_events
|
|
@@ -180,6 +186,9 @@ impl<'store> ScanBudget<'store> {
|
|
|
180
186
|
.progress
|
|
181
187
|
.discovery_entries
|
|
182
188
|
.saturating_add(count(usage, "discovery_entries_examined")?);
|
|
189
|
+
if self.progress.source_bytes > self.limits.max_source_read_bytes {
|
|
190
|
+
return Err(crate::snapshot::source_read_limit());
|
|
191
|
+
}
|
|
183
192
|
if self
|
|
184
193
|
.progress
|
|
185
194
|
.source_bytes
|
|
@@ -279,7 +288,7 @@ impl<'a> ScanSession<'a> {
|
|
|
279
288
|
|
|
280
289
|
fn bounded_request(&self, operation: &str) -> Value {
|
|
281
290
|
let limits = self.budget.remaining();
|
|
282
|
-
json!({"operation":operation,"deadline_unix_ms":limits.deadline_unix_ms,"limits":
|
|
291
|
+
json!({"operation":operation,"deadline_unix_ms":limits.deadline_unix_ms,"limits":limits.to_json()})
|
|
283
292
|
}
|
|
284
293
|
|
|
285
294
|
fn targets(&mut self, plan: &ScanPlan) -> Result<(Vec<PathBuf>, usize), SnapshotError> {
|
|
@@ -555,7 +564,7 @@ where
|
|
|
555
564
|
}
|
|
556
565
|
let file = std::fs::File::open(path).map_err(|e| incomplete(e.to_string()))?;
|
|
557
566
|
let before = file.metadata().map_err(|e| incomplete(e.to_string()))?;
|
|
558
|
-
let read_limit = budget.remaining().
|
|
567
|
+
let read_limit = budget.remaining().max_source_read_bytes;
|
|
559
568
|
let source_start = budget.progress.source_bytes;
|
|
560
569
|
let read_count = std::rc::Rc::new(std::cell::Cell::new(0));
|
|
561
570
|
let counted = CountedRead {
|
|
@@ -576,7 +585,7 @@ where
|
|
|
576
585
|
reader
|
|
577
586
|
.get_mut()
|
|
578
587
|
.inner
|
|
579
|
-
.set_limit(budget.remaining().
|
|
588
|
+
.set_limit(budget.remaining().max_source_read_bytes as u64);
|
|
580
589
|
}
|
|
581
590
|
let part = reader.fill_buf().map_err(|e| incomplete(e.to_string()))?;
|
|
582
591
|
budget.progress.source_bytes = source_start.saturating_add(read_count.get());
|
|
@@ -39,6 +39,7 @@ impl Drop for Fixture {
|
|
|
39
39
|
fn limits() -> WorkLimits {
|
|
40
40
|
WorkLimits {
|
|
41
41
|
max_read_bytes: 1024 * 1024,
|
|
42
|
+
max_source_read_bytes: 1024 * 1024,
|
|
42
43
|
max_events: 1000,
|
|
43
44
|
max_items: 1000,
|
|
44
45
|
max_output_bytes: 1024 * 1024,
|
|
@@ -174,7 +175,7 @@ fn long_corpus_line_is_incomplete_without_visiting_it() {
|
|
|
174
175
|
let path = fixture.0.join("corpus.txt");
|
|
175
176
|
std::fs::write(&path, "abcdefghijk\n").unwrap();
|
|
176
177
|
let mut bound = limits();
|
|
177
|
-
bound.
|
|
178
|
+
bound.max_source_read_bytes = 4;
|
|
178
179
|
let owner = NativeStore::new(&json!({})).unwrap();
|
|
179
180
|
let mut budget = ScanBudget::new(&owner, bound);
|
|
180
181
|
let result = scan_corpus(
|
|
@@ -315,7 +316,7 @@ fn cumulative_read_budget_survives_small_load_pages_and_sources() {
|
|
|
315
316
|
});
|
|
316
317
|
assert!(reference.complete, "{:?}", reference.reason);
|
|
317
318
|
let mut bound = limits();
|
|
318
|
-
bound.
|
|
319
|
+
bound.max_source_read_bytes = reference.progress.source_bytes + 1;
|
|
319
320
|
let store = NativeStore::new(&config).unwrap();
|
|
320
321
|
let mut scan = ScanSession::new(&store, bound, Cancellation::default());
|
|
321
322
|
let mut visits = 0;
|
|
@@ -325,7 +326,7 @@ fn cumulative_read_budget_survives_small_load_pages_and_sources() {
|
|
|
325
326
|
});
|
|
326
327
|
assert!(!result.complete);
|
|
327
328
|
assert_eq!(visits, 1);
|
|
328
|
-
assert!(result.progress.source_bytes <= bound.
|
|
329
|
+
assert!(result.progress.source_bytes <= bound.max_source_read_bytes);
|
|
329
330
|
let context = scan.context.clone();
|
|
330
331
|
drop(scan);
|
|
331
332
|
assert_eq!(gauges(&store, &context)["active_leases"].as_u64(), Some(0));
|