Repository navigation
Feat/web search agent - #19
Merged
Merged
Conversation
…ts, and four monitor MCP tools Client - agent(): login_id, data_connections, proposals (sent only when given); AgentRun.follow_up(); conversations() and conversation(); estimate(). - monitors: budget, alerts, add_to_project, rows, destination and sentiment on create/update; overview(), rows(), rows_page(), row(), row_events(), export_rows(). - arc.agent_batches (preview, start, get, rows, wait, list, cancel, export), arc.triggers, arc.proposals, arc.sub_accounts, arc.connections and arc.logins. - MeshArc(tenant=...) and as_sub_account(id): X-MeshArc-Tenant on every request; TENANT_HEADER. MCP - create_monitor, list_monitors, pause_monitor and get_monitor_rows (21 tools; list_monitors and get_monitor_rows read-only). - create_project takes max_credits_per_run and max_credits_per_month. ruff clean, mypy clean, pytest 277 passed. Live against the local API with every new call (agent follow-up, a two-row table, an agent monitor's records, sub-accounts, the MCP tools). Unreleased: the API routes are on Seam-be's feature branch, not yet on mesharc.dev. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Brings in the security policy update (#16); no conflicts. ruff and mypy clean, pytest 277 passed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Left out, the API reads each site the workspace has a saved login for
signed in with that site's login ("auto"); "none", or a list of login ids,
changes that. login_id / loginId stays as the older form of a list of one.
Tests and CHANGELOG updated; checked live against the local API.
main has #17 squash-merged; each conflict kept this branch's side, which is main's line with logins added.
Merged
Siddharth-DWT
added a commit
that referenced
this pull request
Oct 15, 2026
**Title:** Fixes: wait() through a cancelling table, follow-up links, the sentiment type, records search **Branch:** `feat/web-search-agent` → `main`. The change is `e307b44`: 3 files, +27 −4. `main` (`d9cd73f`) has #19 squash-merged, and the branch still carries that PR's own commits, so the PR's file list also shows #19's README and CHANGELOG lines. They are already on `main`, unchanged. The branch merges cleanly (checked with `git merge-tree` on 15 Oct), and what it changes on `main` is `e307b44` alone. **Not to be released yet.** It goes out in 0.7.0 with #17–#19 once Seam-be's `feat/search-agent-groundwork` is on mesharc.dev. ## Why A review of the client against the API found these. Each was reproduced against a mocked API first. ## What - **`agent_batches.wait()` returned while a table was still `cancelling`,** with its rows not yet stopped. It now waits until the table has ended. The shared running check counts `cancelling` as still running; no other kind of job uses that status. - **`AgentRun.follows_run_id` and `followed_by`** name the message a follow-up follows and the one asked after it, as `continues_run_id` and `continued_by` do for a continuation. - **`monitors.create` and `update` type `sentiment` as `False` or `{"connectionId", "only"}`.** `True` was allowed by the type, but the API always refuses it. - **`rows(q=...)` and the MCP tool `get_monitor_rows`** now find a record however far down the list it is, and `total` counts the matches. The fix is in the API, which now searches every record before cutting a page. The client needs no change, but this needs the API's fix, on its feature branch. - **CHANGELOG:** a Fixed section under Unreleased. ## Testing `ruff` clean, `mypy` clean, `pytest` 278 passed. The table-wait test now goes through `cancelling` to `cancelled` with two polls, and the follow-up test reads the new links. --------- Co-authored-by: Siddharth-DWT <smishara9120@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Title: Docs: the agent signs in page by page with the logins it may use
Branch:
feat/web-search-agent→main. The change isa4eb248, docs only.a660b27mergesmainin.mainhas #17 and #18 squash-merged, and the branch still carried their own commits. Both conflicts, inCHANGELOG.mdandmesharc/__init__.py, kept this branch's wording overmain's earlier one.Against
main(74da2ea) the diff is 3 files, +10 −8, and it merges cleanly (checked withgit merge-treeon 15 Oct).Not to be released yet. It describes the API on Seam-be's
feat/search-agent-groundwork, which is not yet on mesharc.dev. It goes out in 0.7.0 with #17 and #18 once that is deployed.Why
The API's agent no longer reads every page on a site with a saved login signed in. It reads pages signed out and signs in page by page, where a page needs the account.
logins(#18) now says which logins it may use. The client's docs said otherwise.What
agent()docstring: the agent reads pages signed out, as the public sees them, and signs in page by page with the login for that page's site.loginssays which it may use (every one by default,"none", or a list), andlogin_idis the older form of a list of one.logins="auto"in place oflogin_id=None.No code changes.
Testing
On the merged code:
ruffclean,mypyclean,pytest278 passed.