ciregenz
0688c85607
[eric] apps: apps can call the user's connected tools behind a per-app grant gate (approval card, deny-by-default, Origin-derived identity)
2026-08-09 08:52:36 -07:00
ciregenz
c9840eb00b
[eric] hardening: legacy pre-collapse tool ids canonicalize to core, and the docked mini gets a load listener plus a 1s belt so a silent layout shift can't strand it
2026-08-08 20:48:47 -07:00
ciregenz
4faba74d55
[eric] agents: every builtin tool server rides ONE process per chat, and the gate enumerates its grants instead of wildcarding
2026-08-08 12:59:50 -07:00
ciregenz
67011befe3
[eric] mcp: discovery refuses a credentialless env_vars server, and the failure translator reads the whole tail not the npx dump
2026-08-04 16:43:07 -07:00
ciregenz
db6c7a25b7
[eric] mcp: a dead server says its sign-in expired instead of printing a goroutine dump
2026-08-02 21:27:34 -07:00
ciregenz
f24e6ecc52
[eric] mcp: wire X + TikTok into catalog, preflight, env injection + linter exceptions
2026-06-30 17:19:58 -07:00
ciregenz
63c32554ae
[eric] mcp: reddit session-borrow MCP (free, full human action set; WIP)
2026-06-29 23:05:15 -07:00
ciregenz
1b6d747326
[eric] merge #107 (pierre): app-use OPENSWARM_APP bridge + AppAgent
...
# Conflicts:
# electron/main.js
# frontend/src/app/pages/Views/ViewPreview.tsx
2026-06-29 21:34:11 -07:00
abccodes
3a252aa0b3
[aidan] feat/skills: Skill tool + installed-skills catalog for agent discovery
2026-06-29 02:13:05 -07:00
SirKentut
75df12a1b7
[pierre] feat: merge app-use (OPENSWARM_APP bridge + AppAgent) onto eric/dev, convention-clean
...
Brings the app-use feature (OPENSWARM_APP bridge, AppAgent delegation tool,
BrowserClickPoint, autopilot supervision) onto the linted eric/dev base.
- Resolved 9 conflicts favoring eric's refactored structure; renamed all of
pierre's _-prefixed names to p_/P_, kept eric's prior_messages resume guard.
- Made the 4 test-exercised bridge helpers public (p-private rule).
- Wired AppAgent into browser_delegation_tools + BuiltinTool registry and
threaded selected_app_output_ids -> OPENSWARM_SELECTED_APP_IDS (eric had
forward-ported the prompt but not the tool, so it was unreachable).
- Linter clean (underscore/p-private/ruff/cycles 0); 301 backend tests pass.
2026-06-26 02:44:10 -07:00
ciregenz
0d093cc5f8
[eric] backend: one-line every comment + collapse 3+ blank runs across apps/ (AST-verified identical, -lines); CLAUDE.md one-line-comment rule
2026-06-25 02:29:04 -07:00
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
a4c92aaa33
[eric] update cross-module + test refs to promoted service/version symbols
2026-06-23 20:53:27 -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
40c863e9cf
[eric] integrations: add GitHub MCP (remote http server + one-click OAuth)
...
(cherry picked from commit 901e3bf98244d3e599db5f3f05f4dc2ce943888e)
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
81fea443fd
[eric] cleanup: drop dead code, dedup 9router prefix, strip em-dashes (backend)
2026-05-23 02:29:22 -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
d20ff7d16c
[eric] app builder cleanup — remove Auto Run, Test Input, RenderOutput tool + Outputs activation gate
2026-05-11 09:05:45 -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
71f3eb640a
[eric] RequestHumanIntervention: show in BrowserAgentOverlay + parent chat inline feed + DynamicIsland with consistent amber UI, add
...
skip-with-reason text input, shorter intervention messages, register in BUILTIN_TOOLS, fix waiting_approval session selector,
sticky-to-bottom scroll in inline feed
2026-04-10 10:35:55 -07:00
ciregenz
1dad8a57fc
[eric] browser sub-agent: loop detection, ReportProgress, CDP ax tree, batching, compaction, hide-don't-unmount Dashboard so browser cards survive route navigation
2026-04-07 20:00:32 -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