Commit Graph
47 Commits
Author SHA1 Message Date
ciregenz c5fd4f6b86 [eric] apps: leading-_ -> p_ for import aliases (import x as _y) across apps modules (file-local bindings, p-private 0) 2026-06-23 21:15:43 -07:00
ciregenz 798448acca [eric] apps: leading-_ -> p_ for function-local vars/args/nested-fns across 53 apps modules (scope-aware AST rename, module symbols untouched, p-private 0) 2026-06-23 21:11:44 -07:00
ciregenz e1bd57a629 [eric] tools_lib: update dashboards load_all ref after promote 2026-06-23 20:47:25 -07:00
ciregenz 71b2b33fae [eric] tools_lib: leading-_ -> p_/public across tools_lib/mcp_config/mcp_discovery/oauth_tokens/tool_taxonomy; promote cross-file public (load_all_tools/sanitize_server_name/discover_mcp_tools_*), fix re-export + attr test refs 2026-06-23 20:30:14 -07:00
ciregenz 05432cd680 [eric] approvals: Always-approve persists per-tool via a shared read/write slot resolver 2026-06-22 04:00:09 -07:00
ciregenz f0cb676afb [eric] permissions: read-only MCP actions auto-allow by default; writes still ask
(cherry picked from commit 03f3ce05be2c555990e7e6486859c48f0cd3c94c)
2026-06-19 00:25:54 -07:00
ciregenz c9caaf8a8c [eric] permissions: default Bash to always_allow (seed + one-time lift) so shell commands stop prompting 2026-06-16 04:00:04 -07:00
ciregenz 249f425a2d [eric] backend: stat-validated caches for settings.json and tools dir, disk parse only on change 2026-06-05 16:45:33 -07:00
ciregenz 3d65cacddf [eric] tools: drop personal gmail from the connected-account comment example 2026-06-01 15:01:13 -07:00
ciregenz 6cf2606666 [eric] merge: fold eric/cleanup abstraction refactor into dev (resolve 9, re-home edits) 2026-05-24 16:24:59 -07:00
ciregenz 6e2d4e94aa [eric] actions: scope MCP service rules per integration; fixes mislabeled @ commands 2026-05-24 02:40:35 -07:00
ciregenz a8843d58c8 [eric] split: extract tools_lib mcp-config/discovery/oauth helpers 2026-05-23 02:47:36 -07:00
ciregenz d8f803b54d [eric] tools: fix Google Workspace pill showing 'Google Workspace account' instead of email 2026-05-22 19:05:14 -07:00
ciregenz 1628e09305 fix: seed builtin_permissions.json on startup so Settings toggles persist
Without this the file was missing on first run, load_builtin_permissions()
returned {}, and the agent fell through to _DEFAULTS={Bash:'ask'} even
though the Settings UI showed green 'always_allow' checkmarks (because the
UI defaulted missing entries to always_allow for DISPLAY but the agent
defaults to ask for SAFETY). The mismatch meant users got prompted on
every ls/cd/pwd despite having flipped Bash to always_allow in the UI.

