Commit Graph
6 Commits
Author SHA1 Message Date
Jon Saad-FalconandClaude Opus 4.6 d73014d6bb feat: Morning Digest pipeline + unified OAuth + Apple connectors
Full morning digest system:
- MorningDigestAgent, DigestStore, digest_collect tool, TTS backends
- Connectors: Oura, Strava, Spotify, Google Tasks, Apple Health, Apple Music
- CLI `jarvis digest` command + FastAPI /api/digest endpoints
- Cartesia, Kokoro, OpenAI TTS backends with persona prompts

Unified OAuth setup across all surfaces:
- Generic OAuthProvider registry for Google, Strava, Spotify
- CLI auto-opens browser + catches callback (no more paste-code)
- Server /oauth/start + /oauth/callback endpoints for desktop/browser
- Frontend OAuthPanel with popup + polling

Apple connectors:
- Apple Health reads from HealthKit DB or iPhone export XML
- Apple Music queries Music.app via AppleScript

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:05:35 -07: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
59dad5eddf fix: address installation failures and SDK bugs (#100)
Bug 1 — Document Rust toolchain requirement:
- Add `maturin develop` step to README, installation docs (all 3
  sections), and quickstart.sh
- Note PYO3_USE_ABI3_FORWARD_COMPATIBILITY for Python 3.14+

Bug 2 — Fix namespace package conflict:
- Move force-include targets from openjarvis/ to _node_modules/ in
  pyproject.toml to prevent editable-install namespace shadowing
- Add fallback path resolution in claude_code.py and
  whatsapp_baileys.py for wheel installs

Bug 3 — Fix trace debugger "No traces yet":
- Enable traces by default (TracesConfig.enabled = True)
- Fix api_routes.py: use store.list_traces() not .recent(),
  dataclasses.asdict() not .to_dict(), get store from app.state
- Wire TraceStore into app.state in app.py

Bug 4 — Fix thinking models returning empty responses:
- Remove hardcoded enable_thinking: False from _openai_compat.py
  that suppressed Qwen3/DeepSeek-R1 output on OpenAI-compatible
  engines (vLLM, SGLang, llama.cpp)

Closes #100

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:29:26 -07:00
Gabriel Bo 3ca1b63962 cleaning up scripts 2026-03-16 21:52:17 -07:00
Gabriel Bo 14733433b0 adding pagination and limiting to 50 per sign up on leaderboard 2026-03-16 15:58:39 -07:00
Jon Saad-Falconandkrypticmouse 8798e2ee4f init commit 2026-03-12 17:29:39 +00:00