cc-session-tools 2.7.1__tar.gz → 2.7.2__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.
- {cc_session_tools-2.7.1/src/cc_session_tools.egg-info → cc_session_tools-2.7.2}/PKG-INFO +1 -1
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/pyproject.toml +1 -1
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/ccst.py +4 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/backup.py +7 -4
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/write_log.py +11 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2/src/cc_session_tools.egg-info}/PKG-INFO +1 -1
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_pdata_init_cli.py +44 -1
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/LICENSE +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/README.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/setup.cfg +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/ccd.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/ccmsg.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/ccr.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/ccs.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/ccsched.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/migrate_ccmsg.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/migrate_ccsched.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/migrate_sessions_db.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/migrate_telemetry.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/config/hooks-bundle.json +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/config/session-tag-hook.json +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/hooks_install.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/claude_flags.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/claude_md_install.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/context_overrides.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/db.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/debug.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/doctor.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/doctor_mutes.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/hook_registry.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/install_sync.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/levenshtein.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/addressing.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/cursor.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/lock.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/message.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/move_safety.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/repository.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/retention.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/service.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/store.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/paths.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/classify.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/cutover.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/formatting.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/importers.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/init_paths.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/init_service.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/manifest.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/naming.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/repository.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/service.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/session_output.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/store.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/verify.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/picker.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/proc_lock.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/prompts.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/roots.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/rules.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/bundled_jobs.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/cadence.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/cursor.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/digest.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/due.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/duration.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/jobspec.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/ledger.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/lock.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/notify.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/reconcile.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/registry.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/runner.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/state.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/store.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/surface.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/throttle.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/worker.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/session_gc.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/sessions.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/sessions_db.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/sessions_repair.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/shell_install.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/tasklist.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/telemetry_store.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/analyse-cc-usage/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/context-override/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/delete-sessions/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/delete-sessions/scripts/delete_sessions.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/do-executor-critic-assessor-loop/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/find-claude-code-session/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/generate-8digit-code/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/generate-8digit-code/scripts/generate_8digit_code.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/list-empty-sessions/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/list-empty-sessions/scripts/list_empty_sessions.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/manage-recurring-cc-jobs-using-ccsched/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/move-session/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/move-session/hooks/sessionstart-pending-rename.sh +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/move-session/scripts/cc_session_rules.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/move-session/scripts/move_session.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/pm-pdata-conflict-resolution/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/pm-pdata-schema-design/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/pm-project-init/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/pm-update-central-files/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/CALIBRATION.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/scripts/analyze_context.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/scripts/duplicates.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/scripts/measure.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/scripts/report.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/scripts/tokens.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/reduce-persistent-context/scripts/usage.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/select-agent-model/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/send-session-message/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/update-command-cache/SKILL.md +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/update-command-cache/scripts/update_command_cache.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/SOURCES.txt +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/dependency_links.txt +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/entry_points.txt +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/requires.txt +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/top_level.txt +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/after_response.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/bash_hard_deny.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/bash_security_review.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/cache.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/catchup.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/confirm_8digit.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/context_window_warning.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/last_screenshot.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/marker_allow.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/markers.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/messaging_deliver.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/model_info.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/normalise.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/pending_migration.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/pending_rename.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/session_tag.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/stats.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/telemetry.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/telemetry_query.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/telemetry_trim.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/transcript.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cccs_hooks/worklog_guard.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/__init__.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/attribution.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/cache.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/ccusage_wrapper.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/data/pricing.json +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/parent_inference.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/parser.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/pricing.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/query.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/report.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/schema.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/claude_code_usage/session_names.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_after_response.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_attribution.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_bash_hard_deny.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_bash_security_review.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cache.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cache_sqlite.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccr_orphans.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccs_emptiness.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccs_eta.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccs_list_mode.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccs_scope_flags.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccs_sentinel_sort.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccs_session_counts.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_bundle_discovery.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_ccsched_jobs_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_context_override_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_doctor.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_gc_report.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_hook_dispatcher.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_hooks_install_prune.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_hooks_install_zero_arg.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_hooks_uninstall.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_install_everything.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_main_gate.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_pdata_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_pdata_reconcile_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_pdata_verify_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_repair_sessions_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_sessions_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_shell_install.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_skills_install.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_skills_uninstall.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_telemetry_query.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccst_telemetry_trim.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_ccusage_wrapper.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_claude_flags.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_claude_md_install.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cli.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cli_ccd.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cli_ccd_dry_run.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cli_ccr.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cli_ccs.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_cli_version.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_confirm_8digit.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_context_overrides.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_context_window_warning.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_db.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_debug.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_doctor_mutes.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_empty_session.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_hook_cache.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_hooks_install.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_install_sync.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_last_screenshot.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_levenshtein.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_marker_allow.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_migrate_ccmsg.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_migrate_ccsched.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_migrate_sessions_db.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_migrate_telemetry.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_model_info.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_normalise.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_parent_inference.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_parser.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_paths.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_pending_migration_hook.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_picker.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_pricing.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_proc_lock.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_prompts.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_query.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_report.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_roots.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_rules.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_scheduler_bundled_jobs.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_schema.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_session_names.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_session_tag.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_sessions.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_sessions_db.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_sessions_repair.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_tasklist.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_telemetry.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_telemetry_store.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_transcript.py +0 -0
- {cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/tests/test_worklog_guard.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cc-session-tools"
|
|
7
|
-
version = "2.7.
|
|
7
|
+
version = "2.7.2"
|
|
8
8
|
description = "Claude Code session management CLI tools (ccd, ccr, ccs, claude-code-usage, ccst) and hook library (cccs_hooks)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { file = "LICENSE" }
|
|
@@ -1071,12 +1071,14 @@ def _cmd_pdata_init(args: argparse.Namespace) -> int:
|
|
|
1071
1071
|
)
|
|
1072
1072
|
except (FileNotFoundError, ValueError) as exc:
|
|
1073
1073
|
print(f"ccst pdata: {exc}", file=sys.stderr)
|
|
1074
|
+
print(f"ERROR: {exc}")
|
|
1074
1075
|
return 2
|
|
1075
1076
|
|
|
1076
1077
|
if write_result.failure is not None:
|
|
1077
1078
|
print("ccst pdata init: verification failed, nothing was cut over:", file=sys.stderr)
|
|
1078
1079
|
for reason in write_result.failure.reasons:
|
|
1079
1080
|
print(f" - {reason}", file=sys.stderr)
|
|
1081
|
+
print(f"ERROR: verification failed ({len(write_result.failure.reasons)} reason(s))")
|
|
1080
1082
|
return 1
|
|
1081
1083
|
|
|
1082
1084
|
print(
|
|
@@ -1088,6 +1090,8 @@ def _cmd_pdata_init(args: argparse.Namespace) -> int:
|
|
|
1088
1090
|
print(f" cut over: {path}")
|
|
1089
1091
|
print()
|
|
1090
1092
|
print(write_result.report) # spec §7.1 step 4's diff report, for review
|
|
1093
|
+
print(f"\nVerify: ccst pdata verify --project {args.project} --full")
|
|
1094
|
+
print("SUCCESS")
|
|
1091
1095
|
return 0
|
|
1092
1096
|
|
|
1093
1097
|
|
|
@@ -75,9 +75,12 @@ def create_backup(
|
|
|
75
75
|
philosophy (spec goals).
|
|
76
76
|
|
|
77
77
|
Written to a temp path first and atomically renamed to the final
|
|
78
|
-
`<project>-<
|
|
79
|
-
a failed or interrupted run never leaves a corrupt file at the name a valid
|
|
80
|
-
use.
|
|
78
|
+
`<project>-<YYYYMMDD-HHMMSS>.tar.gz` name only once the archive is fully and successfully
|
|
79
|
+
written — a failed or interrupted run never leaves a corrupt file at the name a valid
|
|
80
|
+
backup would use. The timestamp is second-granularity specifically so it keeps the same
|
|
81
|
+
collision-resistance across reruns within the same minute that the epoch it replaced had
|
|
82
|
+
— a coarser (e.g. minute-only) format would need a separate numeric tie-breaker to match.
|
|
83
|
+
Transient OSErrors (e.g. a flaky network/DrvFS-backed project_root) are retried a
|
|
81
84
|
bounded number of times before raising BackupError. Each failed attempt is reported
|
|
82
85
|
through on_progress (if given) before the retry sleep — otherwise a multi-attempt backup
|
|
83
86
|
that eventually succeeds leaves no trace in --write's progress log of the retries it took,
|
|
@@ -92,7 +95,7 @@ def create_backup(
|
|
|
92
95
|
"""
|
|
93
96
|
target_dir = backup_dir()
|
|
94
97
|
target_dir.mkdir(parents=True, exist_ok=True)
|
|
95
|
-
final_path = target_dir / f"{project}-{
|
|
98
|
+
final_path = target_dir / f"{project}-{time.strftime('%Y%m%d-%H%M%S')}.tar.gz"
|
|
96
99
|
tmp_path = final_path.parent / (final_path.name + ".tmp")
|
|
97
100
|
|
|
98
101
|
last_exc: OSError | sqlite3.Error | None = None
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/write_log.py
RENAMED
|
@@ -90,8 +90,19 @@ class WriteLog:
|
|
|
90
90
|
assert self._real_stderr is not None, "WriteLog.__exit__ called without a completed __enter__"
|
|
91
91
|
|
|
92
92
|
if exc is not None:
|
|
93
|
+
# The exc_type/exc pairing is a stdlib __exit__ contract guarantee (exc_type is
|
|
94
|
+
# only ever None when exc is too), not something this method re-derives — same
|
|
95
|
+
# rationale as the asserts above.
|
|
96
|
+
assert exc_type is not None, "WriteLog.__exit__ called with exc but no exc_type"
|
|
93
97
|
try:
|
|
94
98
|
traceback.print_exception(exc_type, exc, tb, file=self._file)
|
|
99
|
+
# An explicit sentinel line after the traceback, matching the ERROR/SUCCESS
|
|
100
|
+
# contract the CLI's own known exit paths write via print() — this is the one
|
|
101
|
+
# path that never reaches back to those print() calls, since the exception
|
|
102
|
+
# escapes the `with` block entirely. Without it, an absent sentinel would mean
|
|
103
|
+
# two different things (an escaped exception vs. the process being killed
|
|
104
|
+
# before __exit__ ran) instead of just the latter.
|
|
105
|
+
self._file.write(f"ERROR: {exc_type.__name__}: {exc}\n")
|
|
95
106
|
self._file.flush()
|
|
96
107
|
except OSError:
|
|
97
108
|
pass # same best-effort contract as _Tee — never let the log itself crash
|
|
@@ -90,11 +90,17 @@ def test_pdata_init_write_end_to_end_imports_and_cuts_over(base_env, tmp_path):
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
def test_pdata_init_write_without_prior_dry_run_errors(base_env, tmp_path):
|
|
93
|
-
|
|
93
|
+
project_dir = tmp_path / "projects" / "demo"
|
|
94
|
+
project_dir.mkdir(parents=True)
|
|
94
95
|
r = _run(base_env, "pdata", "init", "--project", "demo", "--write")
|
|
95
96
|
assert r.returncode == 2
|
|
96
97
|
assert "proposal" in r.stderr
|
|
97
98
|
|
|
99
|
+
# This is the FileNotFoundError/ValueError branch inside WriteLog's `with` block (project
|
|
100
|
+
# root resolution already succeeded), so it must still end in the ERROR sentinel.
|
|
101
|
+
log_content = (project_dir / "ccst-pdata-init-write.log").read_text()
|
|
102
|
+
assert log_content.rstrip().splitlines()[-1].startswith("ERROR: ")
|
|
103
|
+
|
|
98
104
|
|
|
99
105
|
def test_pdata_init_write_aborts_on_bad_file_path_without_cutover(base_env, tmp_path):
|
|
100
106
|
project_dir = tmp_path / "projects" / "demo"
|
|
@@ -158,6 +164,43 @@ def test_pdata_init_write_log_captures_verification_failure(base_env, tmp_path):
|
|
|
158
164
|
assert "verification failed" in log_content.lower()
|
|
159
165
|
|
|
160
166
|
|
|
167
|
+
def test_pdata_init_write_success_ends_with_success_sentinel_and_verify_command(base_env, tmp_path):
|
|
168
|
+
project_dir = tmp_path / "projects" / "demo"
|
|
169
|
+
project_dir.mkdir(parents=True)
|
|
170
|
+
(project_dir / "ideas.csv").write_text("idea\nfirst\nsecond\n")
|
|
171
|
+
base_env["CCST_PDATA_BACKUP_DIR"] = str(tmp_path / "backups")
|
|
172
|
+
|
|
173
|
+
_run(base_env, "pdata", "init", "--project", "demo")
|
|
174
|
+
r_write = _run(base_env, "pdata", "init", "--project", "demo", "--write")
|
|
175
|
+
|
|
176
|
+
assert r_write.returncode == 0, r_write.stderr
|
|
177
|
+
assert "ccst pdata verify --project demo --full" in r_write.stdout
|
|
178
|
+
assert r_write.stdout.rstrip().splitlines()[-1] == "SUCCESS"
|
|
179
|
+
|
|
180
|
+
log_content = (project_dir / "ccst-pdata-init-write.log").read_text()
|
|
181
|
+
assert log_content.rstrip().splitlines()[-1] == "SUCCESS"
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def test_pdata_init_write_verification_failure_ends_with_error_sentinel(base_env, tmp_path):
|
|
185
|
+
project_dir = tmp_path / "projects" / "demo"
|
|
186
|
+
project_dir.mkdir(parents=True)
|
|
187
|
+
(project_dir / "docs.csv").write_text("doc_path,note\n/etc/passwd,bad\n")
|
|
188
|
+
base_env["CCST_PDATA_BACKUP_DIR"] = str(tmp_path / "backups")
|
|
189
|
+
|
|
190
|
+
_run(base_env, "pdata", "init", "--project", "demo")
|
|
191
|
+
proposal_path = project_dir / ".ccst-pdata-proposal.json"
|
|
192
|
+
data = json.loads(proposal_path.read_text())
|
|
193
|
+
data["entries"][0]["file_path_column"] = "doc_path"
|
|
194
|
+
proposal_path.write_text(json.dumps(data))
|
|
195
|
+
|
|
196
|
+
r_write = _run(base_env, "pdata", "init", "--project", "demo", "--write")
|
|
197
|
+
|
|
198
|
+
assert r_write.returncode == 1
|
|
199
|
+
assert r_write.stdout.rstrip().splitlines()[-1].startswith("ERROR: ")
|
|
200
|
+
log_content = (project_dir / "ccst-pdata-init-write.log").read_text()
|
|
201
|
+
assert log_content.rstrip().splitlines()[-1].startswith("ERROR: ")
|
|
202
|
+
|
|
203
|
+
|
|
161
204
|
def test_pdata_init_rehearse_does_not_touch_real_project(base_env, tmp_path):
|
|
162
205
|
project_dir = tmp_path / "projects" / "demo"
|
|
163
206
|
project_dir.mkdir(parents=True)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/migrate_ccsched.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/migrate_sessions_db.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/cli/migrate_telemetry.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/config/hooks-bundle.json
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/config/session-tag-hook.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/claude_md_install.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/context_overrides.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/__init__.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/addressing.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/cursor.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/lock.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/message.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/move_safety.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/repository.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/retention.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/service.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/messaging/store.py
RENAMED
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/__init__.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/classify.py
RENAMED
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/formatting.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/importers.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/init_paths.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/init_service.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/manifest.py
RENAMED
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/repository.py
RENAMED
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/pdata/session_output.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/__init__.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/bundled_jobs.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/cadence.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/cursor.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/digest.py
RENAMED
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/duration.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/jobspec.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/ledger.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/lock.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/notify.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/reconcile.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/registry.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/runner.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/state.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/store.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/surface.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/throttle.py
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/scheduler/worker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/sessions_repair.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/lib/telemetry_store.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools/skills/move-session/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/requires.txt
RENAMED
|
File without changes
|
{cc_session_tools-2.7.1 → cc_session_tools-2.7.2}/src/cc_session_tools.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|