| .. |
|
search
|
refactor(search): make src analytics a service shim (#2264)
|
2026-06-04 18:57:24 +02:00 |
|
action_intents.py
|
fix(calendar): route read requests to agent (#2452)
|
2026-06-05 09:24:04 +01:00 |
|
agent_loop.py
|
fix(agent): enforce guide-only tool policy (#3088)
|
2026-06-06 18:48:24 -06:00 |
|
agent_runs.py
|
Handle incomplete detached agent streams
|
2026-06-01 16:54:11 +09:00 |
|
agent_tools.py
|
Phase 1: consolidate tool output constants into src/constants.py (#2989)
|
2026-06-05 23:05:02 +02:00 |
|
ai_interaction.py
|
fix(ai): scope tool model resolution by owner
|
2026-06-04 00:37:28 +01:00 |
|
api_key_manager.py
|
Stop API key save() from writing other providers' keys as plaintext (#1944)
|
2026-06-04 04:47:13 +01:00 |
|
app_helpers.py
|
fix: inside_base_dir raises TypeError on a non-string path instead of failing closed (#1619)
|
2026-06-03 09:00:04 +09:00 |
|
app_initializer.py
|
feat(memory): add provider interface (#72)
|
2026-06-04 16:26:11 +01:00 |
|
assistant_log.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
auth_helpers.py
|
allow user who disable auth to use chat (#2548)
|
2026-06-05 22:54:19 +02:00 |
|
bg_jobs.py
|
Fix Windows Cookbook background tasks, exit statuses, and empty SSH logs wrapper (#1389)
|
2026-06-05 14:41:07 +02:00 |
|
bg_monitor.py
|
Ignore non-string background stream deltas (#1549)
|
2026-06-03 14:11:45 +09:00 |
|
builtin_actions.py
|
feat(reminders): add generic webhook as a fourth reminder channel (#2952)
|
2026-06-05 22:47:57 +02:00 |
|
builtin_mcp.py
|
Add native Windows compatibility layer
|
2026-06-01 15:09:47 +09:00 |
|
caldav_sync.py
|
fix(caldav): disable redirects on the sync/write-back DAVClient (SSRF) (#2663)
|
2026-06-07 05:05:24 +01:00 |
|
caldav_writeback.py
|
fix(caldav): disable redirects on the sync/write-back DAVClient (SSRF) (#2663)
|
2026-06-07 05:05:24 +01:00 |
|
chat_handler.py
|
Scope vision model resolution by owner (#3009)
|
2026-06-07 12:39:02 +02:00 |
|
chat_helpers.py
|
fix(vision): recognize Gemma 4 and Phi-4 as vision-capable models (#1704)
|
2026-06-03 13:36:50 +09:00 |
|
chat_processor.py
|
Fix calendar routing and user-local time context (#408)
|
2026-06-04 13:20:04 +01:00 |
|
chroma_client.py
|
fix: ChromaDB unreachable blocks app startup for 30-60s (#326) (#476)
|
2026-06-01 22:22:41 +09:00 |
|
cleanup_service.py
|
Replace cleanup service datetime.utcnow calls (#1494)
|
2026-06-03 14:14:27 +09:00 |
|
config.py
|
Add native Windows compatibility layer
|
2026-06-01 15:09:47 +09:00 |
|
constants.py
|
Phase 1: consolidate tool output constants into src/constants.py (#2989)
|
2026-06-05 23:05:02 +02:00 |
|
context_budget.py
|
feat: adapt agent_input_token_budget to the model context window (#1170) (#1230)
|
2026-06-03 00:13:53 +09:00 |
|
context_compactor.py
|
fix(compactor): shrink oversized tool_calls arguments so trim_for_context can fit a tool-only turn (#2949)
|
2026-06-05 20:23:38 +02:00 |
|
cookbook_serve_lifecycle.py
|
Cookbook scheduler + serve: schedule via Tasks, Stop verifies kill, Ollama auto port-pick
|
2026-06-05 14:41:43 +09:00 |
|
copilot.py
|
feat(provider): add GitHub Copilot provider with device-flow auth (#1480)
|
2026-06-04 21:13:14 +02:00 |
|
database.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
deep_research.py
|
fix(deep-research): wrap fetched webpage content in untrusted-context sandbox
|
2026-06-06 03:37:10 -06:00 |
|
document_actions.py
|
fix: document tidy crashes on a duplicate with NULL timestamps (#1772)
|
2026-06-03 13:23:01 +09:00 |
|
document_processor.py
|
Scope vision model resolution by owner (#3009)
|
2026-06-07 12:39:02 +02:00 |
|
email_thread_parser.py
|
Ignore non-string email thread bodies (#1654)
|
2026-06-03 14:06:31 +09:00 |
|
embedding_lanes.py
|
fix: split Chroma embedding lanes (#3046)
|
2026-06-06 03:17:19 -06:00 |
|
embeddings.py
|
Add support for EMBEDDING_API_KEY (#2691)
|
2026-06-05 14:47:24 +02:00 |
|
endpoint_resolver.py
|
feat(provider): add GitHub Copilot provider with device-flow auth (#1480)
|
2026-06-04 21:13:14 +02:00 |
|
event_bus.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
exceptions.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
generated_images.py
|
Constrain generated-image paths to image root (#2837)
|
2026-06-05 10:33:47 +02:00 |
|
goal_based_extractor.py
|
fix(deep-research): wrap fetched webpage content in untrusted-context sandbox
|
2026-06-06 03:37:10 -06:00 |
|
integrations.py
|
feat(reminders): add generic webhook as a fourth reminder channel (#2952)
|
2026-06-05 22:47:57 +02:00 |
|
llm_core.py
|
fix(chat): show requested and actual reply models
|
2026-06-06 04:30:16 -06:00 |
|
markitdown_runtime.py
|
fix: is_markitdown_format crashes on a non-string path (#1618)
|
2026-06-03 09:00:10 +09:00 |
|
mcp_manager.py
|
feat: Add plan mode to the chat agent (#638)
|
2026-06-05 16:32:25 +02:00 |
|
mcp_oauth.py
|
feat(mcp): add Streamable HTTP transport with OAuth 2.0 (#1033)
|
2026-06-05 02:40:52 +02:00 |
|
memory.py
|
refactor(memory): canonicalize memory imports (#50)
|
2026-06-04 05:31:15 +01:00 |
|
memory_provider.py
|
feat(memory): add provider interface (#72)
|
2026-06-04 16:26:11 +01:00 |
|
memory_vector.py
|
fix: split Chroma embedding lanes (#3046)
|
2026-06-06 03:17:19 -06:00 |
|
model_context.py
|
fix(model-context): count tool_calls in estimate_tokens so compaction sees real size (#2751)
|
2026-06-05 15:56:54 +02:00 |
|
model_discovery.py
|
Reject invalid Tailscale discovery JSON (#1556)
|
2026-06-03 14:11:31 +09:00 |
|
pdf_form_doc.py
|
fix(forms): keep PDF-form export from dropping values when the label has '*' (#1407)
|
2026-06-03 14:24:07 +09:00 |
|
pdf_forms.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
pdf_runtime.py
|
Show a clear message when PyMuPDF is missing
|
2026-06-01 18:27:17 +09:00 |
|
personal_docs.py
|
Skip malformed personal keyword index rows
|
2026-06-03 13:42:05 +09:00 |
|
preset_manager.py
|
Fall back from invalid preset stores (#1402)
|
2026-06-03 14:12:31 +09:00 |
|
prompt_security.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
rag_manager.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
rag_singleton.py
|
Re-enable VectorRAG init with lazy retry
|
2026-06-01 14:32:13 +09:00 |
|
rag_vector.py
|
fix: split Chroma embedding lanes (#3046)
|
2026-06-06 03:17:19 -06:00 |
|
rate_limiter.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
readiness.py
|
feat: add /api/ready readiness probe (DB, data dir, local-first) (#1200)
|
2026-06-02 23:33:22 +09:00 |
|
request_models.py
|
Odysseus v1.0
|
2026-05-31 23:58:26 +09:00 |
|
research_handler.py
|
fix: respect user round count in deep research (#2896)
|
2026-06-05 20:49:42 +02:00 |
|
research_utils.py
|
Treat non-string research summaries as low quality
|
2026-06-03 13:42:24 +09:00 |
|
secret_storage.py
|
Add native Windows compatibility layer
|
2026-06-01 15:09:47 +09:00 |
|
session_actions.py
|
Fix issue 135 chat context bleed (#281)
|
2026-06-04 13:27:46 +01:00 |
|
session_search.py
|
feat(search): unify session transcript search (#2877)
|
2026-06-05 18:08:31 -06:00 |
|
settings.py
|
feat(reminders): add generic webhook as a fourth reminder channel (#2952)
|
2026-06-05 22:47:57 +02:00 |
|
settings_scrub.py
|
Harden note reminder dispatch ownership (#2999)
|
2026-06-07 12:52:27 +02:00 |
|
task_endpoint.py
|
Harden session endpoint owner scope (#1308)
|
2026-06-03 02:40:22 +09:00 |
|
task_scheduler.py
|
Enforce task chain owner scope (#3006)
|
2026-06-07 12:43:43 +02:00 |
|
teacher_escalation.py
|
fix: evaluate_turn_regex crashes on a non-string agent_reply (#1723)
|
2026-06-03 13:31:26 +09:00 |
|
text_helpers.py
|
fix: normalize Gemma 4 thought-channel output (#2224)
|
2026-06-04 19:26:58 +02:00 |
|
tls_overrides.py
|
Support extra CA bundle for private-CA LLM providers (#769)
|
2026-06-04 13:18:50 +01:00 |
|
tool_execution.py
|
fix(agent): enforce guide-only tool policy (#3088)
|
2026-06-06 18:48:24 -06:00 |
|
tool_implementations.py
|
Tighten manage notes owner checks (#3002)
|
2026-06-07 12:50:10 +02:00 |
|
tool_index.py
|
fix: route misfenced web lookups to web tools
|
2026-06-06 03:46:31 -06:00 |
|
tool_parsing.py
|
fix: route misfenced web lookups to web tools
|
2026-06-06 03:46:31 -06:00 |
|
tool_policy.py
|
fix(agent): enforce guide-only tool policy (#3088)
|
2026-06-06 18:48:24 -06:00 |
|
tool_schemas.py
|
fix(calendar): accept list event range aliases
|
2026-06-06 03:47:18 -06:00 |
|
tool_security.py
|
feat: Add plan mode to the chat agent (#638)
|
2026-06-05 16:32:25 +02:00 |
|
topic_analyzer.py
|
Topics: hydrate session history before analysis
|
2026-06-02 20:44:27 +09:00 |
|
upload_handler.py
|
fix: treat Nix files as readable uploads (#2249)
|
2026-06-04 12:06:24 +02:00 |
|
upload_limits.py
|
fix(uploads): bound direct upload reads
|
2026-06-04 00:32:50 +01:00 |
|
url_safety.py
|
fix: check_outbound_url crashes on a truthy non-string URL (#1623)
|
2026-06-03 08:59:49 +09:00 |
|
url_security.py
|
Reapply "Merge branch 'main' of github.com:pewdiepie-archdaemon/odysseus"
|
2026-06-03 22:47:00 +09:00 |
|
user_time.py
|
Fix calendar routing and user-local time context (#408)
|
2026-06-04 13:20:04 +01:00 |
|
visual_report.py
|
security: sanitize rendered research-report HTML (#364)
|
2026-06-04 13:42:49 +01:00 |
|
webhook_manager.py
|
fix(webhooks): redact IPv6 addresses in sanitized error messages (#3038)
|
2026-06-07 04:55:33 +01:00 |
|
youtube_handler.py
|
fix: youtube transcript formatter crashes on a non-dict segment (#1745)
|
2026-06-03 13:29:08 +09:00 |