Lifespan now seeds the file with Bash=ask and everything else=always_allow,
matching agent_manager._DEFAULTS. Idempotent: only writes if a tool is
missing; never clobbers a policy the user already set.
2026-05-20 19:37:42 -07:00
ciregenz 5b0c6e1df3 defluff: strip em-dashes + shorten docstrings across backend (cosmetic only, no logic change) 2026-05-20 05:25:23 -07:00
ciregenz 178a6060eb gmail: route OAuth refresh through cloud rotation-pool proxy
google-workspace-mcp's gauth.py hardcodes token_uri to oauth2.googleapis.com
and uses local CLIENT_ID/SECRET on every refresh. OAuth runs through a
rotation pool on the cloud side, so the refresh_token is bound to the
pool slot that minted it, not the single client baked into the DMG, and
direct refreshes return unauthorized_client. Redirect spawn through a
shim that monkey-patches get_credentials to point token_uri at a local
proxy (/api/tools/google-oauth-token), which forwards the refresh to
api.openswarm.com/api/oauth/google/refresh (pool-aware). Unblocks every
Gmail/Drive/Calendar query for users on the cloud OAuth pool.
2026-05-20 01:58:59 -07:00
ciregenz a1fefa0ae8 [eric] approvals: trust patterns for action approvals + smarter sensitive-file gating 2026-05-20 01:56:38 -07:00
ciregenz b3428a736b [eric] custom OpenAI-compatible provider support, youtube bug fix (windows) 2026-05-07 21:22:40 -07:00
ciregenz 11487456b5 eric] Google OAuth via cloud-proxy + gitleaks CI 2026-05-06 13:28:35 -07:00
ciregenzandClaude Opus 4.7 f0ea0fd1bc [eric] 1.0.27 production push: fixes the weird "exec" icon next to OpenSwarm on fresh Macs, faster startup (~10s less from shipping a real Node binary instead of running Electron as Node), and Google Workspace + other uvx-based MCPs work again on machines without uv installed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 22:37:17 -07:00
ciregenz f8557e378f [eric] 1.0.26: ship Discord shim default + auto-migrate legacy + clean Google
reconnect
2026-04-26 18:12:45 -07:00
ciregenz c501b6340c [eric] OAuth + MCP polish: more reliable connect flow, Discord shim,
connected MCPs sort to top, Haiku-overflow warning, misc fixes, security risks fixes
2026-04-26 15:14:16 -07:00
ciregenz 94ea07dd0c [eric] make Windows install + boot way faster: splash window so it's not frozen on startup, swap MCP node_modules for tiny esbuild bundles
(138MB → 7MB), pre-compile python bytecode, parallelize Widevine, never silently quit
2026-04-25 03:05:08 -07:00
Eric 9ff07443db [eric] windows shipping: electron-builder win+nsis + Azure Trusted Signing hook, build-app-win.ps1 / build-python-env-win.ps1 mirroring mac, release-windows.yml tag-triggered CI, icon.ico + .env.windows.example, .claude/ + .env.* gitignored. Runtime fixes: PYTHONUTF8=1 (cp1252 UnicodeDecode), python.exe / Lib\site-packages paths, PYTHONPATH path.delimiter, taskkill /T /F process tree, OAuth UA platform branch, sign-vmp postinstall via node wrapper. Backend: _resolve_command PATHEXT probing (fixes uvx not found), UV_PYTHON Windows path. Cross-env added to 9router+electron for NODE_ENV prefix on cmd. Onboarding: poll subscriptions/status while connect step is open, render Connected for active providers (was stuck on "Connect" after 30s OAuth poll timeout). 2026-04-21 18:15:49 -07:00
ciregenz 301b0f7707 [eric] auto-heal corrupt npx cache in MCP stdio discovery: on ERR_MODULE_NOT_FOUND pointing into ~/.npm/_npx/<hash>/, wipe
that dir and retry once — fixes Discord/YouTube failing with "MCP stdio process exited unexpectedly" after partial npx installs,
  per-browser auto-close: spawned browser cards now disappear on their own sub-agent's completion instead of lingering until the parent agent
  finishes, WebSocketManager agent:status matches by session.browser_id (spawned_by is the parent, so it never matched the finishing
  sub-agent), user-created/pre-selected browsers untouched
2026-04-20 01:20:20 -07:00
ciregenz 14e1d02bbb [eric] reasoning UI + thinking-level controls: collapsible 'Thought for Ns' bubble with shimmer, per-session thinking level (off/low/med/high/auto) on
reasoning-capable models, gate GitHub Copilot as 'Coming soon', delete Twitter/xbird integration, fix model-picker first-click + 200K context cap on Sonnet/Opus, revive
  arrow-key dashboard nav after typing/clicking/zooming
