Give bots tools and MCP servers per bot and workspace, with status and tests

- Bots and workspaces get tools and MCP servers from their settings
  pages; bots also from chips under the chat composer, removable there
- "Every bot" now gives one to every bot now and every new bot; each can
  still drop it (attach-every-bot-extensions.ts moves old installs over)
- Status lines: MCP servers record whether they connect, tools whether
  their last run worked
- Test connection in the MCP form and a Test panel in the tool form check
  the form as it is, without saving
- Hide Google sign-in on the login form

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-19 15:35:13 +01:00
co-authored by Claude Opus 5.5
parent c6ec7d77a2
commit 6294b911e6
69 changed files with 2026 additions and 271 deletions
+13
View File
@@ -23,6 +23,19 @@ export const CustomToolKinds = [
export type CustomToolKind = (typeof CustomToolKinds)[number]["value"];
/**
* How a tool's last run went (a bot's call or a try from its settings):
* `ok`, `error` (see its `last_error`), or `untested` before its first run
* and after it's edited. Bad arguments from a bot don't count.
*/
export const CustomToolStatuses = [
{ title: "Not run yet", value: "untested" },
{ title: "Worked", value: "ok" },
{ title: "Failed", value: "error" },
] as const;
export type CustomToolStatus = (typeof CustomToolStatuses)[number]["value"];
export const CustomToolHttpMethods = ["GET", "POST", "PUT", "PATCH", "DELETE"] as const;
export type CustomToolHttpMethod = (typeof CustomToolHttpMethods)[number];