Skip to content

Feat/web search agent - #19

Merged
Siddharth-DWT merged 6 commits into
mainfrom
feat/web-search-agent
Oct 15, 2026
Merged

Siddharth-DWT merged 6 commits into
mainfrom
feat/web-search-agent

Conversation

@Siddharth-DWT

@Siddharth-DWT Siddharth-DWT commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Title: Docs: the agent signs in page by page with the logins it may use

Branch: feat/web-search-agent → main. The change is a4eb248, docs only.

a660b27 merges main in. main has #17 and #18 squash-merged, and the branch still carried their own commits. Both conflicts, in CHANGELOG.md and mesharc/__init__.py, kept this branch's wording over main's earlier one.

Against main (74da2ea) the diff is 3 files, +10 −8, and it merges cleanly (checked with git merge-tree on 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. logins says which it may use (every one by default, "none", or a list), and login_id is the older form of a list of one.
  • README: the same, in the agent's logins section. The example passes logins="auto" in place of login_id=None.
  • CHANGELOG: the Unreleased logins entry says the same.

No code changes.

Testing

On the merged code: ruff clean, mypy clean, pytest 278 passed.

Siddharth-DWT and others added 6 commits October 14, 2026 16:53
…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.
main has #17 and #18 squash-merged; each conflict kept this branch's docs wording (the agent signs in page by page) over main's earlier wording.
@Siddharth-DWT
Siddharth-DWT merged commit 247169f into main Oct 15, 2026
6 checks passed
@Siddharth-DWT
Siddharth-DWT deleted the feat/web-search-agent branch October 15, 2026 07:36
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant