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
ciregenz and Claude 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