mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-08 09:24:41 +00:00
Only viewed chats receive live timeline rows, while directory state now uses one subscribed bootstrap followed by ordered deltas. Legacy clients and daemons retain their existing behavior through centralized compatibility gates.
25 lines
1.4 KiB
TypeScript
25 lines
1.4 KiB
TypeScript
export const CLIENT_CAPS = {
|
|
// COMPAT(selectiveAgentTimeline): added in v0.1.106. Capable clients receive
|
|
// agent streams only for their explicit viewed set. Remove after 2027-01-12
|
|
// once the supported client floor is >= v0.1.106.
|
|
selectiveAgentTimeline: "selective_agent_timeline",
|
|
reasoningMergeEnum: "reasoning_merge_enum",
|
|
// COMPAT(customModeIcons): added in v0.1.84. Old clients pin AgentModeIcon to
|
|
// a closed enum and crash rendering unknown values; daemon downgrades icons
|
|
// outside the legacy set to "ShieldCheck" when this cap is absent. Drop the
|
|
// gate when floor >= v0.1.84.
|
|
customModeIcons: "custom_mode_icons",
|
|
// COMPAT(terminalReflowableSnapshot): added in v0.1.88. The daemon attaches
|
|
// per-row soft-wrap flags (gridWrapped/scrollbackWrapped) to terminal snapshots
|
|
// only when the client advertises this, so restored content can reflow on resize.
|
|
// Old clients use a strict TerminalState schema and would reject the extra fields.
|
|
// Drop the gate (always send the flags) when floor >= v0.1.88.
|
|
terminalReflowableSnapshot: "terminal_reflowable_snapshot",
|
|
// COMPAT(providerSubagents): added in v0.1.107. The daemon emits provider-owned
|
|
// child descriptors and timelines only to clients that understand the new messages.
|
|
providerSubagents: "provider_subagents",
|
|
browserHost: "browser_host",
|
|
} as const;
|
|
|
|
export type ClientCapability = (typeof CLIENT_CAPS)[keyof typeof CLIENT_CAPS];
|