Commit Graph
13 Commits
Author SHA1 Message Date
SirKentutandClaude Opus 4.8 a35bfaaf7d [pierre] feat/app-agent: drive web apps through the OPENSWARM_APP bridge
Browser agent gains app-control logic + schema, app-builder skill doc,
run.sh agent-bridge presence check, and app-agent tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 15:06:10 -07:00
SirKentut f90975f006 feat(webapp-template): ship agent bridge (window.OPENSWARM_APP) as a hook, not a doc
Add agentBridge.ts and import it FIRST in index.tsx so the bridge is
installed on the window before any app code runs.

The visitor / door / doorbell analogy:

- The visitor is the agent. It shows up wanting to operate the app:
  read the rules, see the controls, take an action, check what happened.
- The door is window.OPENSWARM_APP. A single, always-present surface the
  visitor can knock on: describe() to learn the app, getState() to read a
  snapshot, invoke(name, args) to act.
- The doorbell is register({ rules, controls, getState, invoke }). The app
  presses it on mount to say "I'm home, here's how to talk to me." Until it
  does, describe()/getState() answer { __ready: false } so the visitor
  knows the app is still booting and waits, instead of concluding nobody
  lives here.

Why a hook and not just an .md:

A markdown instruction ("please expose your controls on window.X") is a
request the app can forget, half-implement, or drift from, and nothing
fails when it does. The bridge ships WITH the template and is imported
before app code, so the door exists from first paint whether or not the
author thought about agents. The app's only job is to press the doorbell
once; it never wires the plumbing, so it cannot get the plumbing wrong.
The contract is executable, not aspirational, which is the difference
between every generated app being agent-operable by default and hoping
each one remembered to be.
2026-06-14 07:49:13 -07:00
SirKentutandClaude Opus 4.8 eb6278ff5c fix(webapp-template): self-heal half-installed vite warm cache
An npm install killed mid-warm leaves node_modules/ populated but no
.bin/, so _ensure_warm_cache (which only checked the dir exists) trusted
the half-tree forever and every app symlinked to it died with
`vite: command not found`. Gate the cache on .bin/vite existing, and
harden the app's frontend/run.sh skip-install guard the same way.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 02:35:19 -07:00
Eric ca5d69301d [eric] app builder: fix windows-built apps failing by always creating the workspace .env (the windows build dropped the .env.example it seeds from) and writing app files as utf-8 (windows cp1252 choked on arrows and chess pieces); stays on 1.1.69 to rebuild only the windows installer 2026-05-26 17:40:51 -07:00
Eric bf6d7a9235 [eric] app-builder: cross-platform workspace runtime so apps build and run on windows (resolve bash/python/npm, venv Scripts layout, bundled-node PATH, online npm retry) 2026-05-26 04:18:38 -07:00
ciregenz 07f61c8547 [eric] lint: scope max-folder-items to documented backend registries, drop blanket ignore 2026-05-23 18:56:02 -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 ae54680635 [eric] WIP polish — app builder runtime + react-vite template tweaks, dashboard toolbar/card refinements, PixelBlast accent, runtime-preview hook,
sign-in gate + settings updates
2026-05-13 18:30:55 -07:00
ciregenz 1b0e6c35eb [eric] App Builder polish + onboarding fix 2026-05-13 00:24:51 -07:00
ciregenz 91508c87b1 [eric] onboarding bug fix and ux op 2026-05-12 22:36:22 -07:00
ciregenz c0c52e33d6 [eric] App Builder saves to sidebar on seed + onboarding fallbacks (auto-skip rules, fallback prompts, retry popup) 2026-05-12 13:11:56 -07:00
ciregenz a84aec257b [eric] App Builder uses real React/Vite scaffold + onboarding polish (auto sidebar expand, bigger pill, video crop), onboarding bugs / edgecases 2026-05-11 23:23:59 -07:00
ciregenz 2e2e8c7728 [eric] webapp-template standardization (React + Vite + FastAPI new-app starter) + swarm-debug built-in skill + stale-session recovery 2026-05-11 18:40:27 -07:00