Submatter/.convoys/ai-agent-studio/brief-3-ai-agent-builder.md

2.6 KiB

brief convoy role title status priority slice_dependencies recommended_model model_tier
3 ai-agent-studio role-implementer Conversational AI agent builder blocked P1
brief-1-ai-workspace-tabs
brief-2-agent-registry-marketplace
auto/coding standard

Brief 3 — Task-ai-assisted-agent-builder.md (service slice)

Goal

Implement the provider-agnostic builder service and streaming contracts that transform an Agents-mode request into validated clarification or structured draft-patch events. UI editing and private-draft persistence remain a follow-on slice.

Files

Expected scope; confirm routing conventions before implementation.

  • packages/shared/src/ — versioned builder request/event/draft-patch schemas.
  • packages/ai/src/prompts/ — agent-builder prompts and structured-output instructions.
  • apps/web/app/api/ or a suitable streaming tRPC boundary — workspace-authorized builder stream separate from /api/chat.
  • Adjacent service tests for validation, workspace authorization, provider abstraction, stream event ordering, and malformed output.

Required design

  • The builder requests an existing model role/capability and uses provider resolution; no direct OmniRoute/provider branch exists in UI or route code.
  • Model output is untrusted. Only versioned zod-validated clarification and draft-patch events may affect client state.
  • The service emits deterministic base revision IDs and structured patches so a follow-on UI can maintain conflict-safe draft history.
  • Generated requested tools, channel access, activation, and workspace publication remain inert, unapproved fields in validated output.
  • The endpoint does not persist, publish, install, activate, or execute an agent.

Acceptance

  • Outcome-oriented prompts create valid drafts or targeted clarification questions.
  • The service supports initial requests and follow-up refinements through validated clarification/draft-patch events.
  • Invalid or policy-violating model output becomes a typed error event and is never persisted.
  • Requested tools and access remain marked unapproved and cannot be exercised by this endpoint.
  • No plaintext provider secret appears in events, logs, or client payloads.
  • pnpm lint && pnpm type-check && pnpm test pass; pnpm build passes for changed server/AI exports.

Prompt

Read model routing, packages/ai provider adaptation, prompt conventions, registry contracts from Brief 2, and workspace guards. Use the existing AI SDK only as a normalized model API; keep the builder compatible with OmniRoute and other providers through the resolved model contract. Do not build the editor or draft CRUD in this brief.