Give the coordinator working crew management tools

- Resolve the crew and workspaces fresh inside each tool run, so a bot or
  workspace created earlier in the same reply is usable: create_bot,
  assign_computer, add_bot_to_workspace, delegate_task and
  set_bot_workspace_instructions.
- Add coordinator-only update_bot, find_bot, find_workspace, delete_bot,
  delete_workspace and remove_bot_from_workspace tools.
- Push server:workspace-removed when a workspace is deleted, and
  workspace_ids on server:bot-updated so a workspace's crew drops a bot
  that was taken out of it.
This commit is contained in:
2026-10-19 20:34:51 +01:00
parent b79cebf397
commit 139b3e443d
20 changed files with 648 additions and 39 deletions
+17
View File
@@ -192,6 +192,13 @@ export type WorkspaceCreatedData = {
workspace: WorkspaceWithActivity;
};
/**
* `server:workspace-removed` data: the workspace that was deleted.
*/
export type WorkspaceRemovedData = {
workspace_id: number;
};
/**
* `server:bot-removed` data: the bot that was deleted.
*/
@@ -213,6 +220,11 @@ export type BotUpdatedData = {
* live relay). Null means its main one.
*/
computer_id?: number | null;
/**
* The workspaces the bot is in, when the push read them (a membership
* change). A workspace's crew drops a bot that's no longer in it.
*/
workspace_ids?: number[];
};
/**
@@ -845,6 +857,11 @@ export const WebSocketEvents = [
* `WorkspaceCreatedData`)
*/
"server:workspace-created",
/**
* A workspace the user could see was deleted (`data`:
* `WorkspaceRemovedData`)
*/
"server:workspace-removed",
/**
* A running job took a step (`data`: `BotJobUpdateData`)
*/