Save the caller's composer draft for a repository
Upserts the caller’s own live draft text for repo’s composer. Called debounced on every edit; the client also calls this with an empty string on submit, so nothing is left behind for a message that was actually sent. The caller’s windows on the same repository share this one draft — the later save always wins — and a colleague’s save never reaches it. A clearing write names the content it expects to be clearing via ifMatchesSha256, so a submit in one window can never erase text another window typed into the same repository.
Autorizações
Enforced on every transport, with no exempt operation. A person's request must carry a JWT issued by the configured identity provider, which the host verifies itself against that issuer's key set: signature, issuer, expiry, and the person and organisation it names. Requests without a valid one receive 401 NRY-0011 — except a request with no token on a laptop's socket from the OS user the kernel names as the host's own, which is that machine's user.
Parâmetros de consulta
Absolute path of the repository whose draft to save.
4096Optional precondition: apply this write only while the caller's draft currently stored for repository is still the one whose text hashes to this digest — lowercase hex SHA-256 over the text's UTF-8 bytes, where a repository with no stored draft hashes as the empty string. 412 and no write when it no longer matches, which means another client wrote the row after this one last did. Debounced saves omit it (last write wins is what shares one composer across windows); the terminal sends it only when CLEARING a draft it just submitted or discarded, naming the text it itself last stored — so the clear reaches its own text and never a sibling window's unsent draft.
^[0-9a-f]{64}$Corpo
One person's saved composer draft for a repository — the host's own record of text no client has submitted yet, shared by every session and every window that person opens against that repository.
The draft text. A @path:N-M line-range mention travels unchanged; BOTH marker kinds a composer can hold — a paste chip and an attached file — are expanded to what they stand for before the client ever saves it here, so a stored draft never carries a marker with nothing behind it, since the registry that gives either marker meaning is client-local and does not survive a restart — which is also why the bound is 8 MiB: a single ~2,000-line pasted file already expands past 64 KiB, and a save over the bound is rejected unseen (this is a fire-and-forget best-effort save, so the client never learns the write was rejected), costing the whole draft, not just the paste.
8388608Resposta
Saved.

