Commit Graph

113 Commits

Author SHA1 Message Date
gramps 1d1cb61264 add P2 item #17: bidirectional image I/O to backlog 2026-07-01 18:08:25 -07:00
gramps 8393497df5 add P2 item: HTTPS via Let's Encrypt to backlog 2026-07-01 18:02:41 -07:00
gramps 7651ea620c v1.8.8 -> v1.8.9: fix copy button with execCommand fallback for insecure context 2026-07-01 18:01:42 -07:00
gramps 04d885e9eb v1.8.7 -> v1.8.8: add TTR badge (time-to-respond) next to PPL 2026-07-01 17:56:28 -07:00
gramps 9ef306e133 v1.8.6 -> v1.8.7: add image paste guard with toast notification 2026-07-01 17:35:12 -07:00
gramps 6451f674bb v1.8.5 -> v1.8.6: bump patch for trash icon fix, model dropdown removal, preset default 2026-07-01 17:30:35 -07:00
gramps b52e120ba1 fix: restore trash icon, remove vestigial model dropdown, default preset to General Assistant 2026-07-01 17:28:38 -07:00
gramps cb8ceccbe0 docs: mark Task 2 dependency resolved — llama-server-coder.service created and verified on ultron 2026-07-01 17:13:37 -07:00
gramps cacb04b3de docs: clean up node references and branding consistency 2026-07-01 09:26:33 -07:00
gramps 2b7f51cdca docs: clarify Task 2 as dependency resolved — real model swap delivered by Roadmap N (Tasks 9-15) 2026-07-01 09:24:58 -07:00
gramps d2cc246e51 first commit - defining tasks file as a living doc for opencode 2026-07-01 09:04:06 -07:00
gramps b8405b8d76 fix: increase trash icon visibility (remove 0.5 opacity, bump to 15px) 2026-06-27 16:09:05 -07:00
gramps e3b1780292 feat: add trash-can icon to left of each conversation in sidebar
Replace the hover-reveal × on the right with an always-visible 🗑 icon
positioned to the left of the conversation title. Clicking it triggers
the existing deleteConversation() which shows a confirm dialog and
enforces admin-only access.
2026-06-27 16:07:18 -07:00
gramps 66b086c3f3 fix: restore EMBED_URL pointing to ollama on 192.168.50.210:11434 2026-06-27 16:03:19 -07:00
gramps 4b36fd315a fix: replace hardcoded EMBED_URL with LLAMA_SERVER_BASE from config
EMBED_URL in rag.py hardcoded the IP and port instead of using
LLAMA_SERVER_BASE, so the env var JARVISCHAT_LLAMA_SERVER_BASE
was ignored for embedding requests.
2026-06-27 15:59:43 -07:00
gramps fcc0605a4a release: bump version to v1.8.5 2026-06-27 15:27:47 -07:00
gramps 091e2ad2e3 test: add unit tests for all 10 routers (92 total)
New test files:
- test_conversations.py — list/create/get/update/delete/delete-all, admin enforcement
- test_presets.py — list/create/update/delete, default preset protection
- test_profile.py — get/update/default, length validation
- test_models_router.py — list/ps/show/stats/search-status, connect errors
- test_completions.py — API key auth, FIM passthrough, streaming/blocking, errors
- test_search_route.py — explicit search flow, no results, stream errors
- test_memories.py — edit/search/stats endpoints, validation, admin enforcement

Update AGENTS.md with full test file coverage table and README.md
2026-06-27 15:27:13 -07:00
gramps 5986c4ad86 fix: close two CSRF origin-check security gaps
- Extend origin check to all /api/ requests (not just state-changing methods),
  closing the GET/HEAD/OPTIONS bypass that allowed cross-origin reads
- origin_allowed() now returns False when both Origin and Referer headers
  are absent, preventing script-initiated requests from bypassing the check
- Update AGENTS.md and README.md to document the changes
2026-06-27 15:20:02 -07:00
gramps cc1efa7a21 fix: resolve all critical runtime errors and bugs from audit
- Add COMPLETIONS_API_KEY to config.py (env var + auto-generated fallback)
- Fix perplexity auto-search: upstream sends logprobs=true, parse_llama_stream_chunk
  extracts per-token logprobs, all_logprobs populated during streaming
