Commit graph

50 commits

Author SHA1 Message Date
CREDO23
c51aca6ccc refactor(agents): group MCP tools into shared/tools/mcp/ subpackage
The three MCP siblings (mcp_client/mcp_tool/mcp_tools_cache) served one
objective but sat loose at the top of shared/tools. Grouped them into an
mcp/ package and dropped the redundant prefix: client.py, tool.py, cache.py.
Updated all importers (routes, mcp_tools subagent, e2e fake patch targets,
unit test) to the new paths.
2026-06-04 20:35:38 +02:00
CREDO23
64512c604d refactor(agents): colocate gmail + calendar connector tools into subagent slices
Gmail and Calendar are handled together because both Google connectors share
the _build_credentials helper that lived in shared/tools/gmail.

- relocate the gmail helpers (_get_token_encryption, _build_credentials,
  _gmail_headers, _format_gmail_summary) into the gmail subagent slice
  (tools/_helpers.py); repoint gmail search_emails/read_email to it.
- calendar search_events now imports _build_credentials from the gmail slice
  (preserving the existing cross-connector Google-auth dependency).
- repoint both dead tools/__init__ shims at the live local impls.
- fix tests/e2e native_google fake: it patched the dead shared
  google_calendar.*.build paths; point it at the live subagent calendar
  modules (which actually import googleapiclient build).
- delete dead shared/tools/{gmail,google_calendar} twins.

shared/tools now has zero connector dirs. agents unit suite green (942).
2026-06-04 20:09:37 +02:00
CREDO23
5b45f78a16 refactor(chat): delete legacy stream_new_chat monolith (cutover complete)
The flows orchestrators (new_chat/resume_chat) are now the sole live path
after the byte-for-byte differential proof, so the monolith and its
monolith-vs-flows parity scaffolding are removed.

- Repoint the last live importer (anonymous_chat_routes) to
  streaming.agent.event_loop.stream_agent_events + shared.stream_result.StreamResult
  (drop-in; the keyword-only fallback-commit params default to inert for anon).
- Repoint e2e launcher patch targets to flows.shared.llm_bundle.
- Repoint helper unit tests (chunk_parts, thinking-step ids, tool-input
  streaming) to their flows homes to preserve coverage.
- Delete the monolith, the contract test, and the parity tests
  (parallel_refactor, stage_1, stage_2, orchestrator_frame) whose sole
  purpose was comparing against the now-removed monolith.

Full suite green (2622 passed, 1 skipped); the two excluded live-app dirs
(document_upload, composio) have a pre-existing, env-gated registration 404
unrelated to this change.
2026-06-04 14:35:45 +02:00
CREDO23
aab95b9130 refactor(agents): move tools package to app/agents/shared (slice 6)
Relocate the entire new_chat/tools/ package (62 files incl. registry, hitl, MCP
cluster, and all connector subpackages: gmail/slack/discord/teams/drive/etc.)
to the shared kernel. The package turned out to be a clean cohesive cluster:
its only references to non-tools new_chat modules were comments, and its
middleware deps were already flipped to shared in slice 5c.

Flip 33 live importers (multi-agent, flows, routes, services, anonymous_agent,
tests). Re-export shims remain for the frozen single-agent stack: a package
__init__ mirroring the public surface (new_chat.__init__ imports it) plus
invalid_tool + registry submodule shims (chat_deepagent imports those).

