Commit Graph
347 Commits
Author SHA1 Message Date
Jon Saad-FalconandClaude Opus 4.6 22fa74bc36 fix: unified savings card with dividers, large values, clean layout
Single card with "Cloud Savings for Agent" header. All metrics
(queries, tokens, compute, energy, dollar savings) in one flex row
with vertical dividers separating usage | compute+energy | costs.
Large bold values above small labels. Consistent typography.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:24:43 -07:00
Jon Saad-FalconandClaude Opus 4.6 54d5a4a4c0 fix: single row for stats + savings, value above label, consistent style
All bubbles (Total Queries, Input Tokens, Output Tokens, Compute,
Energy, and per-provider dollar savings) now sit in one flex row
under "Cloud Savings for Agent". Each bubble has the value (bold)
above the label, with consistent styling. Green for savings values.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:20:05 -07:00
Jon Saad-FalconandGitHub 15e98498f6 feat: Personal Deep Research — connectors, retrieval, agent, channels, desktop (#78)
feat: Personal Deep Research — connectors, retrieval, agent, channels, desktop
2026-03-27 14:13:26 -07:00
Jon Saad-FalconandClaude Opus 4.6 ce1d41bec5 fix: compact left-aligned stats and savings in flex rows
Usage stats (Total Queries, Input Tokens, Output Tokens) and Cloud
Savings (Compute, Energy, Dollar Savings) now use flex rows with
compact padding, left-aligned, wrapping naturally without filling
the full width.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:12:49 -07:00
Jon Saad-FalconandClaude Opus 4.6 421560e75b fix: reorder overview — config then stats then compact savings
Overview tab order: Instruction → Configuration → Usage Stats
(queries/tokens in centered boxes) → Cloud Savings (compact flex
row, left-aligned, smaller padding).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:06:46 -07:00
Jon Saad-FalconandClaude Opus 4.6 258feff64e fix: skip torch-dependent tests when torch not installed in CI
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:01:30 -07:00
Jon Saad-FalconandClaude Opus 4.6 30bb67b125 fix: green savings in 3 boxes, inject current date into agent ticks
1. Cloud Savings for Agent: Compute, Energy, Dollar Savings in
   separate boxes in a row, all values green
2. Agents now receive current date in their input text so they
   know what day it is for time-sensitive research queries

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 14:01:25 -07:00
Jon Saad-FalconandClaude Opus 4.6 c9534967fc fix: interval hrs/min picker, per-agent savings with FLOPs/energy
1. Interval schedule now uses hours + minutes picker (max 24h)
   instead of raw seconds input
2. Cloud Savings section is now per-agent (computed from agent's
   own token counts), not session-wide
3. Shows FLOPs, Energy (kJ), and per-provider savings comparison
   (GPT-5.3, Claude Opus 4.6, Gemini 3.1 Pro)
4. Removed kWh per-provider (inaccurate), replaced with compact
   FLOPs + Energy row above provider savings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:54:12 -07:00
Jon Saad-Falcon 0bc43eec39 fix: add system_prompt to template for CI test compatibility 2026-03-27 13:48:31 -07:00
Jon Saad-FalconandClaude Opus 4.6 4534abbea5 feat: model Change button, agent telemetry, savings display, Total Queries
1. Intelligence row has explicit "Change" button with loading state
2. Agent ticks now wrapped with InstrumentedEngine so FLOPs, energy,
   and cost savings are recorded in telemetry
3. Overview shows Cloud Savings section (per-provider: cost saved, kWh)
4. Stat cards show Total Queries, Input Tokens, Output Tokens
5. "Total Runs" renamed to "Total Queries" everywhere

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:45:50 -07:00
Jon Saad-FalconandClaude Opus 4.6 db64abec23 fix: add schedule_value to template, skip server tests when fastapi missing
- personal_deep_research.toml: add schedule_value="" for template test compat
- test_deep_research_tools_wiring: skip when fastapi not installed in CI

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:42:43 -07:00
Jon Saad-Falcon c235ca4c74 chore: remove MagicMock test artifacts 2026-03-27 13:33:56 -07:00
Jon Saad-FalconandClaude Opus 4.6 35249b4cb4 fix: markdown rendering in Interact, separate instruction section
1. Agent responses in Interact tab now render as markdown (headers,
   bold, lists, etc.) instead of raw text with ** and ##
2. Instruction section is its own box above Configuration in Overview
3. Edit button is inline next to "Instruction" heading
4. User messages stay as plain text (no markdown needed)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:33:42 -07:00
Jon Saad-FalconandClaude Opus 4.6 869d9256fd fix: resolve all lint errors after merge with main
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:33:42 -07:00
Jon Saad-FalconandClaude Opus 4.6 037b40a937 fix: wizard hover highlight, card layout, editable schedule & instruction
1. Template cards highlight with accent border on hover
2. Text aligned top-left, emoji inline with title
3. Schedule is now an editable dropdown (not hardcoded display)
4. Overview tab shows current instruction with Edit button
5. Instruction is editable and saved to agent config

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:09:41 -07:00
Jon Saad-FalconandClaude Opus 4.6 bce8a2fe12 merge: resolve conflicts with main — keep both DeepResearch tools + MCP functions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:09:12 -07:00
Jon Saad-FalconandGitHub b55b93a9c5 feat: simplify agent wizard, wire tools, add smart defaults (#149)
feat: simplify agent wizard, wire tools, add smart defaults
2026-03-27 12:54:30 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 8629749e36 feat: add jarvis channels CLI commands for iMessage daemon lifecycle
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:54:09 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 37ad345b2d feat: add iMessage AppleScript daemon for iPhone-to-agent messaging
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:53:59 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 f75bd469cc feat: wire ChannelBridge to route messages to DeepResearchAgent
Add deep_research_agent parameter to ChannelBridge.__init__ and update
_handle_chat to try DeepResearchAgent first, falling back to system.ask()
when no research agent is configured.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:53:25 -07:00
Jon Saad-FalconandClaude Opus 4.6 f2d84840ce docs: add implementation plan for channel gateway → DeepResearch wiring
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 12:51:47 -07:00
Jon Saad-FalconandClaude Opus 4.6 17de84b9e6 feat: merge channel gateway from PR #78 — ChannelBridge, webhooks, sessions, auth
Cherry-picks the mobile channel gateway infrastructure:
- ChannelBridge orchestrator for multi-channel routing
- Webhook endpoints for Twilio SMS, BlueBubbles (iMessage), WhatsApp
- SessionStore for per-sender conversation tracking
- API key authentication middleware
- TwilioSMSChannel adapter
- CLI commands: jarvis auth, jarvis tunnel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 12:49:48 -07:00
Jon Saad-Falcon 5a37e9c774 fix: remove unused TestClient import in recommended model tests 2026-03-27 12:48:31 -07:00
Jon Saad-Falcon 5c942f41b3 chore: remove spec and plan docs from branch 2026-03-27 12:42:47 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 add0abde41 feat: wire DeepResearch tools in managed agent streaming endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:40:16 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 be1ed32a89 feat: add 'jarvis research' CLI alias for deep-research-setup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:39:43 -07:00
Jon Saad-Falcon a3b81aa200 feat: add Personal Deep Research agent template 2026-03-27 12:39:28 -07:00
Jon Saad-FalconandClaude Opus 4.6 69354136f0 docs: add implementation plan for Personal DeepResearch template + server wiring
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 12:37:20 -07:00
Jon Saad-FalconandClaude Opus 4.6 cbabcd4a8f feat: rewrite agent wizard — 2-step flow with smart defaults
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 12:36:07 -07:00
Jon Saad-FalconandClaude Opus 4.6 a65dbb50fb docs: add design spec for Personal DeepResearch agent template
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 12:33:29 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 e4466146ce feat: add /v1/recommended-model endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:27:24 -07:00
Jon Saad-FalconandClaude Opus 4.6 7366681f62 feat: wire tools from agent config to executor via ToolRegistry
Resolve tool names from config["tools"] into actual tool instances
using ToolRegistry, inject runtime deps, and pass them to the agent
constructor instead of hardcoded tools=[].

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:32:57 -07:00
Jon Saad-FalconandGitHub b82575ea5b Merge pull request #147 from open-jarvis/feat/mcp-streaming-tool-calls
feat: fix external MCP server integration and add streaming tool-call support
2026-03-27 11:30:03 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 ccea853e5e feat: expand system_prompt_template with instruction on agent creation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 11:28:18 -07:00
Jon Saad-FalconandClaude Sonnet 4.6 043c86b321 feat: add system_prompt_template, icon, update defaults in agent templates
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 11:25:41 -07:00
Jon Saad-FalconandGitHub b4e70a5a7d Merge pull request #148 from open-jarvis/fix/leaderboard-outlier-filter
fix: filter outlier entries from leaderboard instead of recomputing
2026-03-27 11:22:09 -07:00
Jon Saad-FalconandClaude Opus 4.6 049d6ff543 docs: add agent wizard simplification implementation plan
7-task plan covering template TOMLs, manager expansion, executor tool
wiring, recommended-model endpoint, frontend API, wizard rewrite,
and integration testing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:21:01 -07:00
krypticmouseandClaude Opus 4.6 8899662fc5 fix: line-too-long lint error in agent_manager_routes.py
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 18:19:09 +00:00
Jon Saad-FalconandClaude Opus 4.6 264998b36c fix: filter outlier entries from leaderboard instead of recomputing
Replace the recompute approach from #146 with per-token outlier
detection.  Entries whose energy, FLOPs, or dollar savings exceed
generous per-token thresholds (~1000x legitimate values) are hidden
from the leaderboard entirely.  All displayed values come directly
from the database — no rewriting of submitted data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:17:31 -07:00
Jon Saad-FalconandClaude Opus 4.6 728896ae86 docs: add agent wizard simplification design spec
Sub-project A spec covering: 2-step wizard, smart template defaults,
rich system prompt templates, tool wiring fix, recommended model
endpoint, and Advanced settings collapse.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:15:37 -07:00
b39dbedcc4 feat: fix external MCP server integration and add streaming tool-call support
Rebased and cleaned-up version of PR #113 by @mricharz, resolved against
current main (including Codex engine, Gemini thought_signature, and
agent manager fixes merged since the original PR).

MCP Transport & Client:
- StreamableHTTPTransport with session tracking, SSE parsing, timeouts
- MCPClient.initialize() sends proper MCP handshake (protocolVersion,
  capabilities, clientInfo) + notifications/initialized
- Fix StdioTransport constructor: command=[command] + args
- MCPRequest.to_dict() with notification support (id=None)

External MCP Discovery:
- _discover_external_mcp supports both url (HTTP) and command (stdio)
- Per-server include_tools / exclude_tools filtering
- MCP clients persisted on JarvisSystem for runtime lifetime

Streaming Tool-Call Support (stream_full):
- StreamChunk dataclass in _stubs.py (content, tool_calls, finish_reason, usage)
- Default stream_full() on InferenceEngine ABC wraps stream() for backward compat
- _OpenAICompatibleEngine.stream_full() with SSE parsing
- CloudEngine: _stream_full_openai (OpenAI/OpenRouter/MiniMax/Codex routing)
               _stream_full_anthropic (event-based → OpenAI delta format)
- InstrumentedEngine, MultiEngine: stream_full delegation
- GuardrailsEngine: stream_full with post-hoc security scanning (FIXED:
  original PR bypassed output scanning — now accumulates and scans like stream())

Other improvements:
- _prepare_anthropic_messages() extracted to eliminate duplication
- Default tool_choice=auto when tools are provided (OpenAI compat engines)
- MCP tool injection into managed agent streaming path
- Documentation: docs/user-guide/mcp-external-servers.md

Tests: ~59 new tests across 8 test files, all passing.

Closes PR #113

Co-Authored-By: mricharz <mricharz@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 18:09:54 +00:00
Jon Saad-FalconandClaude Opus 4.6 23d8b7128e feat: add query expansion strategies to DeepResearch system prompt
Teaches the agent to expand abstract/categorical queries into concrete
search terms using strategies (category→instances, synonyms, broader/narrower,
context clues) rather than hardcoded examples.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:05:34 -07:00
Jon Saad-FalconandGitHub eadcc3bb60 Merge pull request #146 from open-jarvis/fix/leaderboard-anti-gaming
fix: recompute leaderboard energy/FLOPs from tokens, cap dollar savings
2026-03-27 11:03:19 -07:00
Jon Saad-FalconandClaude Opus 4.6 77b5567e47 fix: recompute leaderboard energy/FLOPs from tokens, cap dollar savings
Energy and FLOPs are now derived from total_tokens on the leaderboard
display using Claude Opus 4.6 constants, rather than trusting submitted
DB values. This prevents gaming (e.g. TotallyNoire submitting 14B Wh
from 15M tokens). Dollar savings are clamped at the theoretical max
($25/1M tokens) on both the leaderboard and frontend submission side.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 10:58:36 -07:00
Jon Saad-FalconandGitHub 957ce83955 Merge pull request #145 from open-jarvis/docs/macos-installation-guide
docs: add macOS installation guide for llama.cpp
2026-03-27 10:46:55 -07:00
Jon Saad-FalconandGitHub b8b3369ad1 Merge pull request #144 from open-jarvis/fix/migrate-savings-data
fix: add SQL migration to recompute historical leaderboard savings
2026-03-27 09:17:55 -07:00
0ce10bd97b docs: add macOS installation guide for llama.cpp
Comprehensive step-by-step guide covering Homebrew, uv, Rust, llama.cpp,
model download, Python 3.12 pin (PyO3 compat), and common pitfalls.

Cherry-picked from PR #131 by @gridworks — cleaned up to include only
the docs content (removed duplicate files, binary artifacts, and
unrelated lockfile changes from the original PR).

Co-Authored-By: gridworks <5502067+gridworks@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 16:17:17 +00:00
Jon Saad-FalconandClaude Opus 4.6 d7d0125454 fix: add SQL migration to recompute historical leaderboard savings
Companion to #143 which fixed the frontend to use Claude Opus 4.6 as
the sole baseline. This migration recomputes existing Supabase rows
using the exact closed-form: new = T/3.8M + 10*old/19, derived from
the original triple-provider formula.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 09:13:31 -07:00
Jon Saad-FalconandGitHub bfdc71d31d Merge pull request #142 from open-jarvis/feat/codex-engine-support
feat: add Codex cloud engine for ChatGPT Plus/Pro subscribers
2026-03-26 19:06:46 -07:00
Jon Saad-FalconandGitHub 44626b0ef8 Merge pull request #143 from open-jarvis/fix/leaderboard-savings-single-provider
fix: use Claude Opus 4.6 as sole baseline for leaderboard savings
2026-03-26 19:04:23 -07:00