Commit Graph
140 Commits
Author SHA1 Message Date
AidanandGitHub 6404d98b3a [aidan] feat/scheduled-tasks: agent workflow scheduling and in-chat convert (#98)
* [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

* [aidan] feat/agent-scheduling: route recurring asks through native workflows, deny claude cron skill

* [aidan] feat/workflow-convert: in-chat convert popup and auto-open scheduled workflow card
2026-06-19 03:47:35 -07:00
abccodes 111b527979 [aidan] refactor/private-names: rename error and schedule classifiers from _ to p_ 2026-06-19 03:33:11 -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 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
abccodes ae68c1289b [aidan] feat/scheduled-tasks: remember workflow tool permissions across runs 2026-06-16 22:37:53 -07:00
abccodes 5a5046d5a9 [aidan] fix: schedule time in chat 2026-06-16 00:51:56 -07:00
abccodes e8b1cf3b87 [aidan] chore/scheduled-tasks: merge eric/workflow feature onto current eric/dev 2026-06-15 16:02:21 -07:00
ciregenz 685314b313 [eric] free-trial: skip the idle cache-warm ping on the free lane (useless across rotating pool accounts, and it'd burn a run at idle) 2026-06-13 19:06:57 -07:00
ciregenz bf8b450e33 [eric] free-trial: tag the remaining per-query aux calls (turn-label, group-meta, cache-warm, preflight) so one query stays one run 2026-06-13 19:03:35 -07:00
ciregenz 846c13e8ad [eric] free-trial: tag title-gen with the session id so a query + its title-gen = one run 2026-06-13 18:52:51 -07:00
ciregenz 01df3cde17 [eric] free-trial: fresh task-id per query so each query is its own run (cancel or not) 2026-06-13 18:42:49 -07:00
ciregenz e4740b74c1 [eric] free-trial: pin the trial to Haiku end-to-end (desktop + subagent) so the CLI never sends effort 2026-06-13 17:38:06 -07:00
ciregenz c8a86cd3ff [eric] free-trial: set ENABLE_TOOL_SEARCH=auto on the proxy branch (tool-defer+cache_control 400) 2026-06-13 17:17:28 -07:00
ciregenz 8b6a65fc4b [eric] free-trial: tag free-lane calls with the session id so 1 task = 1 run 2026-06-13 16:03:02 -07:00
ciregenz 5291a4ae60 [aidan] merge #79: QoL, sidebar ui/ux, titles, text compaction, bug fixes 2026-06-13 02:06:54 -07:00
Aidan 7b88be7003 [aidan] ui/ux: hide noisy memory/mode from chat title, fix token bug
Drop the inline 'Memory N% full' pill from AgentChat and the mode label from AgentCard so the chat header stays quiet until tools are connected. Backend now emits agent:context_update after compact and clear so the session token counters reflect the trimmed history instead of stale pre-compact totals, with a new _estimate_post_compact_input helper and matching invariants in test_v2_invariants.
2026-06-13 00:40:19 -07:00
AidanandGitHub 08526b6149 [aidan] bug/feat: sidebar reordering, title improvements, openai gen bug (#76)
* [aidan] ui: sidebar reorder

* [aidan] ux: sidebar naming bug fix

* [aidan] ui: title changing improvements

* [aidan] ui/ux: aux title gen streams for cx/ route + agent writes meta.json first

- All aux LLM calls (chat title, turn label, group meta, dashboard name) now stream
  instead of using messages.create; 9router's cx/ subscription response translator
  drops content for GPT-5-family models on the non-streaming path but works per-event.
- aux_max_tokens_for floors GPT-5 budget at 4K so reasoning still leaves headroom for
  a label; non-reasoning models get the base 100.
- App Builder skill: write meta.json FIRST (step 1 of Quick start) so the app's name
  surfaces in the sidebar + ViewEditor header on the agent's first tool call instead
  of waiting until end-of-turn.
- Session-end sync_output_from_meta_json takes a fallback_name (= session.name) so an
  agent that never writes meta.json still leaves the app with the aux-LLM chat title
  rather than "Untitled App".
- Title display: truncateForTitle caps at 4 words / 30 chars; displayChatTitle picks
  the right Phase 1 placeholder by session.mode; normalizeSessionName strips legacy
  Agent-XXXX names at slice intake.
- Typewriter component (char-by-char delete-then-type) drives the chat header,
  dashboard card title, sidebar Apps entry, and ViewEditor TextField + description
  field; honors useReducedMotion.

* [aidan] tune: reduce gpt-5 aux token floor
2026-06-12 23:33:32 -07:00
ciregenz a1f390ef0f [eric] browser: claim only the user-picked card, not every dashboard card (fix 5cf6e2a) 2026-06-12 20:06:56 -07:00
ciregenz 5cf6e2a4b1 [eric] browser: honor the user's selected browser card instead of spawning a new one (selection now reaches sub-agent dispatch + is claimed for the task) 2026-06-12 17:31:46 -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 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
AidanandGitHub e8e19661e6 Inject selected-app context into dashboard agent chat (#69)
When a user selects an App card on the dashboard via the "Select UI element" picker, thread the selected Output ids to the backend (mirroring the selected_browser_ids path) and inject a per-app context block into the system prompt: each app's absolute workspace path, entry point, meta.json, and a pointer to its SKILL.md. This lets the agent edit existing apps in place from the main view (the dashboard card's Vite runtime live-reloads on save) without switching to the Apps tab.
2026-06-10 21:29:02 -07:00
ciregenz 100d6491f7 [eric] models: track model errors (diagnostic) + friendly 'not on your plan' card for the 1211 unknown-model wall 2026-06-10 19:10:57 -07:00
ciregenz a126c42a07 [eric] free-trial: hand the wheel back when a real model is connected mid-trial (key or 9router sub) 2026-06-10 16:32:25 -07:00
ciregenz fb178648df [eric] free-trial: backend dispatch injection, hardware fingerprint, mint/clear, exhaustion upsell 2026-06-09 23:54:10 -07:00
Aidanandciregenz 0a704d4690 [aidan] chat: isolate branch history, fresh session on edit/switch (#62) 2026-06-09 22:29:31 -07:00
ciregenz 1be1ce581d [eric] providers: Fable 5 turns thinking off by omitting the param, not thinking:disabled (which 400s) 2026-06-09 14:06:18 -07:00
ciregenz 91073becec [eric] browser: finish via a Done(message) tool so the user gets a plain conversational reply, not the OUTCOME tag 2026-06-08 22:15:52 -07:00
ciregenz 110dc1c745 [eric] browser: fast-path emits a synthetic BrowserAgent tool-call/result so the 'Browser Agent' bubble always shows, even when the orchestrator is skipped 2026-06-08 13:07:12 -07:00
ciregenz 62758cc517 [eric] browser: fast-path brief ENTRY url flows into dispatch, new cards skip the google detour 2026-06-06 00:17:05 -07:00
ciregenz 92df6ea4f0 [eric] browser: send-probe gate catches focus-type payloads, batched Enter blocked while composer pending 2026-06-05 23:30:23 -07:00
ciregenz 6fd1047543 [eric] browser: mechanical verify-first gate on send-class recovery, probe verdict gates the retry in code 2026-06-05 22:55:05 -07:00
ciregenz 99ba826be2 [eric] backend: INFO logging visible in dev plus ms-level traces across the fast path 2026-06-05 16:12:32 -07:00
ciregenz 2c55d17f50 [eric] browser: dead-dashboard dispatches fail in 1s instead of burning turns, recovery skips systemic causes 2026-06-05 15:56:38 -07:00
ciregenz 6ac76d3dbd [eric] backend: aux-generated names get squeezed short, refusals fall back instead of becoming titles 2026-06-05 15:49:13 -07:00
ciregenz 84eeb2925e [eric] browser: three-way fast path, READ answers public pages via local fetch in seconds 2026-06-05 15:17:33 -07:00
ciregenz fe63ae63d7 [eric] browser: fast path sharpens tasks via aux brief and retries one recovery dispatch 2026-06-05 13:00:49 -07:00
ciregenz 8ee209a83c [eric] browser: fast path skips orchestrator for browser-only first messages 2026-06-05 12:02:17 -07:00
ciregenz 928df4f324 [eric] websearch: gate built-in tool by model route so subscription Claude stops 401ing 2026-06-03 18:15:30 -07:00
ciregenz 33f6e4598e [eric] web: subscription-OAuth WebSearch 401s on token rotation, so keep the reliable DuckDuckGo fallback for those users 2026-06-03 15:29:20 -07:00
eric 4b3aa3eb8b [eric] fix: revert enable_tool_search back to auto (forcing 1 marked tools defer_loading and 400'd the claude sub route on the defer_loading+cache_control combo) 2026-06-01 07:58:09 -07:00
eric 1035c50be3 [eric] perf: force enable_tool_search=1 on non-anthropic paths so schemas load on demand and first message is ~9k tokens cheaper 2026-05-31 18:06:39 -07:00
eric ecf348f9cb [eric] fix: autocompact now actually trims the model's history instead of just showing a marker 2026-05-31 18:00:39 -07:00
ciregenz f0c2715713 [eric] workflows: restore scheduled-tasks on the workflow line (revert removal, keep windows fixes + 1.1.69) 2026-05-27 11:53:30 -07:00
Eric 3509c08057 [eric] workflows: remove scheduled-tasks end-to-end (frontend pages+slice, backend app+routes, electron poller), keep dock chat; bump 1.1.64 2026-05-26 11:12:29 -07:00
ciregenz 083d70def5 [eric] workflows: merge scheduled-tasks onto dev, re-home dashboard + fix backend imports 2026-05-24 23:41:53 -07:00
ciregenz 4e9f5ceb07 [eric] tree: group agent_manager helpers under agents/manager session and prompt 2026-05-23 13:08:01 -07:00
ciregenz fa57be6bbb [eric] tree: group foundational agent modules under agents/core 2026-05-23 13:05:15 -07:00