haikdc
d7349cce18
[haik]: refactor: rename ws_manager singleton to WS_MANAGER and await_reconnect to await_reconnect across 8 files. Module-level ConnectionManager instance follows P/uppercase constant convention (ws_manager -> WS_MANAGER in ws_manager.py). Cross-module helper _await_reconnect drops leading underscore since browser_agent.py imports it directly. Updated all ~80 call sites in agent_manager.py, agents.py, browser_agent.py, main.py, and ws_manager.py; updated monkeypatch targets in test_browser_agent_loop.py, test_browser_fast_path.py, and test_disconnect_resilience.py. 176 insertions, 176 deletions, no behavioral changes.
2026-06-13 23:51:26 -07:00
haikdc
08eb4b561f
[haik]: refactor: systematize naming conventions across 20+ backend modules. Private module-level vars renamed _foo to P_FOO, private funcs _foo to p_foo, cross-module public funcs drop leading underscores entirely (e.g. _discover_mcp_tools_http -> discover_mcp_tools_http, _load_all -> load_all_tools, _classify_services -> classify_services). Local vars inside functions lose underscores (_backend -> backend_dir, _port -> port). Unnecessary import aliases removed (import json as _json -> import json). Imports reorganized to proper source modules (derive_mcp_config from mcp_config, oauth refresh funcs from oauth_tokens). Added Public comments documenting cross-module API boundaries. Extracted PENDING_OAUTH to oauth_state.py to break circular import. No behavioral changes.
2026-06-13 23:38:39 -07:00
haikdc
67fce8ee89
[haik]: refactor: canonicalize settings imports and public API naming - move all load_settings imports from backend.apps.settings.settings to backend.apps.settings.store (agent_manager, agents, browser_agent, mcp_preflight, anthropic_proxy, auth/router, dashboards, outputs, service, subscription/router, web) so consumers point at the source module instead of the re-export; rename _atomic_write_settings to atomic_write_settings and _has_own_model to has_own_model since both are called across module boundaries; rename _summarize_block to summarize_block and UPLOAD_DIR to P_UPLOAD_DIR in settings.py; clean up unused var names (_base to _, _ext to _, _httpx to httpx); update test_auth_router.py imports and _save_settings references to match
2026-06-13 22:22:31 -07:00
haikdc
87f09e9695
[haik]: refactor naming convention and clean up dead code across backend outputs and service modules. Replace all leading-underscore private names with explicit p_/P_ prefix for module-internal symbols and drop the underscore for cross-module public APIs (load_all, save, load, walk_directory, find_free_port, etc). Rename the runtime module singleton from manager to RUNTIME_MANAGER. Remove unused legacy shims from client.py (submit_event, submit_session_close, record, set_test_sink, set_user_id, update_identity), drop clear() from ring_buffer.py and buffer.py, and remove the VIEW_BUILDER_SKILL backward-compat alias. Switch runtime.py from relative to absolute imports, rename the _d route param to data, and add public-usage comments to clarify cross-module API boundaries
2026-06-13 22:01:17 -07:00
haikdc
f0d3cabc47
[haik]: refactor: standardize backend naming and import structure - strip leading underscores from all internal functions/constants across agents, settings, session, and provider modules in favor of public names or P_ prefix for module-private symbols; replace nine_router/init.py barrel re-exports with direct submodule imports (process, sync, sync_custom, oauth); hoist inline stdlib imports to module level; delete dead openai_passthrough.py GPT-5 proxy and the redundant _save_settings alias
2026-06-13 19:30:34 -07:00
haikdc
211f939560
[haik]: refactor: standardize naming convention across browser agent modules — replace _CONSTANT/_func leading-underscore privates with P_PREFIX for module-level constants and p_func for internal helpers, promote public API functions (safe_resp_text, detect_loop, hash_tool_call, clean_bullet, etc.) by dropping the underscore, switch module-level imports to explicit function-level imports in browser_agent.py and agents.py, and add browser_skills.py to the linter no-underscore-names exception list
2026-06-13 17:30:35 -07:00
haikdc
8c7f9a7016
[haik]: migrate error_classify.py from underscore-prefix to p_/P_ naming convention: rename _is_auth_error, _is_free_trial_exhausted, _is_long_context_error, _is_transient_capacity_error, _is_unknown_model_error to public (drop _), rename _TRANSIENT_CAPACITY_PATTERNS and NON_TRANSIENT_PATTERNS to P upper-snake. Update all call sites in agent_manager.py and test imports in test_v2_invariants.py. Enhance p-private linter: make is_p() case-insensitive so P UPPER_SNAKE constants are enforced, add # p-private-ignore inline suppression (bare and scoped forms), thread source lines through check functions. Enable no-underscore-names rule in config. Update README and config descriptions.
2026-06-13 16:28:03 -07:00
haikdc
8f649eb82c
[haik]: rename _sanitize_server_name to sanitize_mcp_server_name (mcp_config canonical, agent_manager, prompt_context, main, tests, toolLabels comment), add no-underscore-names linter check banning leading-underscore Python names in backend, extract _models.py from classes.py for shared pydantic BaseModel field detection used by both classes and vulture checks, add vulture-ignore inline comment suppression and automatic pydantic field-name whitelisting to vulture.py, remove leaked payload arg from client.py sync, update README with new check docs and inline-ignore usage
2026-06-13 15:15:44 -07:00
haikdc
d89fb7d870
[haik]: backend cleanup: remove unused imports (anthropic, json, time, sys, HTTPException, ws_manager, etc.), drop unused context params from tool hooks and execute methods, delete dead _resolve_model helper and entire thinking.py module, prune multi-provider subagent model fallback block in agent_manager, fix session_store to import SESSIONS_DIR directly from config.paths, re-home compute_tiers/compute_billing_kind imports from registry to pricing in agents.py, add google-workspace-mcp==2.0.1 to requirements-dev
2026-06-13 11:45:55 -07:00
ciregenz
a1f390ef0f
[eric] browser: claim only the user-picked card, not every dashboard card (fix 5cf6e2a)
2026-06-12 20:06:56 -07:00
ciregenz
5cf6e2a4b1
[eric] browser: honor the user's selected browser card instead of spawning a new one (selection now reaches sub-agent dispatch + is claimed for the task)
2026-06-12 17:31:46 -07:00
ciregenz
0a81bfa17a
Merge PR #70 [Aidan] appbuilder: inject selected-app context into dashboard agent chat
2026-06-11 02:51:05 -07:00
ciregenz
ddd0641cac
[eric] merge free-trial + value-first onboarding (flag off, reorder gated so no-trial = today's flow)
...
# Conflicts:
# frontend/src/app/pages/AgentChat/bubbles/MessageBubble.tsx
2026-06-10 23:20:18 -07:00
ciregenz
6b5f10e287
[eric] bash defaults to always-allow like other actions (catastrophic/scheduling/sensitive-path guards still prompt); drop the working status dot
2026-06-10 23:13:02 -07:00
Aidan and GitHub
e8e19661e6
Inject selected-app context into dashboard agent chat ( #69 )
...
When a user selects an App card on the dashboard via the "Select UI element" picker, thread the selected Output ids to the backend (mirroring the selected_browser_ids path) and inject a per-app context block into the system prompt: each app's absolute workspace path, entry point, meta.json, and a pointer to its SKILL.md. This lets the agent edit existing apps in place from the main view (the dashboard card's Vite runtime live-reloads on save) without switching to the Apps tab.
2026-06-10 21:29:02 -07:00
ciregenz
100d6491f7
[eric] models: track model errors (diagnostic) + friendly 'not on your plan' card for the 1211 unknown-model wall
2026-06-10 19:10:57 -07:00
ciregenz
a126c42a07
[eric] free-trial: hand the wheel back when a real model is connected mid-trial (key or 9router sub)
2026-06-10 16:32:25 -07:00
ciregenz
fb178648df
[eric] free-trial: backend dispatch injection, hardware fingerprint, mint/clear, exhaustion upsell
2026-06-09 23:54:10 -07:00
Aidan and ciregenz
0a704d4690
[aidan] chat: isolate branch history, fresh session on edit/switch ( #62 )
2026-06-09 22:29:31 -07:00
ciregenz
1be1ce581d
[eric] providers: Fable 5 turns thinking off by omitting the param, not thinking:disabled (which 400s)
2026-06-09 14:06:18 -07:00
ciregenz
91073becec
[eric] browser: finish via a Done(message) tool so the user gets a plain conversational reply, not the OUTCOME tag
2026-06-08 22:15:52 -07:00
ciregenz
110dc1c745
[eric] browser: fast-path emits a synthetic BrowserAgent tool-call/result so the 'Browser Agent' bubble always shows, even when the orchestrator is skipped
2026-06-08 13:07:12 -07:00
ciregenz
62758cc517
[eric] browser: fast-path brief ENTRY url flows into dispatch, new cards skip the google detour
2026-06-06 00:17:05 -07:00
ciregenz
92df6ea4f0
[eric] browser: send-probe gate catches focus-type payloads, batched Enter blocked while composer pending
2026-06-05 23:30:23 -07:00
ciregenz
6fd1047543
[eric] browser: mechanical verify-first gate on send-class recovery, probe verdict gates the retry in code
2026-06-05 22:55:05 -07:00
ciregenz
99ba826be2
[eric] backend: INFO logging visible in dev plus ms-level traces across the fast path
2026-06-05 16:12:32 -07:00
ciregenz
2c55d17f50
[eric] browser: dead-dashboard dispatches fail in 1s instead of burning turns, recovery skips systemic causes
2026-06-05 15:56:38 -07:00
ciregenz
6ac76d3dbd
[eric] backend: aux-generated names get squeezed short, refusals fall back instead of becoming titles
2026-06-05 15:49:13 -07:00
ciregenz
84eeb2925e
[eric] browser: three-way fast path, READ answers public pages via local fetch in seconds
2026-06-05 15:17:33 -07:00
ciregenz
fe63ae63d7
[eric] browser: fast path sharpens tasks via aux brief and retries one recovery dispatch
2026-06-05 13:00:49 -07:00
ciregenz
8ee209a83c
[eric] browser: fast path skips orchestrator for browser-only first messages
2026-06-05 12:02:17 -07:00
ciregenz
928df4f324
[eric] websearch: gate built-in tool by model route so subscription Claude stops 401ing
2026-06-03 18:15:30 -07:00
ciregenz
33f6e4598e
[eric] web: subscription-OAuth WebSearch 401s on token rotation, so keep the reliable DuckDuckGo fallback for those users
2026-06-03 15:29:20 -07:00
eric
4b3aa3eb8b
[eric] fix: revert enable_tool_search back to auto (forcing 1 marked tools defer_loading and 400'd the claude sub route on the defer_loading+cache_control combo)
2026-06-01 07:58:09 -07:00
eric
1035c50be3
[eric] perf: force enable_tool_search=1 on non-anthropic paths so schemas load on demand and first message is ~9k tokens cheaper
2026-05-31 18:06:39 -07:00
eric
ecf348f9cb
[eric] fix: autocompact now actually trims the model's history instead of just showing a marker
2026-05-31 18:00:39 -07:00
Eric
3509c08057
[eric] workflows: remove scheduled-tasks end-to-end (frontend pages+slice, backend app+routes, electron poller), keep dock chat; bump 1.1.64
2026-05-26 11:12:29 -07:00
ciregenz
083d70def5
[eric] workflows: merge scheduled-tasks onto dev, re-home dashboard + fix backend imports
2026-05-24 23:41:53 -07:00
ciregenz
4e9f5ceb07
[eric] tree: group agent_manager helpers under agents/manager session and prompt
2026-05-23 13:08:01 -07:00
ciregenz
fa57be6bbb
[eric] tree: group foundational agent modules under agents/core
2026-05-23 13:05:15 -07:00
ciregenz
b9ce323c5f
[eric] deadcode: remove unused _summarize_message_block
2026-05-23 10:26:42 -07:00
ciregenz
8b646b0223
[eric] deadcode: remove unused _approx_tokens
2026-05-23 10:25:47 -07:00
ciregenz
8d76f39c67
[eric] cycles: pull APP_VERSION into its own leaf
2026-05-23 07:06:42 -07:00
ciregenz
65465aceec
[eric] split: extract attachment resolution
2026-05-23 03:18:22 -07:00
ciregenz
e5427ee492
[eric] split: extract prompt/context builders
2026-05-23 03:16:05 -07:00
ciregenz
ef7c523f1a
[eric] split: extract history compaction helpers
2026-05-23 03:11:58 -07:00
ciregenz
f26f4985a9
[eric] split: move aux LLM helpers out of agent_manager
2026-05-23 03:09:35 -07:00
ciregenz
b7ef925b03
[eric] split: extract tool catalog helpers
2026-05-23 03:08:53 -07:00
ciregenz
0e4e6ce371
[eric] split: carve out workspace git helpers
2026-05-23 03:08:09 -07:00
ciregenz
937d1bdf17
[eric] split: extract cloud session-close sync
2026-05-23 03:06:50 -07:00