134 Commits
Author SHA1 Message Date
ciregenz c73264fbdd [eric] apps: the vite boot lock is loop-local here too, and the serve-static spawn test stops mocking a sync method with an async one 2026-08-11 23:36:23 -07:00
ciregenz 29f9e4401e [eric] apps: 1.7.7 takes the serve-static boot-lock fix; without it the first serve-static app wedged every other app on "Starting preview" 2026-08-11 23:25:47 -07:00
ciregenz d7ed3cda2d [eric] apps: the template vite config loads as ESM (.mts) and deps ride a vendored lockfile, so a fresh app boots on the bundled node 20 instead of dying on ESM-only plugins 2026-08-09 18:17:44 -07:00
ciregenz 97d0c7a8ef [eric] apps: an app nobody is editing serves its built bundle with no dev-server process (~270MB -> ~0), vite reboots the moment an agent binds or the dist goes stale 2026-08-09 16:53:14 -07:00
ciregenz 3c2aeb8fa7 [eric] apps: runtime status carries ready + serving_url, so 'spawned' and 'actually serving' stop being the same claim 2026-08-09 12:51:12 -07:00
ciregenz 95a41451b3 [eric] apps: grant identity is server-derived only (minted per-app tokens + serve-path referer), forged ids refused, grant dialogs queue 2026-08-09 11:47:27 -07:00
ciregenz 6bd3f93f07 [eric] chat: questions and tool permission asks render as the vendored tool-ui cards (question-flow + approval-card); QuestionForm extracted to kill an import cycle; registry loads the full question-flow union 2026-08-09 10:01:02 -07:00
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 02cc65632a [eric] tool-ui: repair the payload shapes agents actually emit (stat keys, step ids, receipt outcomes), so widgets render instead of quietly falling back 2026-08-09 07:48:30 -07:00
ciregenz 9541d0cf09 [eric] apps: the warm node_modules cache proves completion with a sentinel and never npm-installs on the request path, which wedged the whole backend 2026-08-08 02:14:26 -07:00
ciregenz a12047ae66 [eric] apps: the full tool-ui widget set is vendored into every app workspace behind an @toolui alias, deps exact-pinned to the host's locked versions 2026-08-08 01:22:43 -07:00
ciregenz 610ba00a9d [eric] apps: the host SDK lands, apps call the user's models, fire workflows, and spawn positioned agents through pre-wired helpers 2026-08-08 01:14:00 -07:00
ciregenz 1f3c211146 [eric] apps: generated apps default to an Apple design language, SF-first type, system blue, iOS grays, hairline structure 2026-08-08 01:05:40 -07:00
ciregenz bb906d81b8 [eric] apps: a frozen app runtime is thawed before it is reaped, so a parked ghost stops surviving every TERM we send it 2026-08-07 21:48:58 -07:00
ciregenz b537a4ed63 [eric] apps: the ghost reaper reads working directories too, so an orphaned app backend whose argv never names the workspace stops being invisible 2026-08-07 21:36:51 -07:00
ciregenz 08694d18b8 [eric] apps: the ghost reaper matches workspace paths case-insensitively, so a packaged app's openswarm vs OpenSwarm casing no longer spares orphans 2026-08-07 21:00:44 -07:00
ciregenz dfed363db7 [eric] apps: the scaffold ships a durable store and the skill forbids memory-only state, since the runtime dies on a timer 2026-08-07 20:01:06 -07:00
ciregenz dec16d78db [eric] apps: the ghost sweep fails closed, a bad ps scan or a mid-spawn race can no longer read working apps as ghosts 2026-08-07 19:54:11 -07:00
ciregenz f32bcafc01 [eric] apps: idle pool holds 6 frozen runtimes instead of 3, affordable now that the TTL bounds their lifetime 2026-08-07 19:51:25 -07:00
ciregenz 913f597656 [eric] apps: ghosts get swept every 10 minutes not just at boot, and a frozen idle runtime dies after 15 minutes instead of squatting RAM forever 2026-08-07 19:47:16 -07:00
ciregenz bb5893ff46 [eric] apps: a crash no longer leaves app runtimes running for days, boot reaps what no live backend owns 2026-08-07 14:23:25 -07:00
ciregenz d492c46f02 [eric] apps: runtimes get OPENSWARM_HOST_TOKEN_FILE (path not value) so app backends can call the host API across rotations 2026-08-06 21:39:58 -07:00
ciregenz 654e45fedf [eric] apps: publishing refuses to silently drop a generated app's FastAPI backend 2026-08-02 16:31:27 -07:00
ciregenz 2750d88988 [eric] backend: hand a workflow's schedule to the cloud, and take it back, without both timers ever being live 2026-07-31 23:39:35 -07:00
ciregenz 0f6e110a86 [eric] apps: bring back apps whose record vanished but whose work is still on disk 2026-07-31 17:31:15 -07:00
ciregenz 44f9e48c2a [eric] security: close the Output executor sandbox escape via sys, dunders and module chains 2026-07-31 13:47:02 -07:00
ciregenz f3761f61eb [eric] security: contain workspace file paths with realpath and a whole-component boundary 2026-07-31 13:46:52 -07:00
ciregenz 078daf83a1 [eric] merge: bring eric/onboarding up to date with eric/dev 2026-07-19 23:11:56 -07:00
ciregenz 5b57165aba [eric] app-builder: hide vite error overlay (no red crash screen mid-build) + MUI v7 Grid rule (Grid2 doesn't exist) 2026-07-19 17:55:49 -07:00
ciregenz 24d197eefd [eric] cleanup: delete the dead CLI-Agent hook branch (SpawnAgent route replaced it), the force-denied Cron*/no-op InvokeAgent FULL_TOOLS entries, and the unused stale-model resolve_model/MODEL_MAP 2026-07-16 17:09:00 -07:00
SirKentut f542007a3c [pierre] fix: surface app terminal + console errors to the App Builder 2026-07-10 00:37:02 -07:00
ciregenz 40d975c702 [eric] apps: fix 2nd instance on old workspaces (port shim) + dedupe header keys 2026-07-02 21:39:59 -07:00
ciregenz 30dccc3bf1 [eric] apps: CreateApp result points at SKILL.md instead of inlining the reference (no transcript rot) 2026-07-02 16:03:54 -07:00
ciregenz c0a40a4425 [eric] docs: app builder skill refers to the dashboard card, not the deleted Apps page 2026-07-02 03:21:36 -07:00
ciregenz 227bd1badc [eric] apps: fold App Builder into agents via CreateApp; delete standalone /apps page + editor 2026-07-02 03:20:52 -07:00
ciregenz 01e70fdd40 [eric] apps: restart.sh lets the agent bounce its own runtime (sentinel watched by the harness) 2026-07-02 02:48:21 -07:00
ciregenz 85d77ca552 [eric] apps: multiple independent instances per app (own runtime + ports; alt-click or paste to open) 2026-07-02 01:24:22 -07:00
ciregenz f19284a456 [eric] apps: card Preview/Code/Terminal switcher, terminal hard-reload, agent-readable terminal.log 2026-07-02 00:35:13 -07:00
ciregenz 77ff2b79e9 [eric] debugger: swap vendored debugger/ for PyPI swarm-debug in app workspaces 2026-07-02 00:16:53 -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
ciregenz f3c8189751 [eric] merge eric/browser-parity: in-app browser parity (persistence, focus keystone, zoom/find/tab/middle-click, reopen-closed)
# Conflicts:
#	backend/apps/outputs/workspace_io.py
2026-06-26 09:10:19 -07:00
abccodesandciregenz e38c54150a [aidan] fix/app-export: stop file-cap marker from corrupting oversize app files 2026-06-26 07:50:19 -07:00
AidanandGitHub 180da5ea40 [aidan] fix/app-selection: surface real app workspace path in selection so the builder edits in place (#109) 2026-06-26 07:30:13 -07:00
ciregenz 421806a196 [eric] runtime: npm --ignore-scripts on app installs to block untrusted-dep postinstall code-exec 2026-06-26 05:23:57 -07:00
ciregenz a2b8a2c335 [eric] build: bundle npm with node so packaged apps can install custom deps (fixes imported backend apps not starting) 2026-06-26 05:14:04 -07:00
ciregenz ce7b22a216 [eric] swarm: exclude .DS_Store/Thumbs.db from app exports (WALK_SKIP_FILES) 2026-06-26 04:42:02 -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 8cb781c01c [eric] apps: only link warm node_modules on import when package.json matches template (custom-dep apps install their own) 2026-06-25 23:21:44 -07:00
ciregenz bdf576126d [eric] apps: link node_modules on import so imported backend apps boot first time, no restart 2026-06-25 23:09:21 -07:00
SirKentut 42ad32ee6c [pierre] testing: frames show if autopilot is succesfully working 2026-06-25 19:53:25 -07:00