Skip to content
SumOfficeSumOfficeSumOffice

Session types in TypeScript

31 types generated from the session contract: this is the shape requests and responses take over the connection to the Rust core.

The types are generated from the session contract — your code uses them to build requests and parse responses. Command names are listed in session commands.

type SessionCommandName =
| "apply-composition"
| "apply-text-transaction"
| "commit-snapshot"
| "commit-structural-snapshot"
| "compatibility-inspect"
| "compose"
| "model"
| "mutate"
| "open"
| "paginate"
| "ping"
| "print"
| "print-delta"
| "print-summary"
| "print-window"
| "redo"
| "report"
| "review"
| "save"
| "save-checkpoint"
| "set-selection"
| "shutdown"
| "simple-field-inventory"
| "squash-history"
| "status"
| "style"
| "track-revisions-state"
| "undo";
interface SessionApplyCompositionRequest {
cmd: "apply-composition";
id?: unknown;
request: unknown;
}
interface SessionApplyTextTransactionRequest {
cmd: "apply-text-transaction";
id?: unknown;
request: unknown;
}
interface SessionCommitSnapshotRequest {
cmd: "commit-snapshot";
id?: unknown;
document_id: string;
path: string;
transaction_order: number;
transition_kind: string;
}
interface SessionCommitStructuralSnapshotRequest {
cmd: "commit-structural-snapshot";
id?: unknown;
path: string;
request: unknown;
}
interface SessionCompatibilityInspectRequest {
cmd: "compatibility-inspect";
id?: unknown;
}
interface SessionComposeRequest {
cmd: "compose";
id?: unknown;
}
interface SessionModelRequest {
cmd: "model";
id?: unknown;
}
interface SessionMutateRequest {
cmd: "mutate";
id?: unknown;
after_caret_slot_index?: number | null;
before_caret_slot_index?: number | null;
before_selection_end_slot_index?: number | null;
before_selection_start_slot_index?: number | null;
delete_count?: number;
document_id?: string | null;
offset?: number;
operation_kind: string;
paragraph_index: number;
revision_author?: string | null;
revision_date?: string | null;
revision_date_utc?: string | null;
text?: string | null;
transaction_order?: number;
transition_kind?: string | null;
}
interface SessionOpenRequest {
cmd: "open";
id?: unknown;
document_id?: string | null;
path: string;
}
interface SessionPaginateRequest {
cmd: "paginate";
id?: unknown;
}
interface SessionPingRequest {
cmd: "ping";
id?: unknown;
}
interface SessionPrintRequest {
cmd: "print";
id?: unknown;
tracked_change_markup_mode?: string | null;
}
interface SessionPrintDeltaRequest {
cmd: "print-delta";
id?: unknown;
known_fingerprints?: unknown[];
tracked_change_markup_mode?: string | null;
}
interface SessionPrintSummaryRequest {
cmd: "print-summary";
id?: unknown;
}
interface SessionPrintWindowRequest {
cmd: "print-window";
id?: unknown;
include_page_stack?: boolean;
page_indexes: unknown[];
}
interface SessionRedoRequest {
cmd: "redo";
id?: unknown;
document_id?: string | null;
transaction_order?: number;
}
interface SessionReportRequest {
cmd: "report";
id?: unknown;
}
interface SessionReviewRequest {
cmd: "review";
id?: unknown;
}
interface SessionSaveRequest {
cmd: "save";
id?: unknown;
path?: string | null;
}
interface SessionSaveCheckpointRequest {
cmd: "save-checkpoint";
id?: unknown;
expected_revision: number;
request_id: string;
session_id: string;
target: unknown;
}
interface SessionSetSelectionRequest {
cmd: "set-selection";
id?: unknown;
request: unknown;
}
interface SessionShutdownRequest {
cmd: "shutdown";
id?: unknown;
}
interface SessionSimpleFieldInventoryRequest {
cmd: "simple-field-inventory";
id?: unknown;
}
interface SessionSquashHistoryRequest {
cmd: "squash-history";
id?: unknown;
base_undo_depth: number;
document_id: string;
transition_kind?: string | null;
}
interface SessionStatusRequest {
cmd: "status";
id?: unknown;
}
interface SessionStyleRequest {
cmd: "style";
id?: unknown;
}
interface SessionTrackRevisionsStateRequest {
cmd: "track-revisions-state";
id?: unknown;
}
interface SessionUndoRequest {
cmd: "undo";
id?: unknown;
document_id?: string | null;
transaction_order?: number;
}
type SessionRequest = SessionApplyCompositionRequest | SessionApplyTextTransactionRequest | SessionCommitSnapshotRequest | SessionCommitStructuralSnapshotRequest | SessionCompatibilityInspectRequest | SessionComposeRequest | SessionModelRequest | SessionMutateRequest | SessionOpenRequest | SessionPaginateRequest | SessionPingRequest | SessionPrintRequest | SessionPrintDeltaRequest | SessionPrintSummaryRequest | SessionPrintWindowRequest | SessionRedoRequest | SessionReportRequest | SessionReviewRequest | SessionSaveRequest | SessionSaveCheckpointRequest | SessionSetSelectionRequest | SessionShutdownRequest | SessionSimpleFieldInventoryRequest | SessionSquashHistoryRequest | SessionStatusRequest | SessionStyleRequest | SessionTrackRevisionsStateRequest | SessionUndoRequest;
interface SessionResponse {
cmd?: string;
elapsed_ms?: number;
error?: string;
id?: unknown;
ok?: boolean;
result?: unknown;
}

Documentation assistant

Answers are assembled from the documentation and may be inaccurate — check the sources.