code-context-control 2.92.2__tar.gz → 2.92.4__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.
- {code_context_control-2.92.2/code_context_control.egg-info → code_context_control-2.92.4}/PKG-INFO +1 -1
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/c3.py +1 -1
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/topbar.js +3 -3
- {code_context_control-2.92.2 → code_context_control-2.92.4/code_context_control.egg-info}/PKG-INFO +1 -1
- {code_context_control-2.92.2 → code_context_control-2.92.4}/code_context_control.egg-info/SOURCES.txt +2 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/pyproject.toml +1 -1
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/indexer.py +39 -1
- code_context_control-2.92.4/tests/test_cooccurrence_bounds.py +96 -0
- code_context_control-2.92.4/tests/test_ui_jsx_syntax.py +68 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/LICENSE +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/README.md +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/_hook_utils.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/_shell_writes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/commands/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/commands/common.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/commands/parser.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/docs.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/edits.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/access.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/bitbucket.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/credentials.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/getting-started.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/index.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/masking.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/oracle.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/shared.css +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/tools.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/guide/workflow.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_access_guard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_artifact.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_auto_snapshot.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_c3_signal.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_c3read.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_dispatch.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_edit_ledger.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_edit_unlock.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_filter.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_ghost_files.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_pretool_enforce.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_prompt_recall.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_read.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_session_stats.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hook_terse_advisor.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_server.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/app.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/add_project.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/config_editor.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_artifacts.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_health.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_panel.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_subprojects.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_tasks.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_views.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/global_search.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/hub_ci.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/hub_credentials.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/hub_enforcement.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/hub_locks.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/mcp_manager.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/modals.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/project_card.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/project_tree.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/session_drawer.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/settings_modal.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/sidebar.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/summary_bar.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/task_board.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/toasts.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/state.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/mcp_proxy.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/mcp_server.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/progress.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/server.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/_grants.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/_helpers.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/agent.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/artifacts.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/bitbucket.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/ci.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/compress.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/credentials.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/delegate.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/edit.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/edit_verify.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/edits.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/federate.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/filter.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/impact.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/jira.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/locks.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/memory.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/override.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/project.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/read.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/search.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/session.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/shell.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/status.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/tasks.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/tools/validate.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/api.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/app.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/access.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/bitbucket.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/chat.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/credentials.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/dashboard.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/edits.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/enforcement.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/instructions.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/jira.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/memory.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/sessions.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/settings.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/sidebar.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/tasks.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/icons.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/pm_shared.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/shared.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/theme.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui_legacy.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui_nano.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/code_context_control.egg-info/dependency_links.txt +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/code_context_control.egg-info/entry_points.txt +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/code_context_control.egg-info/requires.txt +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/code_context_control.egg-info/top_level.txt +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/core/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/core/config.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/core/ide.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/core/mcp_toml.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/core/web_security.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/config.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/mcp_oracle.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/oracle_server.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/oracle_ui.html +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/activity_reporter.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/api_auth.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/c3_bridge.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/chat_engine.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/chat_poll.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/chat_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/cross_memory.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/discovery_audit.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/federated_graph.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/health_checker.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/insight_engine.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/local_session.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/memory_reader.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/memory_writer.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/mobile_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/project_scanner.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/review_agent.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/tool_executor.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/services/tool_registry.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/activity.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/agents.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/app.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/busy.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/chat/conversations.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/chat/input.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/chat/markdown.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/chat/send.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/chat/stream_renderer.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/chat/toolbar.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/core.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/crossgraph.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/header.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/insights.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/projects.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/qrcode.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/settings.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/suggestions.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/oracle/ui/theme_tabs.js +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/access_guard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/access_telemetry.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/activity_log.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/agent_base.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/agent_locks.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/agents.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/artifact_defs.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/artifact_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/auto_memory.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/background_service.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/bench/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/bench/external/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/bench/external/aider_polyglot.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/bench/external/swe_bench.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/benchmark_dashboard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/bitbucket_client.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/bitbucket_credentials.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_act.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_cache.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_expr.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_failures.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_github.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_impact.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_intel.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_runner.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ci_workflow.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/circuit_breaker.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/claude_md.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/compressor.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/context_snapshot.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/conversation_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/cred_telemetry.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/credential_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/doc_index.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/e2e_benchmark.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/e2e_evaluator.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/e2e_tasks.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/edit_ledger.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/embedding_index.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/enforcement_policy.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/error_reporting.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/file_memory.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/git_context.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/hub_service.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/jira_client.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/jira_cloud.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/jira_credentials.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/jira_data_center.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/jira_links.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/mask_activation.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/mask_mirror.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/mask_presets.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/memory.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/memory_consolidator.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/memory_distiller.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/memory_graph.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/memory_grounder.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/memory_queue.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/memory_scorer.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/metrics.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/notifications.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ollama_bridge.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ollama_client.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/ollama_credentials.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/oracle_service.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/output_filter.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/override_grants.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/override_policy.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/override_requests.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/override_wake.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/parser.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/project_manager.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/project_runtime.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/protocol.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/proxy_state.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/repo_map.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/repo_shape.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/retention.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/retrieval_broker.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/router.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/runtime.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/scanner.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/session_benchmark.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/session_manager.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/session_preloader.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/subprojects.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/task_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/telemetry.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/text_index.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/time_tracker.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/tool_classifier.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/transcript_index.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/validation_cache.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/vector_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/watcher.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/services/win_subprocess.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/setup.cfg +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_access_builtin_optout.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_access_guard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_access_guard_meta.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_access_guard_shell_project.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_access_guard_surfaces.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_access_guard_wiring.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_activity_reporter.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_agent_locks.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_aider_polyglot.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_antigravity_transition.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_artifact_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_artifact_tool.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_background_service.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_bitbucket_cli_smoke.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_bitbucket_client.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_bitbucket_config_fallback.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_bitbucket_credentials.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_bitbucket_tool.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_c3_bridge_project_artifacts.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_c3_shell.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_chat_poll.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ci_act.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ci_cache.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ci_expr.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ci_impact.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ci_intel.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ci_runner.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ci_workflow.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_circuit_breaker.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_claude_md_merge.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_cli_smoke.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_compressor_large_file.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_cred_telemetry.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_credential_login_kind.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_credential_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_credential_ui_parity.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_credentials_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_credentials_tool.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_creds_cli_smoke.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_delegate_cascade.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_delegate_version_probe.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_e2e_benchmark.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_edit_ledger_deadline.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_edit_ledger_hook.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_edit_locking.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_edit_normalization.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_edit_verify.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_embedding_index_deadlock.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_enforcement_flip.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_enforcement_policy.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_enforcement_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_failed_calls_do_not_unlock.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_federated_graph.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_filter_backoff.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ghost_files.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ghost_generation.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_git_branch_awareness.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_access_guard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_codex_compat.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_dispatch.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_pretool_enforce.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_prompt_recall.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_smoke.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_state.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hook_utf8_stdio.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_credentials_route.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_credentials_routes_write.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_enforcement_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_inspect_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_locks_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_oracle_service_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_server_smoke.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_hub_subproject_links.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ide_workflow_adaptation.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_init_clear_preserves_user_content.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_init_scan.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_install_mcp_entrypoint.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_jira_cli_smoke.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_jira_client.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_jira_config_fallback.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_jira_credentials.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_jira_links.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_jira_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_jira_tool.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_lazy_store_init.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mask_guard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mask_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mask_surfaces.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mcp_host_guard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mcp_memory_timeout.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mcp_server_smoke.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mcp_toml.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_memory_distiller.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_memory_graph_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_memory_queue.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_memory_system.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mobile_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mobile_extras.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mobile_override_routes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_mobile_security_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_no_stale_model_pins.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_notification_dedup.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_notification_discipline.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_ollama_credentials.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_api_auth.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_apikey_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_c3_bridge.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_chat_engine.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_chat_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_discovery_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_discovery_audit.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_health_probe.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_local_auth.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_ollama_bridge.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_scanner_cache.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_security_fixes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_session_bootstrap.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_subproject_awareness.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_oracle_ui_bundle.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_output_filter.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_override_grants.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_override_grants_mcp.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_override_requests.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_override_wake.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_permissions.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_pm_api.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_project_manager.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_project_manager_merge.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_project_tool.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_read_coercion.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_read_edit_parity.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_related_facts.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_repo_map.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_repo_shape.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_response_boilerplate.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_retention.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_review_digest.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_service_durability.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_session_benchmark.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_session_budget.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_shell_creds.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_shell_robustness.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_shell_write_ledger.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_shell_writes.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_subproject_exclusion.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_subproject_federation.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_subprojects.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_swe_bench.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_task_store.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_task_tool.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_time_tracker.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_token_telemetry.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_tool_registry.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_upgrade_and_version.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_validate.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_vault_write_guard.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_version_sync.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_web_security.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tests/test_windows_reliability.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/backend.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/main.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/__init__.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/benchmark_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/claudemd_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/compress_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/index_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/init_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/mcp_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/optimize_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/pipe_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/projects_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/search_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/session_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/stats.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/screens/ui_view.py +0 -0
- {code_context_control-2.92.2 → code_context_control-2.92.4}/tui/theme.tcss +0 -0
{code_context_control-2.92.2/code_context_control.egg-info → code_context_control-2.92.4}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-context-control
|
|
3
|
-
Version: 2.92.
|
|
3
|
+
Version: 2.92.4
|
|
4
4
|
Summary: Local MCP code-intelligence for AI coding tools: surgical search/read/edit, agent-config version history, path-level access + masking guards, and a multi-project hub.
|
|
5
5
|
Author-email: Dimitri Tselenchuk <dtselenc@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -67,10 +67,10 @@ function TopBar({ version, activeCount, darkMode, hubConfig, mainView, setMainVi
|
|
|
67
67
|
<a href="https://github.com/sponsors/drknowhow" target="_blank" rel="noopener" title="Sponsor C3 development" style={ctrl}>
|
|
68
68
|
<I name="heart" size={13} color="#EA4AAA" />
|
|
69
69
|
</a>
|
|
70
|
+
{/* Goes through the hub, not straight at oracle_url: the hub redeems
|
|
71
|
+
the Oracle's owner-only bootstrap key so the tab lands signed in.
|
|
72
|
+
A raw link opens a read-only dashboard where every write 401s. */}
|
|
70
73
|
{hubConfig && hubConfig.oracle_url && (
|
|
71
|
-
{/* Goes through the hub, not straight at oracle_url: the hub redeems
|
|
72
|
-
the Oracle's owner-only bootstrap key so the tab lands signed in.
|
|
73
|
-
A raw link opens a read-only dashboard where every write 401s. */}
|
|
74
74
|
<a href="/api/oracle/open" target="_blank" rel="noopener" title="Open Oracle (signed in)" style={ctrl}>
|
|
75
75
|
<I name="external" size={13} color={T.textMuted} />
|
|
76
76
|
</a>
|
{code_context_control-2.92.2 → code_context_control-2.92.4/code_context_control.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-context-control
|
|
3
|
-
Version: 2.92.
|
|
3
|
+
Version: 2.92.4
|
|
4
4
|
Summary: Local MCP code-intelligence for AI coding tools: surgical search/read/edit, agent-config version history, path-level access + masking guards, and a multi-project hub.
|
|
5
5
|
Author-email: Dimitri Tselenchuk <dtselenc@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -303,6 +303,7 @@ tests/test_circuit_breaker.py
|
|
|
303
303
|
tests/test_claude_md_merge.py
|
|
304
304
|
tests/test_cli_smoke.py
|
|
305
305
|
tests/test_compressor_large_file.py
|
|
306
|
+
tests/test_cooccurrence_bounds.py
|
|
306
307
|
tests/test_cred_telemetry.py
|
|
307
308
|
tests/test_credential_login_kind.py
|
|
308
309
|
tests/test_credential_store.py
|
|
@@ -424,6 +425,7 @@ tests/test_task_tool.py
|
|
|
424
425
|
tests/test_time_tracker.py
|
|
425
426
|
tests/test_token_telemetry.py
|
|
426
427
|
tests/test_tool_registry.py
|
|
428
|
+
tests/test_ui_jsx_syntax.py
|
|
427
429
|
tests/test_upgrade_and_version.py
|
|
428
430
|
tests/test_validate.py
|
|
429
431
|
tests/test_vault_write_guard.py
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "code-context-control"
|
|
7
|
-
version = "2.92.
|
|
7
|
+
version = "2.92.4"
|
|
8
8
|
description = "Local MCP code-intelligence for AI coding tools: surgical search/read/edit, agent-config version history, path-level access + masking guards, and a multi-project hub."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -37,6 +37,20 @@ def _masked_content(fpath, project_path):
|
|
|
37
37
|
return None
|
|
38
38
|
|
|
39
39
|
|
|
40
|
+
# Co-occurrence is O(unique_tokens^2) per chunk, so one minified vendor
|
|
41
|
+
# bundle can dominate a whole index build. Both bounds below are deliberate
|
|
42
|
+
# and their effect is REPORTED in build_index()'s stats rather than applied
|
|
43
|
+
# silently — a capped build must never look like a complete one.
|
|
44
|
+
#
|
|
45
|
+
# 200: chunks above this are minified/bundled/data blobs, not code. The
|
|
46
|
+
# pruning step keeps only the top-5 co-occurring terms per token with at
|
|
47
|
+
# least 3 hits, so such a chunk contributes noise that is discarded anyway.
|
|
48
|
+
_COOC_MAX_CHUNK_TOKENS = 200
|
|
49
|
+
# 20M: whole-pass ceiling on pair updates, so no repository shape can make
|
|
50
|
+
# this step unbounded. ~10s of CPU on the boxes this runs on.
|
|
51
|
+
_COOC_MAX_PAIR_UPDATES = 20_000_000
|
|
52
|
+
|
|
53
|
+
|
|
40
54
|
class CodeIndex:
|
|
41
55
|
"""TF-IDF based code search index with structural awareness."""
|
|
42
56
|
|
|
@@ -240,6 +254,7 @@ class CodeIndex:
|
|
|
240
254
|
"entries_scanned": scan_stats["entries"],
|
|
241
255
|
"files_capped": files_capped,
|
|
242
256
|
"max_files": max_files,
|
|
257
|
+
"cooccurrence": getattr(self, "_cooccurrence_stats", {}),
|
|
243
258
|
}
|
|
244
259
|
|
|
245
260
|
def _chunk_file(self, content: str, ext: str, doc_id: str) -> list:
|
|
@@ -625,16 +640,39 @@ class CodeIndex:
|
|
|
625
640
|
self.chunk_tfidf[chunk_id][term] = normalized_tf * self.idf.get(term, 0)
|
|
626
641
|
|
|
627
642
|
def _build_cooccurrence(self):
|
|
628
|
-
"""Build lightweight co-occurrence map from indexed chunks for auto-synonyms.
|
|
643
|
+
"""Build lightweight co-occurrence map from indexed chunks for auto-synonyms.
|
|
644
|
+
|
|
645
|
+
Bounded on purpose: the pair loop is quadratic in a chunk's unique
|
|
646
|
+
token count, so a single minified bundle (798 unique tokens x 4091
|
|
647
|
+
chunks = 1.9e9 pair updates, measured on a real project) can hang a
|
|
648
|
+
build that has nothing else wrong with it. Skipped chunks and an
|
|
649
|
+
exhausted budget are recorded in ``self._cooccurrence_stats`` and
|
|
650
|
+
returned by :meth:`build_index`.
|
|
651
|
+
"""
|
|
629
652
|
self._cooccurrence = {}
|
|
653
|
+
skipped = 0
|
|
654
|
+
updates = 0
|
|
655
|
+
budget_hit = False
|
|
630
656
|
for chunk in self.chunks.values():
|
|
631
657
|
tokens = set(self._tokenize(chunk["content"]))
|
|
658
|
+
if len(tokens) > _COOC_MAX_CHUNK_TOKENS:
|
|
659
|
+
skipped += 1
|
|
660
|
+
continue
|
|
661
|
+
if updates + len(tokens) * (len(tokens) - 1) > _COOC_MAX_PAIR_UPDATES:
|
|
662
|
+
budget_hit = True
|
|
663
|
+
break
|
|
632
664
|
for t in tokens:
|
|
633
665
|
if t not in self._cooccurrence:
|
|
634
666
|
self._cooccurrence[t] = Counter()
|
|
635
667
|
for t2 in tokens:
|
|
636
668
|
if t != t2:
|
|
637
669
|
self._cooccurrence[t][t2] += 1
|
|
670
|
+
updates += len(tokens) * (len(tokens) - 1)
|
|
671
|
+
self._cooccurrence_stats = {
|
|
672
|
+
"chunks_skipped": skipped,
|
|
673
|
+
"pair_updates": updates,
|
|
674
|
+
"budget_exhausted": budget_hit,
|
|
675
|
+
}
|
|
638
676
|
# Prune: keep only top-5 co-occurring terms per token (minimum 3 co-occurrences)
|
|
639
677
|
pruned = {}
|
|
640
678
|
for term, counts in self._cooccurrence.items():
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""The co-occurrence pass is quadratic per chunk and must stay bounded.
|
|
2
|
+
|
|
3
|
+
Measured origin: a 139-file project whose vendor directory holds a minified
|
|
4
|
+
CSS bundle produced 4091 chunks averaging 798 unique tokens. The unbounded
|
|
5
|
+
pass needed ~1.9e9 Counter updates and pinned one core for over fifteen
|
|
6
|
+
minutes on an index that is otherwise built in seconds.
|
|
7
|
+
"""
|
|
8
|
+
import tempfile
|
|
9
|
+
import unittest
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
from services import indexer as indexer_mod
|
|
13
|
+
from services.indexer import CodeIndex
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def _word(i: int) -> str:
|
|
17
|
+
"""Distinct lowercase word - the tokenizer keeps [a-zA-Z]{2,} only."""
|
|
18
|
+
a, b = divmod(i, 26)
|
|
19
|
+
c, a = divmod(a, 26)
|
|
20
|
+
return "zz" + chr(97 + c) + chr(97 + a) + chr(97 + b)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def _minified_like(n_tokens: int) -> str:
|
|
24
|
+
"""A single line of n distinct tokens - what a minified bundle looks like."""
|
|
25
|
+
return ".".join(_word(i) for i in range(n_tokens)) + "\n"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TestCooccurrenceBounds(unittest.TestCase):
|
|
29
|
+
def setUp(self):
|
|
30
|
+
self._tmp = tempfile.TemporaryDirectory()
|
|
31
|
+
self.root = Path(self._tmp.name)
|
|
32
|
+
|
|
33
|
+
def tearDown(self):
|
|
34
|
+
self._tmp.cleanup()
|
|
35
|
+
|
|
36
|
+
def _build(self):
|
|
37
|
+
idx = CodeIndex(str(self.root), str(self.root / ".c3" / "index"))
|
|
38
|
+
return idx, idx.build_index()
|
|
39
|
+
|
|
40
|
+
def test_token_dense_chunks_are_skipped_and_reported(self):
|
|
41
|
+
"""A chunk past the cap contributes nothing - and says so."""
|
|
42
|
+
big = indexer_mod._COOC_MAX_CHUNK_TOKENS + 50
|
|
43
|
+
(self.root / "vendor.js").write_text(_minified_like(big), encoding="utf-8")
|
|
44
|
+
(self.root / "small.py").write_text(
|
|
45
|
+
"def alpha_helper():\n return beta_helper\n", encoding="utf-8")
|
|
46
|
+
|
|
47
|
+
idx, result = self._build()
|
|
48
|
+
stats = result["cooccurrence"]
|
|
49
|
+
|
|
50
|
+
self.assertGreaterEqual(stats["chunks_skipped"], 1)
|
|
51
|
+
self.assertFalse(stats["budget_exhausted"])
|
|
52
|
+
# The skipped chunk's tokens are absent from the synonym map...
|
|
53
|
+
self.assertNotIn(_word(0), idx._cooccurrence)
|
|
54
|
+
# ...while the ordinary file was still processed.
|
|
55
|
+
self.assertLessEqual(
|
|
56
|
+
stats["pair_updates"],
|
|
57
|
+
indexer_mod._COOC_MAX_PAIR_UPDATES,
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
def test_pair_updates_never_exceed_the_budget(self):
|
|
61
|
+
"""Many at-the-cap chunks stop the pass instead of running away."""
|
|
62
|
+
# Each file sits just under the per-chunk cap, so only the whole-pass
|
|
63
|
+
# budget can stop this.
|
|
64
|
+
per_chunk = indexer_mod._COOC_MAX_CHUNK_TOKENS
|
|
65
|
+
pairs_each = per_chunk * (per_chunk - 1)
|
|
66
|
+
n_files = (indexer_mod._COOC_MAX_PAIR_UPDATES // pairs_each) + 3
|
|
67
|
+
for i in range(n_files):
|
|
68
|
+
(self.root / f"f{i}.js").write_text(
|
|
69
|
+
_minified_like(per_chunk), encoding="utf-8")
|
|
70
|
+
|
|
71
|
+
_, result = self._build()
|
|
72
|
+
stats = result["cooccurrence"]
|
|
73
|
+
|
|
74
|
+
self.assertLessEqual(
|
|
75
|
+
stats["pair_updates"], indexer_mod._COOC_MAX_PAIR_UPDATES)
|
|
76
|
+
self.assertTrue(stats["budget_exhausted"])
|
|
77
|
+
|
|
78
|
+
def test_ordinary_project_is_unaffected(self):
|
|
79
|
+
"""The bound must not change the synonym map for normal code."""
|
|
80
|
+
(self.root / "a.py").write_text(
|
|
81
|
+
"def alpha_helper():\n"
|
|
82
|
+
" return beta_helper() + gamma_helper()\n", encoding="utf-8")
|
|
83
|
+
(self.root / "b.py").write_text(
|
|
84
|
+
"def beta_helper():\n"
|
|
85
|
+
" return alpha_helper() + gamma_helper()\n", encoding="utf-8")
|
|
86
|
+
|
|
87
|
+
idx, result = self._build()
|
|
88
|
+
stats = result["cooccurrence"]
|
|
89
|
+
|
|
90
|
+
self.assertEqual(stats["chunks_skipped"], 0)
|
|
91
|
+
self.assertFalse(stats["budget_exhausted"])
|
|
92
|
+
self.assertGreater(stats["pair_updates"], 0)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
if __name__ == "__main__":
|
|
96
|
+
unittest.main()
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"""Guards the UI bundles against a JSX syntax error that only Babel sees.
|
|
2
|
+
|
|
3
|
+
The hub, project and Oracle UIs are transpiled in the browser by
|
|
4
|
+
`babel.min.js`. A syntax error anywhere in the concatenated script kills the
|
|
5
|
+
whole bundle — the page renders black and the only clue is a console message,
|
|
6
|
+
so nothing on the Python side notices. 2.92.0 through 2.92.3 shipped exactly
|
|
7
|
+
that: a `{/* ... */}` comment placed directly inside `cond && ( ... )`.
|
|
8
|
+
|
|
9
|
+
That position is expression context, not JSX children context, so Babel reads
|
|
10
|
+
the `{` as an object literal and fails with `Unexpected token, expected ","`.
|
|
11
|
+
A JSX comment is only legal between JSX tags; in expression position it has to
|
|
12
|
+
be a plain `/* ... */`, or move above the conditional.
|
|
13
|
+
|
|
14
|
+
The existing bundle tests check the SHAPE of the build (files listed, markers
|
|
15
|
+
stamped, order kept) and passed the whole time the broken file was shipping.
|
|
16
|
+
This one checks the property that actually broke.
|
|
17
|
+
"""
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
import re
|
|
21
|
+
import unittest
|
|
22
|
+
from pathlib import Path
|
|
23
|
+
|
|
24
|
+
REPO_ROOT = Path(__file__).resolve().parent.parent
|
|
25
|
+
|
|
26
|
+
# Roots holding browser-transpiled JSX (shared project UI, hub UI, Oracle UI).
|
|
27
|
+
UI_ROOTS = ("cli/ui", "cli/hub_ui", "oracle/ui")
|
|
28
|
+
|
|
29
|
+
# A line that opens an expression paren: the next token must be an expression,
|
|
30
|
+
# and `{/*` there is an object literal, not a comment.
|
|
31
|
+
_OPENS_EXPRESSION = re.compile(r"(?:&&|\|\||\?|:|=>|=|\breturn\b|\(|,)\s*\($")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def _ui_files() -> list[Path]:
|
|
35
|
+
files: list[Path] = []
|
|
36
|
+
for rel in UI_ROOTS:
|
|
37
|
+
root = REPO_ROOT / rel
|
|
38
|
+
if root.is_dir():
|
|
39
|
+
files.extend(sorted(root.rglob("*.js")))
|
|
40
|
+
return files
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class TestJsxCommentPlacement(unittest.TestCase):
|
|
44
|
+
def test_ui_roots_are_not_empty(self):
|
|
45
|
+
# A silent rename would make the scan below pass by finding nothing.
|
|
46
|
+
self.assertGreater(len(_ui_files()), 40, "UI file scan found almost nothing")
|
|
47
|
+
|
|
48
|
+
def test_no_jsx_comment_in_expression_position(self):
|
|
49
|
+
offenders = []
|
|
50
|
+
for path in _ui_files():
|
|
51
|
+
lines = path.read_text(encoding="utf-8").splitlines()
|
|
52
|
+
for i, line in enumerate(lines[:-1]):
|
|
53
|
+
if not _OPENS_EXPRESSION.search(line.rstrip()):
|
|
54
|
+
continue
|
|
55
|
+
if lines[i + 1].lstrip().startswith("{/*"):
|
|
56
|
+
rel = path.relative_to(REPO_ROOT).as_posix()
|
|
57
|
+
offenders.append(f"{rel}:{i + 2}: {lines[i + 1].strip()[:60]}")
|
|
58
|
+
self.assertEqual(
|
|
59
|
+
offenders,
|
|
60
|
+
[],
|
|
61
|
+
"JSX comment in expression position — Babel reads `{` as an object "
|
|
62
|
+
"literal and the whole bundle fails to parse:\n "
|
|
63
|
+
+ "\n ".join(offenders),
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
if __name__ == "__main__":
|
|
68
|
+
unittest.main()
|
|
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
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/add_project.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/config_editor.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_artifacts.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_health.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_panel.js
RENAMED
|
File without changes
|
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_tasks.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/drill_views.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/global_search.js
RENAMED
|
File without changes
|
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/hub_credentials.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/hub_enforcement.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/hub_locks.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/mcp_manager.js
RENAMED
|
File without changes
|
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/project_card.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/project_tree.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/session_drawer.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/settings_modal.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/sidebar.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/summary_bar.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/hub_ui/components/task_board.js
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
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/credentials.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/enforcement.js
RENAMED
|
File without changes
|
{code_context_control-2.92.2 → code_context_control-2.92.4}/cli/ui/components/instructions.js
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
|