Commit Graph
2783 Commits
Author SHA1 Message Date
ciregenz 46e92c9fe0 [eric] dashboards: drop orphan session cards from GET so a dead-session card stops 404ing on load 2026-06-15 14:34:16 -07:00
ciregenz bd73d49828 [eric] mcp-gate: property-test the activation gate (forwarded => activated) + Z3 formal proof 2026-06-15 14:22:48 -07:00
ciregenz ad00fd19ae [eric] error-classify: schema-translation 400s aren't auth; gemini RESOURCE_EXHAUSTED is transient 2026-06-15 14:05:21 -07:00
ciregenz 2bb5ee05f6 [eric] swarm: generative dashboard remap-invariant test + symlink unpack rejection 2026-06-15 14:01:50 -07:00
ciregenz ad1a9b439e [eric] swarm: validate manifest structure at stage time (root/dup-id/edge integrity, outside checksum) 2026-06-15 14:00:19 -07:00
ciregenz c43da8950e [eric] swarm: scan workspace file bytes for secrets on export, not just payload keys 2026-06-15 13:59:11 -07:00
ciregenz 2d82b13a1a [eric] ci: gitleaks fetches full main so renames scan incrementally not full-history 2026-06-15 13:54:40 -07:00
ciregenz 578a31fdd4 [eric] ci: allowlist the cdp-routes redaction-test token in gitleaks 2026-06-15 13:54:40 -07:00
ciregenz 62acc4b8c0 [eric] models: drop banned Claude Fable + unrunnable Gemini 3.1 Pro from the picker 2026-06-15 13:44:22 -07:00
ciregenz 076c47617a [eric] gemini: prefer connected Antigravity over AI Studio key + fail-fast read timeout 2026-06-15 12:36:29 -07:00
ciregenz 235fa47d15 [eric] providers: openai own-key keeps cp-openai/ prefix so 9router can route it 2026-06-15 11:59:11 -07:00
ciregenz f93d6e02d1 [eric] 9router: port the 0.4.x /api auth gate (x-9r-cli-token) to unblock a version bump 2026-06-14 20:27:39 -07:00
ciregenz 124b128ed1 [eric] proxy: fix non-Anthropic first-msg 400s (Gemini allowlist + gpt-5 sampling strip) 2026-06-14 16:58:26 -07:00
ciregenz 9086ef5af2 Merge remote-tracking branch 'origin/eric/dev' into eric/dev 2026-06-14 08:59:19 -07:00
cireandGitHub e47ac3bf67 Revert "[aidan] bug: dashboard not renaming during first run" (#83)
This reverts commit 2d7be0e8ac.
2026-06-14 08:58:49 -07:00
ciregenz 7eeb864a29 [eric] swarm: archive checksum (reject tampered) + transactional rollback on import 2026-06-14 08:07:17 -07:00
AidanandGitHub fd10171ac1 [aidan] ui/ux: canvas navigation (#85)
* dashboard: pan canvas via middle-drag and horizontal scroll over browser/chat

- Middle-mouse drag inside a browser webview is forwarded as canvas pan
  (previously eaten silently by the guest compositor).
- Horizontal-dominant wheel inside a browser webview pans the canvas
  when no ancestor in the guest page can absorb horizontal scroll;
  otherwise the page handles it.
- Horizontal-dominant wheel over a chat panel pans the canvas (chat has
  no horizontal scroller). Vertical scroll is unchanged.

Plain vertical scroll and ctrl/meta+wheel zoom over a browser stay with
chromium's defaults.

* browser: drop in-guest zoom locks so pinch and cmd+wheel zoom the page

setVisualZoomLevelLimits(1, 1) blocked pinch-to-zoom inside the webview, and
setZoomFactor(1) on every dom-ready reset any user page zoom. Both were added
back when canvas zoom was supposed to take over for ctrl+wheel; with that
reverted, chromium's native zoom handlers should run unimpeded.

* [aidan] fix: prev. commit fix. restore ctrl+wheel canvas zoom over webview cards

* [aidan] ui/ux: app navigation

* [aidan] ui/ux: gate webview preload forwarding on app interactive mode

When a view card is "interactive" (user clicked into the app), the preload stops forwarding ctrl+wheel, middle-mouse-drag, and horizontal-scroll-pan gestures so the embedded app gets every event. A mousedown notifier reports in-guest clicks to the host so it can flip the card into interactive mode without intercepting the click itself.
2026-06-14 07:55:34 -07:00
AidanandGitHub f08f71313f [aidan] ui/ux: auth flow fixes (#84)
* aidan] bug: fixed 2 auth claude login issue

* [aidan] bug: claude login w email+pw

* [aidan] ui: edited message for cases where anthropic redirects to enter email code even after login'

* [aidan] ui/ux: fix connecting status accuracy
2026-06-14 07:55:24 -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
ciregenz 4e1df63b7c Merge remote-tracking branch 'origin/eric/dev' into eric/dev 2026-06-14 07:44:15 -07:00
ciregenz e15edc702e [eric] chat: unify thinking labels into one shared list, add quirkier verbs 2026-06-14 07:27:00 -07:00
ciregenz 8246f03b27 [eric] dashboard: title-derived header glyph (curated icon + monogram fallback) 2026-06-14 07:26:50 -07:00
ciregenz e2f2dfdc4d [eric] swarm: drop-to-import with GPU-safe pixel digest; modal only for code/action bundles 2026-06-14 07:22:12 -07:00
ciregenz cff334a02b [eric] swarm: Share button on the dashboard header 2026-06-14 06:44:16 -07:00
ciregenz 6899ea5bd1 [eric] swarm: dashboard export/import (closure of agents+apps+modes, two-class deps) 2026-06-14 06:44:16 -07:00
ciregenz 9b80d0417a [eric] swarm: workflow export/import entity (lazy store, schedule-off + PII-strip on import) 2026-06-14 06:27:52 -07:00
ciregenz c179d20c16 [eric] swarm: Share button on app card + editor, import review/trust warning 2026-06-14 06:11:22 -07:00
ciregenz d2a7b79eaf [eric] swarm: app export/import (workspace tree, .env regen) + code-safety review 2026-06-14 06:11:16 -07:00
ciregenz 7ea461fc52 [eric] swarm: .swarm import flow (drag-drop + file picker, preflight/commit modal) 2026-06-14 06:00:12 -07:00
ciregenz 9b6e0f818f [eric] swarm: Share button + modal, wired into Skills detail header 2026-06-14 05:55:33 -07:00
ciregenz d7b2dfce7b [eric] swarm: backend tests for redaction, zip-slip/bomb, skill round-trip 2026-06-14 05:55:33 -07:00
ciregenz ace783f4ef [eric] swarm: .swarm bundle engine + skill export/import endpoints 2026-06-14 05:55:28 -07:00
ciregenz 78fbbebccd [eric] release: bump version to 1.2.84 (off-window crash fix + #81 rename + onboarding revamp) v1.2.84 2026-06-14 04:59:03 -07:00
ciregenz 3b5432b75a Merge branch 'eric/dev' into HEAD 2026-06-14 04:59:03 -07:00
ciregenz c2c43be9a0 [eric] frontend: normalize package-lock (npm dropped stale peer markers) 2026-06-14 04:44:47 -07:00
ciregenz bd8e5d93cc [eric] onboarding: recovery popup auto-dismisses the moment its step completes, no stale 'Tap Show me' after a transient throw 2026-06-14 04:35:22 -07:00
ciregenz aff75261f1 [eric] onboarding: mark launch_agent done after the first chat (was stuck to-do); a draft no longer counts as a launched agent 2026-06-14 04:14:41 -07:00
ciregenz 5d01bd5ebf [eric] onboarding: cursor pop spark, fewer spokes (6) but thicker + glow + longer (0.62s) so each reads clearly 2026-06-14 04:06:45 -07:00
ciregenz 2e3ce84572 [eric] build: gate mouse-clamp extraResources to macOS so the Windows build can't trip 2026-06-14 03:59:57 -07:00
ciregenz 8c7afa2bd8 [eric] onboarding: gate the tour like a game, hide the Finish setup pill until the first agent completes; drop the X/5 count 2026-06-14 03:49:40 -07:00
ciregenz b20673d552 [eric] onboarding: pin the welcome chat to exact viewport center (placeCard grid-snap was shoving it off-center) 2026-06-14 03:44:32 -07:00
ciregenz 5945dc91dc [eric] onboarding: welcome greeting is now a real streamed assistant bubble (rides the streaming slice + smooth-reveal), chips sit below it 2026-06-14 03:29:51 -07:00
ciregenz 80b40dc2b7 [eric] agents: forward draft dashboard_id into launch so the card survives send (fixes welcome chat quitting when you pick an option) 2026-06-14 03:20:38 -07:00
ciregenz fbbc57c810 [eric] onboarding: per-popup dwell override so the welcome cursor holds ~3s then clicks (not the tour's 6s floor) 2026-06-14 03:20:38 -07:00
ciregenz e9c8774ad7 [eric] onboarding: welcome reads as a real chat + cursor opens it + model in header 2026-06-14 02:41:28 -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
ciregenz 82907b4601 [eric] onboarding polish: exaggerated cursor pop + longer wait then prompt click; faster greeting, no caret; chips slide in smoothly (no instant pop); title 'First chat with OpenSwarm', no draft label 2026-06-14 02:18:53 -07:00
ciregenz 89a1193f32 [eric] onboarding: welcome_open cursor shows a quick readable popup then clicks New Agent promptly (snappier) 2026-06-14 01:59:49 -07:00
ciregenz 8863d58c20 [eric] onboarding: cursor pops in then clicks New Agent to spawn the welcome chat (not auto), with delays; much slower title/greeting stream; manual click is the fail-safe 2026-06-14 01:53:12 -07:00
ciregenz ba850e5fdc [eric] onboarding: slower sequential welcome reveal (title -> greeting -> chips) + cursor bursts in with radiating orange spark lines 2026-06-14 01:43:13 -07:00