# proxy | 64f 10382L | javascript:4/python:60
# Keys: M=modules, D=details, i=imports, c=classes, f=functions, m=methods
M[64]:
  frontend/proxym-dashboard.jsx,1
  project/examples/advanced_usage.py,6
  project/examples/quickstart.py,7
  src/proxym/__init__.py,2
  src/proxym/accounts/__init__.py,292
  src/proxym/api/__init__.py,13
  src/proxym/api/_state.py,54
  src/proxym/api/completions.py,232
  src/proxym/api/context_api.py,72
  src/proxym/api/frontend.py,83
  src/proxym/api/system.py,51
  src/proxym/cache/__init__.py,279
  src/proxym/cli/__init__.py,1
  src/proxym/cli/_client.py,29
  src/proxym/cli/accounts.py,62
  src/proxym/cli/browser.py,54
  src/proxym/cli/system.py,58
  src/proxym/cli/vms.py,88
  src/proxym/config.py,64
  src/proxym/context/__init__.py,19
  src/proxym/context/_context.py,26
  src/proxym/context/detector.py,164
  src/proxym/context/session.py,111
  src/proxym/context/tool_selector.py,76
  src/proxym/ctl.py,133
  src/proxym/dashboard/__init__.py,201
  src/proxym/dashboard/api.js,6
  src/proxym/dashboard/hooks/useDashboardData.js,44
  src/proxym/dashboard/panel.jsx,311
  src/proxym/main.py,101
  src/proxym/mcp/__init__.py,19
  src/proxym/mcp/client.py,126
  src/proxym/mcp/registry.py,91
  src/proxym/mcp/router.py,74
  src/proxym/middleware/__init__.py,41
  src/proxym/providers/__init__.py,270
  src/proxym/router/__init__.py,268
  src/proxym/router/strategy.py,199
  src/proxym/virt/__init__.py,32
  src/proxym/virt/_check.py,13
  src/proxym/virt/_config.py,63
  src/proxym/virt/_enums.py,12
  src/proxym/virt/_orchestrator.py,420
  src/proxym/virt/browser_profiles.py,260
  src/proxym/virt/clonebox_adapter.py,165
  src/proxym/virt/profiles/__init__.py,53
  src/proxym/watch/__init__.py,118
  src/proxym/watch/client.py,2
  tests/conftest.py,58
  tests/test_accounts.py,178
  tests/test_analyzer.py,130
  tests/test_browser_profiles.py,185
  tests/test_clonebox_adapter.py,136
  tests/test_context.py,211
  tests/test_dashboard.py,159
  tests/test_dashboard_gui.py,553
  tests/test_dashboard_integration.py,312
  tests/test_dashboard_live.py,63
  tests/test_dashboard_new.py,178
  tests/test_dashboard_performance.py,338
  tests/test_delta_buffer.py,138
  tests/test_e2e.py,308
  tests/test_mcp.py,182
  tests/test_router.py,174