2026-04-15 12:47:34 -07:00
ciregenz 077d9b4011 [eric] add Discord MCP integration with shared bot + per-user guild scoping 2026-04-06 20:02:27 -07:00
ciregenz 5d7c93d9a5 [eric] HubSpot MCP integrations with OAuth PKCE, fix backend crash from unhandled BaseExceptionGroup during MCP tool denial 2026-04-06 14:43:53 -07:00
ciregenz 3bbc29ea98 [eric] add Airtable MCP integration with OAuth + PKCE 2026-04-06 13:18:43 -07:00
ciregenz 0be4cc98a9 fix MCP docs links not opening in browser cards, implement youtube mcp 2026-04-06 11:48:03 -07:00
ciregenz cc5b3da0cd [eric] dashboard / chat title fix + notion auth logic tweak 2026-04-03 12:34:39 -07:00
ciregenz 8fa39ee03a [eric] microsoft 365 mcp 2026-04-02 22:38:11 -07:00
ciregenz cac9872702 [eric] notion integration 2026-04-02 16:40:36 -07:00
ciregenz ab8ffffd8d [eric] reddit mcp electron npm build fix 2026-04-01 22:00:21 -07:00
ciregenz 7c3da1ab4c [eric] fix 9Router CLI auth for subscription users, add analytics, update models 2026-03-27 00:21:19 -07:00
ciregenz f01b209168 [eric] bundle uv/uvx for non-dev users, fix Google Workspace MCP startup
- Bundle uv/uvx universal binaries in backend/uv-bin/ (downloaded during build)
  - tools_lib: _extra_bin_dirs and _resolve_command check uv-bin/ for uvx
  - build-app.sh: auto-download uv for both architectures, create universal binary
  - run.sh: auto-download uv for dev mode on first run
  - Removed google-workspace-mcp from requirements.txt (dependency conflict with langchain
2026-03-26 13:04:27 -07:00
ciregenz e04eb2fb74 [eric] fix browser agent for 9Router, subscription-first priority, uvx fallback for non-dev users
- browser_agent.py: use get_anthropic_client instead of raw api_key, fix model map for 9Router
  - credentials.py + agent_manager.py: subscription (9Router) checked before API key everywhere
  - main.py: clean browser-agent endpoint, no credential params
  - tools_lib.py: when uvx not found, fall back to pip-installed binary from venv
  - requirements.txt: add google-workspace-mcp so it works without uvx
2026-03-26 12:17:37 -07:00
ciregenz cbefe89fe0 [eric] google mcp auth 2026-03-25 12:10:44 -07:00
haikdc a1138a1782 [Haik]: (ability to resume chats if force end early) (agent selection actually works as advertised) (browser control/creation tool isolation) (in dev mode can see the action input schema) 2026-03-18 14:19:42 -07:00
haikdc 78552982d8 [Haik]: ckpt (input focus persistance in select mode) (can set default spawn in state of a card from expanded to collapsed in settings) (Settings update notification is more in ur face now - to be tested in prod) 2026-03-18 04:09:39 -07:00
haikdc f8c2fc38b8 [Haik]: ckpt (right click in dash triggers marquee drag) (if click enter while a single agent card is selected in dash -> triggers expand/collapse) (also btw that g workspace issue still exists in prod) 2026-03-18 02:55:21 -07:00
haikdc b937003a24 [Haik]: ckpt (builtin tool call permissions are now functional) (when card is selected in dash hover scroll still works) (notification ui now shows actively running agents too - with the ability to stop them too) (agent card with is persistent post auto layout) (gworkspace discovery func works in prod now - to be tested in prod) (stable release naming for files so most recent version has fixed release link - to be tested in prod) 2026-03-18 01:48:53 -07:00
haikdc 6f02daff2d [Haik]: (Browser actions shown in agent card output) (User can have item selection turned on by default in settings) (most browser related functionality works - altho spotify is tricky) (mcp discovery in prod shld worke now?) 2026-03-17 01:48:50 -07:00
haikdc 08cab727a1 [Haik]: ckpt (shld have fixed tool mcp discovery in prod - but untested) (Added browser control animations) (Made browser top input function as search) (swapped run.sh to not open up site locally in addition to the electron app) 2026-03-16 00:27:34 -07:00
haikdc 383f62c852 [Haik]: minor style tweaks and auto update functionality added (yet to be tested) 2026-03-15 23:12:29 -07:00
haikdc 1632b5c9e5 [Haik]: ckpt, (Fixed view create duplication bug) (Views auto save) (MCP is star sorted by default) (reload issues in dash fixed) (electron app made) 2026-03-15 00:09:04 -07:00
haikdc 23621306a1 [Haik]: and so it begins 2026-03-13 12:09:25 -07:00