Add workspaces, conversation sessions, app-managed computers and pictures
- Rail: Add icon with stacked form modals (bot, workspace, computer), coordinator, recent bots with "See all bots", Workspaces section, and a workspace mode listing only its crew - Workspaces: page for context, bots (per-workspace instructions and memory), computers (default, link, unlink), models and delete; conversations scoped per bot per workspace - Sessions: conversations split into searchable, reopenable sessions with carry-over summaries; sessions and new-session header icons - Computers: created and provisioned over the docker socket, home dir kept at DATA_DIR/computers/<id> after delete; super admins only - Models: workspace settings win over a bot's own, then the defaults - Pictures for bots and workspaces; bots editable from the header - Coordinator tools: update_workspace, set_bot_workspace_instructions Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -9,8 +9,9 @@ type Params = {
|
||||
};
|
||||
|
||||
/**
|
||||
* Takes a computer off one of the user's workspaces. Its bots keep any
|
||||
* access they were given directly.
|
||||
* Unlinks a computer from one of the user's workspaces; the computer
|
||||
* itself stays. When it was the default, the oldest computer still linked
|
||||
* takes over (none: the workspace has no computer).
|
||||
*/
|
||||
export default async function removeComputerFromWorkspace({
|
||||
user_id,
|
||||
@@ -27,4 +28,13 @@ export default async function removeComputerFromWorkspace({
|
||||
sql: `DELETE FROM workspace_computers WHERE workspace_id = ? AND computer_id = ?`,
|
||||
values: [workspace.id, computer_id],
|
||||
});
|
||||
|
||||
if (String(workspace.computer_id) == String(computer_id)) {
|
||||
await BunSQLite.sql({
|
||||
sql: `UPDATE workspaces SET updated_at = ?, computer_id = (
|
||||
SELECT computer_id FROM workspace_computers WHERE workspace_id = ? ORDER BY id ASC LIMIT 1
|
||||
) WHERE id = ?`,
|
||||
values: [Date.now(), workspace.id, workspace.id],
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user