Resolves slice 5c's two transient back-edges: shared/middleware/action_log
(TYPE_CHECKING ToolDefinition) and tool_call_repair (local INVALID_TOOL_NAME)
now point at app.agents.shared.tools.
2026-06-04 13:11:56 +02:00
CREDO23
946f8a8c5d refactor(agents): move llm_config + prompt_caching to app/agents/shared (slice 4b)
Relocate the mutually-dependent LLM config layer and the LiteLLM prompt-caching
helper to the shared kernel as one unit, rewiring their internal cross-reference
to the shared paths. Flip 21 non-frozen importers. Re-export shims remain at
new_chat/{llm_config,prompt_caching}.py for the frozen single-agent stack
(chat_deepagent); they will be removed when that stack is retired.
2026-06-04 12:41:52 +02:00
Anish Sarkar
cc06cff4fb feat(tests): add mock response for file ownership in composio_module 2026-05-16 20:20:04 +05:30
Anish Sarkar
275e2c9e83 chore: fix linting 2026-05-12 04:00:04 +05:30
Anish Sarkar
bed2041a1b chore: modify E2E test configuration by updating global LLM model IDs to negative values for improved test isolation 2026-05-12 03:30:01 +05:30
Anish Sarkar
0b9fc00663 chore: update global LLM config fixture to include both premium and free models for comprehensive E2E testing 2026-05-12 03:00:35 +05:30
Anish Sarkar
650b691a39 chore: enhance E2E tests by adding synthetic global LLM config and updating environment variables for Google OAuth 2026-05-12 02:37:39 +05:30
Anish Sarkar
c052fc9304 chore: add fake DoclingService for E2E tests and integrate into runtime fakes 2026-05-12 00:30:16 +05:30
Anish Sarkar
b247ff37df chore: implement test-only token mint endpoint and update E2E test authentication flow 2026-05-11 19:48:18 +05:30
Anish Sarkar
5344fa47e6 chore: update E2E test documentation for clarity and local setup instructions 2026-05-11 03:29:32 +05:30
Anish Sarkar
68f45335bc chore: implement E2E testing setup with Docker Compose and update workflow for backend and Redis services 2026-05-11 03:09:01 +05:30
Anish Sarkar
dbf575fbd0 chore: ran linting 2026-05-09 05:16:20 +05:30
Anish Sarkar
2f540ee065 refactor(tests): simplify logging messages and enhance manual upload journey tests 2026-05-09 05:10:05 +05:30
Anish Sarkar
fbfde74cdc test(e2e): route connector PDF canary responses in chat fake & add connector PDF canaries 2026-05-09 05:03:38 +05:30
Anish Sarkar
5a2357b981 test(e2e): serve binary PDF bytes from storage connector fakes 2026-05-09 05:03:07 +05:30
Anish Sarkar
ad226853e5 test(e2e): wire PDF metadata into connector fixture JSONs 2026-05-09 05:02:40 +05:30
Anish Sarkar
fc32ab0cf3 test(e2e): add shared binary fixture loader for connector fakes 2026-05-09 05:02:23 +05:30
Anish Sarkar
523563b948 test(e2e): add canary PDFs and reproducer for connector docling coverage 2026-05-09 05:02:04 +05:30
Anish Sarkar
e211028866 test(e2e): add ClickUp MCP backend fake 2026-05-08 13:12:34 +05:30
Anish Sarkar
7303e3ebb3 test(e2e): wire Dropbox Playwright fixtures 2026-05-08 12:28:26 +05:30
Anish Sarkar
69437b1fe4 test(e2e): add Dropbox backend fake 2026-05-08 12:27:45 +05:30
Anish Sarkar
da8b151634 test(e2e): wire OneDrive fake into harness 2026-05-08 03:48:35 +05:30
Anish Sarkar
3ee633cb23 test(e2e): add OneDrive Graph backend fake 2026-05-08 03:48:18 +05:30
Anish Sarkar
73b6375688 test(e2e): wire Slack fake into harness 2026-05-08 03:08:36 +05:30
Anish Sarkar
bf23cb2381 test(e2e): add Slack MCP backend fake 2026-05-08 02:24:39 +05:30
Anish Sarkar
d36bd33733 test(backend): route Confluence canary responses in E2E chat 2026-05-08 01:09:49 +05:30
Anish Sarkar
b74caf157b test(backend): add Confluence indexing E2E fake 2026-05-08 01:09:40 +05:30
Anish Sarkar
640ae03030 test(backend): add Confluence OAuth E2E fakes 2026-05-08 01:02:52 +05:30
Anish Sarkar
ebdf6cbaed test(backend): route Jira tool responses in E2E chat 2026-05-08 00:15:18 +05:30
Anish Sarkar
369f0aaff3 test(backend): add Jira MCP E2E fakes 2026-05-08 00:15:08 +05:30
Anish Sarkar
e6297e2e40 test(backend): add shared MCP runtime E2E fake 2026-05-08 00:14:43 +05:30
Anish Sarkar
43eae11197 test(backend): add shared MCP OAuth E2E fake 2026-05-08 00:14:34 +05:30
Anish Sarkar
fb0e12c86c test(backend): route Linear tool responses in E2E chat 2026-05-07 23:15:37 +05:30
Anish Sarkar
2cbedf2eb4 test(backend): add Linear MCP E2E fakes 2026-05-07 23:15:20 +05:30
Anish Sarkar
a9ea063108 test(backend): route Notion canary responses in E2E chat 2026-05-07 22:22:01 +05:30
Anish Sarkar
15709b82f7 test(backend): add Notion E2E fakes 2026-05-07 22:21:52 +05:30
Anish Sarkar
597bd34053 test(backend): add native Google Calendar E2E fakes 2026-05-07 04:42:28 +05:30
Anish Sarkar
d81f5a1d2a fix(tests): update LLM bindings in E2E tests for document processors 2026-05-07 04:27:46 +05:30
Anish Sarkar
a5c04cb38d test(backend): generalize native Google E2E fakes for Gmail 2026-05-07 04:22:59 +05:30
Anish Sarkar
3f2912a4ca test(backend): add native Google Drive E2E fakes 2026-05-07 03:59:40 +05:30
Anish Sarkar
bc2dc21a75 test(backend): add Composio Calendar live-tool fakes 2026-05-07 03:41:47 +05:30
Anish Sarkar
7864cbbeea test(backend): teach fake chat LLM Gmail tool-call flow 2026-05-07 03:16:02 +05:30
Anish Sarkar
f2e62a09b3 test(backend): add deterministic Composio Gmail E2E fakes 2026-05-07 02:52:14 +05:30
Anish Sarkar
55c33ca1c8 test(backend): add deterministic chat fake LLM 2026-05-06 21:35:57 +05:30
Anish Sarkar
8536bac29a test(backend): enhance Drive file filtering and add unit tests for _drive_list_files 2026-05-06 17:58:58 +05:30
Anish Sarkar
ba12bd3dc6 test(backend): add Composio strict SDK fake with Drive fixtures 2026-05-06 17:18:13 +05:30
Anish Sarkar
58ba95fad2 test(backend): add E2E harness foundation (entrypoints, middleware, LLM/embedding fakes) 2026-05-06 17:17:42 +05:30