Commit Graph
585 Commits
Author SHA1 Message Date
abccodes b60aa522dc [aidan] feat/workflow-suggest: nudge user to convert repeatable chat to workflow
Add SuggestConvertToWorkflow MCP tool that agents call at the end of a task
when they've completed something worth repeating (daily report, weekly check,
recurring data pull). Frontend detects the tool call and glows the "Convert to
workflow" button 3 times to draw the eye. When user clicks it, the suggested
cadence (e.g. "every weekday at 9am") is stored in the draft and seeded into
the scheduling agent's first prompt, so the agent can act on the suggestion
rather than asking the user again.

Tool is never auto-called — agents decide when a task is genuinely repeatable
(not debugging, creative work, one-off lookup). Tool description emphasizes
sparse, high-confidence use only (once per session max).

Files changed:
- backend/apps/agents/schedule_mcp_server.py: add SuggestConvertToWorkflow tool
- frontend/src/shared/mcpToolMeta.ts: add label for new tool
- frontend/src/app/pages/Dashboard/cards/AgentCard.tsx: detect suggestion in
  session messages, show+glow "Convert to workflow" button, pass cadence to draft
- frontend/src/shared/state/workflowsSlice.ts: add suggested_cadence field to
  Workflow interface
- frontend/src/app/pages/Workflows/SchedulingView.tsx: seed scheduling agent
  prompt with suggested cadence hint
