docs: add a protocol reference page for custom clients
Los mantenedores suelen responder en 1 día
@kachamsiddarth ya está trabajando en esto.
Desde el 21/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
The server speaks protocol v1 now (#285), but the only description of it is a section of server/setup.mdx. Anyone writing their own client (a mobile app, a CLI, a different widget) needs one page that lists every part, every error code and a request they can paste into a terminal. This issue is that page.
What to do
- New page
website/src/content/docs/server/protocol.mdx, titleProtocol, added to the Server sidebar inwebsite/astro.config.mjs(lines 121 to 128), after Setup. Cover:- How to ask for v1:
"protocol": 1in the body, or thex-chatcops-protocol: 1header. The response then hasx-chatcops-protocol: 1. Without either, the server answers in the 0.5 format, which goes away in 1.0. - The request body: the fields in
chatRequestSchema(packages/server/src/config.ts, lines 101 to 123) with their limits, plusprotocol. - Every part in
WirePart(packages/core/src/protocol/v1.ts, lines 50 to 99), one short paragraph or table row each, with an example line. Say which ones the server sends today (start,text-start,text-delta,text-end,tool-call,tool-result,lead-captured,error,finish) and that the others (source,handoff,agent-message,suggestions) are reserved for later features. - Framing: one
data: <json>line per part,data: [DONE]once at the end,: pingcomments after 10 s of silence, clients ignore unknown part types, and a stream withoutfinishwas cut off. - Errors before the stream: every status and code from
packages/core/src/protocol/errors.ts, with the JSON body shape andRetry-After. - Errors during the stream: the
errorpart's codes,retryable, andscopeforbudget_exceeded. - A
curlexample:curl -N -X POST http://localhost:3001/chat -H 'Content-Type: application/json' -d '{"protocol":1,"conversationId":"test-1","message":"Hi"}', followed by what it prints. import type { WirePart } from '@chatcops/core/protocol'for TypeScript clients.
- How to ask for v1:
- In
website/src/content/docs/server/setup.mdx, keep the "Response format" section short: the two formats in one paragraph, and a link to the new page for the details. Move the parts list and the status table there.
Where to look
packages/server/src/http.ts, which does negotiation, statuses, pings and[DONE]packages/server/tests/http.test.tsfor real request and response examplespackages/core/src/protocol/for the types and the status map
Acceptance criteria
- New
server/protocol.mdxin the sidebar, covering the points above - Every part and error code in
v1.tsanderrors.tsis on the page, and nothing that isn't - The curl example's output on the page is real. You don't need an API key: run the Express example (
packages/server/src/examples/express-server.ts) withprovider: scriptedProvider([textStep('Hello!')])from@chatcops/core/testing/provider, and don't commit that change -
pnpm --filter @chatcops/website buildsucceeds - Changeset:
pnpm changeset --empty(docs only)
Please get this merged by Dec 8, since the v0.6 release notes link to it.
Want to work on this? Comment below and I'll assign it to you. Please take one issue at a time, branch off dev, and open your PR against dev with Closes #<this issue number>. Setup notes (pnpm, build before test) are in CONTRIBUTING.md.
- Lenguaje dominante
- TypeScript
- Estrellas
- 13
- Forks
- 7
- Merge medio
- 3 h 28 min
- PR fusionados (30 d)
- 182
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de codercops/chatcops
-
Type-check the TypeScript samples in the docsPosiblemente ocupada @An16og la tomó hace 2 días. Abiertodocumentation hacktoberfest help wanted testing
Dificultad 4/5 3-5 días Aptitud para principiantes 70/100
codercops/chatcops#201 · 7 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Hacktoberfest 2026: start hereAbiertohacktoberfest
Dificultad 1/5 Menos de una hora Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Add built-in translations to the widgetPosiblemente ocupada @piyusshhjangid la tomó hace 1 día. Abiertohelp wanted widget
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
codercops/chatcops#55 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de codercops/chatcops
Issues similares
-
bug hacktoberfest help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
libredb/libredb-studio#1941 ·
Los mantenedores suelen responder en 1 día
-
chore other
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
alastair-smith/card-games#308 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
paperclipai/paperclip#17379 ·
Los mantenedores suelen responder en 1 día
-
[good first issue, hacktoberfest] 🏯 Hacktoberfest Task - Add new Anime Quote 626 (good-first-issue)Abiertocommunity first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
lingdojo/kana-dojo#33040 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
bug mobile ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día