DTO · api-document.ts
44 interfaces and 1 type alias of the shell contract — working with the document: opening and resolving paths, media export, report snapshots, support markers, and package relationships.
44 interfaces and 1 type alias — working with the document: opening and resolving paths, media export, report snapshots, support markers, and package relationships.
Contract module: api-document.ts.
Types on this page — 45
OpenExternalHyperlinkResultShellShareClipboardResultShellRevealPathResultShellSupportMarkerShellDetectedFeatureShellRelationshipSnapshotShellMediaAssetShellMediaAssetOwnerShellLoadedDocumentShellDocumentPageWindowTelemetryShellDocumentPageWindowResultShellFileSessionRecoveryCandidateShellFileSessionRecoveryStateShellAutosaveRecoverySettingsShellAutosaveRecoveryCandidateShellVersionHistoryEntryShellVersionHistoryResultShellDocxCompatibilityIssueShellDocxCompatibilityReportShellDocxCompatibilityCommandResultShellDocxCompatibilityOperationResultShellExternalChangePromptStateShellBridgeStateShellExportCurrentDocumentImagesRequestShellSaveRenderedCanvasImagesRequestShellSaveRenderedCanvasImagesResultShellExportCurrentImageWorkflowImagesRequestShellCurrentImageWorkflowExportPlanRequestShellCurrentImageWorkflowExportPlanShellExportCurrentDocumentImagesResultShellCopyCurrentImageWorkflowImageResultShellCompressCurrentImageWorkflowImageRequestShellCompressCurrentImageWorkflowImageResultShellReplaceCurrentImageWorkflowImageRequestShellReplaceCurrentImageWorkflowImageResultShellDocumentWindowDescriptorShellDocumentWindowSessionShellDocumentSessionSelectionShellDocumentSessionSnapshotShellExactPageCountStatusShellCanonicalSceneRefreshedShellRendererCapabilitiesShellDocumentPatchStateShellDocumentPatchShellDocumentPatchOutcome
OpenExternalHyperlinkResult
Section titled “OpenExternalHyperlinkResult”InterfaceDeclaration · api-document.ts
interface OpenExternalHyperlinkResult { requested: boolean; opened: boolean; smokeBlocked: boolean; target: string | null; normalizedTarget: string | null; protocol: string | null; reason: string | null;}ShellShareClipboardResult
Section titled “ShellShareClipboardResult”InterfaceDeclaration · api-document.ts
interface ShellShareClipboardResult { copied: boolean; length: number; text: string;}ShellRevealPathResult
Section titled “ShellRevealPathResult”InterfaceDeclaration · api-document.ts
interface ShellRevealPathResult { revealed: boolean; smokeBlocked: boolean; path: string | null; reason: string | null;}ShellSupportMarker
Section titled “ShellSupportMarker”InterfaceDeclaration · api-document.ts
interface ShellSupportMarker { kind: string; location: string; detail: string;}ShellDetectedFeature
Section titled “ShellDetectedFeature”InterfaceDeclaration · api-document.ts
interface ShellDetectedFeature { kind?: string; location?: string; detail?: string;}ShellRelationshipSnapshot
Section titled “ShellRelationshipSnapshot”InterfaceDeclaration · api-document.ts
interface ShellRelationshipSnapshot { relationship_part_name?: string; owner_part_name?: string; relationship_id?: string; relationship_type?: string; target?: string; target_mode?: string; resolved_target?: string; target_status?: string;}ShellMediaAsset
Section titled “ShellMediaAsset”InterfaceDeclaration · api-document.ts
interface ShellMediaAsset { source_part_name: string; content_kind: string; data_url: string; byte_len: number; fingerprint: string; owner_count?: number; supported_owner_count?: number; ownership_status?: string; owners?: ShellMediaAssetOwner[];}ShellMediaAssetOwner
Section titled “ShellMediaAssetOwner”InterfaceDeclaration · api-document.ts
interface ShellMediaAssetOwner { object_kind: string; location: string; ownerLocation?: string; relationship_id: string; relationshipId?: string; target_part_name: string; sourcePartName?: string; relationship_part_name: string | null; relationship_target_status: string | null; drawing_fill_mode: string | null; drawing_tile_present: boolean | null; supported_ownership: boolean;}ShellLoadedDocument
Section titled “ShellLoadedDocument”InterfaceDeclaration · api-document.ts
interface ShellLoadedDocument { path: string; displayName: string; openedAt: string; command_output_route?: CommandOutputRouteKind; document_auto_hyphenation_enabled?: boolean; report: ShellReportSnapshot; review: ShellReviewSnapshot; model: CanonicalCommentModelLike & Record<string, unknown>; style: unknown; pageSetup: { current_page_setup?: { gutter_twips?: number; gutter_position?: string; gutter_at_top_enabled?: boolean; page_width_twips?: number; page_height_twips?: number; paper_size?: string; paper_source_first?: number | null; paper_source_other?: number | null; multiple_pages?: string; vertical_alignment?: string; suppress_endnotes?: boolean; section_start?: string; title_page_enabled?: boolean; even_and_odd_headers_enabled?: boolean; header_distance_twips?: number; footer_distance_twips?: number; line_numbering_restart_mode?: string | null; line_numbering_count_by?: number | null; line_numbering_start?: number | null; line_numbering_distance_twips?: number | null; }; }; compose: ShellParagraphCompositionSnapshot; paginate: ShellPaginateSnapshot; print: ShellPrintSnapshot; media_assets?: ShellMediaAsset[]; source_format?: "docx" | "docm" | "odt"; read_only?: boolean; odt_editable_copy?: { status: "editable" | "source-missing" | "source-changed" | "copy-changed" | "preflight-blocked"; original_source_path: string; original_source_fingerprint: string; copy_fingerprint: string; detail: string | null; }; support_summary?: unknown; load_state?: "first-usable" | "complete"; canonical_edit_projections_complete?: true; open_stage_timings_ms?: Record<string, number>; trust?: { state: "normal" | "protected-view" | "blocked-malformed" | "blocked-encrypted"; reasons: string[]; externalRelationships?: number; macrosPresent?: boolean; embeddedObjectsPresent?: boolean; signaturePresent: boolean; malformed?: boolean; encryptedPackageUnsupported?: boolean; sourceExecutionAllowed: false; };}ShellDocumentPageWindowTelemetry
Section titled “ShellDocumentPageWindowTelemetry”InterfaceDeclaration · api-document.ts
interface ShellDocumentPageWindowTelemetry { requestId: number; requestedPageIndex: number; payloadBytes: number; durationMs: number; sceneCacheCount: number; sceneCachePeak: number; sceneCacheLimit: number; droppedRequestCount: number;}ShellDocumentPageWindowResult
Section titled “ShellDocumentPageWindowResult”InterfaceDeclaration · api-document.ts
interface ShellDocumentPageWindowResult { materialized: boolean; canceled?: boolean; sourceDocumentFingerprint?: string; pageIndexes: number[]; pages?: ShellPrintSnapshot["pages"]; modelBlocks?: Array<Record<string, unknown>>; evictedPageIndexes?: number[]; mediaAssets?: ShellMediaAsset[]; telemetry?: ShellDocumentPageWindowTelemetry;}ShellFileSessionRecoveryCandidate
Section titled “ShellFileSessionRecoveryCandidate”InterfaceDeclaration · api-document.ts
interface ShellFileSessionRecoveryCandidate { recoveryId: string; documentPath: string | null; displayName: string; capturedAtLabel: string; reasonLabel: string;}ShellFileSessionRecoveryState
Section titled “ShellFileSessionRecoveryState”InterfaceDeclaration · api-document.ts
interface ShellFileSessionRecoveryState { status: "none" | "available" | "recovering" | "recovered" | "error"; candidate: ShellFileSessionRecoveryCandidate | null; errorMessage: string | null;}ShellAutosaveRecoverySettings
Section titled “ShellAutosaveRecoverySettings”InterfaceDeclaration · api-document.ts
interface ShellAutosaveRecoverySettings { schema: "fastdoc.autosave-recovery.settings.v1"; enabled: boolean; intervalSeconds: number; retention: { maxSnapshotsPerDocument: number; maxAgeDays: number; maxTotalBytes: number; };}ShellAutosaveRecoveryCandidate
Section titled “ShellAutosaveRecoveryCandidate”InterfaceDeclaration · api-document.ts
interface ShellAutosaveRecoveryCandidate { recoveryId: string; documentId: string; displayName: string; capturedAt: string; sourcePath: string | null; movedSourcePath: string | null; sourceStatus: "available" | "untitled" | "missing" | "moved" | "externally-replaced" | "read-only"; snapshotPath: string; snapshotHealth: "ready" | "missing" | "corrupt"; sessionId: string; retentionExhausted: boolean;}ShellVersionHistoryEntry
Section titled “ShellVersionHistoryEntry”InterfaceDeclaration · api-document.ts
interface ShellVersionHistoryEntry { id: string; documentId: string; snapshotPath: string; createdAt: string; reason: "manual-save" | "autosave" | "recovery" | "restore" | "save-as"; fileName: string; sizeBytes: number; sha256: string; name: string | null; pinned: boolean; recoverySessionId: string | null; sourcePath: string; health: "ready" | "missing" | "corrupt";}ShellVersionHistoryResult
Section titled “ShellVersionHistoryResult”InterfaceDeclaration · api-document.ts
interface ShellVersionHistoryResult { documentPath: string; versions: ShellVersionHistoryEntry[];}ShellDocxCompatibilityIssue
Section titled “ShellDocxCompatibilityIssue”InterfaceDeclaration · api-document.ts
interface ShellDocxCompatibilityIssue { code: string; severity: "info" | "warning" | "error" | "blocker"; part: string; relationship_id: string | null; impact: string; allowed_action: string; repairable: boolean; detail: string;}ShellDocxCompatibilityReport
Section titled “ShellDocxCompatibilityReport”InterfaceDeclaration · api-document.ts
interface ShellDocxCompatibilityReport { schema: "fastdoc.docx-compatibility-report.v1"; package_kind: "docx" | "docm"; producer_hint: string; trusted_open_allowed: boolean; repair_copy_allowed: boolean; repair_required: boolean; macro_payload_present: boolean; macro_execution_allowed: false; external_relationships_resolved: false; source_part_count: number; relationship_count: number; preserved_opaque_part_count: number; issues: ShellDocxCompatibilityIssue[];}ShellDocxCompatibilityCommandResult
Section titled “ShellDocxCompatibilityCommandResult”InterfaceDeclaration · api-document.ts
interface ShellDocxCompatibilityCommandResult { schema: "fastdoc.docx-compatibility-command.v1"; action: "check-compatibility" | "inspect-package" | "repair-copy"; source_path: string; output_path: string | null; source_sha256_before: string; source_sha256_after: string; source_size_bytes: number; source_unchanged: boolean; output_sha256: string | null; saves_completed: number; reopens_completed: number; temp_files_cleaned: boolean; macro_execution_allowed: false; applied_rules: string[]; report: ShellDocxCompatibilityReport; report_after: ShellDocxCompatibilityReport | null;}ShellDocxCompatibilityOperationResult
Section titled “ShellDocxCompatibilityOperationResult”InterfaceDeclaration · api-document.ts
interface ShellDocxCompatibilityOperationResult { canceled: boolean; opened: boolean; outputPath: string | null; result: ShellDocxCompatibilityCommandResult | null;}ShellExternalChangePromptState
Section titled “ShellExternalChangePromptState”InterfaceDeclaration · api-document.ts
interface ShellExternalChangePromptState { status: "none" | "prompt"; kind: "modified" | "deleted" | "moved" | "read-only" | "corrupt" | null; documentPath: string; diskPath: string | null; diskHash: string | null; dirty: boolean; revision: number; message: string | null; choices: Array<"keep-current" | "keep-mine" | "reload-disk" | "save-mine-copy" | "compare" | "cancel">; reloadAllowed: boolean;}ShellBridgeState
Section titled “ShellBridgeState”InterfaceDeclaration · api-document.ts
interface ShellBridgeState { document: ShellLoadedDocument | null; canonicalHistory?: { owner: "rust-session"; historyOwner: "rust-session" | "canonical_rust_session_m9"; available: boolean; sessionId: string | null; documentId: string | null; transactionOrder: number; acceptedRevision: number; selectionRevision: number; publishedRevision: number; dirty: boolean; modelHash: string | null; undoDepth: number; redoDepth: number; typingAttributes: CharacterProperties; undoTransactions: Array<{ transitionKind: string; packageStructural?: boolean; transactionOrder: number; beforeModelHash: string; afterModelHash: string; paragraphIndex?: number; beforeCaretSlotIndex?: number; afterCaretSlotIndex?: number; }>; redoTransactions: Array<{ transitionKind: string; packageStructural?: boolean; transactionOrder: number; beforeModelHash: string; afterModelHash: string; paragraphIndex?: number; beforeCaretSlotIndex?: number; afterCaretSlotIndex?: number; }>; }; easyEditCapability?: EasyEditBodyTextCapability; recentDocuments?: Array<{ path: string; name: string; parentLabel: string; lastOpenedLabel: string; pinned: boolean; availability: "available" | "missing"; }>; restoreLastDocument: boolean; liveTextEditEligible: boolean; trackRevisionsEnabled: boolean; saveInPlaceEligible: boolean; hasUnpublishedChainHead: boolean; acceptedChainModelHash?: string | null; publicationDirty?: boolean; persistentProjectionQuarantine?: string | null; publishTargetPath: string | null; documentIsChainContinuation?: boolean; canonicalHistoryNavigation?: boolean; liveTextChainInputPath: string | null; compareDocument: ShellLoadedDocument | null; errorMessage: string | null; fileSessionRecovery: ShellFileSessionRecoveryState; availableFixtures: ShellFixtureOption[]; smokeMode: SmokeMode; smokeFieldCommandCenterActionId: string | null; smokeArtifactRoot?: string | null; wordSurfaceCaptureText: string | null; wordSurfaceCaptureOutputSuffix: string | null; wordSurfaceVisibleReplayDelayMs: number; wordSurfaceShowFormattingMarks: boolean; launchConfig: { hideLeftPanel: boolean; hideRightPanel: boolean; canvasOnly: boolean; surfaceMode: "default" | "word-surface-control-sheet"; d5GlyphEdgeCoverageShapeMaterial: boolean; editableLauncher: boolean; saveInPlace: boolean; editorV0RibbonInsertImageSmokeOutputPath: string | null; editorV0RibbonInsertImageSmokeImagePath: string | null; editorV0RibbonInsertImageSmokeMenuScreenshotPath: string | null; smokeSeedViewPreferencesActiveRibbonTabView: boolean; }; runtimeFontFaceCss: string; availableFontFamilyNames: string[]; cloudDownloadableFontFamilyNames: string[]; windowChrome: { customTitlebar: boolean; trafficLightsInset: boolean; platform: string; };}ShellExportCurrentDocumentImagesRequest
Section titled “ShellExportCurrentDocumentImagesRequest”InterfaceDeclaration · api-document.ts
interface ShellExportCurrentDocumentImagesRequest { renderedCanvas?: ShellSaveRenderedCanvasImagesRequest; outputDir?: string | null; sourcePartName?: string | null; sourcePartNames?: string[] | string | null; relationshipId?: string | null; relationshipIds?: string[] | string | null; ownerLocation?: string | null; ownerLocations?: string[] | string | null; ownerRef?: string | Record<string, unknown> | null; ownerRefs?: Array<string | Record<string, unknown>> | string | null; ownerReferences?: Array<string | Record<string, unknown>> | string | null; owner_ref?: string | Record<string, unknown> | null; owner_refs?: Array<string | Record<string, unknown>> | string | null; owner_references?: Array<string | Record<string, unknown>> | string | null; drawingSupportStatus?: string | null; drawingSupportStatuses?: string[] | string | null; drawing_support_status?: string | null; drawing_support_statuses?: string[] | string | null;}ShellSaveRenderedCanvasImagesRequest
Section titled “ShellSaveRenderedCanvasImagesRequest”InterfaceDeclaration · api-document.ts
interface ShellSaveRenderedCanvasImagesRequest { scope: "selected-object" | "document-pages"; format: "png" | "jpeg"; images: Array<{ name: string; dataUrl: string; pageIndex?: number | null; }>; outputDir?: string | null; outputPath?: string | null;}ShellSaveRenderedCanvasImagesResult
Section titled “ShellSaveRenderedCanvasImagesResult”InterfaceDeclaration · api-document.ts
interface ShellSaveRenderedCanvasImagesResult { schema: "fastdoc.shell.text-087-094-rendered-canvas-images.v1"; backlogIds: [ "TEXT-087", "TEXT-094" ]; saved: boolean; canceled: boolean; scope: "selected-object" | "document-pages"; format: "png" | "jpeg"; outputFiles: string[]; outputDir?: string | null; sourceDocxMutated: false;}ShellExportCurrentImageWorkflowImagesRequest
Section titled “ShellExportCurrentImageWorkflowImagesRequest”InterfaceDeclaration · api-document.ts
interface ShellExportCurrentImageWorkflowImagesRequest { outputDir?: string | null; ownerRef?: string | Record<string, unknown> | null; ownerRefs?: Array<string | Record<string, unknown>> | string | null; ownerReferences?: Array<string | Record<string, unknown>> | string | null; owner_ref?: string | Record<string, unknown> | null; owner_refs?: Array<string | Record<string, unknown>> | string | null; owner_references?: Array<string | Record<string, unknown>> | string | null; drawingSupportStatus?: string | null; drawingSupportStatuses?: string[] | string | null; drawing_support_status?: string | null; drawing_support_statuses?: string[] | string | null;}ShellCurrentImageWorkflowExportPlanRequest
Section titled “ShellCurrentImageWorkflowExportPlanRequest”InterfaceDeclaration · api-document.ts
interface ShellCurrentImageWorkflowExportPlanRequest { outputDir?: string | null; ownerRef?: string | Record<string, unknown> | null; ownerRefs?: Array<string | Record<string, unknown>> | string | null; ownerReferences?: Array<string | Record<string, unknown>> | string | null; owner_ref?: string | Record<string, unknown> | null; owner_refs?: Array<string | Record<string, unknown>> | string | null; owner_references?: Array<string | Record<string, unknown>> | string | null;}ShellCurrentImageWorkflowExportPlan
Section titled “ShellCurrentImageWorkflowExportPlan”InterfaceDeclaration · api-document.ts
interface ShellCurrentImageWorkflowExportPlan { schema: "fastdoc.shell.d38-current-image-workflow-export-plan.v1"; backlog_id: "TEXT-271"; document_path?: string | null; documentPath?: string | null; computed: boolean; export_available: boolean; exportAvailable: boolean; reason: string; exportable_owner_ref_count: number; exportableOwnerRefCount: number; source_part_names: string[]; sourcePartNames: string[]; relationship_ids: string[]; relationshipIds: string[]; owner_locations: string[]; ownerLocations: string[]; owner_refs: Array<Record<string, unknown>>; ownerRefs: Array<Record<string, unknown>>; planned_items: Array<Record<string, unknown>>; plannedItems: Array<Record<string, unknown>>; claims: Record<string, unknown>; support_markers: string[]; supportMarkers: string[];}ShellExportCurrentDocumentImagesResult
Section titled “ShellExportCurrentDocumentImagesResult”InterfaceDeclaration · api-document.ts
interface ShellExportCurrentDocumentImagesResult { schema: "fastdoc.shell.text-271-export-current-images.v1"; backlog_id: "TEXT-271"; document_path?: string | null; output_dir?: string | null; exported: boolean; reason: string | null; image_count: number; filter_applied: boolean; filter: Record<string, unknown>; requested_filters: Record<string, unknown>; supported_media_part_count: number; deferred_media_part_count: number; source_docx_mutated: boolean; claims: Record<string, unknown>; images: Array<Record<string, unknown>>; current_media_assets: Array<Record<string, unknown>>; current_deferred_image_objects: Array<Record<string, unknown>>; current_image_workflow: Record<string, unknown>; currentImageWorkflow: Record<string, unknown>; workflow_export?: Record<string, unknown>; workflowExport?: Record<string, unknown>; manifest_written?: boolean; manifestWritten?: boolean; manifest_path?: string | null; manifestPath?: string | null; index_written?: boolean; indexWritten?: boolean; index_path?: string | null; indexPath?: string | null; index_row_count?: number; indexRowCount?: number; html_index_written?: boolean; htmlIndexWritten?: boolean; html_index_path?: string | null; htmlIndexPath?: string | null; html_index_row_count?: number; htmlIndexRowCount?: number; summary_written?: boolean; summaryWritten?: boolean; summary_path?: string | null; summaryPath?: string | null; workflow_export_summary?: Record<string, unknown>; workflowExportSummary?: Record<string, unknown>; workflow_export_manifest?: Record<string, unknown>; workflowExportManifest?: Record<string, unknown>; support_markers: string[];}ShellCopyCurrentImageWorkflowImageResult
Section titled “ShellCopyCurrentImageWorkflowImageResult”InterfaceDeclaration · api-document.ts
interface ShellCopyCurrentImageWorkflowImageResult { schema: "fastdoc.shell.d38-selected-image-clipboard-copy.v1"; copied: boolean; reason: string | null; document_path?: string | null; output_dir?: string | null; owner_refs: Array<Record<string, unknown>>; image_count: number; source_part_name?: string | null; output_path?: string | null; clipboard_image_size?: { width: number; height: number; } | null; clipboardImageSize?: { width: number; height: number; } | null; export_result?: Record<string, unknown>; claims: Record<string, unknown>; support_markers: string[];}ShellCompressCurrentImageWorkflowImageRequest
Section titled “ShellCompressCurrentImageWorkflowImageRequest”InterfaceDeclaration · api-document.ts
interface ShellCompressCurrentImageWorkflowImageRequest { ownerRef?: string | Record<string, unknown> | null; ownerRefs?: Array<string | Record<string, unknown>> | string | null; outputDocxPath?: string | null; writebackOut?: string | null; maxPixelWidth?: number | null; maxPixelHeight?: number | null; jpegQuality?: number | null; reopenAfterWrite?: boolean | null;}ShellCompressCurrentImageWorkflowImageResult
Section titled “ShellCompressCurrentImageWorkflowImageResult”InterfaceDeclaration · api-document.ts
interface ShellCompressCurrentImageWorkflowImageResult { schema: "fastdoc.shell.d38-picture-format-compress-pictures-action.v1"; backlog_id: "D38"; document_path?: string | null; output_docx_path?: string | null; owner_refs: Array<Record<string, unknown>>; max_pixel_width?: number; maxPixelWidth?: number; max_pixel_height?: number; maxPixelHeight?: number; jpeg_quality?: number; jpegQuality?: number; compressed: boolean; replaced: boolean; output_written?: boolean; outputWritten?: boolean; reason: string | null; source_part_name?: string | null; sourcePartName?: string | null; output_path?: string | null; outputPath?: string | null; replacement_image_path?: string | null; replacementImagePath?: string | null; original_byte_len?: number | null; originalByteLen?: number | null; compressed_byte_len?: number | null; compressedByteLen?: number | null; original_pixel_size?: { width: number; height: number; } | null; originalPixelSize?: { width: number; height: number; } | null; compressed_pixel_size?: { width: number; height: number; } | null; compressedPixelSize?: { width: number; height: number; } | null; byte_reduction?: number | null; byteReduction?: number | null; export_result?: Record<string, unknown>; replace_result?: Record<string, unknown>; replaceResult?: Record<string, unknown>; claims: Record<string, unknown>; support_markers: string[];}ShellReplaceCurrentImageWorkflowImageRequest
Section titled “ShellReplaceCurrentImageWorkflowImageRequest”InterfaceDeclaration · api-document.ts
interface ShellReplaceCurrentImageWorkflowImageRequest { ownerRef?: string | Record<string, unknown> | null; ownerRefs?: Array<string | Record<string, unknown>> | string | null; replacementImagePath?: string | null; outputDocxPath?: string | null; writebackOut?: string | null; widthEmu?: number | null; heightEmu?: number | null; altTitle?: string | null; altDescription?: string | null; preserveAspectRatio?: boolean | null; resetToOriginalEmbeddedExtent?: boolean | null; resetExtent?: boolean | null; cropMode?: "fit" | "fill" | "fill-center" | "fill-left" | "fill-right" | "reset" | "custom" | null; cropL?: number | null; cropT?: number | null; cropR?: number | null; cropB?: number | null; wrapMode?: "inline" | "square" | "tight" | "through" | "top-bottom" | "behind-text" | "in-front-of-text" | null; wrapSide?: "bothSides" | "left" | "right" | "largest" | null; wrapPointsPreset?: "inset-rectangle" | null; wrapDistanceTopEmu?: number | null; wrapDistanceBottomEmu?: number | null; wrapDistanceLeftEmu?: number | null; wrapDistanceRightEmu?: number | null; arrangeMode?: "bring-forward" | "send-backward" | "bring-front" | "send-back" | "behind-text" | "in-front-of-text" | null; alignMode?: "left" | "center" | "right" | null; verticalAlignMode?: "top" | "center" | "bottom" | null; alignRelativeFrom?: "page" | "margin" | null; rotateDegrees?: number | null; flipMode?: "horizontal" | "vertical" | "none" | null; removeBackgroundMode?: "corner-color" | "edge-color" | "white" | "auto" | null; compressPictureMode?: "email-96ppi" | "web-150ppi" | "print-220ppi" | null; reopenAfterWrite?: boolean | null;}ShellReplaceCurrentImageWorkflowImageResult
Section titled “ShellReplaceCurrentImageWorkflowImageResult”InterfaceDeclaration · api-document.ts
interface ShellReplaceCurrentImageWorkflowImageResult { schema: "fastdoc.shell.d38-selected-image-replace-media-copy.v1"; backlog_id: "D38"; document_path?: string | null; output_docx_path?: string | null; outputDocxPath?: string | null; replacement_image_path?: string | null; owner_refs: Array<Record<string, unknown>>; replaced: boolean; resized?: boolean; reset_to_original_embedded_extent_performed?: boolean; resetToOriginalEmbeddedExtentPerformed?: boolean; reason: string | null; cli_result?: Record<string, unknown> | null; cliResult?: Record<string, unknown> | null; output_written?: boolean; outputWritten?: boolean; source_unchanged?: boolean; sourceUnchanged?: boolean; reopen_after_write?: boolean; reopenAfterWrite?: boolean; reopened_document_path?: string | null; reopenedDocumentPath?: string | null; source_part_name?: string | null; sourcePartName?: string | null; replacement_byte_len?: number | null; replacementByteLen?: number | null; remove_background_mode?: string | null; removeBackgroundMode?: string | null; remove_background_performed?: boolean | null; removeBackgroundPerformed?: boolean | null; remove_background_transparent_pixel_count?: number | null; removeBackgroundTransparentPixelCount?: number | null; compress_picture_mode?: string | null; compressPictureMode?: string | null; picture_compression_performed?: boolean | null; pictureCompressionPerformed?: boolean | null; picture_compression_original_pixel_width?: number | null; pictureCompressionOriginalPixelWidth?: number | null; picture_compression_original_pixel_height?: number | null; pictureCompressionOriginalPixelHeight?: number | null; picture_compression_pixel_width?: number | null; pictureCompressionPixelWidth?: number | null; picture_compression_pixel_height?: number | null; pictureCompressionPixelHeight?: number | null; affected_owner_count?: number | null; affectedOwnerCount?: number | null; before_extent_emu?: Record<string, unknown> | null; beforeExtentEmu?: Record<string, unknown> | null; requested_extent_emu?: Record<string, unknown> | null; requestedExtentEmu?: Record<string, unknown> | null; original_embedded_extent_emu?: Record<string, unknown> | null; originalEmbeddedExtentEmu?: Record<string, unknown> | null; after_extent_emu?: Record<string, unknown> | null; afterExtentEmu?: Record<string, unknown> | null; extent_changed?: boolean | null; extentChanged?: boolean | null; crop_changed?: boolean | null; cropChanged?: boolean | null; wrap_changed?: boolean | null; wrapChanged?: boolean | null; wrap_side_changed?: boolean | null; wrapSideChanged?: boolean | null; wrap_points_changed?: boolean | null; wrapPointsChanged?: boolean | null; wrap_distance_changed?: boolean | null; wrapDistanceChanged?: boolean | null; display_name_changed?: boolean | null; displayNameChanged?: boolean | null; hidden_changed?: boolean | null; hiddenChanged?: boolean | null; arrange_changed?: boolean | null; arrangeChanged?: boolean | null; position_behavior_changed?: boolean | null; positionBehaviorChanged?: boolean | null; image_effect_changed?: boolean | null; imageEffectChanged?: boolean | null; picture_style_changed?: boolean | null; pictureStyleChanged?: boolean | null; picture_shape_changed?: boolean | null; pictureShapeChanged?: boolean | null; alt_title_before?: string | null; altTitleBefore?: string | null; alt_title_after?: string | null; altTitleAfter?: string | null; alt_description_before?: string | null; altDescriptionBefore?: string | null; alt_description_after?: string | null; altDescriptionAfter?: string | null; alt_text_changed?: boolean | null; altTextChanged?: boolean | null; claims: Record<string, unknown>; support_markers: string[];}ShellDocumentWindowDescriptor
Section titled “ShellDocumentWindowDescriptor”InterfaceDeclaration · api-document.ts
interface ShellDocumentWindowDescriptor { windowId: number; webContentsId: number; title: string; documentPath: string | null; documentIdentity: string | null; active: boolean; ready: boolean; dirty: boolean;}ShellDocumentWindowSession
Section titled “ShellDocumentWindowSession”InterfaceDeclaration · api-document.ts
interface ShellDocumentWindowSession { windowId: number | null; sessionRevision: number; windows: ShellDocumentWindowDescriptor[]; snapshot: ShellDocumentSessionSnapshot | null;}ShellDocumentSessionSelection
Section titled “ShellDocumentSessionSelection”InterfaceDeclaration · api-document.ts
interface ShellDocumentSessionSelection { documentPath: string | null; pageIndex: number; lineLocation: string | null; caretSlotIndex: number | null; selectionStartSlotIndex: number | null; selectionEndSlotIndex: number | null; multiSelectionStartLineLocation: string | null; multiSelectionStartSlotIndex: number | null; multiSelectionEndLineLocation: string | null; multiSelectionEndSlotIndex: number | null; preferredCaretXPx?: number | null;}ShellDocumentSessionSnapshot
Section titled “ShellDocumentSessionSnapshot”InterfaceDeclaration · api-document.ts
interface ShellDocumentSessionSnapshot { documentPath: string; revision?: number; originWindowId?: number; dirty: boolean; liveEditDraft: Record<string, unknown> | null; liveEditUndoStack: Array<Record<string, unknown>>; liveEditRedoStack: Array<Record<string, unknown>>; selection: ShellDocumentSessionSelection | null;}ShellExactPageCountStatus
Section titled “ShellExactPageCountStatus”InterfaceDeclaration · api-document.ts
interface ShellExactPageCountStatus { running: boolean; counted: boolean; pageCount: number | null; pageCountSource: string | null; reason: string | null;}ShellCanonicalSceneRefreshed
Section titled “ShellCanonicalSceneRefreshed”InterfaceDeclaration · api-document.ts
interface ShellCanonicalSceneRefreshed { documentPath: string | null; revision: number; origin: | "neighbour" | "neighbour-advance" | "own-deferred-review" | "own-deferred-scene"; documentRevisionDelta?: number; selectionRevisionDelta?: number;}ShellRendererCapabilities
Section titled “ShellRendererCapabilities”InterfaceDeclaration · api-document.ts
interface ShellRendererCapabilities { documentPatch?: boolean;}ShellDocumentPatchState
Section titled “ShellDocumentPatchState”TypeAliasDeclaration · api-document.ts
type ShellDocumentPatchState = Omit< ShellBridgeState, | "document" | "compareDocument" | "runtimeFontFaceCss" | "availableFixtures" | "availableFontFamilyNames" | "cloudDownloadableFontFamilyNames" | "launchConfig" | "windowChrome" | "smokeMode" | "smokeArtifactRoot" | "smokeFieldCommandCenterActionId" | "wordSurfaceCaptureText" | "wordSurfaceCaptureOutputSuffix" | "wordSurfaceVisibleReplayDelayMs" | "wordSurfaceShowFormattingMarks">;ShellDocumentPatch
Section titled “ShellDocumentPatch”InterfaceDeclaration · api-document.ts
interface ShellDocumentPatch { schema: "fastdoc.shell.document-patch.v1"; documentPath: string; revision: number; request_id: string; before_hash: string; after_hash: string; verify: boolean; model_is_windowed?: boolean; windowed_model_hash?: string; foreign?: boolean; model: { patch: unknown; full?: undefined } | { full: unknown; patch?: undefined }; compose: { head: Record<string, unknown>; paragraph_count: number; before_paragraph_count: number; changed: Array<{ paragraph_index: number; paragraph: unknown }>; } | null; print: { head: Record<string, unknown>; page_count: number; before_document_fingerprint: string | null; changed_pages: unknown[]; unchanged_page_indexes: number[]; } | null; paginate?: unknown; review?: unknown; style?: unknown; document_head: Record<string, unknown>; state: ShellDocumentPatchState;}ShellDocumentPatchOutcome
Section titled “ShellDocumentPatchOutcome”InterfaceDeclaration · api-document.ts
interface ShellDocumentPatchOutcome { documentPath: string; revision: number; applied: boolean; reason: string | null; ms: number; model: "patch" | "full"; pages_changed: number; paragraphs_changed: number; verified: boolean;}