mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* feat(native-chat): image messages wait in the queue like text A message with images now queues behind the running turn and the cards ahead of it, instead of skipping the queue. Cards show an image icon and count, an image-only card names its image, and editing a card's text keeps its images. The host publishes no card holding an image to a client that has not advertised agent-session.queued-image-cards.v1, since released clients edit by copying a card's text and deleting the card. * test(native-chat): an image follow-up queues like text * fix(native-chat): project queued images before phone frame limits * fix(native-chat): preserve image sends from older clients * Clarify direct text recovery at send admission * fix(native-chat): expose queued image names to keyboard users
56 lines
3.2 KiB
TypeScript
56 lines
3.2 KiB
TypeScript
import { AGENT_SESSION_CURRENT_REQUESTS_CLIENT_CAPABILITY } from './agent-session-current-requests-capability'
|
|
import { TERMINAL_IMAGE_VIEWER_CAPABILITY } from './terminal-image-viewer-capability'
|
|
import {
|
|
AGENT_SESSION_ACCEPTED_SEND_RUNTIME_CAPABILITY,
|
|
AGENT_SESSION_PENDING_SEND_RESULT_RUNTIME_CAPABILITY,
|
|
AGENT_SESSION_QUEUED_IMAGE_CARDS_CLIENT_CAPABILITY,
|
|
AGENT_SESSION_SNAPSHOT_CATCH_UP_CLIENT_CAPABILITY,
|
|
AGENT_STATUS_RESTORED_UNCONFIRMED_RUNTIME_CAPABILITY,
|
|
BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY,
|
|
BROWSER_CLIENT_PAGE_METADATA_RUNTIME_CAPABILITY,
|
|
CLAUDE_STRUCTURED_AGENT_SESSION_RUNTIME_CAPABILITY,
|
|
NATIVE_REMOTE_RUNTIME_CLIENT_CAPABILITIES,
|
|
PI_STRUCTURED_DIALOGS_RUNTIME_CAPABILITY,
|
|
SESSION_TABS_RETIREMENT_PROOF_DELTA_RUNTIME_CAPABILITY,
|
|
SESSION_TABS_TAB_DELTA_RUNTIME_CAPABILITY,
|
|
STRUCTURED_AGENT_SESSION_CLIENT_LAUNCH_MODE_CAPABILITY,
|
|
STRUCTURED_AGENT_SESSION_REGISTERED_AGENTS_RUNTIME_CAPABILITY,
|
|
STRUCTURED_AGENT_SESSION_RUNTIME_CAPABILITY,
|
|
WORKTREE_BACKGROUND_REMOVAL_RUNTIME_CAPABILITY
|
|
} from './protocol-version'
|
|
import { AGENT_SESSION_CREATE_MESSAGE_RUNTIME_CAPABILITY } from './agent-session-create-capabilities'
|
|
import { AGENT_SESSION_OPTIONAL_MODEL_CLIENT_CAPABILITY } from './agent-session-optional-model-capability'
|
|
|
|
// Electron clients can decode client-hosted page placement; becoming a page
|
|
// host still requires the separate authenticated browser-client lease.
|
|
export const ELECTRON_REMOTE_RUNTIME_CLIENT_CAPABILITIES = [
|
|
...NATIVE_REMOTE_RUNTIME_CLIENT_CAPABILITIES,
|
|
TERMINAL_IMAGE_VIEWER_CAPABILITY,
|
|
AGENT_SESSION_CREATE_MESSAGE_RUNTIME_CAPABILITY,
|
|
AGENT_SESSION_CURRENT_REQUESTS_CLIENT_CAPABILITY,
|
|
AGENT_SESSION_PENDING_SEND_RESULT_RUNTIME_CAPABILITY,
|
|
AGENT_SESSION_ACCEPTED_SEND_RUNTIME_CAPABILITY,
|
|
AGENT_SESSION_SNAPSHOT_CATCH_UP_CLIENT_CAPABILITY,
|
|
// The renderer that reads a paired host's structured chats is the one that reads its own.
|
|
STRUCTURED_AGENT_SESSION_RUNTIME_CAPABILITY,
|
|
CLAUDE_STRUCTURED_AGENT_SESSION_RUNTIME_CAPABILITY,
|
|
AGENT_SESSION_OPTIONAL_MODEL_CLIENT_CAPABILITY,
|
|
// Same renderer: its queued cards show their images, and Edit keeps them.
|
|
AGENT_SESSION_QUEUED_IMAGE_CARDS_CLIENT_CAPABILITY,
|
|
// Same renderer: it reads each host's `agentSession.agents` and renders any agent listed there.
|
|
STRUCTURED_AGENT_SESSION_REGISTERED_AGENTS_RUNTIME_CAPABILITY,
|
|
PI_STRUCTURED_DIALOGS_RUNTIME_CAPABILITY,
|
|
// The desktop picks each launch's mode from its own settings before asking the host.
|
|
STRUCTURED_AGENT_SESSION_CLIENT_LAUNCH_MODE_CAPABILITY,
|
|
BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY,
|
|
BROWSER_CLIENT_PAGE_METADATA_RUNTIME_CAPABILITY,
|
|
// Why: only the renderer runs the retirement-proof ledger; CLI and mobile must keep full lists.
|
|
SESSION_TABS_RETIREMENT_PROOF_DELTA_RUNTIME_CAPABILITY,
|
|
// Main restores every tab-delta frame before the window or any other reader sees it.
|
|
SESSION_TABS_TAB_DELTA_RUNTIME_CAPABILITY,
|
|
// Only the renderer shows Deleting for a `removing` row; CLI and mobile get those rows omitted.
|
|
WORKTREE_BACKGROUND_REMOVAL_RUNTIME_CAPABILITY,
|
|
// The renderer shows a restored, unconfirmed agent row as identity only.
|
|
AGENT_STATUS_RESTORED_UNCONFIRMED_RUNTIME_CAPABILITY
|
|
] as const
|