D:
  src/proxym/accounts/__init__.py:
    i: json,time,uuid,structlog,dataclasses.{asdict,dataclass,field},enum.Enum,pathlib.Path,typing.Any
    e: ProviderType,ToolType,AccountCredentials,UsageMetrics,AccountLimits,ToolBinding,Account,AccountManager
    ProviderType: 
    ToolType: 
    AccountCredentials: to_safe_dict(0)  # Credentials for a single provider acc...
    UsageMetrics: record(3)  # Tracked usage for a single account.
    AccountLimits: is_over_budget(1),budget_remaining(1)  # Provider-imposed and user-defined lim...
  src/proxym/api/_state.py:
    i: proxym.cache.DeltaBuffer,proxym.config.get_settings,proxym.context.SessionStore,proxym.mcp.{MCPRegistry,MCPRouter},proxym.router.strategy.{CostLedger,Router}
    e: get_router,get_delta_buffer,get_mcp_router,get_session_store,get_context_payload,set_context_payload
    get_router()->Router
    get_delta_buffer()->DeltaBuffer
    get_mcp_router()->MCPRouter
    get_session_store()->SessionStore
    get_context_payload()->str
    set_context_payload(payload:str)->None
  src/proxym/api/completions.py:
    i: json,time,litellm,structlog,fastapi.{APIRouter,HTTPException,Header,Request},fastapi.responses.{JSONResponse,StreamingResponse}
    e: chat_completions,_TIER_ALIASES,_PASSTHROUGH_PARAMS
    chat_completions(request:Request;x_task_tier:Any=Header(None; alias='X-Task-Tier'))
    _inject_context(messages:list[dict])->None
    _resolve_model_alias(requested_model:Any)->str | None
    _build_litellm_kwargs(body:dict;messages:list[dict];stream:bool;decision:RoutingDecision)->dict
    _execute_with_fallbacks(litellm_kwargs:dict;decision:RoutingDecision;analysis:AnalysisResult;rtr;stream:bool)->StreamingResponse | JSONResponse
    _handle_stream(litellm_kwargs;model_spec;analysis;rtr;t0;decision)->StreamingResponse
    _handle_non_stream(litellm_kwargs;model_spec;analysis;rtr;t0;decision;...+1)->JSONResponse
    _stream_wrapper(response;model_spec;rtr;t0;decision)
  src/proxym/api/context_api.py:
    i: structlog,fastapi.{APIRouter,Request},proxym.api._state.{get_mcp_router,get_session_store,set_context_payload},proxym.context.detect_project
    e: receive_delta,detect_context,list_sessions,list_mcp_servers
    receive_delta(request:Request)
    detect_context(request:Request)
    list_sessions()
    list_mcp_servers()
  src/proxym/api/frontend.py:
    i: os,structlog,fastapi.{APIRouter,Request},fastapi.responses.Response,proxym.config.get_settings
    e: _HERE,_SRC_ROOT,_MIME_JS,_MIME_JS_UTF8,dashboard_ui,dashboard_hook_js,dashboard_api_js,dashboard_jsx
    _serve_file(paths:list[str];media_type:str;charset_header:Any=None)->Response
    dashboard_ui()
    dashboard_hook_js()
    dashboard_api_js()
    dashboard_jsx()
    get_frontend_config(request)
  src/proxym/api/system.py:
    i: structlog,fastapi.APIRouter,fastapi.responses.Response,proxym.api._state.{get_delta_buffer,get_router},proxym.config.get_settings,proxym.providers.MODELS
    e: favicon,health,list_models,budget_status,context_stats
    favicon()
    health()
    list_models()
    budget_status()
    context_stats()
  src/proxym/cache/__init__.py:
    i: hashlib,os,time,structlog,xxhash,dataclasses.{dataclass,field},difflib.unified_diff,pathlib.Path
    e: FileSnapshot,DeltaPayload,DeltaBuffer
    FileSnapshot: from_path(1)  # Immutable snapshot of a single file.
    DeltaPayload: payload(0)  # Computed delta between two context sn...
    DeltaBuffer: __init__(4),scan(0),compute_delta(0),_make_full_payload(4),_classify_changes(2)  # Maintains file snapshots and computes...
  src/proxym/cli/_client.py:
    i: json,httpx,proxym.config.get_settings
    e: make_client,print_json,print_table
    make_client(base:str=None;key:str=None)->httpx.Client
    print_json(data)
    print_table(rows:list[dict];columns:list[str];widths:Any=None)
  src/proxym/cli/accounts.py:
    i: proxym.cli._client.{make_client,print_table}
    e: cmd_accounts_list,cmd_accounts_add,cmd_accounts_costs
    cmd_accounts_list(args)
    cmd_accounts_add(args)
    cmd_accounts_costs(args)
  src/proxym/cli/browser.py:
    i: sys,proxym.cli._client.{make_client,print_table}
    e: cmd_browser_list,cmd_browser_assign,cmd_browser_sync,cmd_browser_snapshot
    cmd_browser_list(args)
    cmd_browser_assign(args)
    cmd_browser_sync(args)
    cmd_browser_snapshot(args)
  src/proxym/cli/system.py:
    i: sys,httpx,proxym.cli._client.{make_client,print_table}
    e: cmd_serve,cmd_status,cmd_models
    cmd_serve(args)
    cmd_status(args)
    cmd_models(args)
  src/proxym/cli/vms.py:
    i: os,subprocess,sys,proxym.cli._client.{make_client,print_table}
    e: cmd_vm_list,cmd_vm_create,cmd_vm_action,cmd_vm_switch,cmd_vm_open,cmd_vm_ssh,cmd_vm_logs
    cmd_vm_list(args)
    cmd_vm_create(args)
    cmd_vm_action(args)
    cmd_vm_switch(args)
    cmd_vm_open(args)
    _find_vm(args)
    cmd_vm_ssh(args)
    cmd_vm_logs(args)
  src/proxym/config.py:
    i: pydantic.Field,pydantic_settings.BaseSettings
    e: Settings,get_settings
    Settings: available_providers(0)  # All settings with sensible defaults.
    get_settings()->Settings
  src/proxym/context/_context.py:
    i: hashlib,dataclasses.{dataclass,field},pathlib.Path
    e: ProjectContext
    ProjectContext: make_project_id(2)  # Detected project context for a request.
  src/proxym/context/detector.py:
    i: re,subprocess,structlog,pathlib.Path,proxym.context._context.ProjectContext
    e: _PATH_RE,_STACK_MARKERS,_FRAMEWORK_MARKERS,detect_project,_PROJECT_NAME_RE
    detect_project(messages:list[dict];headers:Any=None)->ProjectContext
    _from_directory(directory:str)->ProjectContext
    _get_git_remote(root:Path)->str
    _detect_stack(root:Path)->list[str]
    _detect_frameworks(root:Path)->list[str]
    _extract_paths(messages:list[dict])->list[str]
    _find_common_root(paths:list[str])->str
    _extract_system_text(messages:list[dict])->str
  src/proxym/context/session.py:
    i: time,uuid,structlog,dataclasses.{dataclass,field}
    e: AgentSession,SessionStore
    AgentSession: touch(0),add_exchange(2),age_seconds(0),idle_seconds(0)  # Stateful session for an agent working...
    SessionStore: __init__(2),get_or_create(2),get(1),delete(1),list_sessions(0)  # In-memory session store with TTL-base...
  src/proxym/context/tool_selector.py:
    i: proxym.context._context.ProjectContext,proxym.router.AnalysisResult
    e: TOOL_ROUTING_RULES,STACK_TOOLS,_INTENT_KEYWORDS,select_tools
    select_tools(context:ProjectContext;analysis:Any=None;available_servers:Any=None)->list[str]
    _detect_intent(analysis:AnalysisResult)->list[str]
  src/proxym/ctl.py:
    i: argparse,proxym.cli.accounts.{cmd_accounts_add,cmd_accounts_costs,cmd_accounts_list},proxym.cli.system.{cmd_models,cmd_serve,cmd_status},proxym.cli.vms.{cmd_vm_create,cmd_vm_list},proxym.config.get_settings
    e: _VM_LIFECYCLE_ACTIONS,_TOP_DISPATCH,_ACCT_DISPATCH,_VM_DISPATCH,_BR_DISPATCH,main
    _dispatch(args;sub_parsers:dict)
    main()
  src/proxym/dashboard/__init__.py:
    i: fastapi.{APIRouter,HTTPException},proxym.accounts,pydantic.BaseModel
    e: CreateAccountReq,BindToolReq,CreateVMReq,SwitchProjectReq,list_accounts,create_account,get_account,delete_account
    CreateAccountReq: 
    BindToolReq: 
    CreateVMReq: 
    SwitchProjectReq: 
    _accounts()->AccountManager
    _vms()->VMOrchestrator
    list_accounts(provider:Any=None;tag:Any=None)
    create_account(req:CreateAccountReq)
    get_account(account_id:str)
    delete_account(account_id:str)
    bind_tool(account_id:str;req:BindToolReq)
    cost_summary()
  src/proxym/dashboard/api.js:
    get(path)
    post(path;body)
  src/proxym/dashboard/hooks/useDashboardData.js:
    e: useDashboardData
    useDashboardData()
  src/proxym/dashboard/panel.jsx:
    e: VMCard,StatusBadge,DashboardHeader,TabNav,Dashboard,AccountRow,Card,CostSummary
    StatusBadge()
    CostBar()
    Card()
    ModelsTable()
    AccountRow()
    NewAccountForm()
    AccountsPanel()
    VMCard()
  src/proxym/main.py:
    i: argparse,litellm,structlog,uvicorn,contextlib.asynccontextmanager,fastapi.FastAPI,fastapi.middleware.cors.CORSMiddleware,proxym.api.{completions_router,context_router,frontend_router}
    e: lifespan,cli
    lifespan(app:FastAPI)
    cli()
  src/proxym/mcp/client.py:
    i: httpx,structlog,dataclasses.{dataclass,field},proxym.mcp.registry.{MCPServerSpec,MCPTransport}
    e: MCPToolResult,MCPClient
    MCPToolResult:   # Result of an MCP tool invocation.
    MCPClient: __init__(2),invoke_tool(3),_try_invoke(4),_parse_response(4)  # HTTP client for MCP server communicat...
  src/proxym/mcp/registry.py:
    i: structlog,dataclasses.{dataclass,field},enum.Enum
    e: MCPTransport,MCPServerSpec,MCPRegistry
    MCPTransport:   # Transport protocol for MCP communicat...
    MCPServerSpec:   # Specification of a registered MCP ser...
    MCPRegistry: __init__(0),register(1),unregister(1),get(1),list_servers(1)  # Registry of available MCP servers.
  src/proxym/mcp/router.py:
    i: structlog,proxym.context._context.ProjectContext,proxym.context.tool_selector.select_tools,proxym.mcp.registry.{MCPRegistry,MCPServerSpec},proxym.router.AnalysisResult
    e: MCPRouter
    MCPRouter: __init__(1),select_servers(2),get_tools_for_servers(1),resolve_tool_call(1)  # Routes tool requests to appropriate M...
  src/proxym/middleware/__init__.py:
    i: time,structlog,starlette.middleware.base.{BaseHTTPMiddleware,RequestResponseEndpoint},starlette.requests.Request,starlette.responses.Response
    e: AuthMiddleware,CostTrackingMiddleware
    AuthMiddleware: __init__(2),dispatch(2)  # Simple bearer token auth (matches Lit...
    CostTrackingMiddleware: dispatch(2)  # Log request timing and attach cost he...
  src/proxym/providers/__init__.py:
    i: dataclasses.{dataclass,field},enum.Enum
    e: TaskTier,_TIER_RANKS,Capability,ModelSpec,MODELS,models_for_tier,cheapest_model,get_model
    TaskTier: rank(0)  # Complexity tier that determines which...
    Capability: 
    ModelSpec: effective_cost(0)  # Immutable specification for a single...
    _r(spec:ModelSpec)->ModelSpec
    models_for_tier(tier:TaskTier;required_caps:Any=None;available_providers:Any=None)->list[ModelSpec]
    cheapest_model(tier:TaskTier;available_providers:Any=None;required_caps:Any=None)->ModelSpec | None
    get_model(model_id:str)->ModelSpec | None
  src/proxym/router/__init__.py:
    i: re,dataclasses.{dataclass,field},proxym.providers.{Capability,TaskTier}
    e: _COMPLEX_PATTERNS,_STANDARD_PATTERNS,_TRIVIAL_PATTERNS,_THINKING_PATTERNS,_VISION_PATTERNS,AnalysisResult,analyze_request,_PATTERN_GROUPS
    AnalysisResult:   # Result of content analysis.
    analyze_request(messages:list[dict])->AnalysisResult
    _handle_explicit_tier(explicit_tier:str)->AnalysisResult
    _handle_explicit_model(explicit_model:str)->AnalysisResult
    _match_patterns(user_text:str;all_text:str;tier_scores:dict[TaskTier;float];caps:set[Capability];signals:list[str])->None
    _detect_image_blocks(messages:list[dict];caps:set[Capability];signals:list[str])->None
    _length_signals(text_len:int;tier_scores:dict;signals:list)->None
    _file_signals(file_count:int;tier_scores:dict;signals:list)->None
    _context_signals(context_tokens:int;tier_scores:dict;caps:set;signals:list)->None
  src/proxym/router/strategy.py:
    i: time,structlog,dataclasses.{dataclass,field},proxym.providers
    e: RoutingDecision,CostLedger,Router
    RoutingDecision:   # Complete routing decision with audit...
    CostLedger: __init__(2),_rotate_keys(0),can_spend(1),record(1),daily_remaining(0)  # In-memory cost ledger with Redis pers...
    Router: __init__(3),route(2),_try_explicit(3),_filter_by_budget(2),_build_decision(3)  # Stateful router that selects the opti...
    _find_candidates(analysis:AnalysisResult;available_providers:set[str])->list[ModelSpec]
    _resolve_explicit(model_str:str)->ModelSpec | None
    _estimate_cost(model:ModelSpec;estimated_output_tokens:int)->float
  src/proxym/virt/_check.py:
    e: _CLONEBOX_AVAILABLE
    _check_clonebox()->bool
  src/proxym/virt/_config.py:
    i: fnmatch,time,dataclasses.{dataclass,field},proxym.virt._enums.VMState
    e: ProjectsConfig,VMConfig,VMStatus
    ProjectsConfig: filter_projects(1)  # Configuration for shared project moun...
    VMConfig:   # Configuration for a development VM.
    VMStatus:   # Runtime status of a VM.
  src/proxym/virt/_enums.py:
    i: enum.Enum
    e: VMBackend,VMState
    VMBackend: 
    VMState: 
  src/proxym/virt/_orchestrator.py:
    i: json,subprocess,time,structlog,dataclasses.asdict,pathlib.Path,proxym.virt._check._check_clonebox,proxym.virt._config.{VMConfig,VMStatus},typing.Any
    e: VMOrchestrator
    VMOrchestrator: __init__(5),_load_configs(0),_save_config(1),_get_clonebox(0),_resolve_backend(1)  # Manages VMs for isolated dev environm...
  src/proxym/virt/browser_profiles.py:
    i: configparser,json,sqlite3,structlog,dataclasses.{dataclass,field},pathlib.Path,typing.Any
    e: ACCOUNT_DOMAINS,FIREFOX_INCLUDE,FIREFOX_EXCLUDE,CHROME_INCLUDE,CHROME_EXCLUDE,BrowserProfile,AppDataSync,detect_firefox_profiles
    BrowserProfile: to_dict(0)  # Detected browser profile on the host.
    AppDataSync:   # Configuration for syncing browser dat...
    detect_firefox_profiles()->list[BrowserProfile]
    detect_chrome_profiles()->list[BrowserProfile]
    detect_chromium_profiles()->list[BrowserProfile]
    detect_all_profiles()->list[BrowserProfile]
    generate_app_data_sync(profile:BrowserProfile;with_passwords:bool=False)->AppDataSync
    _detect_chromium_family(base_dir:Path;browser:str)->list[BrowserProfile]
    _scan_firefox_cookies(cookies_db:Path)->list[str]
    _scan_chrome_cookies(cookies_file:Path)->list[str]
  src/proxym/virt/clonebox_adapter.py:
    i: shutil,subprocess,structlog,dataclasses.dataclass,pathlib.Path,typing.Any
    e: CloneBoxResult,CloneBoxAdapter
    CloneBoxResult:   # Result of a clonebox CLI invocation.
    CloneBoxAdapter: __init__(1),is_available(0),version(0),create_vm(3),start_vm(1)  # Adapter wrapping the clonebox CLI for...
  src/proxym/virt/profiles/__init__.py:
    i: structlog,pathlib.Path,typing.Any
    e: PROFILES_DIR,get_builtin_profile,list_builtin_profiles,merge_profiles,load_profile_yaml
    get_builtin_profile(tool:str)->Path | None
    list_builtin_profiles()->list[str]
    merge_profiles(base:dict[str;Any];override:dict[str;Any])->dict[str, Any]
    load_profile_yaml(path:Path)->dict[str, Any]
  src/proxym/watch/__init__.py:
    i: asyncio,argparse,sys,time,httpx,structlog,proxym.cache.DeltaBuffer,proxym.config.get_settings,watchfiles.{Change,awatch}
    e: DeltaWatchClient,cli
    DeltaWatchClient: __init__(5),push_delta(0),run(0),close(0)  # Watches a directory and pushes contex...
    cli()
  tests/conftest.py:
    i: pytest,proxym.config.Settings,proxym.providers.MODELS,proxym.router.strategy.{CostLedger,Router}
    e: settings,all_providers,router,cheap_router,tmp_project
    settings()
    all_providers()
    router(all_providers)
    cheap_router()
    tmp_project(tmp_path)
  tests/test_accounts.py:
    i: json,pytest,proxym.accounts
    e: acct_mgr,sample_account,TestAccountCRUD,TestUsageTracking,TestBudgetEnforcement,TestSerialization
    TestAccountCRUD: test_add_and_get(2),test_list_accounts(2),test_filter_by_provider(2),test_filter_by_tag(2),test_remove_account(2)
    TestUsageTracking: test_record_usage(2),test_daily_accumulation(2),test_cost_summary(2)
    TestBudgetEnforcement: test_under_budget(1),test_over_daily_budget(1),test_over_monthly_budget(1),test_budget_remaining(1),test_find_cheapest_active(1)
    TestSerialization: test_save_and_reload(2),test_credentials_masked_in_summary(1),test_status_summary_structure(1)
    acct_mgr(tmp_path)
    sample_account()
  tests/test_analyzer.py:
    i: pytest,proxym.providers.{Capability,TaskTier},proxym.router.analyze_request
    e: TestTierClassification,TestCapabilityDetection,TestExplicitOverrides
    TestTierClassification: _msgs(1),test_simple_question_is_trivial_or_operational(0),test_show_command_is_trivial(0),test_rename_is_trivial(0),test_fix_typo_is_trivial(0)  # Verify correct tier assignment for di...
    TestCapabilityDetection: _msgs(1),test_vision_from_keyword(0),test_vision_from_image_block(0),test_code_capability_from_keywords(0),test_tool_use_detection(0)  # Verify capability flags are correctly...
    TestExplicitOverrides: _msgs(1),test_explicit_tier_header(0),test_explicit_tier_invalid_falls_to_standard(0),test_explicit_model_passthrough(0)  # Verify explicit tier and model overri...
  tests/test_browser_profiles.py:
    i: json,sqlite3,pytest,pathlib.Path,proxym.virt.browser_profiles
    e: firefox_home,chrome_home,TestFirefoxDetection,TestChromeDetection,TestDetectAll,TestBrowserProfileSerialization,TestAppDataSync
    TestFirefoxDetection: test_detects_profiles(1),test_profile_has_correct_browser(1),test_detects_sessions(1),test_detects_account_domains(1),test_no_sessions_for_empty_profile(1)
    TestChromeDetection: test_detects_profiles(1),test_profile_has_correct_browser(1),test_detects_sessions_and_accounts(1),test_returns_empty_when_no_chrome(2)
    TestDetectAll: test_combines_firefox_and_chrome(3)
    TestBrowserProfileSerialization: test_to_dict(0)
    TestAppDataSync: test_firefox_sync_without_passwords(0),test_firefox_sync_with_passwords(0),test_chrome_sync_without_passwords(0),test_chrome_sync_with_passwords(0),test_chromium_target_dir(0)
    firefox_home(tmp_path;monkeypatch)
    chrome_home(tmp_path;monkeypatch)
  tests/test_clonebox_adapter.py:
    i: subprocess,pytest,pathlib.Path,proxym.virt.clonebox_adapter.{CloneBoxAdapter,CloneBoxResult},unittest.mock.{MagicMock,patch}
    e: adapter,mock_run,TestAvailability,TestCreateVM,TestLifecycle,TestErrorHandling,TestProfiles
    TestAvailability: test_is_available_when_binary_found(1),test_not_available_when_binary_missing(0),test_version_returns_string(2),test_version_returns_none_on_failure(2)
    TestCreateVM: test_create_vm_basic(2),test_create_vm_with_profile(3),test_create_vm_with_extra_args(2),test_create_vm_failure(2)
    TestLifecycle: test_start_vm(2),test_stop_vm(2),test_snapshot(2),test_restore_snapshot(2),test_health(2)
    TestErrorHandling: test_timeout_returns_failure(1),test_generic_exception_returns_failure(1),test_binary_not_found(0)
    TestProfiles: test_get_profile_path_exists(2),test_get_profile_path_missing(1),test_generate_profile_name(1),test_generate_profile_name_underscores(1)
    adapter(tmp_path)
    mock_run()
  tests/test_context.py:
    i: time,pytest,pathlib.Path,proxym.context._context.ProjectContext,proxym.context.detector.{_detect_stack,_extract_paths,_find_common_root,_from_system_prompt,detect_project},unittest.mock.patch
    e: TestProjectContext,TestDetector,TestExtractPaths,TestFindCommonRoot,TestFromSystemPrompt,TestToolSelector,TestAgentSession,TestSessionStore
    TestProjectContext: test_make_project_id_from_path(0),test_make_project_id_from_remote(0),test_make_project_id_deterministic(0),test_make_project_id_empty(0),test_remote_takes_priority(0)
    TestDetector: test_detect_from_header(1),test_detect_from_header_nonexistent(0),test_detect_from_messages_with_paths(1),test_detect_from_system_prompt(0),test_detect_empty(0)
    TestExtractPaths: test_extracts_linux_paths(0),test_no_paths(0),test_multipart_content(0)
    TestFindCommonRoot: test_single_path(0),test_multiple_paths(0),test_divergent_paths(0),test_empty(0)
    TestFromSystemPrompt: test_detects_project_name(0),test_detects_repo_name(0),test_no_match(0)
  tests/test_dashboard.py:
    i: pytest,fastapi.testclient.TestClient,unittest.mock.patch
    e: AUTH,client,TestAccountEndpoints,TestCostEndpoints,TestVMEndpoints,TestSystemStatus
    TestAccountEndpoints: test_list_empty(1),test_create_account(1),test_create_and_list(1),test_get_single_account(1),test_get_nonexistent_account(1)
    TestCostEndpoints: test_costs_empty(1),test_costs_with_accounts(1),test_detailed_costs(1)
    TestVMEndpoints: test_list_vms_empty(1),test_create_vm(1),test_delete_vm(1)
    TestSystemStatus: test_system_status(1)
    client(tmp_path)
  tests/test_dashboard_gui.py:
    i: pytest,httpx,fastapi.testclient.TestClient,playwright.async_api.async_playwright,unittest.mock.{AsyncMock,patch}
    e: TestDashboardGUI,AUTH,event_loop,browser,page,test_client,server,TestDashboardGUI
    TestDashboardGUI: setup_method(0),test_dashboard_ui_serves_html(0),test_dashboard_jsx_serves_javascript(0),test_dashboard_api_no_auth_required(0),test_dashboard_system_status_structure(0)  # Test suite for dashboard GUI function...
    TestDashboardGUI: test_dashboard_loads(2),test_tab_navigation(2),test_account_creation_form(2),test_connection_status(2),test_responsive_design(2)  # Test dashboard GUI functionality.
    event_loop()
    browser()
    page(browser)
    test_client()
    server(test_client)
    expect(locator)
  tests/test_dashboard_integration.py:
    i: pytest,asyncio,fastapi.testclient.TestClient,playwright.async_api.async_playwright,unittest.mock.patch
    e: AUTH,event_loop,browser,page,test_client,server,TestDashboardIntegration
    TestDashboardIntegration: test_real_api_integration(2),test_error_handling(2),test_authentication_flow(2)  # Integration tests for dashboard with...
    event_loop()
    browser()
    page(browser)
    test_client()
    server(test_client)
  tests/test_dashboard_live.py:
    i: pytest,httpx,time
    e: TestDashboardLive
    TestDashboardLive: setup_method(0),teardown_method(0),test_live_server_health(0),test_dashboard_ui_live(0),test_dashboard_jsx_live(0)  # Live integration tests for dashboard.
  tests/test_dashboard_new.py:
    i: pytest,httpx,fastapi.testclient.TestClient,unittest.mock.{AsyncMock,patch}
    e: TestDashboardGUI
    TestDashboardGUI: setup_method(0),test_dashboard_ui_serves_html(0),test_dashboard_jsx_serves_javascript(0),test_dashboard_api_no_auth_required(0),test_dashboard_system_status_structure(0)  # Test suite for dashboard GUI function...
  tests/test_dashboard_performance.py:
    i: pytest,asyncio,time,fastapi.testclient.TestClient,playwright.async_api.async_playwright,unittest.mock.patch
    e: AUTH,event_loop,browser,page,test_client,server,TestDashboardPerformance
    TestDashboardPerformance: test_page_load_performance(2),test_multiple_tab_switching_performance(2),test_form_submission_performance(2),test_large_content_rendering(2),test_memory_usage_simulation(2)  # Performance tests for dashboard funct...
    event_loop()
    browser()
    page(browser)
    test_client()
    server(test_client)
  tests/test_delta_buffer.py:
    i: pytest,proxym.cache.{DeltaBuffer,DeltaPayload,FileSnapshot}
    e: TestFileSnapshot,TestDeltaBuffer
    TestFileSnapshot: test_from_path(1),test_from_path_missing(1),test_hash_changes_with_content(1),test_hash_stable_for_same_content(1)
    TestDeltaBuffer: test_initial_scan(1),test_no_changes_returns_full(1),test_small_change_returns_diff(1),test_new_file_in_diff(1),test_removed_file_in_diff(1)
  tests/test_e2e.py:
    i: json,pytest,fastapi.testclient.TestClient,unittest.mock.{AsyncMock,MagicMock,patch}
    e: AUTH,client,TestHealthAndInfo,TestAuth,TestContextDelta,TestChatCompletions,TestEndToEndFlow
    TestHealthAndInfo: test_health(1),test_list_models(1),test_budget_status(1),test_context_stats(1)  # Basic endpoints that don't require mo...
    TestAuth: test_no_auth_rejected(1),test_wrong_key_rejected(1),test_correct_key_accepted(1),test_health_no_auth_needed(1)  # Verify authentication middleware.
    TestContextDelta: test_push_delta(1)  # Test the context delta push endpoint.
    TestChatCompletions: _mock_response(2),test_simple_completion(2),test_tier_header_routing(2),test_complex_task_routing(2),test_model_alias_cheap(2)  # Test the main /v1/chat/completions en...
    TestEndToEndFlow: test_full_workflow_push_context_then_query(2),test_multiple_tiers_in_session(2)  # Full workflow tests simulating real u...
    _reset_global_state()
    client()
  tests/test_mcp.py:
    i: pytest,proxym.context._context.ProjectContext,proxym.mcp.client.{MCPClient,MCPToolResult},proxym.mcp.registry.{MCPRegistry,MCPServerSpec,MCPTransport},proxym.mcp.router.MCPRouter
    e: TestMCPServerSpec,TestMCPRegistry,TestMCPRouter,TestMCPClient,TestMCPToolResult
    TestMCPServerSpec: test_defaults(0),test_custom_values(0)
    TestMCPRegistry: test_register_and_get(0),test_get_nonexistent(0),test_unregister(0),test_list_servers_enabled_only(0),test_list_servers_all(0)
    TestMCPRouter: _make_registry(0),test_select_servers_python_project(0),test_select_servers_empty_context(0),test_get_tools_for_servers(0),test_resolve_tool_call(0)
    TestMCPClient: test_parse_response_dict_content(0),test_parse_response_string_content(0),test_parse_response_string_result(0),test_parse_response_empty(0),test_unsupported_transport(0)
    TestMCPToolResult: test_defaults(0)
  tests/test_router.py:
    i: pytest,proxym.providers,proxym.router.{AnalysisResult,analyze_request}
    e: TestModelRegistry,TestModelsForTier,TestCostLedger,TestRouter
    TestModelRegistry: test_has_15_models(0),test_all_models_have_provider(0),test_all_models_have_litellm_string(0),test_opus_is_most_expensive(0),test_local_models_are_free(0)  # Verify the model registry is correctl...
    TestModelsForTier: test_trivial_returns_cheap_models(0),test_deep_reasoning_includes_opus(0),test_trivial_excludes_opus(0),test_filter_by_capability(0),test_filter_by_provider(0)  # Verify tier-based model filtering.
    TestCostLedger: test_initial_can_spend(0),test_daily_limit_enforcement(0),test_monthly_limit_enforcement(0),test_zero_limit_means_unlimited(0),test_remaining_decreases(0)  # Verify budget tracking and enforcement.
    TestRouter: test_trivial_task_picks_cheap_model(1),test_complex_task_picks_capable_model(1),test_deep_reasoning_can_pick_opus(1),test_explicit_model_passthrough(1),test_explicit_model_partial_match(1)  # Verify the router picks the right mod...