..
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: block app_api access to Cookbook host controls ( #3231 )
2026-06-07 19:20:11 +02: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
fix(auth): gate api tokens from user routes ( #2992 )
2026-06-07 12:55:01 +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
fix(cookbook): locate cookbook_state.json via DATA_DIR, not hardcoded /app/data ( #3332 )
2026-06-08 00:13:47 +01: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(upload): configure chat attachment size limit ( #2439 )
2026-06-07 22:42:24 +02: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(context_compactor): return original messages when compaction summary fails ( #2174 )
2026-06-07 16:40:16 +02:00
cookbook_serve_lifecycle.py
fix(cookbook): locate cookbook_state.json via DATA_DIR, not hardcoded /app/data ( #3332 )
2026-06-08 00:13:47 +01: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(research): avoid double split() call and potential IndexError ( #2229 )
2026-06-07 16:46:21 +02: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
fix(documents): restore PDF library metadata and preview ( #2483 )
2026-06-07 23:23:27 +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
refactor(tests): replace local function copies in test_endpoint_resolver with real imports ( #3359 )
2026-06-07 22:47:57 +02:00
event_bus.py
Fix logical bugs in event bus and bulk session deletion ( #3139 )
2026-06-07 17:08:50 +02: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(llm): Properly detect remote Ollama bare URLs as native endpoints ( fixes #3252 ) ( #3343 )
2026-06-07 21:19:19 +02: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
feat(platform): Add support for APFEL as part of the dependencies and models for the Cookbook. ( #2657 )
2026-06-07 17:28:02 +02: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
fix(security): harden untrusted_context_message against delimiter spoofing ( #3086 )
2026-06-07 22:15:50 +01:00
rag_manager.py
fix(rag): forward owner through manager wrapper ( #2991 )
2026-06-07 12:56:57 +02: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: preserve partial deep research findings on non-timeout errors ( #2189 )
2026-06-07 16:53:14 +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
Scope auxiliary LLM endpoints by owner ( #2996 )
2026-06-07 14:47:44 +02: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
feat(tasks): assign folder='Tasks' at creation + backfill migration ( #2834 )
2026-06-07 15:33:17 +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
fix: route all agent loopback calls through internal_api_base() helper ( #3322 )
2026-06-07 22:22:09 +01:00
tool_index.py
fix: block app_api access to Cookbook host controls ( #3231 )
2026-06-07 19:20:11 +02: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: block app_api access to Cookbook host controls ( #3231 )
2026-06-07 19:20:11 +02: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(upload): configure chat attachment size limit ( #2439 )
2026-06-07 22:42:24 +02:00
upload_limits.py
fix(upload): configure chat attachment size limit ( #2439 )
2026-06-07 22:42:24 +02: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