2026-06-19 00:28:20 -07:00
abccodes 562d7537e9 [aidan] fix/workflow-cards: keep watched run tethered on finish to avoid duplicate chat 2026-06-18 23:30:43 -07:00
abccodes 8750c6a3be [aidan] fix/workflow-chat: force stop on watched run mirrors workflow card stop 2026-06-18 23:30:43 -07:00
abccodes b0725083a3 [aidan] feat/workflow-model: persist edit-agent model on save with switch notice and fresh drafts 2026-06-18 23:30:43 -07:00
abccodes 02f0736c63 [aidan] fix/agent-tokens: friendly out-of-tokens card across all agent surfaces 2026-06-18 23:30:43 -07:00
abccodes d401e11ebe [aidan] ux/workflows: surface paused state on card, sidebar, and calendar; tidy run history 2026-06-18 23:30:43 -07:00
AidanandGitHub c31748ca53 [aidan] feat/workflows: add scheduled-run "running now" toast with click-to-view (#97) 2026-06-18 21:11:05 -07:00
abccodes 168a49bae9 [aidan] feat/mcp-suggestions: dismissable integration banner with per-session cooldown 2026-06-18 04:13:39 -07:00
abccodes 3f780bf2b3 [aidan] feat/workflows: validate steps before scheduling and keep chat tool memory 2026-06-18 04:12:52 -07:00
abccodes 213e3d75bb [aidan] fix/dashboard-tethers: anchor workflow-sidecar tethers to measured card rects 2026-06-18 04:12:07 -07:00
abccodes 5350f3e6dc [aidan] feat/workflows: toast when an unattended scheduled run starts 2026-06-18 04:12:00 -07:00
abccodes bf00ff2ee0 [aidan] ux/edit-agent: move fix-prefix card below the step list 2026-06-18 04:11:28 -07:00
abccodes 658d2d3807 [aidan] ux/edit-agent: hide Discard for an unsaved new workflow 2026-06-18 04:11:06 -07:00
abccodes f650bb6e01 [aidan] feat/workflows: require at least one step to save a workflow 2026-06-18 04:10:32 -07:00
abccodes 4894b608b9 [aidan] feat/schedule-calendar: add calendar occurrences endpoint and concrete timezones 2026-06-18 03:56:33 -07:00
abccodes 506bcb7cbf [aidan] feat/workflow-runs: add pause, resume, and stop controls for live runs 2026-06-18 03:53:27 -07:00
abccodes 5648db5b77 [aidan] ui: fix popover descs 2026-06-18 02:21:39 -07:00
abccodes 9d13b3e496 [aidan] ux/schedule: toast when calendar view already open on expand 2026-06-18 00:29:45 -07:00
AidanandGitHub 5f45db08a0 [aidan] feat/history-popover: add chat history and scheduled tasks run log tabs (#96) 2026-06-17 23:22:40 -07:00
abccodes a1090b8ba1 [aidan] ui: fix running agent display 2026-06-17 23:21:02 -07:00
abccodes 9a1899ecb4 [aidan] ui: grey out chat pill when not selected 2026-06-17 23:21:02 -07:00
abccodes 09fa080378 [aidan] fix/workflows: connect watch tether, keep watched chat open, wire draft run/history 2026-06-17 23:21:02 -07:00
AidanandGitHub 72dd5208a6 [aidan] feat/workflows: auto-name workflows and polish the build flow (#95)
* [aidan] feat/workflow-auto-naming: auto-generate workflow titles from steps

Generate a title + description from a workflow's steps (one aux call,
reused for step labels) whenever it is still auto_named, so a workflow
built in the Edit Agent names itself on commit instead of staying
"New workflow". A manual rename sets auto_named=False and is never
overwritten. Stream the aux call (non-streaming drops content on some
9router lanes) and fall back to a step-derived title when the model is
unavailable.

* [aidan] feat/workflows: hide unsaved new workflows until first save

A brand-new "+ New" workflow is created with unsaved=true and kept out
of the hub's scheduled/unscheduled lists while the user is still building
it in the Edit Agent. The first commit (Save) clears the flag and the
workflow appears. Every other create path stays visible immediately.

* [aidan] ux/workflows: remove redundant save workflow button

The Edit Agent already has Discard/Save controls in its strip, so the
header "Save Workflow" button was a duplicate save path. Remove it and
its pulse/edit-session-id wiring; the model/time subtitle stays.

* [aidan] ux/workflows: animate title on auto-rename

Wrap the workflow card title in the same Typewriter the chat card uses,
so when the auto-generated name replaces the placeholder after Save it
retypes letter-by-letter. Gated on a real (non-placeholder) title so it
never animates on mount or for already-named workflows.

* [aidan] ux/workflows: animate sidebar title on auto-rename

Wrap the calendar hub's sidebar row title in the same Typewriter the
workflow card uses, so a title that auto-renames retypes letter-by-letter
in the sidebar too. Extract the placeholder/isRealTitle guard into the
shared workflowVisuals so the card and sidebar stay in sync.
2026-06-17 20:27:08 -07:00
abccodes 2bc96f603b [aidan] ui: fix stop viewing closing chat 2026-06-17 19:17:34 -07:00
abccodes 4644e7cca6 [aidan] ui: calendar sidebar naming 2026-06-17 19:04:27 -07:00
abccodes 233c1648c1 [aidan] ui: tool calling desc/naming 2026-06-17 18:41:11 -07:00
abccodes 4c253e182e aidan ui: schedule naming changes 2026-06-17 18:15:14 -07:00
abccodes 0bbc5c894b [aidan] fix/workflow-scheduling: save unscheduled workflows as drafts 2026-06-17 17:39:07 -07:00
abccodes 570dc29b82 [aidan] ux/workflows: polish workflow card interactions 2026-06-17 02:48:13 -07:00
abccodes f593214d9f [aidan] ux/chat: remove continue chat button 2026-06-17 02:26:05 -07:00
abccodes 5aeef89206 [aidan] feat/workflow-edit: add draft testing save flow 2026-06-17 00:33:27 -07:00
abccodes d3532f7a26 [aidan] chore/merge: merge scheduled tasks upstream 2026-06-17 00:23:09 -07:00
AidanandGitHub 2bb5657ec0 [aidan] feat/scheduled-tasks: calendar, rename, and edit workflows (#94)
* [aidan] bug: fix schedule button

* [aidan] fix/agent-errors: surface provider rate limits

* [aidan] ux/cards: click-to-rename for chat and workflow titles

Single-click a card's title to enter edit mode inline. Commit on Enter/blur,
cancel on Escape. Rename persists via PATCH for workflows and sessions.

* [aidan] feat/workflows: seed build prompt for zero-step workflows

When a new workflow has no steps, seed the agent with a prompt asking
the user to describe what the workflow should do, rather than starting blank.

* [aidan] feat/workflows: add-to-schedule popover for unscheduled workflows

Clicking the "+" on an unscheduled workflow row opens a popover with two options:
- Keep this schedule: enables the workflow's existing cadence and moves it to Scheduled
- Change schedule: opens the scheduling editor to pick a different time

* [aidan] ux/workflows: wire add-to-schedule popover and simplify New button

- Made the "+" icon on unscheduled workflow rows clickable, opening a popover
  to keep or change the schedule
- Removed AddIcon from toolbar "New" button (now reads "New" instead of "+ New")

* [aidan] fix/scheduled-tasks: open schedule calendar when Schedule pill clicked

Fixed the Schedule pill click being swallowed by the toolbar's dismiss handler.
Exempted the toolbar pills via data-toolbar-pills so their click handlers fire.

* [aidan] ux/workflows: open New workflow in agent build chat instead of empty card

When creating a new workflow from the hub, open it in edit_agent view (with the
agent builder chat) instead of a preview card. The workflow is created on the
backend first so the embedded session has a real ID.
2026-06-16 23:53:04 -07:00
AidanandGitHub e84eceee5b [aidan] feat/task-scheduling: add hourly and minute (15-min minimum) schedule intervals (#93) 2026-06-16 23:50:52 -07:00
abccodes ae68c1289b [aidan] feat/scheduled-tasks: remember workflow tool permissions across runs 2026-06-16 22:37:53 -07:00
AidanandGitHub 11bbabd0ed [aidan] ux/workflows: add workflow step removal (#91) 2026-06-16 19:02:54 -07:00
abccodes 5a5046d5a9 [aidan] fix: schedule time in chat 2026-06-16 00:51:56 -07:00
abccodes 43ffe63b31 [aidan] feat/scheduled-tasks: keep step labels in sync on edit and show chevron on every step 2026-06-16 00:06:59 -07:00
abccodes e8b1cf3b87 [aidan] chore/scheduled-tasks: merge eric/workflow feature onto current eric/dev 2026-06-15 16:02:21 -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
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
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 c179d20c16 [eric] swarm: Share button on app card + editor, import review/trust warning 2026-06-14 06:11:22 -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