Skip to content

Feat/web search agent - #18

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

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

Conversation

@Siddharth-DWT

Copy link
Copy Markdown
Collaborator

Title: The agent's saved logins need no picking: logins on agent runs, follow-ups and tables

Branch: feat/web-search-agent → main. The change is 15391d1 (logins on agent runs, follow-ups and tables).

7a3cc4f merges main in. main has #17 squash-merged, and the branch still carried #17's own commits (466280c, 149f7c1). Every conflict kept this branch's side, which is main's line with logins added.

Against main (03a8488) the diff is 3 files, +38 −16, and it merges cleanly (checked with git merge-tree on 15 Oct).

Not to be released yet. logins needs the API from Seam-be's feat/search-agent-groundwork, which is not yet on mesharc.dev. It goes out in 0.7.0 with #17's additions once that is deployed.

Why

The API no longer needs to be told which saved login to use. Left alone, each page is read with the workspace's login for its site, so one run can read several sites signed in. The client should be able to keep that default, or change it.

What

  • logins= on agent(), AgentRun.follow_up(), agent_batches.preview() and agent_batches.start():
    • "none" reads every site signed out;
    • a list (any iterable) of login ids limits the run to those logins;
    • left out, nothing is sent, and the API uses "auto".
  • login_id= stays as the older form of a list of one.
  • Docs: the agent() docstring describes the new default, and agent_batches.start()'s docstring names logins. CHANGELOG, under Unreleased.

Testing

  • Checks: ruff clean, mypy clean, pytest 278 passed. The new test checks that logins is left out by default, and is sent as "none" and as a list, from a generator too, on a run and on a table preview.
  • Live, against the local API from the feature branch:
    • agent(logins="none") was stored as none;
    • left out, it was stored as auto;
    • ["not-a-login"] returned a 400: "logins: no such login in this workspace".

Notes

mesharc-mcp pins the published 0.6.0 and is unchanged. It follows the release.

Siddharth-DWT and others added 4 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.
@Siddharth-DWT
Siddharth-DWT merged commit 74da2ea into main Oct 15, 2026
6 checks passed
@Siddharth-DWT
Siddharth-DWT deleted the feat/web-search-agent branch October 15, 2026 06:50
Siddharth-DWT pushed a commit that referenced this pull request Oct 15, 2026
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 added a commit that referenced this pull request Oct 15, 2026
**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.

---------

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