Skip to content

feat(web,myra): Deploy button for a package Myra sends as a mail attachment (CL-8474) - #898

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-8474-deploy-attachment
Sep 18, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-8474-deploy-attachment

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Agents never call the hub, so creating an agent is: Myra writes the package, the person presses Deploy.

Attachment contract

A reply carrying two attachments is a deployable package:

  • package.json — the manifest (presence is the marker)
  • definition.json — { "name": string, "systemPrompt": string, "description"?: string }

The client renders the source tree and deploys it through the existing pipeline (agent-deploy.ts → asset, git push, POST /workflows/deployments), the same path create-agent-panel uses — so Myra never needs to know the deploy shape.

Changes

  • chat/threads-api.ts: frameAttachments parses named MIME leaves out of the raw frame (name, contentType, base64-decoded text) onto chat and room turn models.
  • chat/deployable-package.ts: arktype-parses the two attachments into {name, systemPrompt, description?}, or null.
  • chat/message-attachments.tsx: a compact "Deploy " card with the deploy mutation, success link to the new agent's chat, and the error inline; non-deployable attachments render as a plain file list.
  • useDeployAgentMutation additionally invalidates visible agents and room participants.
  • Myra's prompt states the contract in two sentences; no tool lists, no hub calls.

Nothing added on the hub.

Verified

bunx tsc -p apps/web --noEmit, bun run typecheck, bun run lint, bun run fmt, apps/web build + bun test ./src (582 pass), agents/myra build.

Not verified: no live run against the hub — the deploy path itself is unchanged and already covered by the create-agent panel; the MIME attachment parse was not exercised against a real @intx/tools-mail frame.

@linear-code

linear-code Bot commented Sep 18, 2026

Copy link
Copy Markdown

CL-8474

@TheGreatAxios
TheGreatAxios merged commit 4f39631 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