Skip to content

feat(web): new-workbench picker deploys chosen bench agents into the room (CL-8442) - #880

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-8442-room-agents
Sep 18, 2026
Merged

TheGreatAxios merged 2 commits into
mainfrom
cl-8442-room-agents

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • apps/web/src/git-fetch.ts: fetches one file out of a hub asset repo from the browser (isomorphic-git's upload-pack wire over the asset's smart-HTTP git remote, with a short-lived read-only token) — the read-side counterpart to git-push.ts.
  • apps/web/src/agent-source-read.ts: readAgentSource(tenantId, assetId, assetName) mints a can_read git token, fetches the workflow asset's main, and parses its workflow.js entry (parseWorkflowSourceEntry) back into { systemPrompt, declaredSources }.
  • apps/web/src/chat/threads-api.ts: ChatAgent now carries assetName (the raw workflow asset name, vs. name's display alias for Myra), and exports isMyraAgent so pickers can exclude her.
  • apps/web/src/pages/new-workbench-picker.tsx: restores the agent multi-select — lists the bench tenant's non-Myra chat agents via listChatAgents, lets the person check which ones join the room.
  • apps/web/src/workbench-create.ts: createWorkbench takes pickedAgents; for each, reads its source off the bench tenant and re-deploys it into the child tenant via deployAgentSource (same path Myra's own deploy uses — a child's deploy route rejects the parent's inherited asset).

Upstream gaps

  • No stock file-read route exists for a workflow-kind asset (only package-registry tarballs get one — see vendor/intx/hub-api/src/routes/assets.ts's /:assetId/tarballs route). Reading an agent's source therefore goes over the smart-HTTP git remote with a read-only token rather than a simple GET; flagged here per "upstream asks go to user," not filed anywhere.

Test plan

  • bunx tsc -p apps/web --noEmit — clean
  • bun run fmt / bun run lint — clean (pre-existing sidecar warnings only, unrelated)
  • bun test apps/web/src/workbench-create.test.ts apps/web/src/agent-deploy.test.ts apps/web/src/chat — no new failures (pre-existing jsdom-less failures in markdown.test.tsx / tool-activity tests are unrelated to this change)

@linear-code

linear-code Bot commented Sep 18, 2026

Copy link
Copy Markdown

CL-8442

@TheGreatAxios
TheGreatAxios merged commit f8b43b2 into main Sep 18, 2026
4 checks passed
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