- Fix all /api/models endpoints to target LLAMA_SERVER_BASE (port 8081) not OLLAMA_BASE
- Fix RAG embedding endpoint URL from port 11434 (Ollama) to 8081 (llama-server)
- Correct misleading error messages: 'inference server' not 'Ollama'
- Remove raw_results leak from SSE event stream in /api/search
- Fix weather query extractor: pattern-match instead of unconditional suffix append
- Escape FTS5 operator keywords (AND/OR/NOT/NEAR) in memory search
- Move auth.py BODY_LIMIT_DEFAULT_BYTES imports to module level
- Change RAG injection log level from warning to info
- Fix all 8 test files after modular refactor (rewire imports from correct modules)
- Update AGENTS.md and README.md to reflect v1.8.0 changes
2026-06-27 15:12:18 -07:00
gramps 41a8708c0d docs: add roadmap items M (MCP) and N (AMQP cluster nervous system), fix jarvis IP 2026-06-23 15:31:16 +00:00
gramps ec2f4c0332 feat: add OpenAI-compat /v1/chat/completions endpoint (TODO #22) v1.9.0 2026-06-20 14:34:47 -07:00
gramps f691787037 feat: add jarvisChat logo to static directory and update readme 2026-06-16 09:41:34 -07:00
gramps 56919965e1 update readme
embedded a screenshot (hopefully) into the text
2026-06-16 16:38:16 +00:00
gramps f1fbc24c94 feat: update logo to jarvisChat-logo-1024.png, update static reference in index.html 2026-06-16 09:22:22 -07:00
gramps 8d3cf5d478 Update README.md
bumped rev to 1.9.0 for the python refactoring
2026-06-16 15:20:02 +00:00
gramps d01dd3b761 refactor(arch): modular package structure — split monolithic app.py into config/db/auth/memory/search/rag/gpu + routers/
- config.py: all constants, env vars, limits, skill registry, profiles
- db.py: schema init, connection factory, skill state helpers
- security.py: PIN hashing, audit logging, rate limiting, CSRF, request helpers
- auth.py: session management, PIN verify, auth routes
- memory.py: FTS5 CRUD + remember/forget command processing
- search.py: SearXNG integration, perplexity scoring, refusal/hedge detection
- gpu.py: rocm-smi stats
- rag.py: Qdrant vector search + system prompt assembly
- routers/: conversations, memories, models, presets, profile, settings, skills, chat, search
- app.py: slim entry point, middleware, router registration only

Bumps to v1.9.0
2026-06-16 08:17:46 -07:00
gramps 5075a6bc55 feat: v1.8.0 — reposition as homelab developer platform, wire inference to ultron llama-server
- Bump version to 1.8.0
- Add LLAMA_SERVER_BASE constant, point all inference calls to ultron:8081
- Update startup log to include llama-server endpoint
- Rewrite README: four pillars, cluster architecture diagram, AMD+NVIDIA RPC setup,
  layer tuning progression (7→17→30-35 t/s), full API reference, complete roadmap A-L
- Reframe project identity: knowledge accumulation platform, not chat wrapper
2026-06-15 19:34:11 -07:00
gramps 970abc8957 chore: ignore .bak files 2026-06-14 21:35:02 -07:00
gramps dd475a6f2d chore: bump version to v1.8.0 2026-06-14 21:34:24 -07:00
gramps 6de3a1e154 feat: RAG pipeline + OpenAI SSE streaming, llama-server cluster integration 2026-06-14 21:34:24 -07:00
gramps 5a652c1b74 feat: switch from Ollama to llama-server OpenAI-compat API, fix streaming parser 2026-06-14 21:34:05 -07:00
gramps 18bca027de docs: replace README screenshot asset (v1.7.8) 2026-04-28 09:14:54 -07:00
gramps 36bca94840 docs(todo): add model/preset preflight validation item (v1.7.7) 2026-04-28 09:08:36 -07:00
gramps 71b48d940f docs: add v1.6/v1.7 release notes and developer wiki (v1.7.6) 2026-04-28 08:53:54 -07:00
gramps 58945a4324 feat(ui): add phase-1 skills toggles in settings (v1.7.5) 2026-04-28 08:49:19 -07:00
gramps 4d1541412b feat(skills): add phase-1 skill registry and toggles (v1.7.4) 2026-04-28 08:44:22 -07:00
gramps 250fec1f06 test(streaming): cover chat/search/memory paths (v1.7.3) 2026-04-28 08:31:01 -07:00
gramps 12188f3ad2 feat(errors): incident-key safe error envelopes (v1.7.2) 2026-04-27 16:56:17 -07:00
gramps 9589141521 feat(settings): allowlist /api/settings keys (v1.7.1) 2026-04-27 16:48:19 -07:00
gramps c88e52e0ef chore(release): bump version to v1.7.0 2026-04-27 16:44:33 -07:00
gramps 76e4461b38 feat(security): add LAN IP allowlist and ingress guardrails 2026-04-27 16:43:21 -07:00
gramps 28aa40c42a release: v1.6.1 link sanitization and backlog updates 2026-04-27 16:25:35 -07:00
gramps d9eba53926 fix(memory): sanitize FTS query tokens to handle punctuation 2026-04-27 10:23:42 -07:00
gramps 091a851064 chore(release): bump version to v1.6.0 2026-04-27 10:14:24 -07:00
gramps 81319f83d4 feat(auth): add guest/admin PIN security model and hardening 2026-04-27 10:09:53 -07:00
gramps fc11b73319 Update readme.md
marked #1 as completed
2026-04-08 05:02:30 +00:00
gramps 46f1d6bf4e Add CLAUDE.md with architecture and development guidance
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 09:12:39 -07:00
gramps 6f410e29d2 Fix type errors and bare except clauses in app.py; update readme
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:09:13 -07:00
gramps 7a151b7d50 Remove unused imports and dead code; update readme
- Drop unused JSONResponse import from fastapi.responses
- Remove never-used raw_results_md variable in explicit_search stream
- Note cleanup in v1.5.0 changelog

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 15:53:48 -07:00
gramps 6988997144 added readme for 1.5 2026-03-15 18:06:00 -07:00