Commit Graph
979 Commits
Author SHA1 Message Date
SirKentut 4d8698dfd1 [pierre]: activating playbook skill for app agent use 2026-06-24 03:56:14 -07:00
SirKentut 420263b71f [pierre]: ensuring the bridge is present or not before declaring 2026-06-24 03:30:20 -07:00
SirKentut 154b6fef68 [pierre]: adding a listener to debug keyboard/cursor activity on an app 2026-06-21 23:42:23 -07:00
SirKentut a03c2af66d [pierre] feat: shell-inject window.OPENSWARM_APP bridge into every app's main world 2026-06-18 02:37:12 -07:00
SirKentut a45bcf7f01 [pierre] docs: note OPENSWARM_APP bridge works in lightweight app builder mode 2026-06-18 02:36:32 -07:00
SirKentut edd018cb4c [pierre] feat: handle click_point via native CDP mouse event in browser command handler 2026-06-18 02:35:25 -07:00
SirKentut e0c4b5859f [pierre] feat: add BrowserClickPoint and human-style canvas/game control for app agent 2026-06-18 02:33:18 -07:00
SirKentut b745c54c3e [pierre] chore: add watch-moves.sh for human-readable App Agent action log 2026-06-18 02:24:13 -07:00
SirKentutandGitHub 26cec0ff33 Merge pull request #1 from SirKentut/flappy-bird-agent-controls-fix
[pierre] fix/app-agent: re-attach app controls on every task
2026-06-16 18:24:37 -07:00
SirKentutandClaude Opus 4.8 8cf868784f [pierre] fix/app-agent: re-attach app controls on every task
Run AppDescribe and front-load the app's controls each task in app mode,
not just on fresh conversations. The bridge can appear between runs and a
resumed history may carry a stale screenshot-it strategy; re-reading the
controls re-points the agent at the bridge instead of inheriting old fumbling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 00:52:00 -07:00
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
SirKentut b498ed3097 implemented app-describe for agent use: exposing the command tree of an app 2026-06-13 01:01:11 -07:00
ciregenz a680df8817 [eric] release: bump version to 1.2.79 v1.2.79 2026-06-11 22:47:58 -07:00
ciregenz 2c02286823 [eric] electron: clear the frontend HTTP cache every launch, kills the stale-bundle-after-upgrade class for good 2026-06-11 22:47:58 -07:00
ciregenz 8bf044fc60 [eric] electron: clear renderer cache on build change, so an upgrade actually loads the new frontend (unversioned bundle.js was served stale) v1.2.78 2026-06-11 17:08:46 -07:00
ciregenz cd681861bd [eric] electron: lift GPU-process crash limit so a GPU hiccup recovers, not kills the app 2026-06-11 15:44:38 -07:00
ciregenz b8b65e253d [eric] apps: throttle app-list nav + gate WebGL placeholder, fix rapid-app-switch GPU crash 2026-06-11 15:44:38 -07:00
ciregenz dc3d967453 [eric] release: bump version to 1.2.78 2026-06-11 04:33:19 -07:00
ciregenz b415a16411 [eric] chat: treat an active stream as 'live' in the fetchSession merge so a mid-stream reopen keeps the user bubble (revert the fetch-skip that added the resume-bubble regression) 2026-06-11 04:11:38 -07:00
ciregenz cdaec3b7c8 [eric] chat: prefill caret parks at end (not pos 0) + skip the background reconcile-fetch while streaming so a mid-stream reopen stops wiping the user bubble 2026-06-11 03:52:42 -07:00
ciregenz 7d5df5f016 [eric] app-builder: seed initialDraftId from the existing session so a warm reopen renders the chat instantly (no Initializing-agent blank frame) 2026-06-11 03:42:57 -07:00
ciregenz 8a76354a6b [eric] chat: fix #65 scroll glitches, top-align messages (drop bottom-anchor), skip windowing under 60 items (kills the shrink-jump), auto-hide scrollbar until hover 2026-06-11 03:30:27 -07:00
abccodesandciregenz c0bc12763f [aidan] ui/ux: removed keyboard shortcuts 2026-06-11 03:13:05 -07:00
ciregenz 775b24d285 Merge PR #68 [aidan] bug: ui/ux fixes (back/forward disabled-state, browser-card dashboard scoping + resize, selection-overlay clipping, dashboard-duplicate carries chats)
AppShell conflict resolved: kept the lucide/redesign + folded in the back/forward disabled-state logic.
2026-06-11 02:59:30 -07:00
ciregenz be678c6573 Merge PR #65 [aidan] chat: virtualize long chat transcripts (windowed rendering) 2026-06-11 02:52:29 -07:00
ciregenz 0a81bfa17a Merge PR #70 [Aidan] appbuilder: inject selected-app context into dashboard agent chat 2026-06-11 02:51:05 -07:00
ciregenz b2d515566b [eric] onboarding: fix Build starters opening in Agent mode (prefill-mode now wins the reset race) + quirky 4th prompt per category (minecraft, world record, fantasy quest, moon) 2026-06-11 02:17:02 -07:00
ciregenz e07fa73a2d [eric] mac: close-to-dock hide + window.close stub, the window cannot vanish uninvited 2026-06-11 02:05:01 -07:00
ciregenz 150d113eb4 [eric] onboarding: Build starters open the dashboard composer in App Builder mode (no Apps-page context switch); drop the seed-prompt routing 2026-06-11 02:01:20 -07:00
ciregenz 351c055794 [eric] onboarding: flip starters back to click-to-open (drop hover preview), click opens the composer prefilled + translucent 2026-06-11 01:49:30 -07:00
ciregenz 6beace94a4 [eric] onboarding: HOVER a starter opens the composer (translucent preview), leave closes it, CLICK locks the query in to send 2026-06-11 01:43:08 -07:00
ciregenz f8afdf6b37 [eric] mac: window close no longer quits the app, dock reopen + quit-cause forensics 2026-06-11 01:40:59 -07:00
ciregenz 067061d982 [eric] onboarding: prefilled starter text renders translucent (pending suggestion), solidifies on first keypress/edit 2026-06-11 01:37:37 -07:00
ciregenz f282afb4fb [eric] onboarding: starter prompt opens the composer pre-filled (unsent), user reviews + hits send; replaces the ghost preview 2026-06-11 01:33:52 -07:00
ciregenz 6a5e80fcd9 [eric] onboarding: hovering a starter prompt shows a translucent ghost chat preview with the message as a user bubble 2026-06-11 01:19:27 -07:00
AidanandGitHub d69854520b fix: carry agent chats over when duplicating a dashboard (#73)
duplicate_dashboard cloned the layout but left every browser_card pointing at
the source's browser_id and never copied the sessions, so the new dashboard
showed the browser but no chat. Now we mint fresh browser_ids, duplicate every
session attached to the source dashboard (in-memory + on-disk), remap
browser_id / parent_session_id / spawned_by / cards / expanded_session_ids onto
the new ids, and persist via _save_session. Also restores top-level agent cards
(layout.cards), which were silently dropped on duplicate.
2026-06-11 01:16:00 -07:00
ciregenz d31bbf0af7 [eric] ui: pill the Build-with-AI button + widen sidebar default to 260 (matches claude.ai) 2026-06-11 00:59:35 -07:00
ciregenz b23ae41019 [eric] ui: bump sidebar font sizes, section labels 0.82->0.9rem and sub-items 0.78->0.86rem for readability 2026-06-11 00:43:41 -07:00
ciregenz dd58177c72 [eric] onboarding: panel defaults to expanded on first init (was forced to pill); returning users keep their saved choice 2026-06-11 00:35:54 -07:00
ciregenz 86d994b136 [eric] onboarding: Build starters open App Builder with the prompt auto-sent (seed prompt -> view-builder agent, one-shot send via handleSend) 2026-06-11 00:34:13 -07:00
AidanandGitHub b6db089c21 [aidan] fix: scope browser cards to their origin dashboard so they stop leaking across dashboards (#72)
The backend already broadcasts the originating dashboard_id with every browser_card_added, but the frontend was throwing it away. Browser cards live in a single global Redux dict and the canvas rendered all of them unfiltered, so a browser spawned by an agent on dashboard A would appear in whatever dashboard the user was currently viewing.

Tag every card with its dashboard_id (at WS arrival and at fetchLayout hydration) and filter by it in useDashboardSelectors so render, bounds, layout save, and keyboard nav all see only the local dashboard's cards.
2026-06-11 00:29:08 -07:00
ciregenz 6538f1cd37 [eric] onboarding: setup counter follows unlocked steps (new user sees 0/2 not 0/8), grows after the first win 2026-06-11 00:22:33 -07:00
ciregenz b4f0093112 [eric] onboarding: non-dev starter prompts (no RAG/LLM/REST jargon) + bigger readable fonts 2026-06-11 00:20:12 -07:00
ciregenz d2505bba12 [eric] onboarding: two-level starter prompts, pick a category (research/build/write/learn) then its prompts spawn, one-click launch 2026-06-11 00:08:33 -07:00
ciregenz 1fcaeb0134 [eric] ui: drop the working-status dot on agent cards too (+ remove now-dead STATUS_COLORS) 2026-06-10 23:55:11 -07:00
AidanandGitHub b3f91408fc [aidan] browser-card: top edge / corners now resize the card, the tab bar was eating the inside 3px of the n/nw/ne handles (zIndex 16 vs 10), so a top grab started a card drag and focused the webview (#71) 2026-06-10 23:27:26 -07:00
ciregenz ddd0641cac [eric] merge free-trial + value-first onboarding (flag off, reorder gated so no-trial = today's flow)
# Conflicts:
#	frontend/src/app/pages/AgentChat/bubbles/MessageBubble.tsx
2026-06-10 23:20:18 -07:00
ciregenz 6b5f10e287 [eric] bash defaults to always-allow like other actions (catastrophic/scheduling/sensitive-path guards still prompt); drop the working status dot 2026-06-10 23:13:02 -07:00