@ai-matrx/agents 0.42.1 → 0.43.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/content-transfer/index.cjs.map +1 -1
- package/dist/content-transfer/index.js.map +1 -1
- package/dist/content-transfer/react/index.cjs.map +1 -1
- package/dist/content-transfer/react/index.js.map +1 -1
- package/dist/context/react/index.cjs +27 -20
- package/dist/context/react/index.cjs.map +1 -1
- package/dist/context/react/index.js +27 -20
- package/dist/context/react/index.js.map +1 -1
- package/dist/generated/stream-events.cjs.map +1 -1
- package/dist/generated/stream-events.d.cts +1 -0
- package/dist/generated/stream-events.d.ts +1 -0
- package/dist/generated/stream-events.js.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/{keys.generated-CtmYvYsN.d.cts → keys.generated-BGFhXgYg.d.cts} +4 -4
- package/dist/{keys.generated-CtmYvYsN.d.ts → keys.generated-BGFhXgYg.d.ts} +4 -4
- package/dist/mandates/index.cjs +2 -2
- package/dist/mandates/index.cjs.map +1 -1
- package/dist/mandates/index.d.cts +2 -2
- package/dist/mandates/index.d.ts +2 -2
- package/dist/mandates/index.js +2 -2
- package/dist/mandates/index.js.map +1 -1
- package/dist/matrx/index.d.cts +1 -1
- package/dist/matrx/index.d.ts +1 -1
- package/generated/stream-events.ts +1 -0
- package/mandates/snapshots/keys.0.43.0.json +653 -0
- package/mandates/snapshots/keys.0.43.1.json +653 -0
- package/mandates/snapshots/keys.0.43.2.json +653 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../generated/stream-events.ts"],"sourcesContent":["// AUTO-GENERATED — do not edit manually.\n// Sources:\n// matrx_connect.context.* — stream event types\n// matrx_ai.db.message_parts — cx_message.content[] types\n// Run: uv run python scripts/generate_types.py stream\n\nexport const EventType = {\n CHUNK: \"chunk\",\n REASONING_CHUNK: \"reasoning_chunk\",\n REASONING: \"reasoning\",\n PHASE: \"phase\",\n WARNING: \"warning\",\n INFO: \"info\",\n DATA: \"data\",\n INIT: \"init\",\n COMPLETION: \"completion\",\n ERROR: \"error\",\n TOOL_EVENT: \"tool_event\",\n HEARTBEAT: \"heartbeat\",\n END: \"end\",\n RENDER_BLOCK: \"render_block\",\n RECORD_RESERVED: \"record_reserved\",\n RECORD_UPDATE: \"record_update\",\n RESOURCE_CHANGED: \"resource_changed\",\n CONTEXT_ANALYSIS: \"context_analysis\",\n STRUCTURED_OUTPUT: \"structured_output\",\n CONTEXT_STATE: \"context_state\",\n CONTEXT_TRIMMED: \"context_trimmed\",\n INJECTION_CONSUMED: \"injection_consumed\",\n PROVIDER_RETRY: \"provider_retry\",\n CITATION: \"citation\",\n CONTROL_TOKEN: \"control_token\",\n} as const;\n\nexport type EventType = (typeof EventType)[keyof typeof EventType];\n\nexport type Phase =\n | \"connected\"\n | \"processing\"\n | \"generating\"\n | \"using_tools\"\n | \"persisting\"\n | \"searching\"\n | \"scraping\"\n | \"analyzing\"\n | \"synthesizing\"\n | \"retrying\"\n | \"executing\"\n | \"complete\";\n\nexport type Operation =\n | \"llm_request\"\n | \"tool_execution\"\n | \"user_request\"\n | \"sub_agent\"\n | \"persistence\";\n\nexport type ToolEventType =\n | \"tool_started\"\n | \"tool_progress\"\n | \"tool_step\"\n | \"tool_result_preview\"\n | \"tool_completed\"\n | \"tool_error\"\n | \"tool_delegated\";\n\nexport type WarningLevel =\n | \"low\"\n | \"medium\"\n | \"high\";\n\nexport type InitCompletionStatus =\n | \"success\"\n | \"failed\"\n | \"cancelled\";\n\nexport interface ChunkPayload {\n text: string;\n}\n\nexport interface CitationPayload {\n block_index?: number | null;\n citation: Record<string, unknown>;\n}\n\nexport interface ControlTokenPayload {\n name: string;\n value: string;\n declared_by?: string | null;\n}\n\nexport interface ReasoningChunkPayload {\n text: string;\n}\n\nexport interface ReasoningPayload {\n state: \"started\" | \"stopped\";\n}\n\nexport interface PhasePayload {\n phase: \"connected\" | \"processing\" | \"generating\" | \"using_tools\" | \"persisting\" | \"searching\" | \"scraping\" | \"analyzing\" | \"synthesizing\" | \"retrying\" | \"executing\" | \"complete\";\n}\n\nexport interface WarningPayload {\n code: string;\n system_message: string;\n user_message?: string | null;\n level?: \"low\" | \"medium\" | \"high\";\n recoverable?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface InfoPayload {\n code: string;\n system_message: string;\n user_message?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface InitPayload {\n operation: \"llm_request\" | \"tool_execution\" | \"user_request\" | \"sub_agent\" | \"persistence\";\n operation_id: string;\n parent_operation_id?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CompletionPayload {\n operation: \"llm_request\" | \"tool_execution\" | \"user_request\" | \"sub_agent\" | \"persistence\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result?: Record<string, unknown>;\n}\n\nexport interface ErrorPayload {\n error_type: string;\n message: string;\n user_message?: string;\n code?: string | null;\n details?: Record<string, unknown> | null;\n}\n\nexport interface ProviderRetryPayload {\n state: \"scheduled\" | \"retrying_now\" | \"cancelled\" | \"suspended\" | \"recovered\";\n provider: string;\n error_type: string;\n message: string;\n user_message: string;\n status_code?: number | null;\n model?: string | null;\n request_id?: string | null;\n conversation_id?: string | null;\n iteration: number;\n failed_attempt: number;\n next_attempt?: number | null;\n max_retries: number;\n retry_delay?: number | null;\n retry_at?: number | null;\n discard_partial_output?: boolean;\n schedule?: number[];\n can_cancel?: boolean;\n can_retry_now?: boolean;\n actions?: Record<string, string>;\n}\n\nexport interface ToolEventPayload {\n event: \"tool_started\" | \"tool_progress\" | \"tool_step\" | \"tool_result_preview\" | \"tool_completed\" | \"tool_error\" | \"tool_delegated\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data?: Record<string, unknown>;\n}\n\nexport interface HeartbeatPayload {\n timestamp?: number;\n seq?: number | null;\n late_by_seconds?: number | null;\n}\n\nexport interface EndPayload {\n reason?: string;\n}\n\nexport interface RenderBlockPayload {\n blockId: string;\n blockIndex: number;\n type: string;\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface RecordReservedPayload {\n db_project: string;\n table: string;\n record_id: string;\n status?: \"pending\";\n parent_refs?: Record<string, string>;\n metadata?: Record<string, unknown>;\n}\n\nexport interface RecordUpdatePayload {\n db_project: string;\n table: string;\n record_id: string;\n status: \"active\" | \"completed\" | \"failed\";\n metadata?: Record<string, unknown>;\n}\n\nexport interface ResourceChangedPayload {\n kind: string;\n action: \"created\" | \"modified\" | \"deleted\" | \"moved\" | \"renamed\" | \"invalidated\";\n resource_id: string;\n sandbox_id?: string | null;\n user_id?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ContextAnalysisPayload {\n provider: string;\n model?: string | null;\n iteration?: number | null;\n conversation_id?: string | null;\n request_id?: string | null;\n attempt?: number;\n is_streaming?: boolean;\n method: string;\n url: string;\n headers: Record<string, string>;\n body?: Record<string, unknown> | null;\n body_raw?: string | null;\n body_size_bytes?: number;\n timestamp?: number;\n}\n\nexport interface StructuredOutputPayload {\n schema_name?: string | null;\n json_schema: Record<string, unknown>;\n data?: Record<string, unknown> | unknown[] | null;\n success: boolean;\n reason?: string;\n match_count?: number;\n agent_name?: string | null;\n operation_id?: string | null;\n kind?: string | null;\n kind_version?: number | null;\n kind_checked?: boolean;\n kind_errors?: string[];\n}\n\nexport interface ConsumedInjection {\n injection_id: string;\n kind: string;\n text?: string | null;\n is_visible_to_user?: boolean;\n position?: number | null;\n message_id?: string | null;\n}\n\nexport interface InjectionConsumedPayload {\n conversation_id: string;\n items: ConsumedInjection[];\n count: number;\n}\n\nexport interface ContextStatePayload {\n conversation_id: string;\n last_request_input_tokens?: number;\n last_request_cached_tokens?: number;\n last_request_output_tokens?: number;\n total_chars_visible_to_model?: number;\n message_count_visible?: number;\n cache_state?: Record<string, unknown>;\n measured_at: string;\n}\n\nexport interface ContextTrimmedPayload {\n conversation_id: string;\n request_id?: string | null;\n trim_summary: Record<string, unknown>;\n measured_at: string;\n}\n\n// --- Typed Record Reservation Variants (discriminated on `table`) ---\n\n// Narrows RecordReservedPayload.metadata / parent_refs by table.\n// Server guarantees these shapes for message, request, tool_call.\n\nexport interface CxMessageReservedParentRefs {\n [key: string]: unknown;\n conversation_id: string;\n user_request_id: string;\n}\n\nexport interface CxMessageReservedMetadata {\n [key: string]: unknown;\n role: \"user\" | \"assistant\" | \"system\" | \"tool\";\n position: number;\n}\n\nexport interface CxRequestReservedParentRefs {\n [key: string]: unknown;\n conversation_id: string;\n user_request_id: string;\n}\n\nexport interface CxRequestReservedMetadata {\n [key: string]: unknown;\n iteration: number;\n}\n\nexport interface CxToolCallReservedParentRefs {\n [key: string]: unknown;\n conversation_id: string;\n user_request_id: string;\n call_id: string;\n}\n\nexport interface CxToolCallReservedMetadata {\n [key: string]: unknown;\n tool_name: string;\n call_id: string;\n iteration: number;\n}\n\nexport type CxMessageReservedPayload = RecordReservedPayload & {\n table: \"message\";\n parent_refs: CxMessageReservedParentRefs;\n metadata: CxMessageReservedMetadata;\n};\n\nexport type CxRequestReservedPayload = RecordReservedPayload & {\n table: \"request\";\n parent_refs: CxRequestReservedParentRefs;\n metadata: CxRequestReservedMetadata;\n};\n\nexport type CxToolCallReservedPayload = RecordReservedPayload & {\n table: \"tool_call\";\n parent_refs: CxToolCallReservedParentRefs;\n metadata: CxToolCallReservedMetadata;\n};\n\n/** Discriminated union on `table` — narrows metadata/parent_refs for known tables. */\nexport type TypedRecordReservedPayload =\n | CxMessageReservedPayload\n | CxRequestReservedPayload\n | CxToolCallReservedPayload;\n\n/** True when the reservation is for a known table with typed metadata. */\nexport function isTypedRecordReservedPayload(p: RecordReservedPayload): p is RecordReservedPayload & TypedRecordReservedPayload {\n return p.table === \"message\" || p.table === \"request\" || p.table === \"tool_call\";\n}\n\n/** Narrows to CxMessageReservedPayload — `metadata.role` and `metadata.position` are guaranteed. */\nexport function isCxMessageReservation(p: RecordReservedPayload): p is CxMessageReservedPayload {\n return p.table === \"message\";\n}\n\n/** Narrows to CxRequestReservedPayload — `metadata.iteration` is guaranteed. */\nexport function isCxRequestReservation(p: RecordReservedPayload): p is CxRequestReservedPayload {\n return p.table === \"request\";\n}\n\n/** Narrows to CxToolCallReservedPayload — `metadata.tool_name`, `metadata.call_id`, and `metadata.iteration` are guaranteed. */\nexport function isCxToolCallReservation(p: RecordReservedPayload): p is CxToolCallReservedPayload {\n return p.table === \"tool_call\";\n}\n\n// --- Typed Data Payloads ---\n\nexport interface DataPayload {\n type: string;\n}\n\nexport interface AssignmentProgressData {\n type?: \"assignment_progress\";\n session_id: string;\n completed: number;\n total: number;\n status: \"pending\" | \"running\" | \"completed\" | \"partially_failed\" | \"failed\" | \"cancelled\";\n}\n\nexport interface AudioOutputData {\n type?: \"audio_output\";\n url: string;\n mime_type: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n}\n\nexport interface AudioStreamChunkData {\n type?: \"audio_stream_chunk\";\n stream_id: string;\n seq: number;\n audio_base64: string;\n mime_type?: string;\n encoding?: \"pcm_s16le\" | \"mp3\";\n sample_rate?: number;\n bits_per_sample?: number;\n channels?: number;\n}\n\nexport interface AudioStreamEndData {\n type?: \"audio_stream_end\";\n stream_id: string;\n total_chunks: number;\n url?: string;\n mime_type?: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n duration_ms?: number | null;\n sample_rate?: number;\n bits_per_sample?: number;\n channels?: number;\n}\n\nexport interface CategorizationResultData {\n type?: \"categorization_result\";\n prompt_id: string;\n category: string;\n tags?: string[];\n description?: string;\n dry_run?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface JsonValue {\n}\n\nexport interface ClaudeManagedSdkMessageData {\n type?: \"claude_managed_sdk_message\";\n runtime_id: string;\n session_id: string;\n sdk_message_type: string;\n message: Record<string, JsonValue>;\n}\n\nexport interface ClaudeManagedWarningData {\n type?: \"claude_managed_warning\";\n code: string;\n runtime_id: string;\n session_id: string;\n}\n\nexport interface CmsLogoFoundData {\n type?: \"cms_logo_found\";\n site_id: string;\n found: boolean;\n message: string;\n asset_id?: string | null;\n asset_url?: string | null;\n source?: string | null;\n source_url?: string | null;\n width?: number | null;\n height?: number | null;\n mime_type?: string | null;\n candidates_considered?: number;\n rejected?: string[];\n}\n\nexport interface ContextChangedData {\n type?: \"context_changed\";\n key: string;\n command: string;\n object_type?: string;\n mutable?: boolean;\n persist?: string;\n source_kind?: string;\n source_id?: string | null;\n}\n\nexport interface ContextConflictData {\n type?: \"context_conflict\";\n key: string;\n command: string;\n source_kind?: string;\n source_id?: string | null;\n base_version?: number | null;\n}\n\nexport interface ContextDeltaData {\n type?: \"context_delta\";\n key: string;\n command: string;\n object_type?: string;\n source_kind?: string;\n source_id?: string | null;\n seq?: number;\n delta_kind?: \"splice\" | \"full\";\n start?: number | null;\n end?: number | null;\n text?: string | null;\n base_len?: number | null;\n new_len?: number;\n content?: string | null;\n}\n\nexport interface ContextPersistFailedData {\n type?: \"context_persist_failed\";\n key: string;\n command: string;\n source_kind?: string;\n source_id?: string | null;\n error?: string;\n traceback?: string;\n}\n\nexport interface ContextPersistedData {\n type?: \"context_persisted\";\n key: string;\n command: string;\n source_kind?: string;\n source_id?: string | null;\n materialized?: boolean;\n}\n\nexport interface ContextDecidedBy {\n include: \"default\" | \"page\" | \"agent\" | \"you\";\n max_inline_chars: \"default\" | \"page\" | \"agent\" | \"you\";\n}\n\nexport interface ContextDeliveredRef {\n chars: number;\n sha256: string;\n}\n\nexport interface ContextReceiptBlock {\n id: string;\n label: string;\n delivered: ContextDeliveredRef;\n}\n\nexport interface ContextReceiptRow {\n key: string;\n label: string;\n surface_key: string;\n origin: \"client\" | \"server\" | \"surroundings\" | \"rule\";\n chars?: number | null;\n include: boolean;\n max_inline_chars: number;\n delivery: \"inline\" | \"on_request\" | \"off\";\n decided_by: ContextDecidedBy;\n user_rule?: ContextRule | null;\n clamped?: boolean;\n client_sent_excluded?: boolean;\n blocked_by?: \"model\" | \"self_check\" | null;\n consumed_as?: \"expanded\" | \"directive\" | \"renamed\" | \"unaccounted\" | null;\n consumed_into?: string[];\n delivered?: ContextDeliveredRef | null;\n on_request?: ContextDeliveredRef | null;\n}\n\nexport interface ContextRule {\n include?: boolean | null;\n max_inline_chars?: number | null;\n}\n\nexport interface ContextReceiptData {\n type?: \"context_receipt\";\n version?: 1;\n surface?: string | null;\n cap: number;\n model_reads_context?: boolean;\n rows?: ContextReceiptRow[];\n rules_error?: string | null;\n blocks?: ContextReceiptBlock[];\n}\n\nexport interface ConversationIdData {\n type?: \"conversation_id\";\n conversation_id: string;\n}\n\nexport interface ConversationLabeledData {\n type?: \"conversation_labeled\";\n conversation_id: string;\n title: string;\n description?: string;\n keywords?: string[];\n}\n\nexport interface CutoverCopyAgainProgressData {\n type?: \"cutover_copy_again_progress\";\n organization_id: string;\n table_id?: string | null;\n table_name: string;\n done: number;\n total: number;\n refused?: string | null;\n says: string;\n}\n\nexport interface CutoverCopyAgainReportData {\n type?: \"cutover_copy_again_report\";\n organization_id: string;\n organization_name: string;\n table_id?: string | null;\n table_name?: string | null;\n ok: boolean;\n tables: number;\n tables_refused?: string[];\n rows_written?: number;\n carried?: Record<string, number>;\n named?: string[];\n says: string;\n}\n\nexport interface CutoverFinalSwitchCopyAgainResultData {\n type?: \"cutover_final_switch_copy_again_result\";\n run_id: string;\n resumed?: boolean;\n ok: boolean;\n says: string;\n organizations?: Record<string, unknown>[];\n still_needs?: string[];\n timings_ms?: Record<string, number>;\n}\n\nexport interface CutoverFinalSwitchResultData {\n type?: \"cutover_final_switch_result\";\n direction: \"new\" | \"old\";\n ok: boolean;\n reason?: string | null;\n says: string;\n press_id?: string | null;\n counts?: Record<string, unknown>;\n timings_ms?: Record<string, number>;\n copied_again?: string[];\n not_carried?: string[];\n}\n\nexport interface CutoverFinalSwitchStageData {\n type?: \"cutover_final_switch_stage\";\n stage: string;\n says: string;\n}\n\nexport interface DecisionAnswerBlock {\n __kind?: \"decision_answer\";\n type: \"noul\" | \"choice\" | \"score\";\n answer: boolean | number | string;\n probability?: number | null;\n probabilities?: Record<string, number> | null;\n confidence: number;\n legend?: Record<string, string> | null;\n}\n\nexport interface DecisionUsageBlock {\n input_tokens: number;\n output_tokens: number;\n}\n\nexport interface DecisionAnswersData {\n type?: \"decision_answers\";\n __kind: \"decision_answers\";\n model: string;\n method: \"native\" | \"verbalized\" | \"verbalized_calibrated\";\n answers?: Record<string, DecisionAnswerBlock>;\n unanswerable?: Record<string, string>;\n usage: DecisionUsageBlock;\n cost_usd: number;\n}\n\nexport interface DictionaryPublishCompleteData {\n type?: \"dictionary_publish_complete\";\n status: string;\n level: string;\n owner_id?: string | null;\n external_id?: string | null;\n version_id?: string | null;\n rule_count?: number;\n rules_hash?: string | null;\n}\n\nexport interface QuestionnaireQuestion {\n id: string;\n prompt: string;\n component_type: \"dropdown\" | \"checkboxes\" | \"radio\" | \"toggle\" | \"slider\" | \"input\" | \"textarea\";\n options?: string[];\n min?: number | null;\n max?: number | null;\n step?: number | null;\n default?: unknown;\n required?: boolean;\n}\n\nexport interface QuestionnaireDisplayData {\n type?: \"display_questionnaire\";\n introduction: string;\n questions?: QuestionnaireQuestion[];\n}\n\nexport interface ExtractionIndexCompleteData {\n type?: \"extraction_index_complete\";\n run_id: string;\n job_id: string;\n derivative_id: string;\n derivative_outcome: string;\n results_total: number;\n chunks_written: number;\n chunks_skipped: number;\n priority_applied: number;\n agent_id?: string | null;\n embedding_model: string;\n}\n\nexport interface ExtractionIndexProgressData {\n type?: \"extraction_index_progress\";\n run_id: string;\n stage: string;\n message?: string;\n results_total?: number;\n chunks_built?: number;\n chunks_skipped?: number;\n embedded?: number;\n total_to_embed?: number;\n}\n\nexport interface FetchResultItem {\n [key: string]: unknown;\n url?: string;\n title?: string;\n content?: string;\n status?: string;\n}\n\nexport interface FetchResultsData {\n type?: \"fetch_results\";\n metadata?: Record<string, unknown>;\n results?: FetchResultItem[];\n}\n\nexport interface FileAnalysisCompleteData {\n type?: \"file_analysis_complete\";\n file_id: string;\n status: string;\n results_count?: number;\n failures?: string[];\n elapsed_ms?: number;\n head?: Record<string, unknown>;\n results?: Record<string, unknown>[];\n}\n\nexport interface FileAnalysisStartedData {\n type?: \"file_analysis_started\";\n file_id: string;\n mime_type?: string | null;\n total_detectors: number;\n}\n\nexport interface FileDetectorCompletedData {\n type?: \"file_detector_completed\";\n file_id: string;\n detector_kind: string;\n tier: string;\n status: string;\n elapsed_ms?: number;\n error?: string | null;\n complete: number;\n total: number;\n}\n\nexport interface FileSearchBboxItem {\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n}\n\nexport interface FileSearchHitItem {\n page_number: number;\n page_id?: string | null;\n bbox: FileSearchBboxItem;\n snippet: string;\n matched_text: string;\n char_start?: number | null;\n char_end?: number | null;\n}\n\nexport interface FileSearchCompleteData {\n type?: \"file_search_complete\";\n file_id: string;\n query: string;\n regex?: boolean;\n case_sensitive?: boolean;\n hits?: FileSearchHitItem[];\n truncated?: boolean;\n pages_scanned?: number;\n total_pages?: number;\n}\n\nexport interface FileSearchPageData {\n type?: \"file_search_page\";\n page_number: number;\n total_pages: number;\n hits?: FileSearchHitItem[];\n total_hits?: number;\n}\n\nexport interface FileSearchStartedData {\n type?: \"file_search_started\";\n file_id: string;\n query: string;\n regex?: boolean;\n case_sensitive?: boolean;\n total_pages: number;\n}\n\nexport interface FunctionResultData {\n type?: \"function_result\";\n function_name: string;\n success: boolean;\n result?: unknown;\n error?: string | null;\n duration_ms?: number | null;\n}\n\nexport interface ImageDocumentDetectedData {\n type?: \"image_document_detected\";\n found: boolean;\n top_left?: unknown[] | null;\n top_right?: unknown[] | null;\n bottom_right?: unknown[] | null;\n bottom_left?: unknown[] | null;\n confidence?: number;\n image_width?: number;\n image_height?: number;\n}\n\nexport interface ImageEditCompleteData {\n type?: \"image_edit_complete\";\n op: string;\n file_id?: string | null;\n asset?: Record<string, unknown>;\n}\n\nexport interface GeneratedImageFileItem {\n cloud_file_id: string;\n public_url?: string | null;\n mime?: string | null;\n width?: number | null;\n height?: number | null;\n}\n\nexport interface ImageGenerateCompleteData {\n type?: \"image_generate_complete\";\n prompt?: string;\n model?: string | null;\n files?: GeneratedImageFileItem[];\n}\n\nexport interface ImageOpStageData {\n type?: \"image_op_stage\";\n op: string;\n stage: string;\n detail?: string | null;\n source_id?: string | null;\n mask_id?: string | null;\n}\n\nexport interface ImageOutputData {\n type?: \"image_output\";\n url: string;\n mime_type: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n}\n\nexport interface ImageStudioCommitCompleteData {\n type?: \"image_studio_commit_complete\";\n job_id: string;\n folder_path: string;\n saved_count?: number;\n failed_count?: number;\n result?: Record<string, unknown>;\n}\n\nexport interface ImageStudioCommitItemData {\n type?: \"image_studio_commit_item\";\n job_id: string;\n preset_id: string;\n status: string;\n file_id?: string | null;\n filename?: string | null;\n file_path?: string | null;\n size?: number | null;\n public_url?: string | null;\n error?: string | null;\n completed?: number;\n total?: number;\n}\n\nexport interface ImageStudioProcessCompleteData {\n type?: \"image_studio_process_complete\";\n job_id: string;\n result?: Record<string, unknown>;\n}\n\nexport interface ImageStudioVariantData {\n type?: \"image_studio_variant\";\n job_id: string;\n preset_id: string;\n filename?: string | null;\n format?: string | null;\n width?: number | null;\n height?: number | null;\n quality?: number | null;\n size?: number | null;\n ephemeral_url?: string | null;\n expires_in?: number | null;\n compression_ratio?: number | null;\n notes?: string[];\n error?: string | null;\n completed?: number;\n total?: number;\n}\n\nexport interface MediaSelectionJobProgressData {\n type?: \"job.progress\";\n job_id: string;\n at: string;\n totals?: Record<string, number>;\n}\n\nexport interface LegalSyncEventData {\n type?: \"legal_sync_event\";\n phase: string;\n run_id?: string | null;\n resource?: string | null;\n resources?: string[] | null;\n court_id?: string | null;\n court_ids?: string[] | null;\n cluster_id?: number | null;\n cluster_count?: number | null;\n rows?: number | null;\n court_rows?: number | null;\n total_rows?: number | null;\n rows_pumped?: number | null;\n rows_inserted?: number | null;\n bytes_received?: number | null;\n s3_key?: string | null;\n size_bytes?: number | null;\n dump_date?: string | null;\n bucket?: string | null;\n table?: string | null;\n target?: string | null;\n batch_size?: number | null;\n last_id?: number | null;\n reason?: string | null;\n per_court_counts?: Record<string, number> | null;\n per_court_errors?: Record<string, string> | null;\n per_cluster_errors?: Record<string, string> | null;\n per_resource_rows?: Record<string, number> | null;\n per_resource_errors?: Record<string, string> | null;\n error?: string | null;\n}\n\nexport interface LibrarySyncClassifiedData {\n type?: \"library.sync.classified\";\n library_id: string;\n seq: number;\n at: string;\n classifications?: Record<string, JsonValue>[];\n from_cache: boolean;\n}\n\nexport interface LibrarySyncCompletedData {\n type?: \"library.sync.completed\";\n library_id: string;\n seq: number;\n at: string;\n total_listed: number;\n elapsed_ms: number;\n listed_ms: number;\n quota_units_spent: number;\n metrics?: Record<string, JsonValue>;\n removed_count?: number;\n retire_refused?: boolean;\n skipped_by_reason?: Record<string, number>;\n skipped_total?: number;\n}\n\nexport interface LibrarySyncFailedData {\n type?: \"library.sync.failed\";\n library_id: string;\n seq: number;\n at: string;\n code: string;\n message: string;\n partial_total?: number;\n retryable?: boolean;\n}\n\nexport interface LibrarySyncListedData {\n type?: \"library.sync.listed\";\n library_id: string;\n seq: number;\n at: string;\n total_listed: number;\n elapsed_ms: number;\n deciding: number;\n skipped_by_reason?: Record<string, number>;\n skipped_total?: number;\n}\n\nexport interface LibrarySyncPageData {\n type?: \"library.sync.page\";\n library_id: string;\n seq: number;\n at: string;\n page_index: number;\n page_size: number;\n cumulative: number;\n next_page_token_present: boolean;\n videos?: Record<string, JsonValue>[];\n}\n\nexport interface LibrarySyncPersistedData {\n type?: \"library.sync.persisted\";\n library_id: string;\n seq: number;\n at: string;\n ids?: Record<string, string>;\n count: number;\n}\n\nexport interface LibrarySyncStartedData {\n type?: \"library.sync.started\";\n library_id: string;\n seq: number;\n at: string;\n mode: string;\n expected_total?: number | null;\n}\n\nexport interface LibrarySyncUnavailableData {\n type?: \"library.sync.unavailable\";\n library_id: string;\n seq: number;\n at: string;\n code: string;\n message: string;\n remedy?: string | null;\n partial_total?: number;\n}\n\nexport interface MasterworkAuditionOutcomeVerdictData {\n type?: \"masterwork_audition_outcome_verdict\";\n rulebook_id: string;\n case_id: string;\n run_scope: string;\n verdict: string;\n why?: string;\n summary?: string;\n judge_confidence?: number | null;\n dangerous_branch?: boolean;\n dangerous_branch_quote?: string;\n decisive_question_seq?: number | null;\n missed_cheaper_question?: string;\n disclosures?: number;\n asks?: number;\n cost_points?: number;\n risk_points?: number;\n quality_score?: number | null;\n weights?: Record<string, number>;\n vanilla_compared?: boolean;\n vanilla_verdict?: string | null;\n vanilla_answer?: string | null;\n vanilla_score?: number | null;\n vanilla_model?: string | null;\n vanilla_error?: string | null;\n beat_vanilla?: boolean | null;\n verdict_sentence?: string | null;\n}\n\nexport interface MasterworkAuditionProgressData {\n type?: \"masterwork_audition_progress\";\n step: string;\n message: string;\n}\n\nexport interface AuditionRuleFinding {\n rule_id: string;\n winner: string;\n note?: string;\n}\n\nexport interface MasterworkAuditionVerdictData {\n type?: \"masterwork_audition_verdict\";\n rulebook_id: string;\n verdict: string;\n summary: string;\n findings?: AuditionRuleFinding[];\n gaps?: string[];\n gaps_captured?: number;\n rulebook_version?: number | null;\n quality_score?: number | null;\n judge_confidence?: number | null;\n vanilla_compared?: boolean;\n vanilla_score?: number | null;\n vanilla_verdict?: string | null;\n vanilla_findings?: AuditionRuleFinding[];\n vanilla_text?: string | null;\n vanilla_model?: string | null;\n vanilla_note?: string | null;\n vanilla_error?: string | null;\n beat_vanilla_rules?: number | null;\n lost_to_vanilla_rules?: number | null;\n vanilla_rules_compared?: number | null;\n verdict_sentence?: string | null;\n}\n\nexport interface MasterworkBenchArmData {\n type?: \"masterwork_bench_arm\";\n rulebook_id: string;\n trial_id: string;\n arm: string;\n label: string;\n ran?: boolean;\n error?: string;\n cost_usd?: number;\n seconds?: number;\n priced?: boolean;\n model?: string;\n note?: string;\n}\n\nexport interface MasterworkBenchProgressData {\n type?: \"masterwork_bench_progress\";\n rulebook_id: string;\n trial_id: string;\n stage: string;\n message: string;\n arm?: string;\n}\n\nexport interface MasterworkBenchVerdictData {\n type?: \"masterwork_bench_verdict\";\n rulebook_id: string;\n trial_id: string;\n passed?: boolean;\n void?: boolean;\n not_scored?: boolean;\n void_reason?: string;\n not_scored_reason?: string;\n win_claimed?: string | null;\n win_rationale?: string;\n arm?: string;\n budget_multiple?: number | null;\n panel_winner?: string | null;\n panel_votes?: number;\n gt_in_pool?: boolean;\n gt_won?: boolean;\n c_cost_usd?: number | null;\n c_seconds?: number | null;\n total_cost_usd?: number;\n record_path?: string | null;\n report_path?: string | null;\n row_id?: string | null;\n stored?: boolean;\n storage_note?: string;\n headline?: string;\n}\n\nexport interface MasterworkBuildCompleteData {\n type?: \"masterwork_build_complete\";\n workflow_id: string;\n name: string;\n masterwork_kind: string;\n rulebook_id: string;\n rulebook_slug: string;\n rulebook_version: number;\n agent_ids?: string[];\n submit_label?: string | null;\n}\n\nexport interface MasterworkBuildProgressData {\n type?: \"masterwork_build_progress\";\n step: string;\n message: string;\n agent_id?: string | null;\n agent_name?: string | null;\n}\n\nexport interface CheckupFinding {\n id: string;\n kind: string;\n target_rule_id?: string | null;\n proposed?: Record<string, unknown> | null;\n alternatives?: Record<string, unknown>[];\n reason?: string;\n evidence?: string;\n evidence_ref?: Record<string, unknown>;\n confidence?: number;\n source?: string;\n content_ir?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkCheckupCompleteData {\n type?: \"masterwork_checkup_complete\";\n rulebook_id: string;\n rulebook_version: number;\n findings?: CheckupFinding[];\n producers_run?: string[];\n producers_failed?: string[];\n evidence_rejected?: number;\n already_dismissed?: number;\n corpus_segments?: number;\n corpus_chars?: number;\n corpus_cleaned?: boolean;\n notes?: string[];\n}\n\nexport interface MasterworkCheckupFindingData {\n type?: \"masterwork_checkup_finding\";\n rulebook_id: string;\n finding: CheckupFinding;\n content_ir?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkCheckupProgressData {\n type?: \"masterwork_checkup_progress\";\n step: string;\n message: string;\n producer?: string | null;\n findings_found?: number | null;\n findings_dropped?: number | null;\n}\n\nexport interface MasterworkCorpusCleanedData {\n type?: \"masterwork_corpus_cleaned\";\n rulebook_id: string;\n rulebook_version: number;\n segments?: number;\n cleaned?: number;\n reused?: number;\n failed?: number;\n total_chars?: number;\n text?: string;\n}\n\nexport interface MasterworkCorpusProgressData {\n type?: \"masterwork_corpus_progress\";\n step: string;\n message: string;\n segment_label?: string | null;\n segment_index?: number | null;\n total_segments?: number | null;\n}\n\nexport interface MasterworkDumpResourceOutcome {\n kind: string;\n token?: string | null;\n id?: string | null;\n url?: string | null;\n source_key?: string | null;\n title?: string | null;\n status: string;\n rules_added?: number;\n duplicates?: number;\n error?: string | null;\n note?: string | null;\n already_distilled?: MasterworkSourceAlreadyDistilled | null;\n replaced_rules?: number;\n}\n\nexport interface MasterworkSourceAlreadyDistilled {\n source: string;\n label?: string | null;\n rules?: number;\n draft_rules?: number;\n approved_rules?: number;\n run_ids?: string[];\n message: string;\n can_replace?: boolean;\n}\n\nexport interface MasterworkDumpCompleteData {\n type?: \"masterwork_dump_complete\";\n rulebook_id: string;\n rulebook_version: number;\n added?: number;\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n resources?: MasterworkDumpResourceOutcome[];\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n replaced_rules?: number;\n}\n\nexport interface MasterworkDumpProgressData {\n type?: \"masterwork_dump_progress\";\n step: string;\n message: string;\n resource_index: number;\n resource_count: number;\n kind?: string | null;\n token?: string | null;\n id?: string | null;\n url?: string | null;\n title?: string | null;\n rules_added?: number | null;\n rules_added_total?: number;\n}\n\nexport interface MasterworkSectionYield {\n index: number;\n label?: string;\n words?: number;\n chunks?: number;\n rules?: number;\n second_pass?: boolean;\n}\n\nexport interface MasterworkIngestCompleteData {\n type?: \"masterwork_ingest_complete\";\n rulebook_id: string;\n rulebook_version: number;\n added?: number;\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n failed_chunks?: number;\n skipped_words?: number;\n packaging_set_aside?: number;\n followup_seed?: string | null;\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n replaced_rules?: number;\n narrowed_rules?: number;\n corpus_item_id?: string | null;\n sealed?: boolean;\n timeline_steps?: number;\n role?: string | null;\n timeline?: Record<string, JsonValue> | null;\n sections?: MasterworkSectionYield[];\n}\n\nexport interface MasterworkIngestProgressData {\n type?: \"masterwork_ingest_progress\";\n step: string;\n message: string;\n chunk_index?: number | null;\n total_chunks?: number | null;\n rules_found?: number | null;\n}\n\nexport interface MasterworkPairwiseArmFaithfulness {\n side: string;\n label: string;\n rulebook_id: string;\n verdict: string;\n reasoning?: string;\n confidence?: number | null;\n departures?: MasterworkPairwiseRuleNote[];\n honored_rule_ids?: string[];\n}\n\nexport interface MasterworkPairwiseDifference {\n aspect: string;\n one_does?: string;\n two_does?: string;\n matters?: string;\n}\n\nexport interface MasterworkPairwiseRuleNote {\n rule_id: string;\n winner: string;\n note?: string;\n}\n\nexport interface MasterworkPairwiseVerdictData {\n type?: \"masterwork_pairwise_verdict\";\n rulebook_id: string;\n mode: string;\n candidate_one_label: string;\n candidate_two_label: string;\n preferred?: string | null;\n preferred_label?: string | null;\n judge_verdict?: string;\n judge_confidence?: number | null;\n summary?: string;\n differences?: MasterworkPairwiseDifference[];\n rule_notes?: MasterworkPairwiseRuleNote[];\n faithfulness?: MasterworkPairwiseArmFaithfulness[];\n blind_key?: Record<string, string>;\n blind_key_sealed_at?: string | null;\n verdict_sentence?: string | null;\n}\n\nexport interface MasterworkProbeRoundData {\n type?: \"masterwork_probe_round\";\n rulebook_id: string;\n rulebook_version?: number;\n round_index?: number;\n round_count?: number;\n done?: boolean;\n done_reason?: string;\n example_title?: string;\n example_body?: string;\n probe_label?: string;\n rules_added?: number;\n rule_ids?: string[];\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n answered_rounds?: number;\n}\n\nexport interface MasterworkRunData {\n type?: \"masterwork_run\";\n run_id: string;\n rulebook_id: string;\n operation: string;\n label?: string | null;\n}\n\nexport interface MasterworkRunCancelledData {\n type?: \"masterwork_run_cancelled\";\n run_id: string;\n error?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkRunFailedData {\n type?: \"masterwork_run_failed\";\n run_id: string;\n error?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkRunSnapshotData {\n type?: \"masterwork_run_snapshot\";\n run_id: string;\n rulebook_id: string;\n operation: string;\n label?: string | null;\n status: string;\n live?: boolean;\n error?: Record<string, unknown> | null;\n result?: Record<string, unknown> | null;\n completed_at?: string | null;\n}\n\nexport interface MasterworkSealedCaseDisclosureData {\n type?: \"masterwork_sealed_case_disclosure\";\n case_id: string;\n run_scope: string;\n seq: number;\n event?: string;\n question?: string;\n answer?: string;\n found?: boolean;\n cost?: string | null;\n risk?: string | null;\n asked_kind?: string | null;\n disclosures_so_far?: number;\n}\n\nexport interface MasterworkShortlistItem {\n key: string;\n reason?: string;\n}\n\nexport interface MasterworkShortlistData {\n type?: \"masterwork_shortlist\";\n selected?: MasterworkShortlistItem[];\n considered?: number;\n}\n\nexport interface MasterworkSortCase {\n id: string;\n text: string;\n note?: string;\n}\n\nexport interface MasterworkSortCasesReadyData {\n type?: \"masterwork_sort_cases_ready\";\n rulebook_id: string;\n cases?: MasterworkSortCase[];\n requested?: number;\n repeats_dropped?: number;\n pile_count?: number;\n boundary_questions?: number;\n voice_default_on?: boolean;\n}\n\nexport interface MasterworkTeachBackRoundData {\n type?: \"masterwork_teach_back_round\";\n rulebook_id: string;\n rulebook_version?: number;\n run_id?: string;\n round_index?: number;\n round_count?: number;\n done?: boolean;\n done_reason?: string;\n subject?: string;\n explanation?: string;\n basis?: string;\n rule_ids_cited?: string[];\n uncertain_part?: string;\n distilled_round?: number;\n rules_added?: number;\n rule_ids?: string[];\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n signed_rule_ids?: string[];\n signature_note?: string;\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n answered_rounds?: number;\n}\n\nexport interface MasterworkTriad {\n id: string;\n prompt: string;\n items?: MasterworkTriadItem[];\n mode?: string;\n}\n\nexport interface MasterworkTriadItem {\n key: string;\n text: string;\n note?: string;\n}\n\nexport interface MasterworkTriadsReadyData {\n type?: \"masterwork_triads_ready\";\n rulebook_id: string;\n triads?: MasterworkTriad[];\n mode?: string;\n requested?: number;\n repeats_dropped?: number;\n voice_default_on?: boolean;\n}\n\nexport interface MasterworkTriageDecision {\n rule_id: string;\n name?: string;\n verdict?: string;\n reason?: string;\n statement?: string;\n}\n\nexport interface MasterworkTriageCompleteData {\n type?: \"masterwork_triage_complete\";\n rulebook_id: string;\n rulebook_version: number;\n drafts_considered?: number;\n retired?: number;\n kept?: number;\n rewritten?: number;\n refused?: string[];\n failed_batches?: number;\n drafts_unreviewed?: number;\n dry_run?: boolean;\n decisions?: MasterworkTriageDecision[];\n}\n\nexport interface MasterworkTriageProgressData {\n type?: \"masterwork_triage_progress\";\n step: string;\n message: string;\n batch_index?: number | null;\n batch_count?: number | null;\n drafts_total?: number;\n retired?: number;\n kept?: number;\n rewritten?: number;\n}\n\nexport interface AudioBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"audio\";\n duration_ms?: number | null;\n transcript?: string | null;\n}\n\nexport interface DocumentBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"document\";\n page_count?: number | null;\n page1_url?: string | null;\n}\n\nexport interface ImageBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"image\";\n width?: number | null;\n height?: number | null;\n vision_class?: string | null;\n}\n\nexport interface VideoBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"video\";\n width?: number | null;\n height?: number | null;\n duration_ms?: number | null;\n poster_url?: string | null;\n}\n\nexport interface YouTubeBlock {\n origin?: \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"youtube\";\n video_id?: string | null;\n}\n\nexport interface MediaBlockData {\n type?: \"media_block\";\n block: ImageBlock | VideoBlock | AudioBlock | DocumentBlock | YouTubeBlock;\n}\n\nexport interface MediaNoticeData {\n type?: \"media_notice\";\n media_kind: string;\n action: \"dropped\" | \"extracted\" | \"transcribed\" | \"converted\";\n user_message: string;\n system_message?: string;\n provider?: string | null;\n model?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface MediaResearchAnchor {\n title?: string | null;\n url: string;\n published_at?: string | null;\n}\n\nexport interface MediaResearchProfile {\n name: string;\n outlet?: string | null;\n url?: string | null;\n published_at?: string | null;\n}\n\nexport interface MediaResearchRow {\n party_id: string;\n name: string;\n outlet?: string | null;\n status: \"fit\" | \"soft_fit\" | \"research_needed\" | \"cut\";\n rank?: number;\n why_them?: string;\n anchor?: MediaResearchAnchor | null;\n pitch_note?: string | null;\n cut_reason?: string | null;\n contact_state?: \"verified\" | \"quarantined\" | \"unresolved\";\n contact_address?: string | null;\n contact_note?: string | null;\n first_wave?: boolean;\n fit_check?: string | null;\n on_list?: boolean;\n}\n\nexport interface MediaResearchProgressData {\n type?: \"media_research_progress\";\n run_key: string;\n stage: \"approved\" | \"search\" | \"resolve\" | \"judge\" | \"contacts\" | \"first_wave\" | \"save\";\n percent: number;\n says: string;\n found?: number;\n target?: number;\n judged?: number;\n new_profiles?: MediaResearchProfile[];\n rows?: MediaResearchRow[];\n}\n\nexport interface MediaResearchSummaryData {\n requested: number;\n research_target: number;\n multiplier: number;\n multiplier_reason: string;\n resolved?: number;\n judged?: number;\n first_wave?: number;\n added_to_list?: number;\n already_on_list?: number;\n gaps?: string[];\n}\n\nexport interface MediaResearchResultData {\n type?: \"media_research_result\";\n run_key: string;\n list_id: string;\n status: \"complete\" | \"partial\";\n reused?: boolean;\n says: string;\n summary: MediaResearchSummaryData;\n rows?: MediaResearchRow[];\n cuts?: MediaResearchRow[];\n problems?: string[];\n next_action?: string;\n}\n\nexport interface MemoryBufferSpawnedData {\n type?: \"memory_buffer_spawned\";\n conversation_id: string;\n kind?: \"observer\" | \"reflector\";\n}\n\nexport interface MemoryContextInjectedData {\n type?: \"memory_context_injected\";\n conversation_id: string;\n observation_chars?: number;\n}\n\nexport interface MemoryErrorData {\n type?: \"memory_error\";\n conversation_id: string;\n phase?: string;\n error?: string;\n model?: string | null;\n}\n\nexport interface MemoryObserverCompletedData {\n type?: \"memory_observer_completed\";\n conversation_id: string;\n model?: string | null;\n input_tokens?: number;\n output_tokens?: number;\n cost?: number;\n duration_ms?: number | null;\n}\n\nexport interface MemoryReflectorCompletedData {\n type?: \"memory_reflector_completed\";\n conversation_id: string;\n model?: string | null;\n input_tokens?: number;\n output_tokens?: number;\n cost?: number;\n duration_ms?: number | null;\n}\n\nexport interface PartialImageData {\n type?: \"partial_image\";\n b64_json: string;\n partial_index: number;\n progress?: number;\n mime_type?: string;\n}\n\nexport interface PdfPageClassificationItem {\n page_number: number;\n page_class: string;\n confidence: number;\n indicators?: string[];\n}\n\nexport interface PdfClassifyCompleteData {\n type?: \"pdf_classify_complete\";\n page_count: number;\n pages?: PdfPageClassificationItem[];\n classifier_version?: string;\n}\n\nexport interface PdfCleanStartedData {\n type?: \"pdf_clean_started\";\n mode?: \"per_page\" | \"aggregate\";\n doc_id: string;\n total_pages?: number;\n}\n\nexport interface PdfExtractCompleteData {\n type?: \"pdf_extract_complete\";\n filename?: string | null;\n page_count: number;\n ocr_pages: number;\n total_chars: number;\n text_content: string;\n file_id?: string | null;\n}\n\nexport interface PdfExtractStartedData {\n type?: \"pdf_extract_started\";\n filename?: string | null;\n total_pages: number;\n}\n\nexport interface PdfPageClassifiedData {\n type?: \"pdf_page_classified\";\n page_number: number;\n total_pages: number;\n page_class: string;\n confidence: number;\n indicators?: string[];\n}\n\nexport interface PdfPageExtractedData {\n type?: \"pdf_page_extracted\";\n page_number: number;\n total_pages: number;\n extraction_method: string;\n char_count: number;\n preview?: string;\n}\n\nexport interface PdfPipelineResultData {\n type?: \"pdf_pipeline_result\";\n raw_text?: string | null;\n page_count?: number;\n chunks?: string[] | null;\n ai_processed?: Record<string, unknown>[] | null;\n cloud_uri?: string | null;\n file_id?: string | null;\n}\n\nexport interface PdfReadingOrderBlockItem {\n block_index: number;\n column_index: number;\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n text: string;\n}\n\nexport interface PdfReadingOrderPageItem {\n page_number: number;\n column_count: number;\n blocks_in_order?: PdfReadingOrderBlockItem[];\n}\n\nexport interface PdfReadingOrderCompleteData {\n type?: \"pdf_reading_order_complete\";\n page_count: number;\n pages?: PdfReadingOrderPageItem[];\n}\n\nexport interface PdfReadingOrderPageData {\n type?: \"pdf_reading_order_page\";\n page_number: number;\n total_pages: number;\n column_count: number;\n block_count: number;\n preview?: string;\n}\n\nexport interface PdfRepeatedRegionBboxItem {\n page_number: number;\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n raw_text?: string;\n}\n\nexport interface PdfRepeatedRegionItem {\n region_id: string;\n kind: string;\n text_template: string;\n pages?: number[];\n bbox_per_page?: PdfRepeatedRegionBboxItem[];\n confidence: number;\n}\n\nexport interface PdfRepeatedRegionsCompleteData {\n type?: \"pdf_repeated_regions_complete\";\n page_count: number;\n regions?: PdfRepeatedRegionItem[];\n detector_version?: string;\n}\n\nexport interface PdfRepeatedRegionsProgressData {\n type?: \"pdf_repeated_regions_progress\";\n stage: \"detect\" | \"extract_text\" | \"strip\";\n page_number: number;\n total_pages: number;\n}\n\nexport interface PdfRepeatedRegionsStripCompleteData {\n type?: \"pdf_repeated_regions_strip_complete\";\n page_count: number;\n pages_text?: string[];\n regions?: PdfRepeatedRegionItem[];\n detector_version?: string;\n stripped_region_ids?: string[];\n}\n\nexport interface PdfTableExtractedData {\n type?: \"pdf_table_extracted\";\n page_number: number;\n total_pages: number;\n table_index: number;\n row_count: number;\n column_count: number;\n markdown_preview?: string;\n}\n\nexport interface PdfExtractedTableItem {\n page_number: number;\n table_index: number;\n bbox: PdfTableBboxItem;\n row_count: number;\n column_count: number;\n header?: (string | null)[];\n rows?: (string | null)[][];\n markdown?: string;\n}\n\nexport interface PdfTableBboxItem {\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n}\n\nexport interface PdfTablesCompleteData {\n type?: \"pdf_tables_complete\";\n page_count: number;\n table_count: number;\n tables?: PdfExtractedTableItem[];\n detector?: string;\n detector_version?: string;\n}\n\nexport interface PdfTablesPageData {\n type?: \"pdf_tables_page\";\n page_number: number;\n total_pages: number;\n tables_found: number;\n}\n\nexport interface PdfTablesStartedData {\n type?: \"pdf_tables_started\";\n filename?: string | null;\n total_pages: number;\n}\n\nexport interface PlanBriefDraftData {\n type?: \"plan_brief_draft\";\n node_id: string;\n route?: string;\n brief?: string[];\n angle?: string;\n must_not_cover?: string[];\n concerns?: string[];\n suggested_word_count?: number | null;\n accepted?: boolean;\n}\n\nexport interface PlanCmsFillPreviewData {\n type?: \"plan_cms_fill_preview\";\n node_id: string;\n page_id: string;\n route?: string;\n title?: string;\n html?: string;\n css?: string;\n meta_title?: string;\n meta_description?: string;\n model?: string;\n wrote?: boolean;\n is_published?: boolean;\n write_target?: \"live\" | \"draft\";\n global_css?: string;\n header_html?: string;\n footer_html?: string;\n}\n\nexport interface PlanDeepenResultData {\n type?: \"plan_deepen_result\";\n node_id: string;\n route?: string;\n brief_lines?: number;\n sources_attached?: number;\n}\n\nexport interface PlanGenAppliedData {\n type?: \"plan_gen_applied\";\n site_id: string;\n created: number;\n existing: number;\n failed: number;\n errors?: string[];\n dry_run?: boolean;\n}\n\nexport interface PlanGenCandidateData {\n type?: \"plan_gen_candidate\";\n angle: string;\n node_count: number;\n rationale?: string;\n}\n\nexport interface PlanGenMergedData {\n type?: \"plan_gen_merged\";\n node_count: number;\n summary?: string;\n candidates_used?: number;\n}\n\nexport interface PlanGenStartedData {\n type?: \"plan_gen_started\";\n site_id: string;\n domain: string;\n angles?: string[];\n keyword_count?: number;\n}\n\nexport interface PlanPageStepResultData {\n type?: \"plan_page_step_result\";\n node_id: string;\n step: string;\n route?: string;\n artifact_id?: string;\n run_id?: string;\n summary?: string;\n}\n\nexport interface PlanSetupAgentResultData {\n type?: \"plan_setup_agent_result\";\n site_id: string;\n kind: string;\n run_id: string;\n item_count?: number;\n summary?: string;\n model_id?: string | null;\n}\n\nexport interface PodcastAssetEvent {\n type?: \"podcast_asset\";\n asset_kind: \"image\" | \"video\";\n index: number;\n url?: string;\n prompt?: string;\n success?: boolean;\n error?: string | null;\n note?: string | null;\n}\n\nexport interface PodcastAssetGenStartedEvent {\n type?: \"podcast_asset_gen_started\";\n run_id: string;\n asset_kind: \"image\" | \"video\";\n slot: number;\n prompt?: string;\n model_alias?: string | null;\n is_manual?: boolean;\n}\n\nexport interface PodcastAssetResultEvent {\n type?: \"podcast_asset_result\";\n run_id: string;\n asset_id?: string | null;\n asset_kind: \"image\" | \"video\";\n slot: number;\n status: string;\n url?: string | null;\n file_id?: string | null;\n prompt?: string | null;\n model_alias?: string | null;\n is_manual?: boolean;\n error?: string | null;\n}\n\nexport interface PodcastCompleteEvent {\n type?: \"podcast_complete\";\n show_id: string;\n success: boolean;\n episode_id?: string | null;\n episode_slug?: string | null;\n script?: string;\n audio_url?: string;\n title?: string;\n description?: string;\n image_urls?: string[];\n video_urls?: string[];\n audio_file_id?: string;\n image_file_ids?: string[];\n video_file_ids?: string[];\n official_video_file_id?: string;\n official_video_url?: string;\n official_video_error?: string;\n run_mode?: string;\n host_count?: number;\n speakers?: Record<string, unknown>[];\n error?: string | null;\n}\n\nexport interface PodcastMetadataEvent {\n type?: \"podcast_metadata\";\n title?: string;\n description?: string;\n image_descriptions?: string[];\n video_descriptions?: string[];\n}\n\nexport interface PodcastOfficialVideoEvent {\n type?: \"podcast_official_video\";\n url?: string;\n success?: boolean;\n error?: string | null;\n}\n\nexport interface PodcastRunEvent {\n type?: \"podcast_run\";\n run_id?: string;\n total?: number;\n}\n\nexport interface PodcastStageEvent {\n type?: \"podcast_stage\";\n stage: string;\n label?: string;\n success: boolean;\n output?: string;\n error?: string | null;\n step?: number;\n total?: number;\n}\n\nexport interface PodcastStageStartedEvent {\n type?: \"podcast_stage_started\";\n stage: string;\n label?: string;\n step?: number;\n total?: number;\n}\n\nexport interface PodcastTickEvent {\n type?: \"podcast_tick\";\n stage: string;\n label?: string;\n elapsed_seconds?: number;\n step?: number;\n total?: number;\n}\n\nexport interface ProofEvaluatedData {\n type?: \"proof_evaluated\";\n run_id: string;\n proof_id: string;\n title: string;\n status: \"passed\" | \"failed\" | \"skipped\";\n required?: boolean;\n detail?: string;\n observed?: Record<string, JsonValue>;\n}\n\nexport interface ProofRunCompletedData {\n type?: \"proof_run_completed\";\n run_id: string;\n slug: string;\n mode: \"live\" | \"replay\";\n verdict: \"pass\" | \"fail\" | \"inconclusive\";\n strength: \"live_receipts\" | \"replay_only\";\n summary?: string;\n passed?: number;\n failed?: number;\n skipped?: number;\n cost_usd?: number;\n total_tokens?: number;\n provider_calls?: number;\n duration_ms?: number;\n}\n\nexport interface ProofRunSkippedData {\n type?: \"proof_run_skipped\";\n slug: string;\n reason: string;\n month_to_date_usd?: number;\n}\n\nexport interface ProofRunStartedData {\n type?: \"proof_run_started\";\n run_id: string;\n slug: string;\n label?: string;\n mode: \"live\" | \"replay\";\n gate_reason?: string;\n conversation_id?: string | null;\n}\n\nexport interface ProofRunStepData {\n type?: \"proof_run_step\";\n run_id: string;\n message: string;\n step?: number;\n}\n\nexport interface RagVerifyClaimsData {\n type?: \"rag_verify_claims\";\n claims?: string[];\n count: number;\n judge_model: string;\n}\n\nexport interface RagVerifyClaimItem {\n claim: string;\n verdict: string;\n confidence: number;\n supporting_chunk_ids?: string[];\n reasoning?: string;\n}\n\nexport interface RagVerifyResultData {\n type?: \"rag_verify_result\";\n claims?: RagVerifyClaimItem[];\n overall_faithfulness: number;\n judge_model: string;\n latency_ms: number;\n}\n\nexport interface RagVerifyVerdictData {\n type?: \"rag_verify_verdict\";\n index: number;\n claim: string;\n verdict: string;\n confidence: number;\n supporting_chunk_ids?: string[];\n reasoning?: string;\n}\n\nexport interface ScrapeBatchCompleteData {\n type?: \"scrape_batch_complete\";\n total_scraped: number;\n}\n\nexport interface SearchErrorData {\n type?: \"search_error\";\n metadata?: Record<string, unknown>;\n error: string;\n}\n\nexport interface SearchResultItem {\n [key: string]: unknown;\n url?: string;\n title?: string;\n snippet?: string;\n published?: string | null;\n source?: string | null;\n}\n\nexport interface SearchResultsData {\n type?: \"search_results\";\n metadata?: Record<string, unknown>;\n results?: SearchResultItem[];\n}\n\nexport interface StructuredInputFailure {\n url?: string;\n ref?: string;\n reason?: string;\n}\n\nexport interface StructuredInputWarningData {\n type?: \"structured_input_warning\";\n block_type: string;\n failures?: StructuredInputFailure[];\n}\n\nexport interface VideoOutputData {\n type?: \"video_output\";\n url: string;\n mime_type: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n}\n\nexport interface WorkflowNodeTestResultData {\n type?: \"workflow_node_test_result\";\n success: boolean;\n duration_ms: number;\n node_id: string;\n spec_type: string;\n output?: Record<string, unknown> | null;\n error_type?: string | null;\n error_message?: string | null;\n}\n\nexport interface WorkflowStepData {\n type?: \"workflow_step\";\n step_name: string;\n status: string;\n data?: Record<string, unknown>;\n}\n\nexport interface YouTubeTranscriptSourceData {\n type?: \"youtube_transcript_source\";\n processed_document_id: string;\n transcript_id: string;\n video_id: string;\n title: string;\n segment_count: number;\n reused_existing: boolean;\n}\n\nexport type TypedDataPayload =\n | AssignmentProgressData\n | AudioOutputData\n | AudioStreamChunkData\n | AudioStreamEndData\n | CategorizationResultData\n | ClaudeManagedSdkMessageData\n | ClaudeManagedWarningData\n | CmsLogoFoundData\n | ContextChangedData\n | ContextConflictData\n | ContextDeltaData\n | ContextPersistFailedData\n | ContextPersistedData\n | ContextReceiptData\n | ConversationIdData\n | ConversationLabeledData\n | CutoverCopyAgainProgressData\n | CutoverCopyAgainReportData\n | CutoverFinalSwitchCopyAgainResultData\n | CutoverFinalSwitchResultData\n | CutoverFinalSwitchStageData\n | DecisionAnswersData\n | DictionaryPublishCompleteData\n | ExtractionIndexCompleteData\n | ExtractionIndexProgressData\n | FetchResultsData\n | FileAnalysisCompleteData\n | FileAnalysisStartedData\n | FileDetectorCompletedData\n | FileSearchCompleteData\n | FileSearchPageData\n | FileSearchStartedData\n | FunctionResultData\n | ImageDocumentDetectedData\n | ImageEditCompleteData\n | ImageGenerateCompleteData\n | ImageOpStageData\n | ImageOutputData\n | ImageStudioCommitCompleteData\n | ImageStudioCommitItemData\n | ImageStudioProcessCompleteData\n | ImageStudioVariantData\n | LegalSyncEventData\n | LibrarySyncClassifiedData\n | LibrarySyncCompletedData\n | LibrarySyncFailedData\n | LibrarySyncListedData\n | LibrarySyncPageData\n | LibrarySyncPersistedData\n | LibrarySyncStartedData\n | LibrarySyncUnavailableData\n | MasterworkAuditionOutcomeVerdictData\n | MasterworkAuditionProgressData\n | MasterworkAuditionVerdictData\n | MasterworkBenchArmData\n | MasterworkBenchProgressData\n | MasterworkBenchVerdictData\n | MasterworkBuildCompleteData\n | MasterworkBuildProgressData\n | MasterworkCheckupCompleteData\n | MasterworkCheckupFindingData\n | MasterworkCheckupProgressData\n | MasterworkCorpusCleanedData\n | MasterworkCorpusProgressData\n | MasterworkDumpCompleteData\n | MasterworkDumpProgressData\n | MasterworkIngestCompleteData\n | MasterworkIngestProgressData\n | MasterworkPairwiseVerdictData\n | MasterworkProbeRoundData\n | MasterworkRunCancelledData\n | MasterworkRunData\n | MasterworkRunFailedData\n | MasterworkRunSnapshotData\n | MasterworkSealedCaseDisclosureData\n | MasterworkShortlistData\n | MasterworkSortCasesReadyData\n | MasterworkTeachBackRoundData\n | MasterworkTriadsReadyData\n | MasterworkTriageCompleteData\n | MasterworkTriageProgressData\n | MediaBlockData\n | MediaNoticeData\n | MediaResearchProgressData\n | MediaResearchResultData\n | MediaSelectionJobProgressData\n | MemoryBufferSpawnedData\n | MemoryContextInjectedData\n | MemoryErrorData\n | MemoryObserverCompletedData\n | MemoryReflectorCompletedData\n | PartialImageData\n | PdfClassifyCompleteData\n | PdfCleanStartedData\n | PdfExtractCompleteData\n | PdfExtractStartedData\n | PdfPageClassifiedData\n | PdfPageExtractedData\n | PdfPipelineResultData\n | PdfReadingOrderCompleteData\n | PdfReadingOrderPageData\n | PdfRepeatedRegionsCompleteData\n | PdfRepeatedRegionsProgressData\n | PdfRepeatedRegionsStripCompleteData\n | PdfTableExtractedData\n | PdfTablesCompleteData\n | PdfTablesPageData\n | PdfTablesStartedData\n | PlanBriefDraftData\n | PlanCmsFillPreviewData\n | PlanDeepenResultData\n | PlanGenAppliedData\n | PlanGenCandidateData\n | PlanGenMergedData\n | PlanGenStartedData\n | PlanPageStepResultData\n | PlanSetupAgentResultData\n | PodcastAssetEvent\n | PodcastAssetGenStartedEvent\n | PodcastAssetResultEvent\n | PodcastCompleteEvent\n | PodcastMetadataEvent\n | PodcastOfficialVideoEvent\n | PodcastRunEvent\n | PodcastStageEvent\n | PodcastStageStartedEvent\n | PodcastTickEvent\n | ProofEvaluatedData\n | ProofRunCompletedData\n | ProofRunSkippedData\n | ProofRunStartedData\n | ProofRunStepData\n | QuestionnaireDisplayData\n | RagVerifyClaimsData\n | RagVerifyResultData\n | RagVerifyVerdictData\n | ScrapeBatchCompleteData\n | SearchErrorData\n | SearchResultsData\n | StructuredInputWarningData\n | VideoOutputData\n | WorkflowNodeTestResultData\n | WorkflowStepData\n | YouTubeTranscriptSourceData;\n\n/** Fallback for data events whose `type` isn't in TypedDataPayload. */\nexport interface UntypedDataPayload {\n [key: string]: unknown;\n type: string;\n}\n\n// --- Conversation Value Store Events (kind-discriminated data events) ---\n\nexport interface ValueDescriptor {\n key: string;\n description: string;\n kind: string;\n chars: number;\n truncated?: boolean;\n preview?: string;\n json_keys?: string[] | null;\n fence: string;\n}\n\nexport interface ValueStoredEvent {\n kind?: \"value_store.stored\";\n conversation_id: string;\n descriptor: ValueDescriptor;\n source_agent_id?: string | null;\n source_call_id?: string | null;\n}\n\nexport interface ContextGroomedEvent {\n kind?: \"value_store.groomed\";\n conversation_id: string;\n stubbed_keys?: string[];\n retained_keys?: string[];\n source: string;\n}\n\nexport type ValueStoreDataEvent = ValueStoredEvent | ContextGroomedEvent;\n\n/** Narrows a `data` event payload to ValueStoredEvent (a sub-agent result landed in the store). */\nexport function isValueStoredEvent(value: unknown): value is ValueStoredEvent {\n return typeof value === \"object\" && value !== null\n && (value as { kind?: unknown }).kind === \"value_store.stored\";\n}\n\n/** Narrows a `data` event payload to ContextGroomedEvent (model-view groom stamps applied). */\nexport function isContextGroomedEvent(value: unknown): value is ContextGroomedEvent {\n return typeof value === \"object\" && value !== null\n && (value as { kind?: unknown }).kind === \"value_store.groomed\";\n}\n\n// --- SEO Streamed Result Models (kind-discriminated data events) ---\n\nexport interface KeywordClassifyResult {\n result_kind?: \"keywords.classify\";\n eligible?: number;\n batches?: number;\n updated?: number;\n skipped_error?: number;\n missing_keyword_ids?: string[];\n facet_dimensions?: string[];\n facet_dimensions_skipped?: string[];\n facet_rows_written?: number;\n rejected_unknown_value?: string[];\n}\n\nexport interface KeywordResearchArtifact {\n __kind?: \"keyword_relationship_research\";\n primary_keyword: string;\n keyword_lists: KeywordResearchList[];\n}\n\nexport interface KeywordResearchIngestSummary {\n primary_keyword_ids?: string[];\n keywords_created?: number;\n keywords_already_existed?: number;\n edges_written?: number;\n edges_skipped_rejected?: number;\n edges_skipped_self?: number;\n site_keyword_values_created?: number;\n}\n\nexport interface KeywordResearchList {\n __kind?: \"keyword_list\";\n label: string;\n keywords: string[];\n}\n\nexport interface KeywordVolumeBatchFailure {\n batch_index: number;\n keyword_count: number;\n error: string;\n}\n\nexport interface KeywordVolumeBatchReceipt {\n run_id: string;\n keyword_count: number;\n created_observations?: number;\n existing_observations?: number;\n from_cache?: boolean;\n}\n\nexport interface KeywordVolumeRefreshResult {\n result_kind?: \"keywords.volume_refresh\";\n requested_phrases?: number;\n skipped_fresh?: number;\n fetched_phrases?: number;\n rejected_phrases?: KeywordVolumeRejectedPhrase[];\n batches?: KeywordVolumeBatchReceipt[];\n failed_batches?: KeywordVolumeBatchFailure[];\n}\n\nexport interface KeywordVolumeRejectedPhrase {\n phrase: string;\n reason: string;\n}\n\nexport interface KeywordResearchResult {\n result_kind?: \"keywords.relationship_research\";\n primary_keyword: string;\n site_id: string;\n research_doc_id: string;\n artifact: KeywordResearchArtifact;\n ingest: KeywordResearchIngestSummary;\n volume?: KeywordVolumeRefreshResult | null;\n classification?: KeywordClassifyResult | null;\n}\n\n// --- Completion Result Models ---\n\nexport interface LlmRequestResult {\n tokens_in?: number;\n tokens_out?: number;\n duration_ms?: number;\n finish_reason?: string;\n model?: string;\n}\n\nexport interface ToolExecutionResult {\n success?: boolean;\n duration_ms?: number;\n error?: string | null;\n}\n\nexport interface AggregatedUsageResult {\n by_model?: Record<string, ModelUsageSummary>;\n total?: UsageTotals;\n}\n\nexport interface ModelUsageSummary {\n input_tokens?: number;\n output_tokens?: number;\n cached_input_tokens?: number;\n total_tokens?: number;\n api?: string;\n request_count?: number;\n cost?: number | null;\n}\n\nexport interface TimingStatsResult {\n total_duration?: number | null;\n sum_duration?: number | null;\n api_duration?: number | null;\n tool_duration?: number | null;\n processing_duration?: number | null;\n iterations?: number | null;\n avg_iteration_duration?: number | null;\n}\n\nexport interface ToolCallByTool {\n count?: number;\n success?: number;\n error?: number;\n}\n\nexport interface ToolCallStatsResult {\n total_tool_calls?: number;\n iterations_with_tools?: number;\n by_tool?: Record<string, ToolCallByTool>;\n}\n\nexport interface UsageTotals {\n input_tokens?: number;\n output_tokens?: number;\n cached_input_tokens?: number;\n total_tokens?: number;\n total_requests?: number;\n unique_models?: number;\n total_cost?: number | null;\n known_cost_subtotal?: number;\n provider_reported_requests?: number;\n catalog_priced_requests?: number;\n unknown_cost_requests?: number;\n}\n\nexport interface UserRequestResult {\n status?: string;\n output?: unknown;\n iterations?: number | null;\n total_usage?: AggregatedUsageResult | null;\n timing_stats?: TimingStatsResult | null;\n tool_call_stats?: ToolCallStatsResult | null;\n finish_reason?: string | null;\n metadata?: Record<string, unknown> | null;\n}\n\nexport interface SubAgentResult {\n agent_name?: string;\n success?: boolean;\n error?: string | null;\n}\n\nexport interface PersistenceResult {\n records_written?: number;\n duration_ms?: number;\n}\n\n// --- Typed Completion Event Interfaces (discriminated on `operation`) ---\n\n// Each interface narrows CompletionPayload.result to its concrete type.\n// Use TypedCompletionEvent instead of CompletionPayload when you need typed result.\n\nexport interface LlmRequestResult {\n tokens_in?: number;\n tokens_out?: number;\n duration_ms?: number;\n finish_reason?: string;\n model?: string;\n}\n\nexport interface LlmRequestCompletionEvent {\n operation: \"llm_request\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: LlmRequestResult;\n}\n\nexport interface ToolExecutionResult {\n success?: boolean;\n duration_ms?: number;\n error?: string | null;\n}\n\nexport interface ToolExecutionCompletionEvent {\n operation: \"tool_execution\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: ToolExecutionResult;\n}\n\nexport interface UserRequestResult {\n status?: string;\n output?: unknown;\n iterations?: number | null;\n total_usage?: AggregatedUsageResult | null;\n timing_stats?: TimingStatsResult | null;\n tool_call_stats?: ToolCallStatsResult | null;\n finish_reason?: string | null;\n metadata?: Record<string, unknown> | null;\n}\n\nexport interface UserRequestCompletionEvent {\n operation: \"user_request\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: UserRequestResult;\n}\n\nexport interface SubAgentResult {\n agent_name?: string;\n success?: boolean;\n error?: string | null;\n}\n\nexport interface SubAgentCompletionEvent {\n operation: \"sub_agent\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: SubAgentResult;\n}\n\nexport interface PersistenceResult {\n records_written?: number;\n duration_ms?: number;\n}\n\nexport interface PersistenceCompletionEvent {\n operation: \"persistence\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: PersistenceResult;\n}\n\nexport type TypedCompletionEvent =\n | LlmRequestCompletionEvent\n | ToolExecutionCompletionEvent\n | UserRequestCompletionEvent\n | SubAgentCompletionEvent\n | PersistenceCompletionEvent;\n\nconst TYPED_COMPLETION_EVENT_OPERATIONS = new Set<Operation>([\n \"llm_request\", \"tool_execution\", \"user_request\", \"sub_agent\", \"persistence\",\n]);\n\nexport function isTypedCompletionEvent(e: CompletionPayload): e is CompletionPayload & TypedCompletionEvent {\n return TYPED_COMPLETION_EVENT_OPERATIONS.has(e.operation as Operation) && e.result !== undefined;\n}\n\n// --- Tool Event Data Models ---\n\nexport interface ToolStartedData {\n arguments?: Record<string, unknown>;\n display_name?: string | null;\n}\n\nexport interface ToolProgressData {\n percent?: number | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolStepData {\n step: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolResultPreviewData {\n preview: string;\n}\n\nexport interface ToolCompletedData {\n result?: JsonValue;\n}\n\nexport interface ToolErrorData {\n error_type: string;\n detail?: string | null;\n}\n\nexport interface ToolDelegatedData {\n arguments?: Record<string, unknown>;\n}\n\nexport type TypedToolEventData =\n | ToolStartedData\n | ToolProgressData\n | ToolStepData\n | ToolResultPreviewData\n | ToolCompletedData\n | ToolErrorData\n | ToolDelegatedData;\n\n// --- Typed Tool Event Interfaces (discriminated on `event`) ---\n\n// Each interface narrows ToolEventPayload.data to its concrete type.\n// Use TypedToolEvent instead of the base ToolEventPayload when you need typed data.\n\nexport interface ToolStartedData {\n arguments?: Record<string, unknown>;\n display_name?: string | null;\n}\n\nexport interface ToolStartedToolEvent {\n event: \"tool_started\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolStartedData;\n}\n\nexport interface ToolProgressData {\n percent?: number | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolProgressToolEvent {\n event: \"tool_progress\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolProgressData;\n}\n\nexport interface ToolStepData {\n step: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolStepToolEvent {\n event: \"tool_step\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolStepData;\n}\n\nexport interface ToolResultPreviewData {\n preview: string;\n}\n\nexport interface ToolResultPreviewToolEvent {\n event: \"tool_result_preview\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolResultPreviewData;\n}\n\nexport interface ToolCompletedData {\n result?: JsonValue;\n}\n\nexport interface ToolCompletedToolEvent {\n event: \"tool_completed\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolCompletedData;\n}\n\nexport interface ToolErrorData {\n error_type: string;\n detail?: string | null;\n}\n\nexport interface ToolErrorToolEvent {\n event: \"tool_error\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolErrorData;\n}\n\nexport interface ToolDelegatedData {\n arguments?: Record<string, unknown>;\n}\n\nexport interface ToolDelegatedToolEvent {\n event: \"tool_delegated\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolDelegatedData;\n}\n\nexport type TypedToolEvent =\n | ToolStartedToolEvent\n | ToolProgressToolEvent\n | ToolStepToolEvent\n | ToolResultPreviewToolEvent\n | ToolCompletedToolEvent\n | ToolErrorToolEvent\n | ToolDelegatedToolEvent;\n\nconst TYPED_TOOL_EVENT_TYPES = new Set<ToolEventType>([\n \"tool_started\", \"tool_progress\", \"tool_step\", \"tool_result_preview\", \"tool_completed\", \"tool_error\", \"tool_delegated\",\n]);\n\nexport function isTypedToolEvent(e: ToolEventPayload): e is ToolEventPayload & TypedToolEvent {\n return TYPED_TOOL_EVENT_TYPES.has(e.event as ToolEventType) && e.data !== undefined;\n}\n\n// --- Render Block Data Models (RenderBlockPayload.data per type) ---\n\nexport interface FlashcardItem {\n front: string;\n back?: string | null;\n}\n\nexport interface TranscriptSegment {\n id: string;\n timecode: string;\n seconds: number;\n text: string;\n speaker?: string | null;\n}\n\nexport interface TaskItem {\n id: string;\n title: string;\n type: \"section\" | \"task\" | \"subtask\";\n bold?: boolean;\n checked?: boolean;\n children?: TaskItem[];\n}\n\nexport interface TaskItem {\n}\n\nexport interface QuizQuestion {\n id: number;\n question: string;\n options: string[];\n correctAnswer: number;\n explanation: string;\n}\n\nexport interface Slide {\n type?: string;\n title?: string | null;\n subtitle?: string | null;\n description?: string | null;\n bullets?: string[];\n notes?: string | null;\n imageUrl?: string | null;\n quote?: string | null;\n author?: string | null;\n layout?: string | null;\n extra?: Record<string, unknown>;\n}\n\nexport interface SlideTheme {\n primaryColor?: string;\n secondaryColor?: string;\n accentColor?: string;\n backgroundColor?: string;\n textColor?: string;\n variant?: string;\n font?: string | null;\n}\n\nexport interface Ingredient {\n amount?: string;\n item: string;\n}\n\nexport interface RecipeStep {\n action: string;\n description: string;\n time?: string | null;\n}\n\nexport interface TimelineEvent {\n id: string;\n title: string;\n date?: string;\n description?: string;\n status?: \"completed\" | \"in-progress\" | \"pending\" | null;\n category?: string | null;\n}\n\nexport interface TimelineEvent {\n id: string;\n title: string;\n date?: string;\n description?: string;\n status?: \"completed\" | \"in-progress\" | \"pending\" | null;\n category?: string | null;\n}\n\nexport interface TimelinePeriod {\n period: string;\n events?: TimelineEvent[];\n}\n\nexport interface Position {\n x: number;\n y: number;\n}\n\nexport interface Position {\n x: number;\n y: number;\n}\n\nexport interface DiagramNode {\n id: string;\n label: string;\n type?: string | null;\n nodeType?: string;\n description?: string | null;\n details?: string | null;\n position?: Position | null;\n}\n\nexport interface DiagramEdge {\n id: string;\n source: string;\n target: string;\n label?: string | null;\n type?: string;\n color?: string | null;\n dashed?: boolean;\n strokeWidth?: number;\n}\n\nexport interface DiagramLayout {\n direction?: \"TB\" | \"LR\" | \"BT\" | \"RL\";\n spacing?: number;\n}\n\nexport interface ResourceItem {\n id: string;\n title: string;\n url?: string;\n description?: string;\n type?: string;\n duration?: string | null;\n difficulty?: \"beginner\" | \"intermediate\" | \"advanced\" | null;\n rating?: number | null;\n tags?: string[];\n}\n\nexport interface ResourceItem {\n id: string;\n title: string;\n url?: string;\n description?: string;\n type?: string;\n duration?: string | null;\n difficulty?: \"beginner\" | \"intermediate\" | \"advanced\" | null;\n rating?: number | null;\n tags?: string[];\n}\n\nexport interface ResourceCategory {\n name: string;\n items?: ResourceItem[];\n}\n\nexport interface ProgressItem {\n id: string;\n text: string;\n completed?: boolean;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n estimatedHours?: number | null;\n optional?: boolean;\n category?: string | null;\n}\n\nexport interface ProgressItem {\n id: string;\n text: string;\n completed?: boolean;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n estimatedHours?: number | null;\n optional?: boolean;\n category?: string | null;\n}\n\nexport interface ProgressCategory {\n id: string;\n name: string;\n description?: string | null;\n color?: string | null;\n completionPercentage?: number;\n items?: ProgressItem[];\n}\n\nexport interface ComparisonCriterion {\n name: string;\n values: unknown[];\n type?: \"cost\" | \"rating\" | \"text\" | \"boolean\";\n weight?: number | null;\n higherIsBetter?: boolean | null;\n}\n\nexport interface TroubleshootingLink {\n title: string;\n url: string;\n}\n\nexport interface TroubleshootingStep {\n id: string;\n title: string;\n description: string;\n commands?: string[];\n difficulty?: \"easy\" | \"medium\" | \"hard\" | null;\n estimatedTime?: string | null;\n links?: TroubleshootingLink[];\n}\n\nexport interface TroubleshootingStep {\n id: string;\n title: string;\n description: string;\n commands?: string[];\n difficulty?: \"easy\" | \"medium\" | \"hard\" | null;\n estimatedTime?: string | null;\n links?: TroubleshootingLink[];\n}\n\nexport interface TroubleshootingSolution {\n id: string;\n title: string;\n description?: string | null;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n successRate?: number | null;\n tags?: string[];\n steps?: TroubleshootingStep[];\n}\n\nexport interface TroubleshootingSolution {\n id: string;\n title: string;\n description?: string | null;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n successRate?: number | null;\n tags?: string[];\n steps?: TroubleshootingStep[];\n}\n\nexport interface TroubleshootingIssue {\n id: string;\n symptom: string;\n description?: string | null;\n severity?: \"low\" | \"medium\" | \"high\" | \"critical\" | null;\n causes?: string[];\n relatedIssues?: string[];\n solutions?: TroubleshootingSolution[];\n}\n\nexport interface DecisionNode {\n id: string;\n question?: string | null;\n action?: string | null;\n type?: string;\n yes?: DecisionNode | null;\n no?: DecisionNode | null;\n priority?: string | null;\n category?: string | null;\n estimatedTime?: string | null;\n}\n\nexport interface DecisionNode {\n}\n\nexport interface QuestionnaireSection {\n title?: string;\n content?: string;\n items?: Record<string, unknown>[];\n tables?: Record<string, unknown>[];\n codeBlocks?: Record<string, unknown>[];\n jsonBlocks?: Record<string, unknown>[];\n}\n\nexport interface TextBlockData {\n}\n\nexport interface CodeBlockData {\n language?: string;\n code?: string;\n is_diff?: boolean;\n}\n\nexport interface DiffBlockData {\n language?: string;\n style?: string;\n code?: string;\n}\n\nexport interface ThinkingBlockData {\n}\n\nexport interface ReasoningBlockData {\n}\n\nexport interface ConsolidatedReasoningBlockData {\n reasoning_texts: string[];\n}\n\nexport interface ImageBlockData {\n src: string;\n alt?: string;\n}\n\nexport interface VideoBlockData {\n src: string;\n alt?: string;\n}\n\nexport interface FlashcardItem {\n front: string;\n back?: string | null;\n}\n\nexport interface FlashcardsBlockData {\n cards: FlashcardItem[];\n isComplete?: boolean;\n title?: string | null;\n}\n\nexport interface TranscriptSegment {\n id: string;\n timecode: string;\n seconds: number;\n text: string;\n speaker?: string | null;\n}\n\nexport interface TranscriptBlockData {\n segments: TranscriptSegment[];\n}\n\nexport interface TasksBlockData {\n items: TaskItem[];\n}\n\nexport interface QuizQuestion {\n id: number;\n question: string;\n options: string[];\n correctAnswer: number;\n explanation: string;\n}\n\nexport interface QuizBlockData {\n quizTitle: string;\n category?: string | null;\n multipleChoice: QuizQuestion[];\n}\n\nexport interface Slide {\n type?: string;\n title?: string | null;\n subtitle?: string | null;\n description?: string | null;\n bullets?: string[];\n notes?: string | null;\n imageUrl?: string | null;\n quote?: string | null;\n author?: string | null;\n layout?: string | null;\n extra?: Record<string, unknown>;\n}\n\nexport interface SlideTheme {\n primaryColor?: string;\n secondaryColor?: string;\n accentColor?: string;\n backgroundColor?: string;\n textColor?: string;\n variant?: string;\n font?: string | null;\n}\n\nexport interface PresentationBlockData {\n title?: string | null;\n slides?: Slide[];\n theme?: SlideTheme;\n}\n\nexport interface Ingredient {\n amount?: string;\n item: string;\n}\n\nexport interface RecipeStep {\n action: string;\n description: string;\n time?: string | null;\n}\n\nexport interface RecipeBlockData {\n title?: string;\n yields?: string;\n totalTime?: string;\n prepTime?: string;\n cookTime?: string;\n ingredients?: Ingredient[];\n instructions?: RecipeStep[];\n notes?: string | null;\n}\n\nexport interface TimelinePeriod {\n period: string;\n events?: TimelineEvent[];\n}\n\nexport interface TimelineBlockData {\n title?: string;\n description?: string | null;\n periods?: TimelinePeriod[];\n}\n\nexport interface DiagramEdge {\n id: string;\n source: string;\n target: string;\n label?: string | null;\n type?: string;\n color?: string | null;\n dashed?: boolean;\n strokeWidth?: number;\n}\n\nexport interface DiagramLayout {\n direction?: \"TB\" | \"LR\" | \"BT\" | \"RL\";\n spacing?: number;\n}\n\nexport interface DiagramNode {\n id: string;\n label: string;\n type?: string | null;\n nodeType?: string;\n description?: string | null;\n details?: string | null;\n position?: Position | null;\n}\n\nexport interface DiagramBlockData {\n title: string;\n description?: string | null;\n type?: \"flowchart\" | \"mindmap\" | \"orgchart\" | \"network\" | \"system\" | \"process\";\n requested_type?: string | null;\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n layout?: DiagramLayout;\n}\n\nexport interface MermaidBlockData {\n title?: string | null;\n diagramType?: string;\n source: string;\n isValid?: boolean | null;\n diagnostics?: string[];\n}\n\nexport interface TableBlockData {\n headers: string[];\n rows: string[][];\n isComplete?: boolean;\n rawMarkdown?: string;\n}\n\nexport interface ResearchFinding {\n id: string;\n title: string;\n primarySource?: string;\n additionalSources?: string[];\n urls?: string[];\n keyDetails?: string;\n significance?: string;\n futureImplications?: string;\n confidenceLevel?: \"HIGH\" | \"MEDIUM\" | \"LOW\";\n}\n\nexport interface ResearchSection {\n id: string;\n title: string;\n subtitle?: string | null;\n findings?: ResearchFinding[];\n}\n\nexport interface ConvergentTheme {\n theme: string;\n description: string;\n}\n\nexport interface ResearchChallenge {\n id: string;\n title: string;\n description: string;\n currentSolutions?: string | null;\n researchGaps?: string | null;\n category?: \"technical\" | \"ethical\" | \"regulatory\" | \"other\";\n}\n\nexport interface ResearchMetadata {\n researchDate?: string | null;\n lastUpdated?: string | null;\n confidenceRating?: string | null;\n biasAssessment?: string | null;\n}\n\nexport interface ResearchRecommendation {\n id: string;\n recommendation: string;\n target?: \"researchers\" | \"industry\" | \"policymakers\" | \"general\";\n}\n\nexport interface ResearchSection {\n id: string;\n title: string;\n subtitle?: string | null;\n findings?: ResearchFinding[];\n}\n\nexport interface ResearchBlockData {\n title: string;\n overview?: string;\n introduction?: string;\n conclusion?: string;\n executiveSummary?: string | null;\n researchScope?: string | null;\n keyFocusAreas?: string | null;\n analysisPeriod?: string | null;\n researchQuestions?: string[];\n sections?: ResearchSection[];\n convergentThemes?: ConvergentTheme[];\n shortTermOutlook?: string[];\n mediumTermOutlook?: string[];\n longTermVision?: string[];\n challenges?: ResearchChallenge[];\n recommendations?: ResearchRecommendation[];\n keyTakeaways?: string[];\n limitations?: string[];\n metadata?: ResearchMetadata;\n}\n\nexport interface ResourceCategory {\n name: string;\n items?: ResourceItem[];\n}\n\nexport interface ResourcesBlockData {\n title: string;\n description?: string | null;\n categories?: ResourceCategory[];\n}\n\nexport interface ProgressCategory {\n id: string;\n name: string;\n description?: string | null;\n color?: string | null;\n completionPercentage?: number;\n items?: ProgressItem[];\n}\n\nexport interface ProgressTrackerBlockData {\n title: string;\n description?: string | null;\n overallProgress?: number;\n totalItems?: number;\n completedItems?: number;\n categories?: ProgressCategory[];\n}\n\nexport interface ComparisonCriterion {\n name: string;\n values: unknown[];\n type?: \"cost\" | \"rating\" | \"text\" | \"boolean\";\n weight?: number | null;\n higherIsBetter?: boolean | null;\n}\n\nexport interface ComparisonBlockData {\n title: string;\n description?: string | null;\n items: string[];\n criteria?: ComparisonCriterion[];\n}\n\nexport interface TroubleshootingIssue {\n id: string;\n symptom: string;\n description?: string | null;\n severity?: \"low\" | \"medium\" | \"high\" | \"critical\" | null;\n causes?: string[];\n relatedIssues?: string[];\n solutions?: TroubleshootingSolution[];\n}\n\nexport interface TroubleshootingBlockData {\n title: string;\n description?: string | null;\n issues?: TroubleshootingIssue[];\n}\n\nexport interface DecisionTreeBlockData {\n title: string;\n description?: string | null;\n root: DecisionNode;\n}\n\nexport interface MathProblemInner {\n title?: string;\n courseName?: string;\n topicName?: string;\n moduleName?: string;\n description?: string | null;\n introText?: string | null;\n finalStatement?: string | null;\n problemStatement?: MathProblemStatement;\n solutions?: MathSolution[];\n}\n\nexport interface MathProblemStatement {\n text?: string;\n equation?: string;\n instruction?: string;\n}\n\nexport interface MathSolution {\n task?: string;\n transitionText?: string | null;\n solutionAnswer?: string;\n steps?: MathSolutionStep[];\n}\n\nexport interface MathSolutionStep {\n title?: string;\n equation?: string;\n explanation?: string | null;\n simplified?: string | null;\n}\n\nexport interface MathProblemBlockData {\n math_problem: MathProblemInner;\n}\n\nexport interface QuestionnaireSection {\n title?: string;\n content?: string;\n items?: Record<string, unknown>[];\n tables?: Record<string, unknown>[];\n codeBlocks?: Record<string, unknown>[];\n jsonBlocks?: Record<string, unknown>[];\n}\n\nexport interface QuestionnaireBlockData {\n sections?: QuestionnaireSection[];\n rawContent?: string;\n}\n\n// --- Typed Render Block Interfaces (discriminated on `type`) ---\n\n// Each interface narrows RenderBlockPayload.data to its concrete type.\n// Use TypedRenderBlock instead of RenderBlockPayload when you need typed data.\n\nexport interface TextRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"text\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CodeRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"code\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: CodeBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TableRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"table\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TableBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ThinkingRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"thinking\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ThinkingBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ReasoningRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"reasoning\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ReasoningBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ConsolidatedReasoningRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"consolidated_reasoning\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ConsolidatedReasoningBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ImageRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"image\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ImageBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface VideoRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"video\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: VideoBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TasksRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"tasks\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TasksBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TranscriptRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"transcript\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TranscriptBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface StructuredInfoRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"structured_info\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface QuestionnaireRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"questionnaire\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: QuestionnaireBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface FlashcardsRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"flashcards\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: FlashcardsBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface QuizRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"quiz\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: QuizBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PresentationRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"presentation\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: PresentationBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CookingRecipeRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"cooking_recipe\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: RecipeBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TimelineRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"timeline\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TimelineBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ProgressTrackerRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"progress_tracker\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ProgressTrackerBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ComparisonTableRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"comparison_table\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ComparisonBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TroubleshootingRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"troubleshooting\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TroubleshootingBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ResourcesRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"resources\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ResourcesBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DecisionTreeRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"decision_tree\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: DecisionTreeBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DecisionRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"decision\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ResearchRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"research\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ResearchBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DiagramRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"diagram\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: DiagramBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface MermaidRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"mermaid\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: MermaidBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface MathProblemRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"math_problem\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: MathProblemBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ArtifactRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"artifact\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface InfoRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"info\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TaskRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"task\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DatabaseRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"database\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PrivateRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"private\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PlanRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"plan\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface EventRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"event\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"tool\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport type TypedRenderBlock =\n | TextRenderBlock\n | CodeRenderBlock\n | TableRenderBlock\n | ThinkingRenderBlock\n | ReasoningRenderBlock\n | ConsolidatedReasoningRenderBlock\n | ImageRenderBlock\n | VideoRenderBlock\n | TasksRenderBlock\n | TranscriptRenderBlock\n | StructuredInfoRenderBlock\n | QuestionnaireRenderBlock\n | FlashcardsRenderBlock\n | QuizRenderBlock\n | PresentationRenderBlock\n | CookingRecipeRenderBlock\n | TimelineRenderBlock\n | ProgressTrackerRenderBlock\n | ComparisonTableRenderBlock\n | TroubleshootingRenderBlock\n | ResourcesRenderBlock\n | DecisionTreeRenderBlock\n | DecisionRenderBlock\n | ResearchRenderBlock\n | DiagramRenderBlock\n | MermaidRenderBlock\n | MathProblemRenderBlock\n | ArtifactRenderBlock\n | InfoRenderBlock\n | TaskRenderBlock\n | DatabaseRenderBlock\n | PrivateRenderBlock\n | PlanRenderBlock\n | EventRenderBlock\n | ToolRenderBlock;\n\nconst TYPED_RENDER_BLOCK_TYPES = new Set<string>([\n \"text\", \"code\", \"table\", \"thinking\", \"reasoning\", \"consolidated_reasoning\", \"image\", \"video\", \"tasks\", \"transcript\", \"structured_info\", \"questionnaire\", \"flashcards\", \"quiz\", \"presentation\", \"cooking_recipe\", \"timeline\", \"progress_tracker\", \"comparison_table\", \"troubleshooting\", \"resources\", \"decision_tree\", \"decision\", \"research\", \"diagram\", \"mermaid\", \"math_problem\", \"artifact\", \"info\", \"task\", \"database\", \"private\", \"plan\", \"event\", \"tool\",\n]);\n\nexport function isTypedRenderBlock(e: RenderBlockPayload): e is RenderBlockPayload & TypedRenderBlock {\n return TYPED_RENDER_BLOCK_TYPES.has(e.type);\n}\n\n// --- Server Data-Event Render Blocks (FE-synthesized wrappers) ---\n\n// NOT render_block wire events — the frontend synthesizes these block wrappers\n// when it converts a `data` stream event (or FE parse state) into a renderable\n// block. Generated from matrx_connect.context.data_render_blocks; classified per\n// the content-vocab crosswalk. Protocol/lifecycle events live in their own union\n// (ServerProtocolRenderBlock) and are never mixed into Shape blocks.\n\nexport interface SearchReplaceRenderData {\n search: string;\n replace: string;\n searchComplete: boolean;\n replaceComplete: boolean;\n isComplete: boolean;\n language?: string | null;\n}\n\nexport interface DirectiveReceiptRenderData {\n directive: string;\n outcome: \"proposed\" | \"applied\" | \"already_applied\" | \"failed\" | \"blocked\";\n message: string;\n resource_kind?: string;\n resource_ids?: string[];\n}\n\nexport interface UnknownDataEventData {\n [key: string]: unknown;\n _dataType: string;\n}\n\n/** Audio output from the AI (TTS or file). */\nexport interface AudioOutputRenderBlock {\n type: \"audio_output\";\n content: string;\n data: AudioOutputData;\n metadata?: Record<string, unknown>;\n}\n\n/** Image output from the AI. Display priority: cdn_url → file handler (via file_id) → url (durable). */\nexport interface ImageOutputRenderBlock {\n type: \"image_output\";\n content: string;\n data: ImageOutputData;\n metadata?: Record<string, unknown>;\n}\n\n/** Video output from the AI. */\nexport interface VideoOutputRenderBlock {\n type: \"video_output\";\n content: string;\n data: VideoOutputData;\n metadata?: Record<string, unknown>;\n}\n\n/** Web search results block — registered kind `search_results` (inactive; data-event arrival unchanged). */\nexport interface SearchResultsRenderBlock {\n type: \"search_results\";\n content: string;\n data: SearchResultsData;\n metadata?: Record<string, unknown>;\n}\n\n/** URL fetch results block — registered kind `fetch_results` (inactive; data-event arrival unchanged). */\nexport interface FetchResultsRenderBlock {\n type: \"fetch_results\";\n content: string;\n data: FetchResultsData;\n metadata?: Record<string, unknown>;\n}\n\n/** Prompt categorization result — registered kind `categorization_result` (inactive; data-event arrival unchanged). */\nexport interface CategorizationResultRenderBlock {\n type: \"categorization_result\";\n content: string;\n data: CategorizationResultData;\n metadata?: Record<string, unknown>;\n}\n\n/** A decision turn's answers — registered kind `decision_answers`. The LIVE arrival of the same part the assistant message persists, so a runner or a battle column shows the decision as it lands instead of only after a reload. `content` is null: the frontend commits the payload as a real `decision_answers` message part (the same part the server persists), never as reconstructed markdown. */\nexport interface DecisionAnswersRenderBlock {\n type: \"decision_answers\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: DecisionAnswersData;\n metadata?: Record<string, unknown>;\n}\n\n/** Questionnaire to display — alias of the registered `questionnaire` kind. */\nexport interface DisplayQuestionnaireRenderBlock {\n type: \"display_questionnaire\";\n content: string;\n data: QuestionnaireDisplayData;\n metadata?: Record<string, unknown>;\n}\n\n/** Generic tool-result envelope — payload typing is owned by tool_io contracts. */\nexport interface FunctionResultRenderBlock {\n type: \"function_result\";\n content: string;\n data: FunctionResultData;\n metadata?: Record<string, unknown>;\n}\n\n/** Workflow progress event. */\nexport interface WorkflowStepRenderBlock {\n type: \"workflow_step\";\n content: string;\n data: WorkflowStepData;\n metadata?: Record<string, unknown>;\n}\n\n/** Web search failure event. */\nexport interface SearchErrorRenderBlock {\n type: \"search_error\";\n content: string;\n data: SearchErrorData;\n metadata?: Record<string, unknown>;\n}\n\n/** Warning about malformed structured input blocks. */\nexport interface StructuredInputWarningRenderBlock {\n type: \"structured_input_warning\";\n content: string;\n data: StructuredInputWarningData;\n metadata?: Record<string, unknown>;\n}\n\n/** Podcast pipeline lifecycle event (stage finished). */\nexport interface PodcastStageRenderBlock {\n type: \"podcast_stage\";\n content: string;\n data: PodcastStageEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Podcast pipeline lifecycle event (generation complete). */\nexport interface PodcastCompleteRenderBlock {\n type: \"podcast_complete\";\n content: string;\n data: PodcastCompleteEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Scrape pipeline lifecycle event. */\nexport interface ScrapeBatchCompleteRenderBlock {\n type: \"scrape_batch_complete\";\n content: string;\n data: ScrapeBatchCompleteData;\n metadata?: Record<string, unknown>;\n}\n\n/** Conversation Value Store 'result ready' card — FE-synthesized from the kind-discriminated value_store.stored data event. Never persisted to cx_message.content. */\nexport interface ValueStoreStoredRenderBlock {\n type: \"value_store_stored\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: ValueStoredEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Context-groom receipt line — FE-synthesized from the value_store.groomed data event. Subtle indicator only; never persisted. */\nexport interface ContextGroomedRenderBlock {\n type: \"context_groomed\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: ContextGroomedEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Search-and-replace block for code editing (FE parse state). */\nexport interface SearchReplaceRenderBlock {\n type: \"search_replace\";\n content: string;\n data?: SearchReplaceRenderData;\n metadata?: Record<string, unknown>;\n}\n\n/** Kind Directive apply receipt — FE-synthesized from the kind-discriminated directive_apply.* events. Carries the SERVER's own sentence for the outcome (created / already applied / proposed / failed / blocked); never composed client-side. Never persisted to cx_message.content. */\nexport interface DirectiveReceiptRenderBlock {\n type: \"directive_receipt\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: DirectiveReceiptRenderData;\n metadata?: Record<string, unknown>;\n}\n\n/** Fallback for data events whose type is not recognized; _dataType preserves the original type string. */\nexport interface UnknownDataEventRenderBlock {\n type: \"unknown_data_event\";\n content: string;\n data: UnknownDataEventData;\n metadata?: Record<string, unknown>;\n}\n\n/** Protocol/lifecycle/ack events — control plumbing, never Shapes. */\nexport type ServerProtocolRenderBlock =\n | FunctionResultRenderBlock\n | WorkflowStepRenderBlock\n | SearchErrorRenderBlock\n | StructuredInputWarningRenderBlock\n | PodcastStageRenderBlock\n | PodcastCompleteRenderBlock\n | ScrapeBatchCompleteRenderBlock\n | ValueStoreStoredRenderBlock\n | ContextGroomedRenderBlock\n | SearchReplaceRenderBlock\n | DirectiveReceiptRenderBlock;\n\nexport const SERVER_PROTOCOL_RENDER_BLOCK_TYPES = new Set<string>([\n \"function_result\", \"workflow_step\", \"search_error\", \"structured_input_warning\", \"podcast_stage\", \"podcast_complete\", \"scrape_batch_complete\", \"value_store_stored\", \"context_groomed\", \"search_replace\", \"directive_receipt\",\n]);\n\n/** Generated-media delivery blocks — generic media primitives. */\nexport type ServerScalarGenericRenderBlock =\n | AudioOutputRenderBlock\n | ImageOutputRenderBlock\n | VideoOutputRenderBlock;\n\nexport const SERVER_SCALAR_GENERIC_RENDER_BLOCK_TYPES = new Set<string>([\n \"audio_output\", \"image_output\", \"video_output\",\n]);\n\n/** Typed server result displays — registered-kind aliases or shape candidates. */\nexport type ServerShapeRenderBlock =\n | SearchResultsRenderBlock\n | FetchResultsRenderBlock\n | CategorizationResultRenderBlock\n | DecisionAnswersRenderBlock\n | DisplayQuestionnaireRenderBlock;\n\nexport const SERVER_SHAPE_RENDER_BLOCK_TYPES = new Set<string>([\n \"search_results\", \"fetch_results\", \"categorization_result\", \"decision_answers\", \"display_questionnaire\",\n]);\n\n/** Deliberately untyped catch-alls. */\nexport type ServerOpaqueRenderBlock =\n | UnknownDataEventRenderBlock;\n\nexport const SERVER_INTENTIONALLY_OPAQUE_RENDER_BLOCK_TYPES = new Set<string>([\n \"unknown_data_event\",\n]);\n\n/** Every FE-synthesized data-event render block — the generated successor of\n * the hand-maintained ServerOnlyRenderBlock union in missing-types.ts. */\nexport type ServerOnlyRenderBlock =\n | ServerProtocolRenderBlock\n | ServerScalarGenericRenderBlock\n | ServerShapeRenderBlock\n | ServerOpaqueRenderBlock;\n\nexport type ServerOnlyBlockType = ServerOnlyRenderBlock[\"type\"];\n\n// --- Message Part Models (cx_message.content[] items) ---\n\nexport interface NormalizedCitation {\n kind: \"document_char\" | \"document_page\" | \"document_block\" | \"search_result\" | \"web\" | \"grounding\";\n provider: \"anthropic\" | \"openai\" | \"google\" | \"xai\";\n cited_text?: string | null;\n title?: string | null;\n url?: string | null;\n source_index?: number;\n file_id?: string | null;\n page?: number | null;\n end_page?: number | null;\n source_start?: number | null;\n source_end?: number | null;\n answer_start?: number | null;\n answer_end?: number | null;\n raw?: Record<string, unknown>;\n}\n\nexport interface TextPart {\n metadata?: Record<string, unknown>;\n type: \"text\";\n text?: string;\n id?: string;\n citations?: NormalizedCitation[];\n}\n\nexport interface ThinkingPart {\n metadata?: Record<string, unknown>;\n type: \"thinking\";\n text?: string;\n id?: string;\n provider?: \"openai\" | \"anthropic\" | \"google\" | \"cerebras\" | \"moonshot\" | \"together\" | \"groq\" | \"xai\" | \"generic_openai\" | null;\n signature?: string | null;\n signature_encoding?: \"base64\" | null;\n summary?: unknown[];\n}\n\nexport interface ToolCallPart {\n metadata?: Record<string, unknown>;\n type: \"tool_call\";\n call_id?: string;\n name?: string;\n arguments?: Record<string, unknown>;\n}\n\nexport interface ToolResultPart {\n metadata?: Record<string, unknown>;\n type: \"tool_result\";\n call_id?: string;\n tool_use_id?: string;\n name?: string;\n is_error?: boolean;\n output_chars?: number;\n output_preview?: Record<string, unknown> | null;\n}\n\nexport type ImageMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"image\";\n width?: number | null;\n height?: number | null;\n role?: \"subject\" | \"character\" | \"style\" | \"mask\" | \"edit_target\" | \"composition_control\" | \"first_frame\" | \"last_frame\" | \"asset\" | null;\n name?: string | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport type AudioMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"audio\";\n duration_ms?: number | null;\n transcription_result?: string | null;\n role?: \"lip_sync\" | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport type VideoMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"video\";\n width?: number | null;\n height?: number | null;\n duration_ms?: number | null;\n role?: \"extend\" | \"restyle\" | null;\n name?: string | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport type DocumentMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"document\";\n width?: number | null;\n height?: number | null;\n page_count?: number | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport interface YouTubeMediaPart {\n metadata?: Record<string, unknown>;\n type: \"media\";\n kind: \"youtube\";\n url: string;\n external_url?: string | null;\n origin?: \"external\";\n file_id?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n}\n\nexport interface CodeExecPart {\n metadata?: Record<string, unknown>;\n type: \"code_exec\";\n language?: string;\n code?: string;\n}\n\nexport interface CodeResultPart {\n metadata?: Record<string, unknown>;\n type: \"code_result\";\n output?: string;\n outcome?: string;\n}\n\nexport interface WebSearchPart {\n metadata?: Record<string, unknown>;\n type: \"web_search\";\n id?: string;\n status?: string;\n}\n\nexport interface HostedToolPart {\n metadata?: Record<string, unknown>;\n type: \"hosted_tool\";\n provider?: string;\n block?: Record<string, unknown>;\n}\n\nexport interface PreFetchedUrl {\n [key: string]: unknown;\n url: string;\n textContent: string;\n title?: string | null;\n scrapedAt?: string | null;\n charCount?: number | null;\n}\n\nexport interface WebpageInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_webpage\";\n urls: (string | PreFetchedUrl)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface LiveResourceRefInput {\n [key: string]: unknown;\n id: string;\n mode?: \"reference\";\n}\n\nexport type ResourceRefInput = LiveResourceRefInput | SnapshotContentResourceRefInput | SnapshotTextResourceRefInput | SnapshotBodyResourceRefInput | SnapshotDescriptionResourceRefInput | SnapshotValueResourceRefInput;\n\nexport interface SnapshotBodyResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n body: string;\n}\n\nexport interface SnapshotContentResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n content: string;\n}\n\nexport interface SnapshotDescriptionResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n description: string;\n}\n\nexport interface SnapshotTextResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n text: string;\n}\n\nexport interface SnapshotValueResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n value: string;\n}\n\nexport interface NotesInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_notes\";\n note_ids: (string | ResourceRefInput)[];\n template?: string;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface TaskInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_task\";\n task_ids: (string | ResourceRefInput)[];\n template?: string;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface AgentInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_agent\";\n agent_ids: string[];\n}\n\nexport interface ProjectInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_project\";\n project_ids: string[];\n}\n\nexport interface AgentAppInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_agent_app\";\n agent_app_ids: string[];\n}\n\nexport interface TranscriptInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_transcript\";\n transcript_ids: string[];\n}\n\nexport interface TranscriptSessionInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_transcript_session\";\n transcript_session_ids: string[];\n}\n\nexport interface WorkbookInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_workbook\";\n workbook_ids: (string | LiveResourceRefInput)[];\n}\n\nexport interface DocumentInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_document\";\n document_ids: (string | LiveResourceRefInput)[];\n}\n\nexport interface FullTableBookmark {\n [key: string]: unknown;\n type: \"full_table\";\n table_id: string;\n table_name?: string | null;\n}\n\nexport interface TableCellBookmark {\n [key: string]: unknown;\n type: \"table_cell\";\n table_id: string;\n row_id: string;\n column_name: string;\n table_name?: string | null;\n}\n\nexport interface TableColumnBookmark {\n [key: string]: unknown;\n type: \"table_column\";\n table_id: string;\n column_name: string;\n table_name?: string | null;\n}\n\nexport interface TableRowBookmark {\n [key: string]: unknown;\n type: \"table_row\";\n table_id: string;\n row_id: string;\n table_name?: string | null;\n}\n\nexport interface TableSchemaBookmark {\n [key: string]: unknown;\n type: \"table_schema\";\n table_id: string;\n table_name?: string | null;\n}\n\nexport interface TableInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_table\";\n bookmarks: (FullTableBookmark | TableColumnBookmark | TableRowBookmark | TableCellBookmark | TableSchemaBookmark)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface FullListBookmark {\n [key: string]: unknown;\n type: \"full_list\";\n list_id: string;\n list_name?: string | null;\n}\n\nexport interface ListGroupBookmark {\n [key: string]: unknown;\n type: \"list_group\";\n list_id: string;\n group_name: string;\n list_name?: string | null;\n}\n\nexport interface ListItemBookmark {\n [key: string]: unknown;\n type: \"list_item\";\n list_id: string;\n item_id: string;\n list_name?: string | null;\n}\n\nexport interface ListInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_list\";\n bookmarks: (FullListBookmark | ListGroupBookmark | ListItemBookmark)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface DataRefSort {\n field: string;\n direction?: \"asc\" | \"desc\";\n}\n\nexport interface DbFieldRef {\n table: \"notes\" | \"tasks\" | \"projects\" | \"organizations\";\n label?: string;\n optional_context?: boolean;\n ref_type: \"db_field\";\n id: string;\n field_name: string;\n}\n\nexport interface DbQueryRef {\n table: \"notes\" | \"tasks\" | \"projects\" | \"organizations\";\n label?: string;\n optional_context?: boolean;\n ref_type: \"db_query\";\n filter?: Record<string, unknown>;\n fields?: string[] | null;\n sort?: DataRefSort | null;\n limit?: number;\n}\n\nexport interface DbRecordRef {\n table: \"notes\" | \"tasks\" | \"projects\" | \"organizations\";\n label?: string;\n optional_context?: boolean;\n ref_type: \"db_record\";\n id: string;\n fields?: string[] | null;\n}\n\nexport interface DataInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_data\";\n refs: (DbRecordRef | DbQueryRef | DbFieldRef)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface ContextInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_context\";\n context_id?: string;\n context_name?: string;\n context_data?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface DecisionQuestion {\n __kind?: string;\n name: string;\n type: \"noul\" | \"choice\" | \"score\";\n instructions: string;\n criteria?: Record<string, string> | string[] | null;\n suggested_threshold?: number | null;\n}\n\nexport interface DecisionQuestionsPart {\n metadata?: Record<string, unknown>;\n type: \"decision_questions\";\n __kind: \"decision_questions\";\n questions: DecisionQuestion[];\n}\n\nexport interface DecisionAnswer {\n __kind?: \"decision_answer\";\n type: \"noul\" | \"choice\" | \"score\";\n answer: boolean | number | string;\n probability?: number | null;\n probabilities?: Record<string, number> | null;\n confidence: number;\n legend?: Record<string, string> | null;\n}\n\nexport interface DecisionUsage {\n __kind?: string;\n input_tokens: number;\n output_tokens: number;\n}\n\nexport interface DecisionAnswersPart {\n metadata?: Record<string, unknown>;\n type: \"decision_answers\";\n __kind: \"decision_answers\";\n model: string;\n method: \"native\" | \"verbalized\" | \"verbalized_calibrated\";\n answers?: Record<string, DecisionAnswer>;\n unanswerable?: Record<string, string>;\n usage: DecisionUsage;\n cost_usd: number;\n}\n\nexport interface SpeechTurn {\n __kind?: string;\n speaker: string;\n voice?: string | null;\n text: string;\n direction?: string | null;\n pause_after_ms?: number | null;\n}\n\nexport interface SpeechScriptPart {\n metadata?: Record<string, unknown>;\n type: \"speech_script\";\n __kind: \"speech_script\";\n turns: SpeechTurn[];\n}\n\nexport type MessagePart =\n | TextPart\n | ThinkingPart\n | ToolCallPart\n | ToolResultPart\n | ImageMediaPart\n | AudioMediaPart\n | VideoMediaPart\n | DocumentMediaPart\n | YouTubeMediaPart\n | CodeExecPart\n | CodeResultPart\n | WebSearchPart\n | HostedToolPart\n | WebpageInputPart\n | NotesInputPart\n | TaskInputPart\n | AgentInputPart\n | ProjectInputPart\n | AgentAppInputPart\n | TranscriptInputPart\n | TranscriptSessionInputPart\n | WorkbookInputPart\n | DocumentInputPart\n | TableInputPart\n | ListInputPart\n | DataInputPart\n | ContextInputPart\n | DecisionQuestionsPart\n | DecisionAnswersPart\n | SpeechScriptPart;\n\ninterface MessagePartJsonSchema {\n [key: string]: unknown;\n $ref?: string;\n anyOf?: MessagePartJsonSchema[];\n oneOf?: MessagePartJsonSchema[];\n allOf?: MessagePartJsonSchema[];\n type?: \"object\" | \"array\" | \"string\" | \"number\" | \"integer\" | \"boolean\" | \"null\";\n const?: unknown;\n enum?: unknown[];\n required?: string[];\n properties?: Record<string, MessagePartJsonSchema>;\n items?: MessagePartJsonSchema;\n minItems?: number;\n minLength?: number;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n additionalProperties?: boolean | MessagePartJsonSchema;\n $defs?: Record<string, MessagePartJsonSchema>;\n}\n\nconst MESSAGE_PART_SCHEMA: MessagePartJsonSchema = {\n \"$defs\": {\n \"AgentAppInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_agent_app\",\n \"default\": \"input_agent_app\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"agent_app_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Agent App Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"agent_app_ids\",\n \"type\"\n ],\n \"title\": \"AgentAppInputPart\",\n \"type\": \"object\"\n },\n \"AgentInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_agent\",\n \"default\": \"input_agent\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"agent_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Agent Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"agent_ids\",\n \"type\"\n ],\n \"title\": \"AgentInputPart\",\n \"type\": \"object\"\n },\n \"AudioMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"audio\",\n \"default\": \"audio\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"duration_ms\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Duration Ms\"\n },\n \"transcription_result\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Transcription Result\"\n },\n \"role\": {\n \"anyOf\": [\n {\n \"const\": \"lip_sync\",\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Role\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"AudioMediaPart\",\n \"type\": \"object\"\n },\n \"CodeExecPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"code_exec\",\n \"default\": \"code_exec\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"language\": {\n \"default\": \"python\",\n \"title\": \"Language\",\n \"type\": \"string\"\n },\n \"code\": {\n \"default\": \"\",\n \"title\": \"Code\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"CodeExecPart\",\n \"type\": \"object\"\n },\n \"CodeResultPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"code_result\",\n \"default\": \"code_result\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"output\": {\n \"default\": \"\",\n \"title\": \"Output\",\n \"type\": \"string\"\n },\n \"outcome\": {\n \"default\": \"success\",\n \"title\": \"Outcome\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"CodeResultPart\",\n \"type\": \"object\"\n },\n \"ContextInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_context\",\n \"default\": \"input_context\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"context_id\": {\n \"default\": \"\",\n \"title\": \"Context Id\",\n \"type\": \"string\"\n },\n \"context_name\": {\n \"default\": \"\",\n \"title\": \"Context Name\",\n \"type\": \"string\"\n },\n \"context_data\": {\n \"additionalProperties\": true,\n \"title\": \"Context Data\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ContextInputPart\",\n \"type\": \"object\"\n },\n \"DataInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_data\",\n \"default\": \"input_data\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"refs\": {\n \"items\": {\n \"discriminator\": {\n \"mapping\": {\n \"db_field\": \"#/$defs/DbFieldRef\",\n \"db_query\": \"#/$defs/DbQueryRef\",\n \"db_record\": \"#/$defs/DbRecordRef\"\n },\n \"propertyName\": \"ref_type\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/DbRecordRef\"\n },\n {\n \"$ref\": \"#/$defs/DbQueryRef\"\n },\n {\n \"$ref\": \"#/$defs/DbFieldRef\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Refs\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"refs\",\n \"type\"\n ],\n \"title\": \"DataInputPart\",\n \"type\": \"object\"\n },\n \"DataRefSort\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"field\": {\n \"minLength\": 1,\n \"title\": \"Field\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"default\": \"asc\",\n \"enum\": [\n \"asc\",\n \"desc\"\n ],\n \"title\": \"Direction\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"field\"\n ],\n \"title\": \"DataRefSort\",\n \"type\": \"object\"\n },\n \"DbFieldRef\": {\n \"additionalProperties\": false,\n \"description\": \"Fetch a single field value from one row of a system table.\",\n \"properties\": {\n \"table\": {\n \"enum\": [\n \"notes\",\n \"tasks\",\n \"projects\",\n \"organizations\"\n ],\n \"title\": \"Table\",\n \"type\": \"string\"\n },\n \"label\": {\n \"default\": \"\",\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"ref_type\": {\n \"const\": \"db_field\",\n \"title\": \"Ref Type\",\n \"type\": \"string\"\n },\n \"id\": {\n \"minLength\": 1,\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"field_name\": {\n \"minLength\": 1,\n \"title\": \"Field Name\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"table\",\n \"ref_type\",\n \"id\",\n \"field_name\"\n ],\n \"title\": \"DbFieldRef\",\n \"type\": \"object\"\n },\n \"DbQueryRef\": {\n \"additionalProperties\": false,\n \"description\": \"Fetch multiple rows from a system table with optional filters.\",\n \"properties\": {\n \"table\": {\n \"enum\": [\n \"notes\",\n \"tasks\",\n \"projects\",\n \"organizations\"\n ],\n \"title\": \"Table\",\n \"type\": \"string\"\n },\n \"label\": {\n \"default\": \"\",\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"ref_type\": {\n \"const\": \"db_query\",\n \"title\": \"Ref Type\",\n \"type\": \"string\"\n },\n \"filter\": {\n \"additionalProperties\": true,\n \"title\": \"Filter\",\n \"type\": \"object\"\n },\n \"fields\": {\n \"anyOf\": [\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Fields\"\n },\n \"sort\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/DataRefSort\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"limit\": {\n \"default\": 50,\n \"maximum\": 1000,\n \"minimum\": 1,\n \"title\": \"Limit\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"table\",\n \"ref_type\"\n ],\n \"title\": \"DbQueryRef\",\n \"type\": \"object\"\n },\n \"DbRecordRef\": {\n \"additionalProperties\": false,\n \"description\": \"Fetch one full row from a system table by primary key.\",\n \"properties\": {\n \"table\": {\n \"enum\": [\n \"notes\",\n \"tasks\",\n \"projects\",\n \"organizations\"\n ],\n \"title\": \"Table\",\n \"type\": \"string\"\n },\n \"label\": {\n \"default\": \"\",\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"ref_type\": {\n \"const\": \"db_record\",\n \"title\": \"Ref Type\",\n \"type\": \"string\"\n },\n \"id\": {\n \"minLength\": 1,\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"fields\": {\n \"anyOf\": [\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Fields\"\n }\n },\n \"required\": [\n \"table\",\n \"ref_type\",\n \"id\"\n ],\n \"title\": \"DbRecordRef\",\n \"type\": \"object\"\n },\n \"DecisionAnswer\": {\n \"additionalProperties\": false,\n \"description\": \"One answer, with the holder's own uncertainty attached.\",\n \"properties\": {\n \"__kind\": {\n \"const\": \"decision_answer\",\n \"default\": \"decision_answer\",\n \"description\": \"The registered kind this payload is an instance of.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"type\": {\n \"enum\": [\n \"noul\",\n \"choice\",\n \"score\"\n ],\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"answer\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"string\"\n }\n ],\n \"title\": \"Answer\"\n },\n \"probability\": {\n \"anyOf\": [\n {\n \"maximum\": 1.0,\n \"minimum\": 0.0,\n \"type\": \"number\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Probability\"\n },\n \"probabilities\": {\n \"anyOf\": [\n {\n \"additionalProperties\": {\n \"type\": \"number\"\n },\n \"type\": \"object\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Probabilities\"\n },\n \"confidence\": {\n \"maximum\": 1.0,\n \"minimum\": 0.0,\n \"title\": \"Confidence\",\n \"type\": \"number\"\n },\n \"legend\": {\n \"anyOf\": [\n {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"type\": \"object\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Legend\"\n }\n },\n \"required\": [\n \"type\",\n \"answer\",\n \"confidence\"\n ],\n \"title\": \"DecisionAnswer\",\n \"type\": \"object\"\n },\n \"DecisionAnswersPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"decision_answers\",\n \"default\": \"decision_answers\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"__kind\": {\n \"const\": \"decision_answers\",\n \"default\": \"decision_answers\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"model\": {\n \"minLength\": 1,\n \"title\": \"Model\",\n \"type\": \"string\"\n },\n \"method\": {\n \"enum\": [\n \"native\",\n \"verbalized\",\n \"verbalized_calibrated\"\n ],\n \"title\": \"Method\",\n \"type\": \"string\"\n },\n \"answers\": {\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/DecisionAnswer\"\n },\n \"title\": \"Answers\",\n \"type\": \"object\"\n },\n \"unanswerable\": {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"title\": \"Unanswerable\",\n \"type\": \"object\"\n },\n \"usage\": {\n \"$ref\": \"#/$defs/DecisionUsage\"\n },\n \"cost_usd\": {\n \"minimum\": 0.0,\n \"title\": \"Cost Usd\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"model\",\n \"method\",\n \"usage\",\n \"cost_usd\",\n \"type\"\n ],\n \"title\": \"DecisionAnswersPart\",\n \"type\": \"object\"\n },\n \"DecisionQuestion\": {\n \"additionalProperties\": false,\n \"description\": \"One question. Not a kind: it has no meaning outside its batch.\",\n \"properties\": {\n \"__kind\": {\n \"default\": \"\",\n \"description\": \"The registered kind this payload is an instance of, when it is one.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"name\": {\n \"maxLength\": 128,\n \"minLength\": 1,\n \"title\": \"Name\",\n \"type\": \"string\"\n },\n \"type\": {\n \"enum\": [\n \"noul\",\n \"choice\",\n \"score\"\n ],\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"instructions\": {\n \"minLength\": 1,\n \"title\": \"Instructions\",\n \"type\": \"string\"\n },\n \"criteria\": {\n \"anyOf\": [\n {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Criteria\"\n },\n \"suggested_threshold\": {\n \"anyOf\": [\n {\n \"maximum\": 1.0,\n \"minimum\": 0.0,\n \"type\": \"number\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Suggested Threshold\"\n }\n },\n \"required\": [\n \"name\",\n \"type\",\n \"instructions\"\n ],\n \"title\": \"DecisionQuestion\",\n \"type\": \"object\"\n },\n \"DecisionQuestionsPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"decision_questions\",\n \"default\": \"decision_questions\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"__kind\": {\n \"const\": \"decision_questions\",\n \"default\": \"decision_questions\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"questions\": {\n \"items\": {\n \"$ref\": \"#/$defs/DecisionQuestion\"\n },\n \"minItems\": 1,\n \"title\": \"Questions\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"questions\",\n \"type\"\n ],\n \"title\": \"DecisionQuestionsPart\",\n \"type\": \"object\"\n },\n \"DecisionUsage\": {\n \"additionalProperties\": false,\n \"description\": \"What the decision call consumed. Zero is a real value, never a stand-in.\",\n \"properties\": {\n \"__kind\": {\n \"default\": \"\",\n \"description\": \"The registered kind this payload is an instance of, when it is one.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"input_tokens\": {\n \"minimum\": 0,\n \"title\": \"Input Tokens\",\n \"type\": \"integer\"\n },\n \"output_tokens\": {\n \"minimum\": 0,\n \"title\": \"Output Tokens\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"input_tokens\",\n \"output_tokens\"\n ],\n \"title\": \"DecisionUsage\",\n \"type\": \"object\"\n },\n \"DocumentInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_document\",\n \"default\": \"input_document\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"document_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/LiveResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Document Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"document_ids\",\n \"type\"\n ],\n \"title\": \"DocumentInputPart\",\n \"type\": \"object\"\n },\n \"DocumentMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"document\",\n \"default\": \"document\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"width\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Width\"\n },\n \"height\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Height\"\n },\n \"page_count\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Page Count\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"DocumentMediaPart\",\n \"type\": \"object\"\n },\n \"FullListBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"full_list\",\n \"default\": \"full_list\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"list_id\": {\n \"minLength\": 1,\n \"title\": \"List Id\",\n \"type\": \"string\"\n },\n \"list_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"List Name\"\n }\n },\n \"required\": [\n \"list_id\"\n ],\n \"title\": \"FullListBookmark\",\n \"type\": \"object\"\n },\n \"FullTableBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"full_table\",\n \"default\": \"full_table\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\"\n ],\n \"title\": \"FullTableBookmark\",\n \"type\": \"object\"\n },\n \"HostedToolPart\": {\n \"additionalProperties\": false,\n \"description\": \"A provider-hosted tool block (Anthropic ``server_tool_use`` /\\n``web_search_tool_result``) stored verbatim so a resumed tool loop can\\nreplay the assistant turn block-for-block. Provider state, never a call.\",\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"hosted_tool\",\n \"default\": \"hosted_tool\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"provider\": {\n \"default\": \"\",\n \"title\": \"Provider\",\n \"type\": \"string\"\n },\n \"block\": {\n \"additionalProperties\": true,\n \"title\": \"Block\",\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"HostedToolPart\",\n \"type\": \"object\"\n },\n \"ImageMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"image\",\n \"default\": \"image\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"width\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Width\"\n },\n \"height\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Height\"\n },\n \"role\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"subject\",\n \"character\",\n \"style\",\n \"mask\",\n \"edit_target\",\n \"composition_control\",\n \"first_frame\",\n \"last_frame\",\n \"asset\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Role\"\n },\n \"name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Name\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"ImageMediaPart\",\n \"type\": \"object\"\n },\n \"ListGroupBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"list_group\",\n \"default\": \"list_group\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"list_id\": {\n \"minLength\": 1,\n \"title\": \"List Id\",\n \"type\": \"string\"\n },\n \"group_name\": {\n \"minLength\": 1,\n \"title\": \"Group Name\",\n \"type\": \"string\"\n },\n \"list_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"List Name\"\n }\n },\n \"required\": [\n \"list_id\",\n \"group_name\"\n ],\n \"title\": \"ListGroupBookmark\",\n \"type\": \"object\"\n },\n \"ListInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_list\",\n \"default\": \"input_list\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"bookmarks\": {\n \"items\": {\n \"discriminator\": {\n \"mapping\": {\n \"full_list\": \"#/$defs/FullListBookmark\",\n \"list_group\": \"#/$defs/ListGroupBookmark\",\n \"list_item\": \"#/$defs/ListItemBookmark\"\n },\n \"propertyName\": \"type\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/FullListBookmark\"\n },\n {\n \"$ref\": \"#/$defs/ListGroupBookmark\"\n },\n {\n \"$ref\": \"#/$defs/ListItemBookmark\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Bookmarks\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"bookmarks\",\n \"type\"\n ],\n \"title\": \"ListInputPart\",\n \"type\": \"object\"\n },\n \"ListItemBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"list_item\",\n \"default\": \"list_item\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"list_id\": {\n \"minLength\": 1,\n \"title\": \"List Id\",\n \"type\": \"string\"\n },\n \"item_id\": {\n \"minLength\": 1,\n \"title\": \"Item Id\",\n \"type\": \"string\"\n },\n \"list_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"List Name\"\n }\n },\n \"required\": [\n \"list_id\",\n \"item_id\"\n ],\n \"title\": \"ListItemBookmark\",\n \"type\": \"object\"\n },\n \"LiveResourceRefInput\": {\n \"additionalProperties\": true,\n \"description\": \"A live id-backed reference; snapshots are not meaningful for opaque resources.\",\n \"properties\": {\n \"id\": {\n \"minLength\": 1,\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"mode\": {\n \"const\": \"reference\",\n \"default\": \"reference\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"title\": \"LiveResourceRefInput\",\n \"type\": \"object\"\n },\n \"NormalizedCitation\": {\n \"additionalProperties\": false,\n \"description\": \"The canonical cross-provider citation shape — the FE contract.\\n\\nOffsets come in two flavours and are never conflated:\\n - ``source_start`` / ``source_end``: char/block offsets INTO THE SOURCE\\n document (Anthropic char/content_block locations).\\n - ``answer_start`` / ``answer_end``: char offsets INTO THE ANSWER TEXT\\n (OpenAI url_citation annotations, Gemini grounding segment offsets).\\n``page`` / ``end_page`` are 1-based (Anthropic page_location).\",\n \"properties\": {\n \"kind\": {\n \"enum\": [\n \"document_char\",\n \"document_page\",\n \"document_block\",\n \"search_result\",\n \"web\",\n \"grounding\"\n ],\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"provider\": {\n \"enum\": [\n \"anthropic\",\n \"openai\",\n \"google\",\n \"xai\"\n ],\n \"title\": \"Provider\",\n \"type\": \"string\"\n },\n \"cited_text\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cited Text\"\n },\n \"title\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Title\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"source_index\": {\n \"default\": 0,\n \"title\": \"Source Index\",\n \"type\": \"integer\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"page\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Page\"\n },\n \"end_page\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"End Page\"\n },\n \"source_start\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Source Start\"\n },\n \"source_end\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Source End\"\n },\n \"answer_start\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Answer Start\"\n },\n \"answer_end\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Answer End\"\n },\n \"raw\": {\n \"additionalProperties\": true,\n \"title\": \"Raw\",\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"kind\",\n \"provider\"\n ],\n \"title\": \"NormalizedCitation\",\n \"type\": \"object\"\n },\n \"NotesInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_notes\",\n \"default\": \"input_notes\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"note_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/ResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Note Ids\",\n \"type\": \"array\"\n },\n \"template\": {\n \"default\": \"full\",\n \"title\": \"Template\",\n \"type\": \"string\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"note_ids\",\n \"type\"\n ],\n \"title\": \"NotesInputPart\",\n \"type\": \"object\"\n },\n \"PreFetchedUrl\": {\n \"additionalProperties\": true,\n \"description\": \"A webpage entry that has already been scraped by the client.\\n\\nWhen the frontend has already fetched a page (e.g. via /scraper/quick-scrape)\\nit can embed the content here instead of a plain URL string. The server will\\nuse this content directly and skip re-scraping.\",\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"title\": \"Url\",\n \"type\": \"string\"\n },\n \"textContent\": {\n \"title\": \"Textcontent\",\n \"type\": \"string\"\n },\n \"title\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Title\"\n },\n \"scrapedAt\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Scrapedat\"\n },\n \"charCount\": {\n \"anyOf\": [\n {\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Charcount\"\n }\n },\n \"required\": [\n \"url\",\n \"textContent\"\n ],\n \"title\": \"PreFetchedUrl\",\n \"type\": \"object\"\n },\n \"ProjectInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_project\",\n \"default\": \"input_project\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"project_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Project Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"project_ids\",\n \"type\"\n ],\n \"title\": \"ProjectInputPart\",\n \"type\": \"object\"\n },\n \"ResourceRefInput\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LiveResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotContentResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotTextResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotBodyResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotDescriptionResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotValueResourceRefInput\"\n }\n ]\n },\n \"SnapshotBodyResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"body\": {\n \"minLength\": 1,\n \"title\": \"Body\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"body\"\n ],\n \"title\": \"SnapshotBodyResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotContentResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"content\": {\n \"minLength\": 1,\n \"title\": \"Content\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"content\"\n ],\n \"title\": \"SnapshotContentResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotDescriptionResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"description\": {\n \"minLength\": 1,\n \"title\": \"Description\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"description\"\n ],\n \"title\": \"SnapshotDescriptionResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotTextResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"text\": {\n \"minLength\": 1,\n \"title\": \"Text\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"text\"\n ],\n \"title\": \"SnapshotTextResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotValueResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"value\": {\n \"minLength\": 1,\n \"title\": \"Value\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"value\"\n ],\n \"title\": \"SnapshotValueResourceRefInput\",\n \"type\": \"object\"\n },\n \"SpeechScriptPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"speech_script\",\n \"default\": \"speech_script\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"__kind\": {\n \"const\": \"speech_script\",\n \"default\": \"speech_script\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"turns\": {\n \"items\": {\n \"$ref\": \"#/$defs/SpeechTurn\"\n },\n \"minItems\": 1,\n \"title\": \"Turns\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"turns\",\n \"type\"\n ],\n \"title\": \"SpeechScriptPart\",\n \"type\": \"object\"\n },\n \"SpeechTurn\": {\n \"additionalProperties\": false,\n \"description\": \"One spoken turn. Not a kind: it has no meaning outside its script.\",\n \"properties\": {\n \"__kind\": {\n \"default\": \"\",\n \"description\": \"The registered kind this payload is an instance of, when it is one.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"speaker\": {\n \"description\": \"The speaker's name. Turns with the same name are the same speaker. For multi-speaker vendors (Gemini) this is the transcript label.\",\n \"maxLength\": 40,\n \"minLength\": 1,\n \"title\": \"Speaker\",\n \"type\": \"string\"\n },\n \"voice\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"description\": \"The voice this speaker uses: a literal provider voice id from the model's catalog, or a {{variable}}. Empty = bound to the agent's Voice setting (tts_voice).\",\n \"title\": \"Voice\"\n },\n \"text\": {\n \"description\": \"What is said. Any {{variable}} is filled at run time.\",\n \"minLength\": 1,\n \"title\": \"Text\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"description\": \"Free-text performance direction for this turn only (e.g. 'warm, a little amused').\",\n \"title\": \"Direction\"\n },\n \"pause_after_ms\": {\n \"anyOf\": [\n {\n \"maximum\": 10000,\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"description\": \"Silence after this turn, in milliseconds.\",\n \"title\": \"Pause After Ms\"\n }\n },\n \"required\": [\n \"speaker\",\n \"text\"\n ],\n \"title\": \"SpeechTurn\",\n \"type\": \"object\"\n },\n \"TableCellBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_cell\",\n \"default\": \"table_cell\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"row_id\": {\n \"minLength\": 1,\n \"title\": \"Row Id\",\n \"type\": \"string\"\n },\n \"column_name\": {\n \"minLength\": 1,\n \"title\": \"Column Name\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\",\n \"row_id\",\n \"column_name\"\n ],\n \"title\": \"TableCellBookmark\",\n \"type\": \"object\"\n },\n \"TableColumnBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_column\",\n \"default\": \"table_column\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"column_name\": {\n \"minLength\": 1,\n \"title\": \"Column Name\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\",\n \"column_name\"\n ],\n \"title\": \"TableColumnBookmark\",\n \"type\": \"object\"\n },\n \"TableInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_table\",\n \"default\": \"input_table\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"bookmarks\": {\n \"items\": {\n \"discriminator\": {\n \"mapping\": {\n \"full_table\": \"#/$defs/FullTableBookmark\",\n \"table_cell\": \"#/$defs/TableCellBookmark\",\n \"table_column\": \"#/$defs/TableColumnBookmark\",\n \"table_row\": \"#/$defs/TableRowBookmark\",\n \"table_schema\": \"#/$defs/TableSchemaBookmark\"\n },\n \"propertyName\": \"type\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/FullTableBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableColumnBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableRowBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableCellBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableSchemaBookmark\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Bookmarks\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"bookmarks\",\n \"type\"\n ],\n \"title\": \"TableInputPart\",\n \"type\": \"object\"\n },\n \"TableRowBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_row\",\n \"default\": \"table_row\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"row_id\": {\n \"minLength\": 1,\n \"title\": \"Row Id\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\",\n \"row_id\"\n ],\n \"title\": \"TableRowBookmark\",\n \"type\": \"object\"\n },\n \"TableSchemaBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_schema\",\n \"default\": \"table_schema\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\"\n ],\n \"title\": \"TableSchemaBookmark\",\n \"type\": \"object\"\n },\n \"TaskInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_task\",\n \"default\": \"input_task\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"task_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/ResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Task Ids\",\n \"type\": \"array\"\n },\n \"template\": {\n \"default\": \"full\",\n \"title\": \"Template\",\n \"type\": \"string\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"task_ids\",\n \"type\"\n ],\n \"title\": \"TaskInputPart\",\n \"type\": \"object\"\n },\n \"TextPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"text\",\n \"default\": \"text\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"text\": {\n \"default\": \"\",\n \"title\": \"Text\",\n \"type\": \"string\"\n },\n \"id\": {\n \"default\": \"\",\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"citations\": {\n \"items\": {\n \"$ref\": \"#/$defs/NormalizedCitation\"\n },\n \"title\": \"Citations\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"TextPart\",\n \"type\": \"object\"\n },\n \"ThinkingPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"thinking\",\n \"default\": \"thinking\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"text\": {\n \"default\": \"\",\n \"title\": \"Text\",\n \"type\": \"string\"\n },\n \"id\": {\n \"default\": \"\",\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"provider\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"openai\",\n \"anthropic\",\n \"google\",\n \"cerebras\",\n \"moonshot\",\n \"together\",\n \"groq\",\n \"xai\",\n \"generic_openai\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Provider\"\n },\n \"signature\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Signature\"\n },\n \"signature_encoding\": {\n \"anyOf\": [\n {\n \"const\": \"base64\",\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Signature Encoding\"\n },\n \"summary\": {\n \"items\": {},\n \"title\": \"Summary\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ThinkingPart\",\n \"type\": \"object\"\n },\n \"ToolCallPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"tool_call\",\n \"default\": \"tool_call\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"call_id\": {\n \"default\": \"\",\n \"title\": \"Call Id\",\n \"type\": \"string\"\n },\n \"name\": {\n \"default\": \"\",\n \"title\": \"Name\",\n \"type\": \"string\"\n },\n \"arguments\": {\n \"additionalProperties\": true,\n \"title\": \"Arguments\",\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ToolCallPart\",\n \"type\": \"object\"\n },\n \"ToolResultPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"tool_result\",\n \"default\": \"tool_result\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"call_id\": {\n \"default\": \"\",\n \"title\": \"Call Id\",\n \"type\": \"string\"\n },\n \"tool_use_id\": {\n \"default\": \"\",\n \"title\": \"Tool Use Id\",\n \"type\": \"string\"\n },\n \"name\": {\n \"default\": \"\",\n \"title\": \"Name\",\n \"type\": \"string\"\n },\n \"is_error\": {\n \"default\": false,\n \"title\": \"Is Error\",\n \"type\": \"boolean\"\n },\n \"output_chars\": {\n \"default\": 0,\n \"title\": \"Output Chars\",\n \"type\": \"integer\"\n },\n \"output_preview\": {\n \"anyOf\": [\n {\n \"additionalProperties\": true,\n \"type\": \"object\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Output Preview\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ToolResultPart\",\n \"type\": \"object\"\n },\n \"TranscriptInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_transcript\",\n \"default\": \"input_transcript\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"transcript_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Transcript Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"transcript_ids\",\n \"type\"\n ],\n \"title\": \"TranscriptInputPart\",\n \"type\": \"object\"\n },\n \"TranscriptSessionInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_transcript_session\",\n \"default\": \"input_transcript_session\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"transcript_session_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Transcript Session Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"transcript_session_ids\",\n \"type\"\n ],\n \"title\": \"TranscriptSessionInputPart\",\n \"type\": \"object\"\n },\n \"VideoMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"video\",\n \"default\": \"video\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"width\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Width\"\n },\n \"height\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Height\"\n },\n \"duration_ms\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Duration Ms\"\n },\n \"role\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"extend\",\n \"restyle\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Role\"\n },\n \"name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Name\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"VideoMediaPart\",\n \"type\": \"object\"\n },\n \"WebSearchPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"web_search\",\n \"default\": \"web_search\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"id\": {\n \"default\": \"\",\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"status\": {\n \"default\": \"\",\n \"title\": \"Status\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"WebSearchPart\",\n \"type\": \"object\"\n },\n \"WebpageInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_webpage\",\n \"default\": \"input_webpage\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"urls\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/PreFetchedUrl\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Urls\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"urls\",\n \"type\"\n ],\n \"title\": \"WebpageInputPart\",\n \"type\": \"object\"\n },\n \"WorkbookInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_workbook\",\n \"default\": \"input_workbook\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"workbook_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/LiveResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Workbook Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"workbook_ids\",\n \"type\"\n ],\n \"title\": \"WorkbookInputPart\",\n \"type\": \"object\"\n },\n \"YouTubeMediaPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"youtube\",\n \"default\": \"youtube\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"url\": {\n \"minLength\": 1,\n \"title\": \"Url\",\n \"type\": \"string\"\n },\n \"external_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"External Url\"\n },\n \"origin\": {\n \"const\": \"external\",\n \"default\": \"external\",\n \"title\": \"Origin\",\n \"type\": \"string\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n }\n },\n \"required\": [\n \"url\",\n \"type\",\n \"kind\"\n ],\n \"title\": \"YouTubeMediaPart\",\n \"type\": \"object\"\n }\n },\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextPart\"\n },\n {\n \"$ref\": \"#/$defs/ThinkingPart\"\n },\n {\n \"$ref\": \"#/$defs/ToolCallPart\"\n },\n {\n \"$ref\": \"#/$defs/ToolResultPart\"\n },\n {\n \"discriminator\": {\n \"mapping\": {\n \"audio\": \"#/$defs/AudioMediaPart\",\n \"document\": \"#/$defs/DocumentMediaPart\",\n \"image\": \"#/$defs/ImageMediaPart\",\n \"video\": \"#/$defs/VideoMediaPart\",\n \"youtube\": \"#/$defs/YouTubeMediaPart\"\n },\n \"propertyName\": \"kind\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/ImageMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/AudioMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/VideoMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/DocumentMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/YouTubeMediaPart\"\n }\n ]\n },\n {\n \"$ref\": \"#/$defs/CodeExecPart\"\n },\n {\n \"$ref\": \"#/$defs/CodeResultPart\"\n },\n {\n \"$ref\": \"#/$defs/WebSearchPart\"\n },\n {\n \"$ref\": \"#/$defs/HostedToolPart\"\n },\n {\n \"$ref\": \"#/$defs/WebpageInputPart\"\n },\n {\n \"$ref\": \"#/$defs/NotesInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TaskInputPart\"\n },\n {\n \"$ref\": \"#/$defs/AgentInputPart\"\n },\n {\n \"$ref\": \"#/$defs/ProjectInputPart\"\n },\n {\n \"$ref\": \"#/$defs/AgentAppInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TranscriptInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TranscriptSessionInputPart\"\n },\n {\n \"$ref\": \"#/$defs/WorkbookInputPart\"\n },\n {\n \"$ref\": \"#/$defs/DocumentInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TableInputPart\"\n },\n {\n \"$ref\": \"#/$defs/ListInputPart\"\n },\n {\n \"$ref\": \"#/$defs/DataInputPart\"\n },\n {\n \"$ref\": \"#/$defs/ContextInputPart\"\n },\n {\n \"$ref\": \"#/$defs/DecisionQuestionsPart\"\n },\n {\n \"$ref\": \"#/$defs/DecisionAnswersPart\"\n },\n {\n \"$ref\": \"#/$defs/SpeechScriptPart\"\n }\n ]\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction schemaTypeMatches(type: MessagePartJsonSchema[\"type\"], value: unknown): boolean {\n if (type === \"null\") return value === null;\n if (type === \"array\") return Array.isArray(value);\n if (type === \"object\") return isRecord(value);\n if (type === \"integer\") return typeof value === \"number\" && Number.isInteger(value);\n return typeof value === type;\n}\n\nfunction resolveMessagePartSchemaRef(\n ref: string,\n root: MessagePartJsonSchema,\n): MessagePartJsonSchema | undefined {\n const prefix = \"#/$defs/\";\n if (!ref.startsWith(prefix)) return undefined;\n return root.$defs?.[ref.slice(prefix.length)];\n}\n\nfunction matchesMessagePartSchema(\n value: unknown,\n schema: MessagePartJsonSchema,\n root: MessagePartJsonSchema,\n): boolean {\n if (schema.$ref) {\n const resolved = resolveMessagePartSchemaRef(schema.$ref, root);\n return resolved !== undefined && matchesMessagePartSchema(value, resolved, root);\n }\n if (schema.anyOf && !schema.anyOf.some((item) => matchesMessagePartSchema(value, item, root))) {\n return false;\n }\n if (schema.oneOf) {\n const matches = schema.oneOf.filter((item) => matchesMessagePartSchema(value, item, root));\n if (matches.length !== 1) return false;\n }\n if (schema.allOf && !schema.allOf.every((item) => matchesMessagePartSchema(value, item, root))) {\n return false;\n }\n if (\"const\" in schema && !Object.is(value, schema.const)) return false;\n if (schema.enum && !schema.enum.some((item) => Object.is(value, item))) return false;\n if (schema.type && !schemaTypeMatches(schema.type, value)) return false;\n if (schema.type === \"string\" && typeof value === \"string\" &&\n schema.minLength !== undefined && value.length < schema.minLength) return false;\n if (schema.type === \"array\" && Array.isArray(value) &&\n schema.minItems !== undefined && value.length < schema.minItems) return false;\n if ((schema.type === \"number\" || schema.type === \"integer\") && typeof value === \"number\") {\n if (schema.minimum !== undefined && value < schema.minimum) return false;\n if (schema.maximum !== undefined && value > schema.maximum) return false;\n if (schema.exclusiveMinimum !== undefined && value <= schema.exclusiveMinimum) return false;\n if (schema.exclusiveMaximum !== undefined && value >= schema.exclusiveMaximum) return false;\n }\n if (schema.type === \"array\" && schema.items && Array.isArray(value)) {\n return value.every((item) => matchesMessagePartSchema(item, schema.items!, root));\n }\n const hasObjectKeywords =\n schema.type === \"object\" ||\n schema.required !== undefined ||\n schema.properties !== undefined ||\n schema.additionalProperties !== undefined;\n if (!hasObjectKeywords) return true;\n if (!isRecord(value)) return false;\n if (schema.required?.some((key) => !(key in value))) return false;\n const properties = schema.properties ?? {};\n for (const [key, propertySchema] of Object.entries(properties)) {\n if (key in value && !matchesMessagePartSchema(value[key], propertySchema, root)) {\n return false;\n }\n }\n const extraKeys = Object.keys(value).filter((key) => !(key in properties));\n if (schema.additionalProperties === false && extraKeys.length > 0) return false;\n const additionalSchema = schema.additionalProperties;\n if (isRecord(additionalSchema)) {\n return extraKeys.every((key) =>\n matchesMessagePartSchema(value[key], additionalSchema, root),\n );\n }\n return true;\n}\n\n/** Runtime guard for persisted chat.message.content entries. */\nexport function isMessagePart(value: unknown): value is MessagePart {\n return matchesMessagePartSchema(value, MESSAGE_PART_SCHEMA, MESSAGE_PART_SCHEMA);\n}\n\n/** Validate and parse the content array from a chat.message DB row. */\nexport function parseMessageContent(content: unknown[]): MessagePart[] {\n return content.map((part, index) => {\n if (!isMessagePart(part)) {\n throw new TypeError(\n `Invalid chat.message.content[${index}]: unknown or malformed message part`,\n );\n }\n return part;\n });\n}\n\n// --- Message wrapper (matrx_ai.config.message_flags) ---\n\n/** The translator flags a message can carry. */\nexport const MESSAGE_FLAG_KEYS = [\"prefill\", \"cache_boundary\", \"example\"] as const;\nexport type MessageFlagKey = (typeof MESSAGE_FLAG_KEYS)[number];\n/** Stored form (`MessageFlags.as_dict`): only `true` means anything; absence is false. */\nexport type MessageFlags = Partial<Record<MessageFlagKey, true>>;\n/** Where a runtime message keeps its flags: `cx_message.metadata[MESSAGE_FLAGS_METADATA_KEY]`. */\nexport const MESSAGE_FLAGS_METADATA_KEY = \"flags\";\n/** What a flag the model cannot honour becomes (org knob agents.messages / flag_compatibility_mode). */\nexport const FLAG_COMPATIBILITY_MODES = [\"refuse\", \"convert\", \"drop\"] as const;\nexport type FlagCompatibilityMode = (typeof FLAG_COMPATIBILITY_MODES)[number];\nexport const DEFAULT_FLAG_COMPATIBILITY_MODE: FlagCompatibilityMode = \"refuse\";\n\n/** One message: its role, its parts, and its translator flags (top level on an\n * agent-definition message; `metadata.flags` on a runtime cx_message). */\nexport interface MessageWrapper {\n role: string;\n content: MessagePart[];\n flags?: MessageFlags | null;\n}\n\n\nexport interface ChunkEvent {\n event: \"chunk\";\n data: ChunkPayload;\n}\n\nexport interface ReasoningChunkEvent {\n event: \"reasoning_chunk\";\n data: ReasoningChunkPayload;\n}\n\nexport interface ReasoningEvent {\n event: \"reasoning\";\n data: ReasoningPayload;\n}\n\nexport interface PhaseEvent {\n event: \"phase\";\n data: PhasePayload;\n}\n\nexport interface WarningEvent {\n event: \"warning\";\n data: WarningPayload;\n}\n\nexport interface InfoEvent {\n event: \"info\";\n data: InfoPayload;\n}\n\nexport interface TypedDataEvent {\n event: \"data\";\n data: TypedDataPayload | UntypedDataPayload;\n}\n\nexport interface InitEvent {\n event: \"init\";\n data: InitPayload;\n}\n\nexport interface CompletionEvent {\n event: \"completion\";\n data: CompletionPayload;\n}\n\nexport interface ErrorEvent {\n event: \"error\";\n data: ErrorPayload;\n}\n\nexport interface ToolEventEvent {\n event: \"tool_event\";\n data: ToolEventPayload;\n}\n\nexport interface HeartbeatEvent {\n event: \"heartbeat\";\n data: HeartbeatPayload;\n}\n\nexport interface EndEvent {\n event: \"end\";\n data: EndPayload;\n}\n\nexport interface RenderBlockEvent {\n event: \"render_block\";\n data: RenderBlockPayload;\n}\n\nexport interface RecordReservedEvent {\n event: \"record_reserved\";\n data: RecordReservedPayload;\n}\n\nexport interface RecordUpdateEvent {\n event: \"record_update\";\n data: RecordUpdatePayload;\n}\n\nexport interface ResourceChangedEvent {\n event: \"resource_changed\";\n data: ResourceChangedPayload;\n}\n\nexport interface ContextAnalysisEvent {\n event: \"context_analysis\";\n data: ContextAnalysisPayload;\n}\n\nexport interface StructuredOutputEvent {\n event: \"structured_output\";\n data: StructuredOutputPayload;\n}\n\nexport interface ContextStateEvent {\n event: \"context_state\";\n data: ContextStatePayload;\n}\n\nexport interface ContextTrimmedEvent {\n event: \"context_trimmed\";\n data: ContextTrimmedPayload;\n}\n\nexport interface InjectionConsumedEvent {\n event: \"injection_consumed\";\n data: InjectionConsumedPayload;\n}\n\nexport interface ProviderRetryEvent {\n event: \"provider_retry\";\n data: ProviderRetryPayload;\n}\n\nexport interface CitationEvent {\n event: \"citation\";\n data: CitationPayload;\n}\n\nexport interface ControlTokenEvent {\n event: \"control_token\";\n data: ControlTokenPayload;\n}\n\n/** Discriminated union — `event.event === \"chunk\"` narrows `data` automatically. */\nexport type TypedStreamEvent =\n | ChunkEvent\n | ReasoningChunkEvent\n | ReasoningEvent\n | PhaseEvent\n | WarningEvent\n | InfoEvent\n | TypedDataEvent\n | InitEvent\n | CompletionEvent\n | ErrorEvent\n | ToolEventEvent\n | HeartbeatEvent\n | EndEvent\n | RenderBlockEvent\n | RecordReservedEvent\n | RecordUpdateEvent\n | ResourceChangedEvent\n | ContextAnalysisEvent\n | StructuredOutputEvent\n | ContextStateEvent\n | ContextTrimmedEvent\n | InjectionConsumedEvent\n | ProviderRetryEvent\n | CitationEvent\n | ControlTokenEvent;\n\n/**\n * @deprecated Use `TypedStreamEvent` instead — it provides automatic type narrowing\n * via the discriminated union so `event.event === \"chunk\"` narrows `data` to `ChunkPayload`.\n */\nexport type StreamEvent = TypedStreamEvent;\n\n// Compact wire format for high-frequency events (90%+ of stream traffic).\n// e = event type (\"c\" = chunk, \"r\" = reasoning_chunk), t = text content.\nexport interface CompactChunkEvent {\n e: \"c\";\n t: string;\n}\n\nexport interface CompactReasoningChunkEvent {\n e: \"r\";\n t: string;\n}\n\nexport type CompactStreamEvent = CompactChunkEvent | CompactReasoningChunkEvent;\n\n/** A line from the NDJSON stream — either compact or standard format. */\nexport type RawStreamLine = CompactStreamEvent | TypedStreamEvent;\n\nexport function isCompactEvent(line: unknown): line is CompactStreamEvent {\n return typeof line === \"object\" && line !== null && \"e\" in line && \"t\" in line;\n}\n\n/** Normalize a compact event into the standard TypedStreamEvent shape. */\nexport function expandCompactEvent(compact: CompactStreamEvent): TypedStreamEvent {\n if (compact.e === \"c\") return { event: \"chunk\", data: { text: compact.t } };\n return { event: \"reasoning_chunk\", data: { text: compact.t } };\n}\n\n// Type guards (work on both TypedStreamEvent and the deprecated StreamEvent alias)\nexport function isChunkEvent(e: TypedStreamEvent): e is { event: \"chunk\"; data: ChunkPayload } {\n return e.event === \"chunk\";\n}\n\nexport function isReasoningChunkEvent(e: TypedStreamEvent): e is { event: \"reasoning_chunk\"; data: ReasoningChunkPayload } {\n return e.event === \"reasoning_chunk\";\n}\n\nexport function isReasoningEvent(e: TypedStreamEvent): e is { event: \"reasoning\"; data: ReasoningPayload } {\n return e.event === \"reasoning\";\n}\n\nexport function isPhaseEvent(e: TypedStreamEvent): e is { event: \"phase\"; data: PhasePayload } {\n return e.event === \"phase\";\n}\n\nexport function isWarningEvent(e: TypedStreamEvent): e is { event: \"warning\"; data: WarningPayload } {\n return e.event === \"warning\";\n}\n\nexport function isInfoEvent(e: TypedStreamEvent): e is { event: \"info\"; data: InfoPayload } {\n return e.event === \"info\";\n}\n\nexport function isTypedDataEvent(e: TypedStreamEvent): e is { event: \"data\"; data: TypedDataPayload | UntypedDataPayload } {\n return e.event === \"data\";\n}\n\nexport function isInitEvent(e: TypedStreamEvent): e is { event: \"init\"; data: InitPayload } {\n return e.event === \"init\";\n}\n\nexport function isCompletionEvent(e: TypedStreamEvent): e is { event: \"completion\"; data: CompletionPayload } {\n return e.event === \"completion\";\n}\n\nexport function isErrorEvent(e: TypedStreamEvent): e is { event: \"error\"; data: ErrorPayload } {\n return e.event === \"error\";\n}\n\nexport function isToolEventEvent(e: TypedStreamEvent): e is { event: \"tool_event\"; data: ToolEventPayload } {\n return e.event === \"tool_event\";\n}\n\nexport function isHeartbeatEvent(e: TypedStreamEvent): e is { event: \"heartbeat\"; data: HeartbeatPayload } {\n return e.event === \"heartbeat\";\n}\n\nexport function isEndEvent(e: TypedStreamEvent): e is { event: \"end\"; data: EndPayload } {\n return e.event === \"end\";\n}\n\nexport function isRenderBlockEvent(e: TypedStreamEvent): e is { event: \"render_block\"; data: RenderBlockPayload } {\n return e.event === \"render_block\";\n}\n\nexport function isRecordReservedEvent(e: TypedStreamEvent): e is { event: \"record_reserved\"; data: RecordReservedPayload } {\n return e.event === \"record_reserved\";\n}\n\nexport function isRecordUpdateEvent(e: TypedStreamEvent): e is { event: \"record_update\"; data: RecordUpdatePayload } {\n return e.event === \"record_update\";\n}\n\nexport function isResourceChangedEvent(e: TypedStreamEvent): e is { event: \"resource_changed\"; data: ResourceChangedPayload } {\n return e.event === \"resource_changed\";\n}\n\nexport function isContextAnalysisEvent(e: TypedStreamEvent): e is { event: \"context_analysis\"; data: ContextAnalysisPayload } {\n return e.event === \"context_analysis\";\n}\n\nexport function isStructuredOutputEvent(e: TypedStreamEvent): e is { event: \"structured_output\"; data: StructuredOutputPayload } {\n return e.event === \"structured_output\";\n}\n\nexport function isContextStateEvent(e: TypedStreamEvent): e is { event: \"context_state\"; data: ContextStatePayload } {\n return e.event === \"context_state\";\n}\n\nexport function isContextTrimmedEvent(e: TypedStreamEvent): e is { event: \"context_trimmed\"; data: ContextTrimmedPayload } {\n return e.event === \"context_trimmed\";\n}\n\nexport function isInjectionConsumedEvent(e: TypedStreamEvent): e is { event: \"injection_consumed\"; data: InjectionConsumedPayload } {\n return e.event === \"injection_consumed\";\n}\n\nexport function isProviderRetryEvent(e: TypedStreamEvent): e is { event: \"provider_retry\"; data: ProviderRetryPayload } {\n return e.event === \"provider_retry\";\n}\n\nexport function isCitationEvent(e: TypedStreamEvent): e is { event: \"citation\"; data: CitationPayload } {\n return e.event === \"citation\";\n}\n\nexport function isControlTokenEvent(e: TypedStreamEvent): e is { event: \"control_token\"; data: ControlTokenPayload } {\n return e.event === \"control_token\";\n}\n\nexport function isCompactChunkEvent(e: unknown): e is CompactChunkEvent {\n return typeof e === \"object\" && e !== null && (e as CompactChunkEvent).e === \"c\" && typeof (e as CompactChunkEvent).t === \"string\";\n}\n\nexport function isCompactReasoningChunkEvent(e: unknown): e is CompactReasoningChunkEvent {\n return typeof e === \"object\" && e !== null && (e as CompactReasoningChunkEvent).e === \"r\" && typeof (e as CompactReasoningChunkEvent).t === \"string\";\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../generated/stream-events.ts"],"sourcesContent":["// AUTO-GENERATED — do not edit manually.\n// Sources:\n// matrx_connect.context.* — stream event types\n// matrx_ai.db.message_parts — cx_message.content[] types\n// Run: uv run python scripts/generate_types.py stream\n\nexport const EventType = {\n CHUNK: \"chunk\",\n REASONING_CHUNK: \"reasoning_chunk\",\n REASONING: \"reasoning\",\n PHASE: \"phase\",\n WARNING: \"warning\",\n INFO: \"info\",\n DATA: \"data\",\n INIT: \"init\",\n COMPLETION: \"completion\",\n ERROR: \"error\",\n TOOL_EVENT: \"tool_event\",\n HEARTBEAT: \"heartbeat\",\n END: \"end\",\n RENDER_BLOCK: \"render_block\",\n RECORD_RESERVED: \"record_reserved\",\n RECORD_UPDATE: \"record_update\",\n RESOURCE_CHANGED: \"resource_changed\",\n CONTEXT_ANALYSIS: \"context_analysis\",\n STRUCTURED_OUTPUT: \"structured_output\",\n CONTEXT_STATE: \"context_state\",\n CONTEXT_TRIMMED: \"context_trimmed\",\n INJECTION_CONSUMED: \"injection_consumed\",\n PROVIDER_RETRY: \"provider_retry\",\n CITATION: \"citation\",\n CONTROL_TOKEN: \"control_token\",\n} as const;\n\nexport type EventType = (typeof EventType)[keyof typeof EventType];\n\nexport type Phase =\n | \"connected\"\n | \"processing\"\n | \"generating\"\n | \"using_tools\"\n | \"persisting\"\n | \"searching\"\n | \"scraping\"\n | \"analyzing\"\n | \"synthesizing\"\n | \"retrying\"\n | \"executing\"\n | \"complete\";\n\nexport type Operation =\n | \"llm_request\"\n | \"tool_execution\"\n | \"user_request\"\n | \"sub_agent\"\n | \"persistence\";\n\nexport type ToolEventType =\n | \"tool_started\"\n | \"tool_progress\"\n | \"tool_step\"\n | \"tool_result_preview\"\n | \"tool_completed\"\n | \"tool_error\"\n | \"tool_delegated\";\n\nexport type WarningLevel =\n | \"low\"\n | \"medium\"\n | \"high\";\n\nexport type InitCompletionStatus =\n | \"success\"\n | \"failed\"\n | \"cancelled\";\n\nexport interface ChunkPayload {\n text: string;\n}\n\nexport interface CitationPayload {\n block_index?: number | null;\n citation: Record<string, unknown>;\n}\n\nexport interface ControlTokenPayload {\n name: string;\n value: string;\n declared_by?: string | null;\n}\n\nexport interface ReasoningChunkPayload {\n text: string;\n}\n\nexport interface ReasoningPayload {\n state: \"started\" | \"stopped\";\n}\n\nexport interface PhasePayload {\n phase: \"connected\" | \"processing\" | \"generating\" | \"using_tools\" | \"persisting\" | \"searching\" | \"scraping\" | \"analyzing\" | \"synthesizing\" | \"retrying\" | \"executing\" | \"complete\";\n}\n\nexport interface WarningPayload {\n code: string;\n system_message: string;\n user_message?: string | null;\n level?: \"low\" | \"medium\" | \"high\";\n recoverable?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface InfoPayload {\n code: string;\n system_message: string;\n user_message?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface InitPayload {\n operation: \"llm_request\" | \"tool_execution\" | \"user_request\" | \"sub_agent\" | \"persistence\";\n operation_id: string;\n parent_operation_id?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CompletionPayload {\n operation: \"llm_request\" | \"tool_execution\" | \"user_request\" | \"sub_agent\" | \"persistence\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result?: Record<string, unknown>;\n}\n\nexport interface ErrorPayload {\n error_type: string;\n message: string;\n user_message?: string;\n code?: string | null;\n details?: Record<string, unknown> | null;\n}\n\nexport interface ProviderRetryPayload {\n state: \"scheduled\" | \"retrying_now\" | \"cancelled\" | \"suspended\" | \"recovered\";\n provider: string;\n error_type: string;\n message: string;\n user_message: string;\n status_code?: number | null;\n model?: string | null;\n request_id?: string | null;\n conversation_id?: string | null;\n iteration: number;\n failed_attempt: number;\n next_attempt?: number | null;\n max_retries: number;\n retry_delay?: number | null;\n retry_at?: number | null;\n discard_partial_output?: boolean;\n schedule?: number[];\n can_cancel?: boolean;\n can_retry_now?: boolean;\n actions?: Record<string, string>;\n}\n\nexport interface ToolEventPayload {\n event: \"tool_started\" | \"tool_progress\" | \"tool_step\" | \"tool_result_preview\" | \"tool_completed\" | \"tool_error\" | \"tool_delegated\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data?: Record<string, unknown>;\n}\n\nexport interface HeartbeatPayload {\n timestamp?: number;\n seq?: number | null;\n late_by_seconds?: number | null;\n}\n\nexport interface EndPayload {\n reason?: string;\n}\n\nexport interface RenderBlockPayload {\n blockId: string;\n blockIndex: number;\n type: string;\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface RecordReservedPayload {\n db_project: string;\n table: string;\n record_id: string;\n status?: \"pending\";\n parent_refs?: Record<string, string>;\n metadata?: Record<string, unknown>;\n}\n\nexport interface RecordUpdatePayload {\n db_project: string;\n table: string;\n record_id: string;\n status: \"active\" | \"completed\" | \"failed\";\n metadata?: Record<string, unknown>;\n}\n\nexport interface ResourceChangedPayload {\n kind: string;\n action: \"created\" | \"modified\" | \"deleted\" | \"moved\" | \"renamed\" | \"invalidated\";\n resource_id: string;\n sandbox_id?: string | null;\n user_id?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ContextAnalysisPayload {\n provider: string;\n model?: string | null;\n iteration?: number | null;\n conversation_id?: string | null;\n request_id?: string | null;\n attempt?: number;\n is_streaming?: boolean;\n method: string;\n url: string;\n headers: Record<string, string>;\n body?: Record<string, unknown> | null;\n body_raw?: string | null;\n body_size_bytes?: number;\n timestamp?: number;\n}\n\nexport interface StructuredOutputPayload {\n schema_name?: string | null;\n json_schema: Record<string, unknown>;\n data?: Record<string, unknown> | unknown[] | null;\n success: boolean;\n reason?: string;\n match_count?: number;\n agent_name?: string | null;\n operation_id?: string | null;\n kind?: string | null;\n kind_version?: number | null;\n kind_checked?: boolean;\n kind_errors?: string[];\n}\n\nexport interface ConsumedInjection {\n injection_id: string;\n kind: string;\n text?: string | null;\n is_visible_to_user?: boolean;\n position?: number | null;\n message_id?: string | null;\n}\n\nexport interface InjectionConsumedPayload {\n conversation_id: string;\n items: ConsumedInjection[];\n count: number;\n}\n\nexport interface ContextStatePayload {\n conversation_id: string;\n last_request_input_tokens?: number;\n last_request_cached_tokens?: number;\n last_request_output_tokens?: number;\n total_chars_visible_to_model?: number;\n message_count_visible?: number;\n cache_state?: Record<string, unknown>;\n measured_at: string;\n}\n\nexport interface ContextTrimmedPayload {\n conversation_id: string;\n request_id?: string | null;\n trim_summary: Record<string, unknown>;\n measured_at: string;\n}\n\n// --- Typed Record Reservation Variants (discriminated on `table`) ---\n\n// Narrows RecordReservedPayload.metadata / parent_refs by table.\n// Server guarantees these shapes for message, request, tool_call.\n\nexport interface CxMessageReservedParentRefs {\n [key: string]: unknown;\n conversation_id: string;\n user_request_id: string;\n}\n\nexport interface CxMessageReservedMetadata {\n [key: string]: unknown;\n role: \"user\" | \"assistant\" | \"system\" | \"tool\";\n position: number;\n}\n\nexport interface CxRequestReservedParentRefs {\n [key: string]: unknown;\n conversation_id: string;\n user_request_id: string;\n}\n\nexport interface CxRequestReservedMetadata {\n [key: string]: unknown;\n iteration: number;\n}\n\nexport interface CxToolCallReservedParentRefs {\n [key: string]: unknown;\n conversation_id: string;\n user_request_id: string;\n call_id: string;\n}\n\nexport interface CxToolCallReservedMetadata {\n [key: string]: unknown;\n tool_name: string;\n call_id: string;\n iteration: number;\n}\n\nexport type CxMessageReservedPayload = RecordReservedPayload & {\n table: \"message\";\n parent_refs: CxMessageReservedParentRefs;\n metadata: CxMessageReservedMetadata;\n};\n\nexport type CxRequestReservedPayload = RecordReservedPayload & {\n table: \"request\";\n parent_refs: CxRequestReservedParentRefs;\n metadata: CxRequestReservedMetadata;\n};\n\nexport type CxToolCallReservedPayload = RecordReservedPayload & {\n table: \"tool_call\";\n parent_refs: CxToolCallReservedParentRefs;\n metadata: CxToolCallReservedMetadata;\n};\n\n/** Discriminated union on `table` — narrows metadata/parent_refs for known tables. */\nexport type TypedRecordReservedPayload =\n | CxMessageReservedPayload\n | CxRequestReservedPayload\n | CxToolCallReservedPayload;\n\n/** True when the reservation is for a known table with typed metadata. */\nexport function isTypedRecordReservedPayload(p: RecordReservedPayload): p is RecordReservedPayload & TypedRecordReservedPayload {\n return p.table === \"message\" || p.table === \"request\" || p.table === \"tool_call\";\n}\n\n/** Narrows to CxMessageReservedPayload — `metadata.role` and `metadata.position` are guaranteed. */\nexport function isCxMessageReservation(p: RecordReservedPayload): p is CxMessageReservedPayload {\n return p.table === \"message\";\n}\n\n/** Narrows to CxRequestReservedPayload — `metadata.iteration` is guaranteed. */\nexport function isCxRequestReservation(p: RecordReservedPayload): p is CxRequestReservedPayload {\n return p.table === \"request\";\n}\n\n/** Narrows to CxToolCallReservedPayload — `metadata.tool_name`, `metadata.call_id`, and `metadata.iteration` are guaranteed. */\nexport function isCxToolCallReservation(p: RecordReservedPayload): p is CxToolCallReservedPayload {\n return p.table === \"tool_call\";\n}\n\n// --- Typed Data Payloads ---\n\nexport interface DataPayload {\n type: string;\n}\n\nexport interface AssignmentProgressData {\n type?: \"assignment_progress\";\n session_id: string;\n completed: number;\n total: number;\n status: \"pending\" | \"running\" | \"completed\" | \"partially_failed\" | \"failed\" | \"cancelled\";\n}\n\nexport interface AudioOutputData {\n type?: \"audio_output\";\n url: string;\n mime_type: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n}\n\nexport interface AudioStreamChunkData {\n type?: \"audio_stream_chunk\";\n stream_id: string;\n seq: number;\n audio_base64: string;\n mime_type?: string;\n encoding?: \"pcm_s16le\" | \"mp3\";\n sample_rate?: number;\n bits_per_sample?: number;\n channels?: number;\n}\n\nexport interface AudioStreamEndData {\n type?: \"audio_stream_end\";\n stream_id: string;\n total_chunks: number;\n url?: string;\n mime_type?: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n duration_ms?: number | null;\n sample_rate?: number;\n bits_per_sample?: number;\n channels?: number;\n}\n\nexport interface CategorizationResultData {\n type?: \"categorization_result\";\n prompt_id: string;\n category: string;\n tags?: string[];\n description?: string;\n dry_run?: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface JsonValue {\n}\n\nexport interface ClaudeManagedSdkMessageData {\n type?: \"claude_managed_sdk_message\";\n runtime_id: string;\n session_id: string;\n sdk_message_type: string;\n message: Record<string, JsonValue>;\n}\n\nexport interface ClaudeManagedWarningData {\n type?: \"claude_managed_warning\";\n code: string;\n runtime_id: string;\n session_id: string;\n}\n\nexport interface CmsLogoFoundData {\n type?: \"cms_logo_found\";\n site_id: string;\n found: boolean;\n message: string;\n asset_id?: string | null;\n asset_url?: string | null;\n source?: string | null;\n source_url?: string | null;\n width?: number | null;\n height?: number | null;\n mime_type?: string | null;\n candidates_considered?: number;\n rejected?: string[];\n}\n\nexport interface ContextChangedData {\n type?: \"context_changed\";\n key: string;\n command: string;\n object_type?: string;\n mutable?: boolean;\n persist?: string;\n source_kind?: string;\n source_id?: string | null;\n}\n\nexport interface ContextConflictData {\n type?: \"context_conflict\";\n key: string;\n command: string;\n source_kind?: string;\n source_id?: string | null;\n base_version?: number | null;\n}\n\nexport interface ContextDeltaData {\n type?: \"context_delta\";\n key: string;\n command: string;\n object_type?: string;\n source_kind?: string;\n source_id?: string | null;\n seq?: number;\n delta_kind?: \"splice\" | \"full\";\n start?: number | null;\n end?: number | null;\n text?: string | null;\n base_len?: number | null;\n new_len?: number;\n content?: string | null;\n}\n\nexport interface ContextPersistFailedData {\n type?: \"context_persist_failed\";\n key: string;\n command: string;\n source_kind?: string;\n source_id?: string | null;\n error?: string;\n traceback?: string;\n}\n\nexport interface ContextPersistedData {\n type?: \"context_persisted\";\n key: string;\n command: string;\n source_kind?: string;\n source_id?: string | null;\n materialized?: boolean;\n}\n\nexport interface ContextDecidedBy {\n include: \"default\" | \"page\" | \"agent\" | \"you\";\n max_inline_chars: \"default\" | \"page\" | \"agent\" | \"you\";\n}\n\nexport interface ContextDeliveredRef {\n chars: number;\n sha256: string;\n}\n\nexport interface ContextReceiptBlock {\n id: string;\n label: string;\n delivered: ContextDeliveredRef;\n}\n\nexport interface ContextReceiptRow {\n key: string;\n label: string;\n surface_key: string;\n origin: \"client\" | \"server\" | \"surroundings\" | \"rule\";\n chars?: number | null;\n include: boolean;\n max_inline_chars: number;\n delivery: \"inline\" | \"on_request\" | \"off\";\n decided_by: ContextDecidedBy;\n user_rule?: ContextRule | null;\n clamped?: boolean;\n client_sent_excluded?: boolean;\n blocked_by?: \"model\" | \"self_check\" | null;\n consumed_as?: \"expanded\" | \"directive\" | \"renamed\" | \"unaccounted\" | null;\n consumed_into?: string[];\n delivered?: ContextDeliveredRef | null;\n on_request?: ContextDeliveredRef | null;\n}\n\nexport interface ContextRule {\n include?: boolean | null;\n max_inline_chars?: number | null;\n}\n\nexport interface ContextReceiptData {\n type?: \"context_receipt\";\n version?: 1;\n surface?: string | null;\n cap: number;\n model_reads_context?: boolean;\n rows?: ContextReceiptRow[];\n rules_error?: string | null;\n blocks?: ContextReceiptBlock[];\n}\n\nexport interface ConversationIdData {\n type?: \"conversation_id\";\n conversation_id: string;\n}\n\nexport interface ConversationLabeledData {\n type?: \"conversation_labeled\";\n conversation_id: string;\n title: string;\n description?: string;\n keywords?: string[];\n}\n\nexport interface CutoverCopyAgainProgressData {\n type?: \"cutover_copy_again_progress\";\n organization_id: string;\n table_id?: string | null;\n table_name: string;\n done: number;\n total: number;\n refused?: string | null;\n says: string;\n}\n\nexport interface CutoverCopyAgainReportData {\n type?: \"cutover_copy_again_report\";\n organization_id: string;\n organization_name: string;\n table_id?: string | null;\n table_name?: string | null;\n ok: boolean;\n tables: number;\n tables_refused?: string[];\n rows_written?: number;\n carried?: Record<string, number>;\n named?: string[];\n says: string;\n}\n\nexport interface CutoverFinalSwitchCopyAgainResultData {\n type?: \"cutover_final_switch_copy_again_result\";\n run_id: string;\n resumed?: boolean;\n ok: boolean;\n says: string;\n organizations?: Record<string, unknown>[];\n still_needs?: string[];\n timings_ms?: Record<string, number>;\n}\n\nexport interface CutoverFinalSwitchResultData {\n type?: \"cutover_final_switch_result\";\n direction: \"new\" | \"old\";\n ok: boolean;\n reason?: string | null;\n says: string;\n press_id?: string | null;\n counts?: Record<string, unknown>;\n timings_ms?: Record<string, number>;\n copied_again?: string[];\n not_carried?: string[];\n}\n\nexport interface CutoverFinalSwitchStageData {\n type?: \"cutover_final_switch_stage\";\n stage: string;\n says: string;\n}\n\nexport interface DecisionAnswerBlock {\n __kind?: \"decision_answer\";\n type: \"noul\" | \"choice\" | \"score\";\n answer: boolean | number | string;\n probability?: number | null;\n probabilities?: Record<string, number> | null;\n confidence: number;\n legend?: Record<string, string> | null;\n}\n\nexport interface DecisionUsageBlock {\n input_tokens: number;\n output_tokens: number;\n}\n\nexport interface DecisionAnswersData {\n type?: \"decision_answers\";\n __kind: \"decision_answers\";\n model: string;\n method: \"native\" | \"verbalized\" | \"verbalized_calibrated\";\n answers?: Record<string, DecisionAnswerBlock>;\n unanswerable?: Record<string, string>;\n usage: DecisionUsageBlock;\n cost_usd: number;\n}\n\nexport interface DictionaryPublishCompleteData {\n type?: \"dictionary_publish_complete\";\n status: string;\n level: string;\n owner_id?: string | null;\n external_id?: string | null;\n version_id?: string | null;\n rule_count?: number;\n rules_hash?: string | null;\n}\n\nexport interface QuestionnaireQuestion {\n id: string;\n prompt: string;\n component_type: \"dropdown\" | \"checkboxes\" | \"radio\" | \"toggle\" | \"slider\" | \"input\" | \"textarea\";\n options?: string[];\n min?: number | null;\n max?: number | null;\n step?: number | null;\n default?: unknown;\n required?: boolean;\n}\n\nexport interface QuestionnaireDisplayData {\n type?: \"display_questionnaire\";\n introduction: string;\n questions?: QuestionnaireQuestion[];\n}\n\nexport interface ExtractionIndexCompleteData {\n type?: \"extraction_index_complete\";\n run_id: string;\n job_id: string;\n derivative_id: string;\n derivative_outcome: string;\n results_total: number;\n chunks_written: number;\n chunks_skipped: number;\n priority_applied: number;\n agent_id?: string | null;\n embedding_model: string;\n}\n\nexport interface ExtractionIndexProgressData {\n type?: \"extraction_index_progress\";\n run_id: string;\n stage: string;\n message?: string;\n results_total?: number;\n chunks_built?: number;\n chunks_skipped?: number;\n embedded?: number;\n total_to_embed?: number;\n}\n\nexport interface FetchResultItem {\n [key: string]: unknown;\n url?: string;\n title?: string;\n content?: string;\n status?: string;\n}\n\nexport interface FetchResultsData {\n type?: \"fetch_results\";\n metadata?: Record<string, unknown>;\n results?: FetchResultItem[];\n}\n\nexport interface FileAnalysisCompleteData {\n type?: \"file_analysis_complete\";\n file_id: string;\n status: string;\n results_count?: number;\n failures?: string[];\n elapsed_ms?: number;\n head?: Record<string, unknown>;\n results?: Record<string, unknown>[];\n}\n\nexport interface FileAnalysisStartedData {\n type?: \"file_analysis_started\";\n file_id: string;\n mime_type?: string | null;\n total_detectors: number;\n}\n\nexport interface FileDetectorCompletedData {\n type?: \"file_detector_completed\";\n file_id: string;\n detector_kind: string;\n tier: string;\n status: string;\n elapsed_ms?: number;\n error?: string | null;\n complete: number;\n total: number;\n}\n\nexport interface FileSearchBboxItem {\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n}\n\nexport interface FileSearchHitItem {\n page_number: number;\n page_id?: string | null;\n bbox: FileSearchBboxItem;\n snippet: string;\n matched_text: string;\n char_start?: number | null;\n char_end?: number | null;\n}\n\nexport interface FileSearchCompleteData {\n type?: \"file_search_complete\";\n file_id: string;\n query: string;\n regex?: boolean;\n case_sensitive?: boolean;\n hits?: FileSearchHitItem[];\n truncated?: boolean;\n pages_scanned?: number;\n total_pages?: number;\n}\n\nexport interface FileSearchPageData {\n type?: \"file_search_page\";\n page_number: number;\n total_pages: number;\n hits?: FileSearchHitItem[];\n total_hits?: number;\n}\n\nexport interface FileSearchStartedData {\n type?: \"file_search_started\";\n file_id: string;\n query: string;\n regex?: boolean;\n case_sensitive?: boolean;\n total_pages: number;\n}\n\nexport interface FunctionResultData {\n type?: \"function_result\";\n function_name: string;\n success: boolean;\n result?: unknown;\n error?: string | null;\n duration_ms?: number | null;\n}\n\nexport interface ImageDocumentDetectedData {\n type?: \"image_document_detected\";\n found: boolean;\n top_left?: unknown[] | null;\n top_right?: unknown[] | null;\n bottom_right?: unknown[] | null;\n bottom_left?: unknown[] | null;\n confidence?: number;\n image_width?: number;\n image_height?: number;\n}\n\nexport interface ImageEditCompleteData {\n type?: \"image_edit_complete\";\n op: string;\n file_id?: string | null;\n asset?: Record<string, unknown>;\n}\n\nexport interface GeneratedImageFileItem {\n cloud_file_id: string;\n public_url?: string | null;\n mime?: string | null;\n width?: number | null;\n height?: number | null;\n}\n\nexport interface ImageGenerateCompleteData {\n type?: \"image_generate_complete\";\n prompt?: string;\n model?: string | null;\n files?: GeneratedImageFileItem[];\n}\n\nexport interface ImageOpStageData {\n type?: \"image_op_stage\";\n op: string;\n stage: string;\n detail?: string | null;\n source_id?: string | null;\n mask_id?: string | null;\n}\n\nexport interface ImageOutputData {\n type?: \"image_output\";\n url: string;\n mime_type: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n}\n\nexport interface ImageStudioCommitCompleteData {\n type?: \"image_studio_commit_complete\";\n job_id: string;\n folder_path: string;\n saved_count?: number;\n failed_count?: number;\n result?: Record<string, unknown>;\n}\n\nexport interface ImageStudioCommitItemData {\n type?: \"image_studio_commit_item\";\n job_id: string;\n preset_id: string;\n status: string;\n file_id?: string | null;\n filename?: string | null;\n file_path?: string | null;\n size?: number | null;\n public_url?: string | null;\n error?: string | null;\n completed?: number;\n total?: number;\n}\n\nexport interface ImageStudioProcessCompleteData {\n type?: \"image_studio_process_complete\";\n job_id: string;\n result?: Record<string, unknown>;\n}\n\nexport interface ImageStudioVariantData {\n type?: \"image_studio_variant\";\n job_id: string;\n preset_id: string;\n filename?: string | null;\n format?: string | null;\n width?: number | null;\n height?: number | null;\n quality?: number | null;\n size?: number | null;\n ephemeral_url?: string | null;\n expires_in?: number | null;\n compression_ratio?: number | null;\n notes?: string[];\n error?: string | null;\n completed?: number;\n total?: number;\n}\n\nexport interface MediaSelectionJobProgressData {\n type?: \"job.progress\";\n job_id: string;\n at: string;\n totals?: Record<string, number>;\n}\n\nexport interface LegalSyncEventData {\n type?: \"legal_sync_event\";\n phase: string;\n run_id?: string | null;\n resource?: string | null;\n resources?: string[] | null;\n court_id?: string | null;\n court_ids?: string[] | null;\n cluster_id?: number | null;\n cluster_count?: number | null;\n rows?: number | null;\n court_rows?: number | null;\n total_rows?: number | null;\n rows_pumped?: number | null;\n rows_inserted?: number | null;\n bytes_received?: number | null;\n s3_key?: string | null;\n size_bytes?: number | null;\n dump_date?: string | null;\n bucket?: string | null;\n table?: string | null;\n target?: string | null;\n batch_size?: number | null;\n last_id?: number | null;\n reason?: string | null;\n per_court_counts?: Record<string, number> | null;\n per_court_errors?: Record<string, string> | null;\n per_cluster_errors?: Record<string, string> | null;\n per_resource_rows?: Record<string, number> | null;\n per_resource_errors?: Record<string, string> | null;\n error?: string | null;\n}\n\nexport interface LibrarySyncClassifiedData {\n type?: \"library.sync.classified\";\n library_id: string;\n seq: number;\n at: string;\n classifications?: Record<string, JsonValue>[];\n from_cache: boolean;\n}\n\nexport interface LibrarySyncCompletedData {\n type?: \"library.sync.completed\";\n library_id: string;\n seq: number;\n at: string;\n total_listed: number;\n elapsed_ms: number;\n listed_ms: number;\n quota_units_spent: number;\n metrics?: Record<string, JsonValue>;\n removed_count?: number;\n retire_refused?: boolean;\n skipped_by_reason?: Record<string, number>;\n skipped_total?: number;\n}\n\nexport interface LibrarySyncFailedData {\n type?: \"library.sync.failed\";\n library_id: string;\n seq: number;\n at: string;\n code: string;\n message: string;\n partial_total?: number;\n retryable?: boolean;\n}\n\nexport interface LibrarySyncListedData {\n type?: \"library.sync.listed\";\n library_id: string;\n seq: number;\n at: string;\n total_listed: number;\n elapsed_ms: number;\n deciding: number;\n skipped_by_reason?: Record<string, number>;\n skipped_total?: number;\n}\n\nexport interface LibrarySyncPageData {\n type?: \"library.sync.page\";\n library_id: string;\n seq: number;\n at: string;\n page_index: number;\n page_size: number;\n cumulative: number;\n next_page_token_present: boolean;\n videos?: Record<string, JsonValue>[];\n}\n\nexport interface LibrarySyncPersistedData {\n type?: \"library.sync.persisted\";\n library_id: string;\n seq: number;\n at: string;\n ids?: Record<string, string>;\n count: number;\n}\n\nexport interface LibrarySyncStartedData {\n type?: \"library.sync.started\";\n library_id: string;\n seq: number;\n at: string;\n mode: string;\n expected_total?: number | null;\n}\n\nexport interface LibrarySyncUnavailableData {\n type?: \"library.sync.unavailable\";\n library_id: string;\n seq: number;\n at: string;\n code: string;\n message: string;\n remedy?: string | null;\n partial_total?: number;\n}\n\nexport interface MasterworkAuditionOutcomeVerdictData {\n type?: \"masterwork_audition_outcome_verdict\";\n rulebook_id: string;\n case_id: string;\n run_scope: string;\n verdict: string;\n why?: string;\n summary?: string;\n judge_confidence?: number | null;\n dangerous_branch?: boolean;\n dangerous_branch_quote?: string;\n decisive_question_seq?: number | null;\n missed_cheaper_question?: string;\n disclosures?: number;\n asks?: number;\n cost_points?: number;\n risk_points?: number;\n quality_score?: number | null;\n weights?: Record<string, number>;\n vanilla_compared?: boolean;\n vanilla_verdict?: string | null;\n vanilla_answer?: string | null;\n vanilla_score?: number | null;\n vanilla_model?: string | null;\n vanilla_error?: string | null;\n beat_vanilla?: boolean | null;\n verdict_sentence?: string | null;\n}\n\nexport interface MasterworkAuditionProgressData {\n type?: \"masterwork_audition_progress\";\n step: string;\n message: string;\n}\n\nexport interface AuditionRuleFinding {\n rule_id: string;\n winner: string;\n note?: string;\n}\n\nexport interface MasterworkAuditionVerdictData {\n type?: \"masterwork_audition_verdict\";\n rulebook_id: string;\n verdict: string;\n summary: string;\n findings?: AuditionRuleFinding[];\n gaps?: string[];\n gaps_captured?: number;\n rulebook_version?: number | null;\n quality_score?: number | null;\n judge_confidence?: number | null;\n vanilla_compared?: boolean;\n vanilla_score?: number | null;\n vanilla_verdict?: string | null;\n vanilla_findings?: AuditionRuleFinding[];\n vanilla_text?: string | null;\n vanilla_model?: string | null;\n vanilla_note?: string | null;\n vanilla_error?: string | null;\n beat_vanilla_rules?: number | null;\n lost_to_vanilla_rules?: number | null;\n vanilla_rules_compared?: number | null;\n verdict_sentence?: string | null;\n}\n\nexport interface MasterworkBenchArmData {\n type?: \"masterwork_bench_arm\";\n rulebook_id: string;\n trial_id: string;\n arm: string;\n label: string;\n ran?: boolean;\n error?: string;\n cost_usd?: number;\n seconds?: number;\n priced?: boolean;\n model?: string;\n note?: string;\n}\n\nexport interface MasterworkBenchProgressData {\n type?: \"masterwork_bench_progress\";\n rulebook_id: string;\n trial_id: string;\n stage: string;\n message: string;\n arm?: string;\n}\n\nexport interface MasterworkBenchVerdictData {\n type?: \"masterwork_bench_verdict\";\n rulebook_id: string;\n trial_id: string;\n passed?: boolean;\n void?: boolean;\n not_scored?: boolean;\n void_reason?: string;\n not_scored_reason?: string;\n win_claimed?: string | null;\n win_rationale?: string;\n arm?: string;\n budget_multiple?: number | null;\n panel_winner?: string | null;\n panel_votes?: number;\n gt_in_pool?: boolean;\n gt_won?: boolean;\n c_cost_usd?: number | null;\n c_seconds?: number | null;\n total_cost_usd?: number;\n record_path?: string | null;\n report_path?: string | null;\n row_id?: string | null;\n stored?: boolean;\n storage_note?: string;\n headline?: string;\n}\n\nexport interface MasterworkBuildCompleteData {\n type?: \"masterwork_build_complete\";\n workflow_id: string;\n name: string;\n masterwork_kind: string;\n rulebook_id: string;\n rulebook_slug: string;\n rulebook_version: number;\n agent_ids?: string[];\n submit_label?: string | null;\n}\n\nexport interface MasterworkBuildProgressData {\n type?: \"masterwork_build_progress\";\n step: string;\n message: string;\n agent_id?: string | null;\n agent_name?: string | null;\n}\n\nexport interface CheckupFinding {\n id: string;\n kind: string;\n target_rule_id?: string | null;\n proposed?: Record<string, unknown> | null;\n alternatives?: Record<string, unknown>[];\n reason?: string;\n evidence?: string;\n evidence_ref?: Record<string, unknown>;\n confidence?: number;\n source?: string;\n content_ir?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkCheckupCompleteData {\n type?: \"masterwork_checkup_complete\";\n rulebook_id: string;\n rulebook_version: number;\n findings?: CheckupFinding[];\n producers_run?: string[];\n producers_failed?: string[];\n evidence_rejected?: number;\n already_dismissed?: number;\n corpus_segments?: number;\n corpus_chars?: number;\n corpus_cleaned?: boolean;\n notes?: string[];\n}\n\nexport interface MasterworkCheckupFindingData {\n type?: \"masterwork_checkup_finding\";\n rulebook_id: string;\n finding: CheckupFinding;\n content_ir?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkCheckupProgressData {\n type?: \"masterwork_checkup_progress\";\n step: string;\n message: string;\n producer?: string | null;\n findings_found?: number | null;\n findings_dropped?: number | null;\n}\n\nexport interface MasterworkCorpusCleanedData {\n type?: \"masterwork_corpus_cleaned\";\n rulebook_id: string;\n rulebook_version: number;\n segments?: number;\n cleaned?: number;\n reused?: number;\n failed?: number;\n total_chars?: number;\n text?: string;\n}\n\nexport interface MasterworkCorpusProgressData {\n type?: \"masterwork_corpus_progress\";\n step: string;\n message: string;\n segment_label?: string | null;\n segment_index?: number | null;\n total_segments?: number | null;\n}\n\nexport interface MasterworkDumpResourceOutcome {\n kind: string;\n token?: string | null;\n id?: string | null;\n url?: string | null;\n source_key?: string | null;\n title?: string | null;\n status: string;\n rules_added?: number;\n duplicates?: number;\n error?: string | null;\n note?: string | null;\n already_distilled?: MasterworkSourceAlreadyDistilled | null;\n replaced_rules?: number;\n}\n\nexport interface MasterworkSourceAlreadyDistilled {\n source: string;\n label?: string | null;\n rules?: number;\n draft_rules?: number;\n approved_rules?: number;\n run_ids?: string[];\n message: string;\n can_replace?: boolean;\n}\n\nexport interface MasterworkDumpCompleteData {\n type?: \"masterwork_dump_complete\";\n rulebook_id: string;\n rulebook_version: number;\n added?: number;\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n resources?: MasterworkDumpResourceOutcome[];\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n replaced_rules?: number;\n}\n\nexport interface MasterworkDumpProgressData {\n type?: \"masterwork_dump_progress\";\n step: string;\n message: string;\n resource_index: number;\n resource_count: number;\n kind?: string | null;\n token?: string | null;\n id?: string | null;\n url?: string | null;\n title?: string | null;\n rules_added?: number | null;\n rules_added_total?: number;\n}\n\nexport interface MasterworkSectionYield {\n index: number;\n label?: string;\n words?: number;\n chunks?: number;\n rules?: number;\n second_pass?: boolean;\n}\n\nexport interface MasterworkIngestCompleteData {\n type?: \"masterwork_ingest_complete\";\n rulebook_id: string;\n rulebook_version: number;\n added?: number;\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n failed_chunks?: number;\n skipped_words?: number;\n packaging_set_aside?: number;\n followup_seed?: string | null;\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n replaced_rules?: number;\n narrowed_rules?: number;\n corpus_item_id?: string | null;\n sealed?: boolean;\n timeline_steps?: number;\n role?: string | null;\n timeline?: Record<string, JsonValue> | null;\n sections?: MasterworkSectionYield[];\n}\n\nexport interface MasterworkIngestProgressData {\n type?: \"masterwork_ingest_progress\";\n step: string;\n message: string;\n chunk_index?: number | null;\n total_chunks?: number | null;\n rules_found?: number | null;\n}\n\nexport interface MasterworkPairwiseArmFaithfulness {\n side: string;\n label: string;\n rulebook_id: string;\n verdict: string;\n reasoning?: string;\n confidence?: number | null;\n departures?: MasterworkPairwiseRuleNote[];\n honored_rule_ids?: string[];\n}\n\nexport interface MasterworkPairwiseDifference {\n aspect: string;\n one_does?: string;\n two_does?: string;\n matters?: string;\n}\n\nexport interface MasterworkPairwiseRuleNote {\n rule_id: string;\n winner: string;\n note?: string;\n}\n\nexport interface MasterworkPairwiseVerdictData {\n type?: \"masterwork_pairwise_verdict\";\n rulebook_id: string;\n mode: string;\n candidate_one_label: string;\n candidate_two_label: string;\n preferred?: string | null;\n preferred_label?: string | null;\n judge_verdict?: string;\n judge_confidence?: number | null;\n summary?: string;\n differences?: MasterworkPairwiseDifference[];\n rule_notes?: MasterworkPairwiseRuleNote[];\n faithfulness?: MasterworkPairwiseArmFaithfulness[];\n blind_key?: Record<string, string>;\n blind_key_sealed_at?: string | null;\n verdict_sentence?: string | null;\n}\n\nexport interface MasterworkProbeRoundData {\n type?: \"masterwork_probe_round\";\n rulebook_id: string;\n rulebook_version?: number;\n round_index?: number;\n round_count?: number;\n done?: boolean;\n done_reason?: string;\n example_title?: string;\n example_body?: string;\n probe_label?: string;\n rules_added?: number;\n rule_ids?: string[];\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n answered_rounds?: number;\n}\n\nexport interface MasterworkRunData {\n type?: \"masterwork_run\";\n run_id: string;\n rulebook_id: string;\n operation: string;\n label?: string | null;\n}\n\nexport interface MasterworkRunCancelledData {\n type?: \"masterwork_run_cancelled\";\n run_id: string;\n error?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkRunFailedData {\n type?: \"masterwork_run_failed\";\n run_id: string;\n error?: Record<string, unknown> | null;\n}\n\nexport interface MasterworkRunSnapshotData {\n type?: \"masterwork_run_snapshot\";\n run_id: string;\n rulebook_id: string;\n operation: string;\n label?: string | null;\n status: string;\n live?: boolean;\n error?: Record<string, unknown> | null;\n result?: Record<string, unknown> | null;\n completed_at?: string | null;\n}\n\nexport interface MasterworkSealedCaseDisclosureData {\n type?: \"masterwork_sealed_case_disclosure\";\n case_id: string;\n run_scope: string;\n seq: number;\n event?: string;\n question?: string;\n answer?: string;\n found?: boolean;\n cost?: string | null;\n risk?: string | null;\n asked_kind?: string | null;\n disclosures_so_far?: number;\n}\n\nexport interface MasterworkShortlistItem {\n key: string;\n reason?: string;\n}\n\nexport interface MasterworkShortlistData {\n type?: \"masterwork_shortlist\";\n selected?: MasterworkShortlistItem[];\n considered?: number;\n}\n\nexport interface MasterworkSortCase {\n id: string;\n text: string;\n note?: string;\n}\n\nexport interface MasterworkSortCasesReadyData {\n type?: \"masterwork_sort_cases_ready\";\n rulebook_id: string;\n cases?: MasterworkSortCase[];\n requested?: number;\n repeats_dropped?: number;\n pile_count?: number;\n boundary_questions?: number;\n voice_default_on?: boolean;\n}\n\nexport interface MasterworkTeachBackRoundData {\n type?: \"masterwork_teach_back_round\";\n rulebook_id: string;\n rulebook_version?: number;\n run_id?: string;\n round_index?: number;\n round_count?: number;\n done?: boolean;\n done_reason?: string;\n subject?: string;\n explanation?: string;\n basis?: string;\n rule_ids_cited?: string[];\n uncertain_part?: string;\n distilled_round?: number;\n rules_added?: number;\n rule_ids?: string[];\n duplicates_skipped?: number;\n quotes_verified?: number;\n quotes_unverified?: number;\n signed_rule_ids?: string[];\n signature_note?: string;\n already_distilled?: MasterworkSourceAlreadyDistilled[];\n answered_rounds?: number;\n}\n\nexport interface MasterworkTriad {\n id: string;\n prompt: string;\n items?: MasterworkTriadItem[];\n mode?: string;\n}\n\nexport interface MasterworkTriadItem {\n key: string;\n text: string;\n note?: string;\n}\n\nexport interface MasterworkTriadsReadyData {\n type?: \"masterwork_triads_ready\";\n rulebook_id: string;\n triads?: MasterworkTriad[];\n mode?: string;\n requested?: number;\n repeats_dropped?: number;\n voice_default_on?: boolean;\n}\n\nexport interface MasterworkTriageDecision {\n rule_id: string;\n name?: string;\n verdict?: string;\n reason?: string;\n statement?: string;\n}\n\nexport interface MasterworkTriageCompleteData {\n type?: \"masterwork_triage_complete\";\n rulebook_id: string;\n rulebook_version: number;\n drafts_considered?: number;\n retired?: number;\n kept?: number;\n rewritten?: number;\n refused?: string[];\n failed_batches?: number;\n drafts_unreviewed?: number;\n dry_run?: boolean;\n decisions?: MasterworkTriageDecision[];\n}\n\nexport interface MasterworkTriageProgressData {\n type?: \"masterwork_triage_progress\";\n step: string;\n message: string;\n batch_index?: number | null;\n batch_count?: number | null;\n drafts_total?: number;\n retired?: number;\n kept?: number;\n rewritten?: number;\n}\n\nexport interface AudioBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"audio\";\n duration_ms?: number | null;\n transcript?: string | null;\n}\n\nexport interface DocumentBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"document\";\n page_count?: number | null;\n page1_url?: string | null;\n}\n\nexport interface ImageBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"image\";\n width?: number | null;\n height?: number | null;\n vision_class?: string | null;\n}\n\nexport interface VideoBlock {\n origin: \"matrx\" | \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"video\";\n width?: number | null;\n height?: number | null;\n duration_ms?: number | null;\n poster_url?: string | null;\n}\n\nexport interface YouTubeBlock {\n origin?: \"external\";\n file_id?: string | null;\n published_to_web?: boolean | null;\n shown_to?: \"only_me\" | \"my_team\" | \"everyone\" | \"everyone_on_ai_matrx\" | null;\n visibility?: \"personal\" | \"internal\" | \"link\" | \"public\" | null;\n cdn_url?: string | null;\n download_url?: string | null;\n parent_file_id?: string | null;\n derivation_kind?: string | null;\n external_url?: string | null;\n source_label?: string | null;\n base64?: string | null;\n mime_type?: string | null;\n file_name?: string | null;\n size_bytes?: number | null;\n status?: \"complete\" | \"streaming\" | \"error\";\n progress?: number | null;\n error_message?: string | null;\n metadata?: Record<string, JsonValue>;\n kind?: \"youtube\";\n video_id?: string | null;\n}\n\nexport interface MediaBlockData {\n type?: \"media_block\";\n block: ImageBlock | VideoBlock | AudioBlock | DocumentBlock | YouTubeBlock;\n}\n\nexport interface MediaNoticeData {\n type?: \"media_notice\";\n media_kind: string;\n action: \"dropped\" | \"extracted\" | \"transcribed\" | \"converted\";\n user_message: string;\n system_message?: string;\n provider?: string | null;\n model?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface MediaResearchAnchor {\n title?: string | null;\n url: string;\n published_at?: string | null;\n}\n\nexport interface MediaResearchProfile {\n name: string;\n outlet?: string | null;\n url?: string | null;\n published_at?: string | null;\n}\n\nexport interface MediaResearchRow {\n party_id: string;\n name: string;\n outlet?: string | null;\n status: \"fit\" | \"soft_fit\" | \"research_needed\" | \"cut\";\n rank?: number;\n why_them?: string;\n anchor?: MediaResearchAnchor | null;\n pitch_note?: string | null;\n cut_reason?: string | null;\n contact_state?: \"verified\" | \"quarantined\" | \"unresolved\";\n contact_address?: string | null;\n contact_note?: string | null;\n first_wave?: boolean;\n fit_check?: string | null;\n on_list?: boolean;\n}\n\nexport interface MediaResearchProgressData {\n type?: \"media_research_progress\";\n run_key: string;\n stage: \"approved\" | \"search\" | \"resolve\" | \"judge\" | \"contacts\" | \"first_wave\" | \"save\";\n percent: number;\n says: string;\n found?: number;\n target?: number;\n judged?: number;\n new_profiles?: MediaResearchProfile[];\n rows?: MediaResearchRow[];\n}\n\nexport interface MediaResearchSummaryData {\n requested: number;\n research_target: number;\n multiplier: number;\n multiplier_reason: string;\n resolved?: number;\n judged?: number;\n first_wave?: number;\n added_to_list?: number;\n already_on_list?: number;\n gaps?: string[];\n}\n\nexport interface MediaResearchResultData {\n type?: \"media_research_result\";\n run_key: string;\n list_id: string;\n status: \"complete\" | \"partial\";\n reused?: boolean;\n says: string;\n summary: MediaResearchSummaryData;\n rows?: MediaResearchRow[];\n cuts?: MediaResearchRow[];\n problems?: string[];\n next_action?: string;\n}\n\nexport interface MemoryBufferSpawnedData {\n type?: \"memory_buffer_spawned\";\n conversation_id: string;\n kind?: \"observer\" | \"reflector\";\n}\n\nexport interface MemoryContextInjectedData {\n type?: \"memory_context_injected\";\n conversation_id: string;\n observation_chars?: number;\n}\n\nexport interface MemoryErrorData {\n type?: \"memory_error\";\n conversation_id: string;\n phase?: string;\n error?: string;\n model?: string | null;\n}\n\nexport interface MemoryObserverCompletedData {\n type?: \"memory_observer_completed\";\n conversation_id: string;\n model?: string | null;\n input_tokens?: number;\n output_tokens?: number;\n cost?: number;\n duration_ms?: number | null;\n}\n\nexport interface MemoryReflectorCompletedData {\n type?: \"memory_reflector_completed\";\n conversation_id: string;\n model?: string | null;\n input_tokens?: number;\n output_tokens?: number;\n cost?: number;\n duration_ms?: number | null;\n}\n\nexport interface PartialImageData {\n type?: \"partial_image\";\n b64_json: string;\n partial_index: number;\n progress?: number;\n mime_type?: string;\n}\n\nexport interface PdfPageClassificationItem {\n page_number: number;\n page_class: string;\n confidence: number;\n indicators?: string[];\n}\n\nexport interface PdfClassifyCompleteData {\n type?: \"pdf_classify_complete\";\n page_count: number;\n pages?: PdfPageClassificationItem[];\n classifier_version?: string;\n}\n\nexport interface PdfCleanStartedData {\n type?: \"pdf_clean_started\";\n mode?: \"per_page\" | \"aggregate\";\n doc_id: string;\n total_pages?: number;\n}\n\nexport interface PdfExtractCompleteData {\n type?: \"pdf_extract_complete\";\n filename?: string | null;\n page_count: number;\n ocr_pages: number;\n total_chars: number;\n text_content: string;\n file_id?: string | null;\n}\n\nexport interface PdfExtractStartedData {\n type?: \"pdf_extract_started\";\n filename?: string | null;\n total_pages: number;\n}\n\nexport interface PdfPageClassifiedData {\n type?: \"pdf_page_classified\";\n page_number: number;\n total_pages: number;\n page_class: string;\n confidence: number;\n indicators?: string[];\n}\n\nexport interface PdfPageExtractedData {\n type?: \"pdf_page_extracted\";\n page_number: number;\n total_pages: number;\n extraction_method: string;\n char_count: number;\n preview?: string;\n}\n\nexport interface PdfPipelineResultData {\n type?: \"pdf_pipeline_result\";\n raw_text?: string | null;\n page_count?: number;\n chunks?: string[] | null;\n ai_processed?: Record<string, unknown>[] | null;\n cloud_uri?: string | null;\n file_id?: string | null;\n}\n\nexport interface PdfReadingOrderBlockItem {\n block_index: number;\n column_index: number;\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n text: string;\n}\n\nexport interface PdfReadingOrderPageItem {\n page_number: number;\n column_count: number;\n blocks_in_order?: PdfReadingOrderBlockItem[];\n}\n\nexport interface PdfReadingOrderCompleteData {\n type?: \"pdf_reading_order_complete\";\n page_count: number;\n pages?: PdfReadingOrderPageItem[];\n}\n\nexport interface PdfReadingOrderPageData {\n type?: \"pdf_reading_order_page\";\n page_number: number;\n total_pages: number;\n column_count: number;\n block_count: number;\n preview?: string;\n}\n\nexport interface PdfRepeatedRegionBboxItem {\n page_number: number;\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n raw_text?: string;\n}\n\nexport interface PdfRepeatedRegionItem {\n region_id: string;\n kind: string;\n text_template: string;\n pages?: number[];\n bbox_per_page?: PdfRepeatedRegionBboxItem[];\n confidence: number;\n}\n\nexport interface PdfRepeatedRegionsCompleteData {\n type?: \"pdf_repeated_regions_complete\";\n page_count: number;\n regions?: PdfRepeatedRegionItem[];\n detector_version?: string;\n}\n\nexport interface PdfRepeatedRegionsProgressData {\n type?: \"pdf_repeated_regions_progress\";\n stage: \"detect\" | \"extract_text\" | \"strip\";\n page_number: number;\n total_pages: number;\n}\n\nexport interface PdfRepeatedRegionsStripCompleteData {\n type?: \"pdf_repeated_regions_strip_complete\";\n page_count: number;\n pages_text?: string[];\n regions?: PdfRepeatedRegionItem[];\n detector_version?: string;\n stripped_region_ids?: string[];\n}\n\nexport interface PdfTableExtractedData {\n type?: \"pdf_table_extracted\";\n page_number: number;\n total_pages: number;\n table_index: number;\n row_count: number;\n column_count: number;\n markdown_preview?: string;\n}\n\nexport interface PdfExtractedTableItem {\n page_number: number;\n table_index: number;\n bbox: PdfTableBboxItem;\n row_count: number;\n column_count: number;\n header?: (string | null)[];\n rows?: (string | null)[][];\n markdown?: string;\n}\n\nexport interface PdfTableBboxItem {\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n}\n\nexport interface PdfTablesCompleteData {\n type?: \"pdf_tables_complete\";\n page_count: number;\n table_count: number;\n tables?: PdfExtractedTableItem[];\n detector?: string;\n detector_version?: string;\n}\n\nexport interface PdfTablesPageData {\n type?: \"pdf_tables_page\";\n page_number: number;\n total_pages: number;\n tables_found: number;\n}\n\nexport interface PdfTablesStartedData {\n type?: \"pdf_tables_started\";\n filename?: string | null;\n total_pages: number;\n}\n\nexport interface PlanBriefDraftData {\n type?: \"plan_brief_draft\";\n node_id: string;\n route?: string;\n brief?: string[];\n angle?: string;\n must_not_cover?: string[];\n concerns?: string[];\n suggested_word_count?: number | null;\n accepted?: boolean;\n}\n\nexport interface PlanCmsFillPreviewData {\n type?: \"plan_cms_fill_preview\";\n node_id: string;\n page_id: string;\n route?: string;\n title?: string;\n html?: string;\n css?: string;\n meta_title?: string;\n meta_description?: string;\n model?: string;\n wrote?: boolean;\n is_published?: boolean;\n write_target?: \"live\" | \"draft\";\n global_css?: string;\n header_html?: string;\n footer_html?: string;\n}\n\nexport interface PlanDeepenResultData {\n type?: \"plan_deepen_result\";\n node_id: string;\n route?: string;\n brief_lines?: number;\n sources_attached?: number;\n}\n\nexport interface PlanGenAppliedData {\n type?: \"plan_gen_applied\";\n site_id: string;\n created: number;\n existing: number;\n failed: number;\n errors?: string[];\n dry_run?: boolean;\n}\n\nexport interface PlanGenCandidateData {\n type?: \"plan_gen_candidate\";\n angle: string;\n node_count: number;\n rationale?: string;\n}\n\nexport interface PlanGenMergedData {\n type?: \"plan_gen_merged\";\n node_count: number;\n summary?: string;\n candidates_used?: number;\n}\n\nexport interface PlanGenStartedData {\n type?: \"plan_gen_started\";\n site_id: string;\n domain: string;\n angles?: string[];\n keyword_count?: number;\n}\n\nexport interface PlanPageStepResultData {\n type?: \"plan_page_step_result\";\n node_id: string;\n step: string;\n route?: string;\n artifact_id?: string;\n run_id?: string;\n summary?: string;\n}\n\nexport interface PlanSetupAgentResultData {\n type?: \"plan_setup_agent_result\";\n site_id: string;\n kind: string;\n run_id: string;\n item_count?: number;\n summary?: string;\n model_id?: string | null;\n}\n\nexport interface PodcastAssetEvent {\n type?: \"podcast_asset\";\n asset_kind: \"image\" | \"video\";\n index: number;\n url?: string;\n prompt?: string;\n success?: boolean;\n error?: string | null;\n note?: string | null;\n}\n\nexport interface PodcastAssetGenStartedEvent {\n type?: \"podcast_asset_gen_started\";\n run_id: string;\n asset_kind: \"image\" | \"video\";\n slot: number;\n prompt?: string;\n model_alias?: string | null;\n is_manual?: boolean;\n}\n\nexport interface PodcastAssetResultEvent {\n type?: \"podcast_asset_result\";\n run_id: string;\n asset_id?: string | null;\n asset_kind: \"image\" | \"video\";\n slot: number;\n status: string;\n url?: string | null;\n file_id?: string | null;\n prompt?: string | null;\n model_alias?: string | null;\n is_manual?: boolean;\n error?: string | null;\n}\n\nexport interface PodcastCompleteEvent {\n type?: \"podcast_complete\";\n show_id: string;\n success: boolean;\n episode_id?: string | null;\n episode_slug?: string | null;\n script?: string;\n audio_url?: string;\n title?: string;\n description?: string;\n image_urls?: string[];\n video_urls?: string[];\n audio_file_id?: string;\n image_file_ids?: string[];\n video_file_ids?: string[];\n official_video_file_id?: string;\n official_video_url?: string;\n official_video_error?: string;\n run_mode?: string;\n host_count?: number;\n speakers?: Record<string, unknown>[];\n error?: string | null;\n}\n\nexport interface PodcastMetadataEvent {\n type?: \"podcast_metadata\";\n title?: string;\n description?: string;\n image_descriptions?: string[];\n video_descriptions?: string[];\n}\n\nexport interface PodcastOfficialVideoEvent {\n type?: \"podcast_official_video\";\n url?: string;\n success?: boolean;\n error?: string | null;\n}\n\nexport interface PodcastRunEvent {\n type?: \"podcast_run\";\n run_id?: string;\n total?: number;\n}\n\nexport interface PodcastStageEvent {\n type?: \"podcast_stage\";\n stage: string;\n label?: string;\n success: boolean;\n output?: string;\n error?: string | null;\n step?: number;\n total?: number;\n}\n\nexport interface PodcastStageStartedEvent {\n type?: \"podcast_stage_started\";\n stage: string;\n label?: string;\n step?: number;\n total?: number;\n}\n\nexport interface PodcastTickEvent {\n type?: \"podcast_tick\";\n stage: string;\n label?: string;\n elapsed_seconds?: number;\n step?: number;\n total?: number;\n}\n\nexport interface ProofEvaluatedData {\n type?: \"proof_evaluated\";\n run_id: string;\n proof_id: string;\n title: string;\n status: \"passed\" | \"failed\" | \"skipped\";\n required?: boolean;\n detail?: string;\n observed?: Record<string, JsonValue>;\n}\n\nexport interface ProofRunCompletedData {\n type?: \"proof_run_completed\";\n run_id: string;\n slug: string;\n mode: \"live\" | \"replay\";\n verdict: \"pass\" | \"fail\" | \"inconclusive\";\n strength: \"live_receipts\" | \"replay_only\";\n summary?: string;\n passed?: number;\n failed?: number;\n skipped?: number;\n cost_usd?: number;\n total_tokens?: number;\n provider_calls?: number;\n duration_ms?: number;\n}\n\nexport interface ProofRunSkippedData {\n type?: \"proof_run_skipped\";\n slug: string;\n reason: string;\n month_to_date_usd?: number;\n}\n\nexport interface ProofRunStartedData {\n type?: \"proof_run_started\";\n run_id: string;\n slug: string;\n label?: string;\n mode: \"live\" | \"replay\";\n gate_reason?: string;\n conversation_id?: string | null;\n}\n\nexport interface ProofRunStepData {\n type?: \"proof_run_step\";\n run_id: string;\n message: string;\n step?: number;\n}\n\nexport interface RagVerifyClaimsData {\n type?: \"rag_verify_claims\";\n claims?: string[];\n count: number;\n judge_model: string;\n}\n\nexport interface RagVerifyClaimItem {\n claim: string;\n verdict: string;\n confidence: number;\n supporting_chunk_ids?: string[];\n reasoning?: string;\n}\n\nexport interface RagVerifyResultData {\n type?: \"rag_verify_result\";\n claims?: RagVerifyClaimItem[];\n overall_faithfulness: number;\n judge_model: string;\n latency_ms: number;\n}\n\nexport interface RagVerifyVerdictData {\n type?: \"rag_verify_verdict\";\n index: number;\n claim: string;\n verdict: string;\n confidence: number;\n supporting_chunk_ids?: string[];\n reasoning?: string;\n}\n\nexport interface ScrapeBatchCompleteData {\n type?: \"scrape_batch_complete\";\n total_scraped: number;\n}\n\nexport interface SearchErrorData {\n type?: \"search_error\";\n metadata?: Record<string, unknown>;\n error: string;\n}\n\nexport interface SearchResultItem {\n [key: string]: unknown;\n url?: string;\n title?: string;\n snippet?: string;\n published?: string | null;\n source?: string | null;\n}\n\nexport interface SearchResultsData {\n type?: \"search_results\";\n metadata?: Record<string, unknown>;\n results?: SearchResultItem[];\n}\n\nexport interface StructuredInputFailure {\n url?: string;\n ref?: string;\n reason?: string;\n}\n\nexport interface StructuredInputWarningData {\n type?: \"structured_input_warning\";\n block_type: string;\n failures?: StructuredInputFailure[];\n}\n\nexport interface VideoOutputData {\n type?: \"video_output\";\n url: string;\n mime_type: string;\n file_id?: string | null;\n cdn_url?: string | null;\n download_url?: string | null;\n}\n\nexport interface WorkflowNodeTestResultData {\n type?: \"workflow_node_test_result\";\n success: boolean;\n duration_ms: number;\n node_id: string;\n spec_type: string;\n output?: Record<string, unknown> | null;\n error_type?: string | null;\n error_message?: string | null;\n}\n\nexport interface WorkflowStepData {\n type?: \"workflow_step\";\n step_name: string;\n status: string;\n data?: Record<string, unknown>;\n}\n\nexport interface YouTubeTranscriptSourceData {\n type?: \"youtube_transcript_source\";\n processed_document_id: string;\n transcript_id: string;\n video_id: string;\n title: string;\n segment_count: number;\n reused_existing: boolean;\n}\n\nexport type TypedDataPayload =\n | AssignmentProgressData\n | AudioOutputData\n | AudioStreamChunkData\n | AudioStreamEndData\n | CategorizationResultData\n | ClaudeManagedSdkMessageData\n | ClaudeManagedWarningData\n | CmsLogoFoundData\n | ContextChangedData\n | ContextConflictData\n | ContextDeltaData\n | ContextPersistFailedData\n | ContextPersistedData\n | ContextReceiptData\n | ConversationIdData\n | ConversationLabeledData\n | CutoverCopyAgainProgressData\n | CutoverCopyAgainReportData\n | CutoverFinalSwitchCopyAgainResultData\n | CutoverFinalSwitchResultData\n | CutoverFinalSwitchStageData\n | DecisionAnswersData\n | DictionaryPublishCompleteData\n | ExtractionIndexCompleteData\n | ExtractionIndexProgressData\n | FetchResultsData\n | FileAnalysisCompleteData\n | FileAnalysisStartedData\n | FileDetectorCompletedData\n | FileSearchCompleteData\n | FileSearchPageData\n | FileSearchStartedData\n | FunctionResultData\n | ImageDocumentDetectedData\n | ImageEditCompleteData\n | ImageGenerateCompleteData\n | ImageOpStageData\n | ImageOutputData\n | ImageStudioCommitCompleteData\n | ImageStudioCommitItemData\n | ImageStudioProcessCompleteData\n | ImageStudioVariantData\n | LegalSyncEventData\n | LibrarySyncClassifiedData\n | LibrarySyncCompletedData\n | LibrarySyncFailedData\n | LibrarySyncListedData\n | LibrarySyncPageData\n | LibrarySyncPersistedData\n | LibrarySyncStartedData\n | LibrarySyncUnavailableData\n | MasterworkAuditionOutcomeVerdictData\n | MasterworkAuditionProgressData\n | MasterworkAuditionVerdictData\n | MasterworkBenchArmData\n | MasterworkBenchProgressData\n | MasterworkBenchVerdictData\n | MasterworkBuildCompleteData\n | MasterworkBuildProgressData\n | MasterworkCheckupCompleteData\n | MasterworkCheckupFindingData\n | MasterworkCheckupProgressData\n | MasterworkCorpusCleanedData\n | MasterworkCorpusProgressData\n | MasterworkDumpCompleteData\n | MasterworkDumpProgressData\n | MasterworkIngestCompleteData\n | MasterworkIngestProgressData\n | MasterworkPairwiseVerdictData\n | MasterworkProbeRoundData\n | MasterworkRunCancelledData\n | MasterworkRunData\n | MasterworkRunFailedData\n | MasterworkRunSnapshotData\n | MasterworkSealedCaseDisclosureData\n | MasterworkShortlistData\n | MasterworkSortCasesReadyData\n | MasterworkTeachBackRoundData\n | MasterworkTriadsReadyData\n | MasterworkTriageCompleteData\n | MasterworkTriageProgressData\n | MediaBlockData\n | MediaNoticeData\n | MediaResearchProgressData\n | MediaResearchResultData\n | MediaSelectionJobProgressData\n | MemoryBufferSpawnedData\n | MemoryContextInjectedData\n | MemoryErrorData\n | MemoryObserverCompletedData\n | MemoryReflectorCompletedData\n | PartialImageData\n | PdfClassifyCompleteData\n | PdfCleanStartedData\n | PdfExtractCompleteData\n | PdfExtractStartedData\n | PdfPageClassifiedData\n | PdfPageExtractedData\n | PdfPipelineResultData\n | PdfReadingOrderCompleteData\n | PdfReadingOrderPageData\n | PdfRepeatedRegionsCompleteData\n | PdfRepeatedRegionsProgressData\n | PdfRepeatedRegionsStripCompleteData\n | PdfTableExtractedData\n | PdfTablesCompleteData\n | PdfTablesPageData\n | PdfTablesStartedData\n | PlanBriefDraftData\n | PlanCmsFillPreviewData\n | PlanDeepenResultData\n | PlanGenAppliedData\n | PlanGenCandidateData\n | PlanGenMergedData\n | PlanGenStartedData\n | PlanPageStepResultData\n | PlanSetupAgentResultData\n | PodcastAssetEvent\n | PodcastAssetGenStartedEvent\n | PodcastAssetResultEvent\n | PodcastCompleteEvent\n | PodcastMetadataEvent\n | PodcastOfficialVideoEvent\n | PodcastRunEvent\n | PodcastStageEvent\n | PodcastStageStartedEvent\n | PodcastTickEvent\n | ProofEvaluatedData\n | ProofRunCompletedData\n | ProofRunSkippedData\n | ProofRunStartedData\n | ProofRunStepData\n | QuestionnaireDisplayData\n | RagVerifyClaimsData\n | RagVerifyResultData\n | RagVerifyVerdictData\n | ScrapeBatchCompleteData\n | SearchErrorData\n | SearchResultsData\n | StructuredInputWarningData\n | VideoOutputData\n | WorkflowNodeTestResultData\n | WorkflowStepData\n | YouTubeTranscriptSourceData;\n\n/** Fallback for data events whose `type` isn't in TypedDataPayload. */\nexport interface UntypedDataPayload {\n [key: string]: unknown;\n type: string;\n}\n\n// --- Conversation Value Store Events (kind-discriminated data events) ---\n\nexport interface ValueDescriptor {\n key: string;\n description: string;\n kind: string;\n chars: number;\n truncated?: boolean;\n preview?: string;\n json_keys?: string[] | null;\n fence: string;\n}\n\nexport interface ValueStoredEvent {\n kind?: \"value_store.stored\";\n conversation_id: string;\n descriptor: ValueDescriptor;\n source_agent_id?: string | null;\n source_call_id?: string | null;\n}\n\nexport interface ContextGroomedEvent {\n kind?: \"value_store.groomed\";\n conversation_id: string;\n stubbed_keys?: string[];\n retained_keys?: string[];\n source: string;\n}\n\nexport type ValueStoreDataEvent = ValueStoredEvent | ContextGroomedEvent;\n\n/** Narrows a `data` event payload to ValueStoredEvent (a sub-agent result landed in the store). */\nexport function isValueStoredEvent(value: unknown): value is ValueStoredEvent {\n return typeof value === \"object\" && value !== null\n && (value as { kind?: unknown }).kind === \"value_store.stored\";\n}\n\n/** Narrows a `data` event payload to ContextGroomedEvent (model-view groom stamps applied). */\nexport function isContextGroomedEvent(value: unknown): value is ContextGroomedEvent {\n return typeof value === \"object\" && value !== null\n && (value as { kind?: unknown }).kind === \"value_store.groomed\";\n}\n\n// --- SEO Streamed Result Models (kind-discriminated data events) ---\n\nexport interface KeywordClassifyResult {\n result_kind?: \"keywords.classify\";\n eligible?: number;\n batches?: number;\n updated?: number;\n skipped_error?: number;\n missing_keyword_ids?: string[];\n facet_dimensions?: string[];\n facet_dimensions_skipped?: string[];\n facet_rows_written?: number;\n rejected_unknown_value?: string[];\n}\n\nexport interface KeywordResearchArtifact {\n __kind?: \"keyword_relationship_research\";\n primary_keyword: string;\n keyword_lists: KeywordResearchList[];\n}\n\nexport interface KeywordResearchIngestSummary {\n primary_keyword_ids?: string[];\n keywords_created?: number;\n keywords_already_existed?: number;\n edges_written?: number;\n edges_skipped_rejected?: number;\n edges_skipped_self?: number;\n site_keyword_values_created?: number;\n}\n\nexport interface KeywordResearchList {\n __kind?: \"keyword_list\";\n label: string;\n keywords: string[];\n}\n\nexport interface KeywordVolumeBatchFailure {\n batch_index: number;\n keyword_count: number;\n error: string;\n}\n\nexport interface KeywordVolumeBatchReceipt {\n run_id: string;\n keyword_count: number;\n created_observations?: number;\n existing_observations?: number;\n from_cache?: boolean;\n}\n\nexport interface KeywordVolumeRefreshResult {\n result_kind?: \"keywords.volume_refresh\";\n requested_phrases?: number;\n skipped_fresh?: number;\n fetched_phrases?: number;\n rejected_phrases?: KeywordVolumeRejectedPhrase[];\n batches?: KeywordVolumeBatchReceipt[];\n failed_batches?: KeywordVolumeBatchFailure[];\n}\n\nexport interface KeywordVolumeRejectedPhrase {\n phrase: string;\n reason: string;\n}\n\nexport interface KeywordResearchResult {\n result_kind?: \"keywords.relationship_research\";\n primary_keyword: string;\n site_id: string;\n research_doc_id: string;\n artifact: KeywordResearchArtifact;\n ingest: KeywordResearchIngestSummary;\n volume?: KeywordVolumeRefreshResult | null;\n classification?: KeywordClassifyResult | null;\n}\n\n// --- Completion Result Models ---\n\nexport interface LlmRequestResult {\n tokens_in?: number;\n tokens_out?: number;\n duration_ms?: number;\n finish_reason?: string;\n model?: string;\n}\n\nexport interface ToolExecutionResult {\n success?: boolean;\n duration_ms?: number;\n error?: string | null;\n}\n\nexport interface AggregatedUsageResult {\n by_model?: Record<string, ModelUsageSummary>;\n total?: UsageTotals;\n}\n\nexport interface ModelUsageSummary {\n input_tokens?: number;\n output_tokens?: number;\n cached_input_tokens?: number;\n total_tokens?: number;\n api?: string;\n request_count?: number;\n cost?: number | null;\n}\n\nexport interface TimingStatsResult {\n total_duration?: number | null;\n sum_duration?: number | null;\n api_duration?: number | null;\n tool_duration?: number | null;\n processing_duration?: number | null;\n iterations?: number | null;\n avg_iteration_duration?: number | null;\n first_token_seconds?: number | null;\n}\n\nexport interface ToolCallByTool {\n count?: number;\n success?: number;\n error?: number;\n}\n\nexport interface ToolCallStatsResult {\n total_tool_calls?: number;\n iterations_with_tools?: number;\n by_tool?: Record<string, ToolCallByTool>;\n}\n\nexport interface UsageTotals {\n input_tokens?: number;\n output_tokens?: number;\n cached_input_tokens?: number;\n total_tokens?: number;\n total_requests?: number;\n unique_models?: number;\n total_cost?: number | null;\n known_cost_subtotal?: number;\n provider_reported_requests?: number;\n catalog_priced_requests?: number;\n unknown_cost_requests?: number;\n}\n\nexport interface UserRequestResult {\n status?: string;\n output?: unknown;\n iterations?: number | null;\n total_usage?: AggregatedUsageResult | null;\n timing_stats?: TimingStatsResult | null;\n tool_call_stats?: ToolCallStatsResult | null;\n finish_reason?: string | null;\n metadata?: Record<string, unknown> | null;\n}\n\nexport interface SubAgentResult {\n agent_name?: string;\n success?: boolean;\n error?: string | null;\n}\n\nexport interface PersistenceResult {\n records_written?: number;\n duration_ms?: number;\n}\n\n// --- Typed Completion Event Interfaces (discriminated on `operation`) ---\n\n// Each interface narrows CompletionPayload.result to its concrete type.\n// Use TypedCompletionEvent instead of CompletionPayload when you need typed result.\n\nexport interface LlmRequestResult {\n tokens_in?: number;\n tokens_out?: number;\n duration_ms?: number;\n finish_reason?: string;\n model?: string;\n}\n\nexport interface LlmRequestCompletionEvent {\n operation: \"llm_request\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: LlmRequestResult;\n}\n\nexport interface ToolExecutionResult {\n success?: boolean;\n duration_ms?: number;\n error?: string | null;\n}\n\nexport interface ToolExecutionCompletionEvent {\n operation: \"tool_execution\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: ToolExecutionResult;\n}\n\nexport interface UserRequestResult {\n status?: string;\n output?: unknown;\n iterations?: number | null;\n total_usage?: AggregatedUsageResult | null;\n timing_stats?: TimingStatsResult | null;\n tool_call_stats?: ToolCallStatsResult | null;\n finish_reason?: string | null;\n metadata?: Record<string, unknown> | null;\n}\n\nexport interface UserRequestCompletionEvent {\n operation: \"user_request\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: UserRequestResult;\n}\n\nexport interface SubAgentResult {\n agent_name?: string;\n success?: boolean;\n error?: string | null;\n}\n\nexport interface SubAgentCompletionEvent {\n operation: \"sub_agent\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: SubAgentResult;\n}\n\nexport interface PersistenceResult {\n records_written?: number;\n duration_ms?: number;\n}\n\nexport interface PersistenceCompletionEvent {\n operation: \"persistence\";\n operation_id: string;\n status: \"success\" | \"failed\" | \"cancelled\";\n result: PersistenceResult;\n}\n\nexport type TypedCompletionEvent =\n | LlmRequestCompletionEvent\n | ToolExecutionCompletionEvent\n | UserRequestCompletionEvent\n | SubAgentCompletionEvent\n | PersistenceCompletionEvent;\n\nconst TYPED_COMPLETION_EVENT_OPERATIONS = new Set<Operation>([\n \"llm_request\", \"tool_execution\", \"user_request\", \"sub_agent\", \"persistence\",\n]);\n\nexport function isTypedCompletionEvent(e: CompletionPayload): e is CompletionPayload & TypedCompletionEvent {\n return TYPED_COMPLETION_EVENT_OPERATIONS.has(e.operation as Operation) && e.result !== undefined;\n}\n\n// --- Tool Event Data Models ---\n\nexport interface ToolStartedData {\n arguments?: Record<string, unknown>;\n display_name?: string | null;\n}\n\nexport interface ToolProgressData {\n percent?: number | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolStepData {\n step: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolResultPreviewData {\n preview: string;\n}\n\nexport interface ToolCompletedData {\n result?: JsonValue;\n}\n\nexport interface ToolErrorData {\n error_type: string;\n detail?: string | null;\n}\n\nexport interface ToolDelegatedData {\n arguments?: Record<string, unknown>;\n}\n\nexport type TypedToolEventData =\n | ToolStartedData\n | ToolProgressData\n | ToolStepData\n | ToolResultPreviewData\n | ToolCompletedData\n | ToolErrorData\n | ToolDelegatedData;\n\n// --- Typed Tool Event Interfaces (discriminated on `event`) ---\n\n// Each interface narrows ToolEventPayload.data to its concrete type.\n// Use TypedToolEvent instead of the base ToolEventPayload when you need typed data.\n\nexport interface ToolStartedData {\n arguments?: Record<string, unknown>;\n display_name?: string | null;\n}\n\nexport interface ToolStartedToolEvent {\n event: \"tool_started\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolStartedData;\n}\n\nexport interface ToolProgressData {\n percent?: number | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolProgressToolEvent {\n event: \"tool_progress\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolProgressData;\n}\n\nexport interface ToolStepData {\n step: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolStepToolEvent {\n event: \"tool_step\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolStepData;\n}\n\nexport interface ToolResultPreviewData {\n preview: string;\n}\n\nexport interface ToolResultPreviewToolEvent {\n event: \"tool_result_preview\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolResultPreviewData;\n}\n\nexport interface ToolCompletedData {\n result?: JsonValue;\n}\n\nexport interface ToolCompletedToolEvent {\n event: \"tool_completed\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolCompletedData;\n}\n\nexport interface ToolErrorData {\n error_type: string;\n detail?: string | null;\n}\n\nexport interface ToolErrorToolEvent {\n event: \"tool_error\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolErrorData;\n}\n\nexport interface ToolDelegatedData {\n arguments?: Record<string, unknown>;\n}\n\nexport interface ToolDelegatedToolEvent {\n event: \"tool_delegated\";\n call_id: string;\n tool_name: string;\n timestamp?: number;\n message?: string | null;\n show_spinner?: boolean;\n data: ToolDelegatedData;\n}\n\nexport type TypedToolEvent =\n | ToolStartedToolEvent\n | ToolProgressToolEvent\n | ToolStepToolEvent\n | ToolResultPreviewToolEvent\n | ToolCompletedToolEvent\n | ToolErrorToolEvent\n | ToolDelegatedToolEvent;\n\nconst TYPED_TOOL_EVENT_TYPES = new Set<ToolEventType>([\n \"tool_started\", \"tool_progress\", \"tool_step\", \"tool_result_preview\", \"tool_completed\", \"tool_error\", \"tool_delegated\",\n]);\n\nexport function isTypedToolEvent(e: ToolEventPayload): e is ToolEventPayload & TypedToolEvent {\n return TYPED_TOOL_EVENT_TYPES.has(e.event as ToolEventType) && e.data !== undefined;\n}\n\n// --- Render Block Data Models (RenderBlockPayload.data per type) ---\n\nexport interface FlashcardItem {\n front: string;\n back?: string | null;\n}\n\nexport interface TranscriptSegment {\n id: string;\n timecode: string;\n seconds: number;\n text: string;\n speaker?: string | null;\n}\n\nexport interface TaskItem {\n id: string;\n title: string;\n type: \"section\" | \"task\" | \"subtask\";\n bold?: boolean;\n checked?: boolean;\n children?: TaskItem[];\n}\n\nexport interface TaskItem {\n}\n\nexport interface QuizQuestion {\n id: number;\n question: string;\n options: string[];\n correctAnswer: number;\n explanation: string;\n}\n\nexport interface Slide {\n type?: string;\n title?: string | null;\n subtitle?: string | null;\n description?: string | null;\n bullets?: string[];\n notes?: string | null;\n imageUrl?: string | null;\n quote?: string | null;\n author?: string | null;\n layout?: string | null;\n extra?: Record<string, unknown>;\n}\n\nexport interface SlideTheme {\n primaryColor?: string;\n secondaryColor?: string;\n accentColor?: string;\n backgroundColor?: string;\n textColor?: string;\n variant?: string;\n font?: string | null;\n}\n\nexport interface Ingredient {\n amount?: string;\n item: string;\n}\n\nexport interface RecipeStep {\n action: string;\n description: string;\n time?: string | null;\n}\n\nexport interface TimelineEvent {\n id: string;\n title: string;\n date?: string;\n description?: string;\n status?: \"completed\" | \"in-progress\" | \"pending\" | null;\n category?: string | null;\n}\n\nexport interface TimelineEvent {\n id: string;\n title: string;\n date?: string;\n description?: string;\n status?: \"completed\" | \"in-progress\" | \"pending\" | null;\n category?: string | null;\n}\n\nexport interface TimelinePeriod {\n period: string;\n events?: TimelineEvent[];\n}\n\nexport interface Position {\n x: number;\n y: number;\n}\n\nexport interface Position {\n x: number;\n y: number;\n}\n\nexport interface DiagramNode {\n id: string;\n label: string;\n type?: string | null;\n nodeType?: string;\n description?: string | null;\n details?: string | null;\n position?: Position | null;\n}\n\nexport interface DiagramEdge {\n id: string;\n source: string;\n target: string;\n label?: string | null;\n type?: string;\n color?: string | null;\n dashed?: boolean;\n strokeWidth?: number;\n}\n\nexport interface DiagramLayout {\n direction?: \"TB\" | \"LR\" | \"BT\" | \"RL\";\n spacing?: number;\n}\n\nexport interface ResourceItem {\n id: string;\n title: string;\n url?: string;\n description?: string;\n type?: string;\n duration?: string | null;\n difficulty?: \"beginner\" | \"intermediate\" | \"advanced\" | null;\n rating?: number | null;\n tags?: string[];\n}\n\nexport interface ResourceItem {\n id: string;\n title: string;\n url?: string;\n description?: string;\n type?: string;\n duration?: string | null;\n difficulty?: \"beginner\" | \"intermediate\" | \"advanced\" | null;\n rating?: number | null;\n tags?: string[];\n}\n\nexport interface ResourceCategory {\n name: string;\n items?: ResourceItem[];\n}\n\nexport interface ProgressItem {\n id: string;\n text: string;\n completed?: boolean;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n estimatedHours?: number | null;\n optional?: boolean;\n category?: string | null;\n}\n\nexport interface ProgressItem {\n id: string;\n text: string;\n completed?: boolean;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n estimatedHours?: number | null;\n optional?: boolean;\n category?: string | null;\n}\n\nexport interface ProgressCategory {\n id: string;\n name: string;\n description?: string | null;\n color?: string | null;\n completionPercentage?: number;\n items?: ProgressItem[];\n}\n\nexport interface ComparisonCriterion {\n name: string;\n values: unknown[];\n type?: \"cost\" | \"rating\" | \"text\" | \"boolean\";\n weight?: number | null;\n higherIsBetter?: boolean | null;\n}\n\nexport interface TroubleshootingLink {\n title: string;\n url: string;\n}\n\nexport interface TroubleshootingStep {\n id: string;\n title: string;\n description: string;\n commands?: string[];\n difficulty?: \"easy\" | \"medium\" | \"hard\" | null;\n estimatedTime?: string | null;\n links?: TroubleshootingLink[];\n}\n\nexport interface TroubleshootingStep {\n id: string;\n title: string;\n description: string;\n commands?: string[];\n difficulty?: \"easy\" | \"medium\" | \"hard\" | null;\n estimatedTime?: string | null;\n links?: TroubleshootingLink[];\n}\n\nexport interface TroubleshootingSolution {\n id: string;\n title: string;\n description?: string | null;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n successRate?: number | null;\n tags?: string[];\n steps?: TroubleshootingStep[];\n}\n\nexport interface TroubleshootingSolution {\n id: string;\n title: string;\n description?: string | null;\n priority?: \"low\" | \"medium\" | \"high\" | null;\n successRate?: number | null;\n tags?: string[];\n steps?: TroubleshootingStep[];\n}\n\nexport interface TroubleshootingIssue {\n id: string;\n symptom: string;\n description?: string | null;\n severity?: \"low\" | \"medium\" | \"high\" | \"critical\" | null;\n causes?: string[];\n relatedIssues?: string[];\n solutions?: TroubleshootingSolution[];\n}\n\nexport interface DecisionNode {\n id: string;\n question?: string | null;\n action?: string | null;\n type?: string;\n yes?: DecisionNode | null;\n no?: DecisionNode | null;\n priority?: string | null;\n category?: string | null;\n estimatedTime?: string | null;\n}\n\nexport interface DecisionNode {\n}\n\nexport interface QuestionnaireSection {\n title?: string;\n content?: string;\n items?: Record<string, unknown>[];\n tables?: Record<string, unknown>[];\n codeBlocks?: Record<string, unknown>[];\n jsonBlocks?: Record<string, unknown>[];\n}\n\nexport interface TextBlockData {\n}\n\nexport interface CodeBlockData {\n language?: string;\n code?: string;\n is_diff?: boolean;\n}\n\nexport interface DiffBlockData {\n language?: string;\n style?: string;\n code?: string;\n}\n\nexport interface ThinkingBlockData {\n}\n\nexport interface ReasoningBlockData {\n}\n\nexport interface ConsolidatedReasoningBlockData {\n reasoning_texts: string[];\n}\n\nexport interface ImageBlockData {\n src: string;\n alt?: string;\n}\n\nexport interface VideoBlockData {\n src: string;\n alt?: string;\n}\n\nexport interface FlashcardItem {\n front: string;\n back?: string | null;\n}\n\nexport interface FlashcardsBlockData {\n cards: FlashcardItem[];\n isComplete?: boolean;\n title?: string | null;\n}\n\nexport interface TranscriptSegment {\n id: string;\n timecode: string;\n seconds: number;\n text: string;\n speaker?: string | null;\n}\n\nexport interface TranscriptBlockData {\n segments: TranscriptSegment[];\n}\n\nexport interface TasksBlockData {\n items: TaskItem[];\n}\n\nexport interface QuizQuestion {\n id: number;\n question: string;\n options: string[];\n correctAnswer: number;\n explanation: string;\n}\n\nexport interface QuizBlockData {\n quizTitle: string;\n category?: string | null;\n multipleChoice: QuizQuestion[];\n}\n\nexport interface Slide {\n type?: string;\n title?: string | null;\n subtitle?: string | null;\n description?: string | null;\n bullets?: string[];\n notes?: string | null;\n imageUrl?: string | null;\n quote?: string | null;\n author?: string | null;\n layout?: string | null;\n extra?: Record<string, unknown>;\n}\n\nexport interface SlideTheme {\n primaryColor?: string;\n secondaryColor?: string;\n accentColor?: string;\n backgroundColor?: string;\n textColor?: string;\n variant?: string;\n font?: string | null;\n}\n\nexport interface PresentationBlockData {\n title?: string | null;\n slides?: Slide[];\n theme?: SlideTheme;\n}\n\nexport interface Ingredient {\n amount?: string;\n item: string;\n}\n\nexport interface RecipeStep {\n action: string;\n description: string;\n time?: string | null;\n}\n\nexport interface RecipeBlockData {\n title?: string;\n yields?: string;\n totalTime?: string;\n prepTime?: string;\n cookTime?: string;\n ingredients?: Ingredient[];\n instructions?: RecipeStep[];\n notes?: string | null;\n}\n\nexport interface TimelinePeriod {\n period: string;\n events?: TimelineEvent[];\n}\n\nexport interface TimelineBlockData {\n title?: string;\n description?: string | null;\n periods?: TimelinePeriod[];\n}\n\nexport interface DiagramEdge {\n id: string;\n source: string;\n target: string;\n label?: string | null;\n type?: string;\n color?: string | null;\n dashed?: boolean;\n strokeWidth?: number;\n}\n\nexport interface DiagramLayout {\n direction?: \"TB\" | \"LR\" | \"BT\" | \"RL\";\n spacing?: number;\n}\n\nexport interface DiagramNode {\n id: string;\n label: string;\n type?: string | null;\n nodeType?: string;\n description?: string | null;\n details?: string | null;\n position?: Position | null;\n}\n\nexport interface DiagramBlockData {\n title: string;\n description?: string | null;\n type?: \"flowchart\" | \"mindmap\" | \"orgchart\" | \"network\" | \"system\" | \"process\";\n requested_type?: string | null;\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n layout?: DiagramLayout;\n}\n\nexport interface MermaidBlockData {\n title?: string | null;\n diagramType?: string;\n source: string;\n isValid?: boolean | null;\n diagnostics?: string[];\n}\n\nexport interface TableBlockData {\n headers: string[];\n rows: string[][];\n isComplete?: boolean;\n rawMarkdown?: string;\n}\n\nexport interface ResearchFinding {\n id: string;\n title: string;\n primarySource?: string;\n additionalSources?: string[];\n urls?: string[];\n keyDetails?: string;\n significance?: string;\n futureImplications?: string;\n confidenceLevel?: \"HIGH\" | \"MEDIUM\" | \"LOW\";\n}\n\nexport interface ResearchSection {\n id: string;\n title: string;\n subtitle?: string | null;\n findings?: ResearchFinding[];\n}\n\nexport interface ConvergentTheme {\n theme: string;\n description: string;\n}\n\nexport interface ResearchChallenge {\n id: string;\n title: string;\n description: string;\n currentSolutions?: string | null;\n researchGaps?: string | null;\n category?: \"technical\" | \"ethical\" | \"regulatory\" | \"other\";\n}\n\nexport interface ResearchMetadata {\n researchDate?: string | null;\n lastUpdated?: string | null;\n confidenceRating?: string | null;\n biasAssessment?: string | null;\n}\n\nexport interface ResearchRecommendation {\n id: string;\n recommendation: string;\n target?: \"researchers\" | \"industry\" | \"policymakers\" | \"general\";\n}\n\nexport interface ResearchSection {\n id: string;\n title: string;\n subtitle?: string | null;\n findings?: ResearchFinding[];\n}\n\nexport interface ResearchBlockData {\n title: string;\n overview?: string;\n introduction?: string;\n conclusion?: string;\n executiveSummary?: string | null;\n researchScope?: string | null;\n keyFocusAreas?: string | null;\n analysisPeriod?: string | null;\n researchQuestions?: string[];\n sections?: ResearchSection[];\n convergentThemes?: ConvergentTheme[];\n shortTermOutlook?: string[];\n mediumTermOutlook?: string[];\n longTermVision?: string[];\n challenges?: ResearchChallenge[];\n recommendations?: ResearchRecommendation[];\n keyTakeaways?: string[];\n limitations?: string[];\n metadata?: ResearchMetadata;\n}\n\nexport interface ResourceCategory {\n name: string;\n items?: ResourceItem[];\n}\n\nexport interface ResourcesBlockData {\n title: string;\n description?: string | null;\n categories?: ResourceCategory[];\n}\n\nexport interface ProgressCategory {\n id: string;\n name: string;\n description?: string | null;\n color?: string | null;\n completionPercentage?: number;\n items?: ProgressItem[];\n}\n\nexport interface ProgressTrackerBlockData {\n title: string;\n description?: string | null;\n overallProgress?: number;\n totalItems?: number;\n completedItems?: number;\n categories?: ProgressCategory[];\n}\n\nexport interface ComparisonCriterion {\n name: string;\n values: unknown[];\n type?: \"cost\" | \"rating\" | \"text\" | \"boolean\";\n weight?: number | null;\n higherIsBetter?: boolean | null;\n}\n\nexport interface ComparisonBlockData {\n title: string;\n description?: string | null;\n items: string[];\n criteria?: ComparisonCriterion[];\n}\n\nexport interface TroubleshootingIssue {\n id: string;\n symptom: string;\n description?: string | null;\n severity?: \"low\" | \"medium\" | \"high\" | \"critical\" | null;\n causes?: string[];\n relatedIssues?: string[];\n solutions?: TroubleshootingSolution[];\n}\n\nexport interface TroubleshootingBlockData {\n title: string;\n description?: string | null;\n issues?: TroubleshootingIssue[];\n}\n\nexport interface DecisionTreeBlockData {\n title: string;\n description?: string | null;\n root: DecisionNode;\n}\n\nexport interface MathProblemInner {\n title?: string;\n courseName?: string;\n topicName?: string;\n moduleName?: string;\n description?: string | null;\n introText?: string | null;\n finalStatement?: string | null;\n problemStatement?: MathProblemStatement;\n solutions?: MathSolution[];\n}\n\nexport interface MathProblemStatement {\n text?: string;\n equation?: string;\n instruction?: string;\n}\n\nexport interface MathSolution {\n task?: string;\n transitionText?: string | null;\n solutionAnswer?: string;\n steps?: MathSolutionStep[];\n}\n\nexport interface MathSolutionStep {\n title?: string;\n equation?: string;\n explanation?: string | null;\n simplified?: string | null;\n}\n\nexport interface MathProblemBlockData {\n math_problem: MathProblemInner;\n}\n\nexport interface QuestionnaireSection {\n title?: string;\n content?: string;\n items?: Record<string, unknown>[];\n tables?: Record<string, unknown>[];\n codeBlocks?: Record<string, unknown>[];\n jsonBlocks?: Record<string, unknown>[];\n}\n\nexport interface QuestionnaireBlockData {\n sections?: QuestionnaireSection[];\n rawContent?: string;\n}\n\n// --- Typed Render Block Interfaces (discriminated on `type`) ---\n\n// Each interface narrows RenderBlockPayload.data to its concrete type.\n// Use TypedRenderBlock instead of RenderBlockPayload when you need typed data.\n\nexport interface TextRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"text\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CodeRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"code\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: CodeBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TableRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"table\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TableBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ThinkingRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"thinking\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ThinkingBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ReasoningRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"reasoning\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ReasoningBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ConsolidatedReasoningRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"consolidated_reasoning\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ConsolidatedReasoningBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ImageRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"image\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ImageBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface VideoRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"video\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: VideoBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TasksRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"tasks\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TasksBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TranscriptRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"transcript\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TranscriptBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface StructuredInfoRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"structured_info\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface QuestionnaireRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"questionnaire\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: QuestionnaireBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface FlashcardsRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"flashcards\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: FlashcardsBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface QuizRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"quiz\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: QuizBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PresentationRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"presentation\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: PresentationBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CookingRecipeRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"cooking_recipe\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: RecipeBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TimelineRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"timeline\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TimelineBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ProgressTrackerRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"progress_tracker\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ProgressTrackerBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ComparisonTableRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"comparison_table\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ComparisonBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TroubleshootingRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"troubleshooting\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TroubleshootingBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ResourcesRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"resources\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ResourcesBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DecisionTreeRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"decision_tree\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: DecisionTreeBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DecisionRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"decision\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ResearchRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"research\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: ResearchBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DiagramRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"diagram\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: DiagramBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface MermaidRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"mermaid\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: MermaidBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface MathProblemRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"math_problem\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: MathProblemBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ArtifactRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"artifact\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: Record<string, unknown> | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface InfoRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"info\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface TaskRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"task\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface DatabaseRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"database\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PrivateRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"private\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PlanRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"plan\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface EventRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"event\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface ToolRenderBlock {\n blockId: string;\n blockIndex: number;\n type: \"tool\";\n status: \"streaming\" | \"complete\" | \"error\";\n content?: string | null;\n data?: TextBlockData | null;\n metadata?: Record<string, unknown>;\n}\n\nexport type TypedRenderBlock =\n | TextRenderBlock\n | CodeRenderBlock\n | TableRenderBlock\n | ThinkingRenderBlock\n | ReasoningRenderBlock\n | ConsolidatedReasoningRenderBlock\n | ImageRenderBlock\n | VideoRenderBlock\n | TasksRenderBlock\n | TranscriptRenderBlock\n | StructuredInfoRenderBlock\n | QuestionnaireRenderBlock\n | FlashcardsRenderBlock\n | QuizRenderBlock\n | PresentationRenderBlock\n | CookingRecipeRenderBlock\n | TimelineRenderBlock\n | ProgressTrackerRenderBlock\n | ComparisonTableRenderBlock\n | TroubleshootingRenderBlock\n | ResourcesRenderBlock\n | DecisionTreeRenderBlock\n | DecisionRenderBlock\n | ResearchRenderBlock\n | DiagramRenderBlock\n | MermaidRenderBlock\n | MathProblemRenderBlock\n | ArtifactRenderBlock\n | InfoRenderBlock\n | TaskRenderBlock\n | DatabaseRenderBlock\n | PrivateRenderBlock\n | PlanRenderBlock\n | EventRenderBlock\n | ToolRenderBlock;\n\nconst TYPED_RENDER_BLOCK_TYPES = new Set<string>([\n \"text\", \"code\", \"table\", \"thinking\", \"reasoning\", \"consolidated_reasoning\", \"image\", \"video\", \"tasks\", \"transcript\", \"structured_info\", \"questionnaire\", \"flashcards\", \"quiz\", \"presentation\", \"cooking_recipe\", \"timeline\", \"progress_tracker\", \"comparison_table\", \"troubleshooting\", \"resources\", \"decision_tree\", \"decision\", \"research\", \"diagram\", \"mermaid\", \"math_problem\", \"artifact\", \"info\", \"task\", \"database\", \"private\", \"plan\", \"event\", \"tool\",\n]);\n\nexport function isTypedRenderBlock(e: RenderBlockPayload): e is RenderBlockPayload & TypedRenderBlock {\n return TYPED_RENDER_BLOCK_TYPES.has(e.type);\n}\n\n// --- Server Data-Event Render Blocks (FE-synthesized wrappers) ---\n\n// NOT render_block wire events — the frontend synthesizes these block wrappers\n// when it converts a `data` stream event (or FE parse state) into a renderable\n// block. Generated from matrx_connect.context.data_render_blocks; classified per\n// the content-vocab crosswalk. Protocol/lifecycle events live in their own union\n// (ServerProtocolRenderBlock) and are never mixed into Shape blocks.\n\nexport interface SearchReplaceRenderData {\n search: string;\n replace: string;\n searchComplete: boolean;\n replaceComplete: boolean;\n isComplete: boolean;\n language?: string | null;\n}\n\nexport interface DirectiveReceiptRenderData {\n directive: string;\n outcome: \"proposed\" | \"applied\" | \"already_applied\" | \"failed\" | \"blocked\";\n message: string;\n resource_kind?: string;\n resource_ids?: string[];\n}\n\nexport interface UnknownDataEventData {\n [key: string]: unknown;\n _dataType: string;\n}\n\n/** Audio output from the AI (TTS or file). */\nexport interface AudioOutputRenderBlock {\n type: \"audio_output\";\n content: string;\n data: AudioOutputData;\n metadata?: Record<string, unknown>;\n}\n\n/** Image output from the AI. Display priority: cdn_url → file handler (via file_id) → url (durable). */\nexport interface ImageOutputRenderBlock {\n type: \"image_output\";\n content: string;\n data: ImageOutputData;\n metadata?: Record<string, unknown>;\n}\n\n/** Video output from the AI. */\nexport interface VideoOutputRenderBlock {\n type: \"video_output\";\n content: string;\n data: VideoOutputData;\n metadata?: Record<string, unknown>;\n}\n\n/** Web search results block — registered kind `search_results` (inactive; data-event arrival unchanged). */\nexport interface SearchResultsRenderBlock {\n type: \"search_results\";\n content: string;\n data: SearchResultsData;\n metadata?: Record<string, unknown>;\n}\n\n/** URL fetch results block — registered kind `fetch_results` (inactive; data-event arrival unchanged). */\nexport interface FetchResultsRenderBlock {\n type: \"fetch_results\";\n content: string;\n data: FetchResultsData;\n metadata?: Record<string, unknown>;\n}\n\n/** Prompt categorization result — registered kind `categorization_result` (inactive; data-event arrival unchanged). */\nexport interface CategorizationResultRenderBlock {\n type: \"categorization_result\";\n content: string;\n data: CategorizationResultData;\n metadata?: Record<string, unknown>;\n}\n\n/** A decision turn's answers — registered kind `decision_answers`. The LIVE arrival of the same part the assistant message persists, so a runner or a battle column shows the decision as it lands instead of only after a reload. `content` is null: the frontend commits the payload as a real `decision_answers` message part (the same part the server persists), never as reconstructed markdown. */\nexport interface DecisionAnswersRenderBlock {\n type: \"decision_answers\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: DecisionAnswersData;\n metadata?: Record<string, unknown>;\n}\n\n/** Questionnaire to display — alias of the registered `questionnaire` kind. */\nexport interface DisplayQuestionnaireRenderBlock {\n type: \"display_questionnaire\";\n content: string;\n data: QuestionnaireDisplayData;\n metadata?: Record<string, unknown>;\n}\n\n/** Generic tool-result envelope — payload typing is owned by tool_io contracts. */\nexport interface FunctionResultRenderBlock {\n type: \"function_result\";\n content: string;\n data: FunctionResultData;\n metadata?: Record<string, unknown>;\n}\n\n/** Workflow progress event. */\nexport interface WorkflowStepRenderBlock {\n type: \"workflow_step\";\n content: string;\n data: WorkflowStepData;\n metadata?: Record<string, unknown>;\n}\n\n/** Web search failure event. */\nexport interface SearchErrorRenderBlock {\n type: \"search_error\";\n content: string;\n data: SearchErrorData;\n metadata?: Record<string, unknown>;\n}\n\n/** Warning about malformed structured input blocks. */\nexport interface StructuredInputWarningRenderBlock {\n type: \"structured_input_warning\";\n content: string;\n data: StructuredInputWarningData;\n metadata?: Record<string, unknown>;\n}\n\n/** Podcast pipeline lifecycle event (stage finished). */\nexport interface PodcastStageRenderBlock {\n type: \"podcast_stage\";\n content: string;\n data: PodcastStageEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Podcast pipeline lifecycle event (generation complete). */\nexport interface PodcastCompleteRenderBlock {\n type: \"podcast_complete\";\n content: string;\n data: PodcastCompleteEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Scrape pipeline lifecycle event. */\nexport interface ScrapeBatchCompleteRenderBlock {\n type: \"scrape_batch_complete\";\n content: string;\n data: ScrapeBatchCompleteData;\n metadata?: Record<string, unknown>;\n}\n\n/** Conversation Value Store 'result ready' card — FE-synthesized from the kind-discriminated value_store.stored data event. Never persisted to cx_message.content. */\nexport interface ValueStoreStoredRenderBlock {\n type: \"value_store_stored\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: ValueStoredEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Context-groom receipt line — FE-synthesized from the value_store.groomed data event. Subtle indicator only; never persisted. */\nexport interface ContextGroomedRenderBlock {\n type: \"context_groomed\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: ContextGroomedEvent;\n metadata?: Record<string, unknown>;\n}\n\n/** Search-and-replace block for code editing (FE parse state). */\nexport interface SearchReplaceRenderBlock {\n type: \"search_replace\";\n content: string;\n data?: SearchReplaceRenderData;\n metadata?: Record<string, unknown>;\n}\n\n/** Kind Directive apply receipt — FE-synthesized from the kind-discriminated directive_apply.* events. Carries the SERVER's own sentence for the outcome (created / already applied / proposed / failed / blocked); never composed client-side. Never persisted to cx_message.content. */\nexport interface DirectiveReceiptRenderBlock {\n type: \"directive_receipt\";\n /** Always null — a non-null content would leak into committed message parts. The payload lives on `data`. */\n content: null;\n data: DirectiveReceiptRenderData;\n metadata?: Record<string, unknown>;\n}\n\n/** Fallback for data events whose type is not recognized; _dataType preserves the original type string. */\nexport interface UnknownDataEventRenderBlock {\n type: \"unknown_data_event\";\n content: string;\n data: UnknownDataEventData;\n metadata?: Record<string, unknown>;\n}\n\n/** Protocol/lifecycle/ack events — control plumbing, never Shapes. */\nexport type ServerProtocolRenderBlock =\n | FunctionResultRenderBlock\n | WorkflowStepRenderBlock\n | SearchErrorRenderBlock\n | StructuredInputWarningRenderBlock\n | PodcastStageRenderBlock\n | PodcastCompleteRenderBlock\n | ScrapeBatchCompleteRenderBlock\n | ValueStoreStoredRenderBlock\n | ContextGroomedRenderBlock\n | SearchReplaceRenderBlock\n | DirectiveReceiptRenderBlock;\n\nexport const SERVER_PROTOCOL_RENDER_BLOCK_TYPES = new Set<string>([\n \"function_result\", \"workflow_step\", \"search_error\", \"structured_input_warning\", \"podcast_stage\", \"podcast_complete\", \"scrape_batch_complete\", \"value_store_stored\", \"context_groomed\", \"search_replace\", \"directive_receipt\",\n]);\n\n/** Generated-media delivery blocks — generic media primitives. */\nexport type ServerScalarGenericRenderBlock =\n | AudioOutputRenderBlock\n | ImageOutputRenderBlock\n | VideoOutputRenderBlock;\n\nexport const SERVER_SCALAR_GENERIC_RENDER_BLOCK_TYPES = new Set<string>([\n \"audio_output\", \"image_output\", \"video_output\",\n]);\n\n/** Typed server result displays — registered-kind aliases or shape candidates. */\nexport type ServerShapeRenderBlock =\n | SearchResultsRenderBlock\n | FetchResultsRenderBlock\n | CategorizationResultRenderBlock\n | DecisionAnswersRenderBlock\n | DisplayQuestionnaireRenderBlock;\n\nexport const SERVER_SHAPE_RENDER_BLOCK_TYPES = new Set<string>([\n \"search_results\", \"fetch_results\", \"categorization_result\", \"decision_answers\", \"display_questionnaire\",\n]);\n\n/** Deliberately untyped catch-alls. */\nexport type ServerOpaqueRenderBlock =\n | UnknownDataEventRenderBlock;\n\nexport const SERVER_INTENTIONALLY_OPAQUE_RENDER_BLOCK_TYPES = new Set<string>([\n \"unknown_data_event\",\n]);\n\n/** Every FE-synthesized data-event render block — the generated successor of\n * the hand-maintained ServerOnlyRenderBlock union in missing-types.ts. */\nexport type ServerOnlyRenderBlock =\n | ServerProtocolRenderBlock\n | ServerScalarGenericRenderBlock\n | ServerShapeRenderBlock\n | ServerOpaqueRenderBlock;\n\nexport type ServerOnlyBlockType = ServerOnlyRenderBlock[\"type\"];\n\n// --- Message Part Models (cx_message.content[] items) ---\n\nexport interface NormalizedCitation {\n kind: \"document_char\" | \"document_page\" | \"document_block\" | \"search_result\" | \"web\" | \"grounding\";\n provider: \"anthropic\" | \"openai\" | \"google\" | \"xai\";\n cited_text?: string | null;\n title?: string | null;\n url?: string | null;\n source_index?: number;\n file_id?: string | null;\n page?: number | null;\n end_page?: number | null;\n source_start?: number | null;\n source_end?: number | null;\n answer_start?: number | null;\n answer_end?: number | null;\n raw?: Record<string, unknown>;\n}\n\nexport interface TextPart {\n metadata?: Record<string, unknown>;\n type: \"text\";\n text?: string;\n id?: string;\n citations?: NormalizedCitation[];\n}\n\nexport interface ThinkingPart {\n metadata?: Record<string, unknown>;\n type: \"thinking\";\n text?: string;\n id?: string;\n provider?: \"openai\" | \"anthropic\" | \"google\" | \"cerebras\" | \"moonshot\" | \"together\" | \"groq\" | \"xai\" | \"generic_openai\" | null;\n signature?: string | null;\n signature_encoding?: \"base64\" | null;\n summary?: unknown[];\n}\n\nexport interface ToolCallPart {\n metadata?: Record<string, unknown>;\n type: \"tool_call\";\n call_id?: string;\n name?: string;\n arguments?: Record<string, unknown>;\n}\n\nexport interface ToolResultPart {\n metadata?: Record<string, unknown>;\n type: \"tool_result\";\n call_id?: string;\n tool_use_id?: string;\n name?: string;\n is_error?: boolean;\n output_chars?: number;\n output_preview?: Record<string, unknown> | null;\n}\n\nexport type ImageMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"image\";\n width?: number | null;\n height?: number | null;\n role?: \"subject\" | \"character\" | \"style\" | \"mask\" | \"edit_target\" | \"composition_control\" | \"first_frame\" | \"last_frame\" | \"asset\" | null;\n name?: string | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport type AudioMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"audio\";\n duration_ms?: number | null;\n transcription_result?: string | null;\n role?: \"lip_sync\" | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport type VideoMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"video\";\n width?: number | null;\n height?: number | null;\n duration_ms?: number | null;\n role?: \"extend\" | \"restyle\" | null;\n name?: string | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport type DocumentMediaPart = {\n metadata?: Record<string, unknown>;\n origin?: \"matrx\" | \"external\" | null;\n file_id?: string | null;\n url?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n visibility?: string | null;\n cdn_url?: string | null;\n type: \"media\";\n kind: \"document\";\n width?: number | null;\n height?: number | null;\n page_count?: number | null;\n} & ({\n url: string;\n} | {\n file_id: string;\n});\n\nexport interface YouTubeMediaPart {\n metadata?: Record<string, unknown>;\n type: \"media\";\n kind: \"youtube\";\n url: string;\n external_url?: string | null;\n origin?: \"external\";\n file_id?: string | null;\n mime_type?: string | null;\n size_bytes?: number | null;\n}\n\nexport interface CodeExecPart {\n metadata?: Record<string, unknown>;\n type: \"code_exec\";\n language?: string;\n code?: string;\n}\n\nexport interface CodeResultPart {\n metadata?: Record<string, unknown>;\n type: \"code_result\";\n output?: string;\n outcome?: string;\n}\n\nexport interface WebSearchPart {\n metadata?: Record<string, unknown>;\n type: \"web_search\";\n id?: string;\n status?: string;\n}\n\nexport interface HostedToolPart {\n metadata?: Record<string, unknown>;\n type: \"hosted_tool\";\n provider?: string;\n block?: Record<string, unknown>;\n}\n\nexport interface PreFetchedUrl {\n [key: string]: unknown;\n url: string;\n textContent: string;\n title?: string | null;\n scrapedAt?: string | null;\n charCount?: number | null;\n}\n\nexport interface WebpageInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_webpage\";\n urls: (string | PreFetchedUrl)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface LiveResourceRefInput {\n [key: string]: unknown;\n id: string;\n mode?: \"reference\";\n}\n\nexport type ResourceRefInput = LiveResourceRefInput | SnapshotContentResourceRefInput | SnapshotTextResourceRefInput | SnapshotBodyResourceRefInput | SnapshotDescriptionResourceRefInput | SnapshotValueResourceRefInput;\n\nexport interface SnapshotBodyResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n body: string;\n}\n\nexport interface SnapshotContentResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n content: string;\n}\n\nexport interface SnapshotDescriptionResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n description: string;\n}\n\nexport interface SnapshotTextResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n text: string;\n}\n\nexport interface SnapshotValueResourceRefInput {\n [key: string]: unknown;\n mode: \"snapshot\";\n value: string;\n}\n\nexport interface NotesInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_notes\";\n note_ids: (string | ResourceRefInput)[];\n template?: string;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface TaskInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_task\";\n task_ids: (string | ResourceRefInput)[];\n template?: string;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface AgentInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_agent\";\n agent_ids: string[];\n}\n\nexport interface ProjectInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_project\";\n project_ids: string[];\n}\n\nexport interface AgentAppInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_agent_app\";\n agent_app_ids: string[];\n}\n\nexport interface TranscriptInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_transcript\";\n transcript_ids: string[];\n}\n\nexport interface TranscriptSessionInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_transcript_session\";\n transcript_session_ids: string[];\n}\n\nexport interface WorkbookInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_workbook\";\n workbook_ids: (string | LiveResourceRefInput)[];\n}\n\nexport interface DocumentInputPart {\n metadata?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n template?: \"full\" | \"compact\" | \"minimal\" | null;\n type: \"input_document\";\n document_ids: (string | LiveResourceRefInput)[];\n}\n\nexport interface FullTableBookmark {\n [key: string]: unknown;\n type: \"full_table\";\n table_id: string;\n table_name?: string | null;\n}\n\nexport interface TableCellBookmark {\n [key: string]: unknown;\n type: \"table_cell\";\n table_id: string;\n row_id: string;\n column_name: string;\n table_name?: string | null;\n}\n\nexport interface TableColumnBookmark {\n [key: string]: unknown;\n type: \"table_column\";\n table_id: string;\n column_name: string;\n table_name?: string | null;\n}\n\nexport interface TableRowBookmark {\n [key: string]: unknown;\n type: \"table_row\";\n table_id: string;\n row_id: string;\n table_name?: string | null;\n}\n\nexport interface TableSchemaBookmark {\n [key: string]: unknown;\n type: \"table_schema\";\n table_id: string;\n table_name?: string | null;\n}\n\nexport interface TableInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_table\";\n bookmarks: (FullTableBookmark | TableColumnBookmark | TableRowBookmark | TableCellBookmark | TableSchemaBookmark)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface FullListBookmark {\n [key: string]: unknown;\n type: \"full_list\";\n list_id: string;\n list_name?: string | null;\n}\n\nexport interface ListGroupBookmark {\n [key: string]: unknown;\n type: \"list_group\";\n list_id: string;\n group_name: string;\n list_name?: string | null;\n}\n\nexport interface ListItemBookmark {\n [key: string]: unknown;\n type: \"list_item\";\n list_id: string;\n item_id: string;\n list_name?: string | null;\n}\n\nexport interface ListInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_list\";\n bookmarks: (FullListBookmark | ListGroupBookmark | ListItemBookmark)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface DataRefSort {\n field: string;\n direction?: \"asc\" | \"desc\";\n}\n\nexport interface DbFieldRef {\n table: \"notes\" | \"tasks\" | \"projects\" | \"organizations\";\n label?: string;\n optional_context?: boolean;\n ref_type: \"db_field\";\n id: string;\n field_name: string;\n}\n\nexport interface DbQueryRef {\n table: \"notes\" | \"tasks\" | \"projects\" | \"organizations\";\n label?: string;\n optional_context?: boolean;\n ref_type: \"db_query\";\n filter?: Record<string, unknown>;\n fields?: string[] | null;\n sort?: DataRefSort | null;\n limit?: number;\n}\n\nexport interface DbRecordRef {\n table: \"notes\" | \"tasks\" | \"projects\" | \"organizations\";\n label?: string;\n optional_context?: boolean;\n ref_type: \"db_record\";\n id: string;\n fields?: string[] | null;\n}\n\nexport interface DataInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_data\";\n refs: (DbRecordRef | DbQueryRef | DbFieldRef)[];\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface ContextInputPart {\n metadata?: Record<string, unknown>;\n type: \"input_context\";\n context_id?: string;\n context_name?: string;\n context_data?: Record<string, unknown>;\n convert_to_text?: boolean;\n optional_context?: boolean;\n keep_fresh?: boolean;\n editable?: boolean | null;\n}\n\nexport interface DecisionQuestion {\n __kind?: string;\n name: string;\n type: \"noul\" | \"choice\" | \"score\";\n instructions: string;\n criteria?: Record<string, string> | string[] | null;\n suggested_threshold?: number | null;\n}\n\nexport interface DecisionQuestionsPart {\n metadata?: Record<string, unknown>;\n type: \"decision_questions\";\n __kind: \"decision_questions\";\n questions: DecisionQuestion[];\n}\n\nexport interface DecisionAnswer {\n __kind?: \"decision_answer\";\n type: \"noul\" | \"choice\" | \"score\";\n answer: boolean | number | string;\n probability?: number | null;\n probabilities?: Record<string, number> | null;\n confidence: number;\n legend?: Record<string, string> | null;\n}\n\nexport interface DecisionUsage {\n __kind?: string;\n input_tokens: number;\n output_tokens: number;\n}\n\nexport interface DecisionAnswersPart {\n metadata?: Record<string, unknown>;\n type: \"decision_answers\";\n __kind: \"decision_answers\";\n model: string;\n method: \"native\" | \"verbalized\" | \"verbalized_calibrated\";\n answers?: Record<string, DecisionAnswer>;\n unanswerable?: Record<string, string>;\n usage: DecisionUsage;\n cost_usd: number;\n}\n\nexport interface SpeechTurn {\n __kind?: string;\n speaker: string;\n voice?: string | null;\n text: string;\n direction?: string | null;\n pause_after_ms?: number | null;\n}\n\nexport interface SpeechScriptPart {\n metadata?: Record<string, unknown>;\n type: \"speech_script\";\n __kind: \"speech_script\";\n turns: SpeechTurn[];\n}\n\nexport type MessagePart =\n | TextPart\n | ThinkingPart\n | ToolCallPart\n | ToolResultPart\n | ImageMediaPart\n | AudioMediaPart\n | VideoMediaPart\n | DocumentMediaPart\n | YouTubeMediaPart\n | CodeExecPart\n | CodeResultPart\n | WebSearchPart\n | HostedToolPart\n | WebpageInputPart\n | NotesInputPart\n | TaskInputPart\n | AgentInputPart\n | ProjectInputPart\n | AgentAppInputPart\n | TranscriptInputPart\n | TranscriptSessionInputPart\n | WorkbookInputPart\n | DocumentInputPart\n | TableInputPart\n | ListInputPart\n | DataInputPart\n | ContextInputPart\n | DecisionQuestionsPart\n | DecisionAnswersPart\n | SpeechScriptPart;\n\ninterface MessagePartJsonSchema {\n [key: string]: unknown;\n $ref?: string;\n anyOf?: MessagePartJsonSchema[];\n oneOf?: MessagePartJsonSchema[];\n allOf?: MessagePartJsonSchema[];\n type?: \"object\" | \"array\" | \"string\" | \"number\" | \"integer\" | \"boolean\" | \"null\";\n const?: unknown;\n enum?: unknown[];\n required?: string[];\n properties?: Record<string, MessagePartJsonSchema>;\n items?: MessagePartJsonSchema;\n minItems?: number;\n minLength?: number;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n additionalProperties?: boolean | MessagePartJsonSchema;\n $defs?: Record<string, MessagePartJsonSchema>;\n}\n\nconst MESSAGE_PART_SCHEMA: MessagePartJsonSchema = {\n \"$defs\": {\n \"AgentAppInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_agent_app\",\n \"default\": \"input_agent_app\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"agent_app_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Agent App Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"agent_app_ids\",\n \"type\"\n ],\n \"title\": \"AgentAppInputPart\",\n \"type\": \"object\"\n },\n \"AgentInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_agent\",\n \"default\": \"input_agent\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"agent_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Agent Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"agent_ids\",\n \"type\"\n ],\n \"title\": \"AgentInputPart\",\n \"type\": \"object\"\n },\n \"AudioMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"audio\",\n \"default\": \"audio\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"duration_ms\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Duration Ms\"\n },\n \"transcription_result\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Transcription Result\"\n },\n \"role\": {\n \"anyOf\": [\n {\n \"const\": \"lip_sync\",\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Role\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"AudioMediaPart\",\n \"type\": \"object\"\n },\n \"CodeExecPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"code_exec\",\n \"default\": \"code_exec\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"language\": {\n \"default\": \"python\",\n \"title\": \"Language\",\n \"type\": \"string\"\n },\n \"code\": {\n \"default\": \"\",\n \"title\": \"Code\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"CodeExecPart\",\n \"type\": \"object\"\n },\n \"CodeResultPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"code_result\",\n \"default\": \"code_result\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"output\": {\n \"default\": \"\",\n \"title\": \"Output\",\n \"type\": \"string\"\n },\n \"outcome\": {\n \"default\": \"success\",\n \"title\": \"Outcome\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"CodeResultPart\",\n \"type\": \"object\"\n },\n \"ContextInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_context\",\n \"default\": \"input_context\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"context_id\": {\n \"default\": \"\",\n \"title\": \"Context Id\",\n \"type\": \"string\"\n },\n \"context_name\": {\n \"default\": \"\",\n \"title\": \"Context Name\",\n \"type\": \"string\"\n },\n \"context_data\": {\n \"additionalProperties\": true,\n \"title\": \"Context Data\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ContextInputPart\",\n \"type\": \"object\"\n },\n \"DataInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_data\",\n \"default\": \"input_data\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"refs\": {\n \"items\": {\n \"discriminator\": {\n \"mapping\": {\n \"db_field\": \"#/$defs/DbFieldRef\",\n \"db_query\": \"#/$defs/DbQueryRef\",\n \"db_record\": \"#/$defs/DbRecordRef\"\n },\n \"propertyName\": \"ref_type\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/DbRecordRef\"\n },\n {\n \"$ref\": \"#/$defs/DbQueryRef\"\n },\n {\n \"$ref\": \"#/$defs/DbFieldRef\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Refs\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"refs\",\n \"type\"\n ],\n \"title\": \"DataInputPart\",\n \"type\": \"object\"\n },\n \"DataRefSort\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"field\": {\n \"minLength\": 1,\n \"title\": \"Field\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"default\": \"asc\",\n \"enum\": [\n \"asc\",\n \"desc\"\n ],\n \"title\": \"Direction\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"field\"\n ],\n \"title\": \"DataRefSort\",\n \"type\": \"object\"\n },\n \"DbFieldRef\": {\n \"additionalProperties\": false,\n \"description\": \"Fetch a single field value from one row of a system table.\",\n \"properties\": {\n \"table\": {\n \"enum\": [\n \"notes\",\n \"tasks\",\n \"projects\",\n \"organizations\"\n ],\n \"title\": \"Table\",\n \"type\": \"string\"\n },\n \"label\": {\n \"default\": \"\",\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"ref_type\": {\n \"const\": \"db_field\",\n \"title\": \"Ref Type\",\n \"type\": \"string\"\n },\n \"id\": {\n \"minLength\": 1,\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"field_name\": {\n \"minLength\": 1,\n \"title\": \"Field Name\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"table\",\n \"ref_type\",\n \"id\",\n \"field_name\"\n ],\n \"title\": \"DbFieldRef\",\n \"type\": \"object\"\n },\n \"DbQueryRef\": {\n \"additionalProperties\": false,\n \"description\": \"Fetch multiple rows from a system table with optional filters.\",\n \"properties\": {\n \"table\": {\n \"enum\": [\n \"notes\",\n \"tasks\",\n \"projects\",\n \"organizations\"\n ],\n \"title\": \"Table\",\n \"type\": \"string\"\n },\n \"label\": {\n \"default\": \"\",\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"ref_type\": {\n \"const\": \"db_query\",\n \"title\": \"Ref Type\",\n \"type\": \"string\"\n },\n \"filter\": {\n \"additionalProperties\": true,\n \"title\": \"Filter\",\n \"type\": \"object\"\n },\n \"fields\": {\n \"anyOf\": [\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Fields\"\n },\n \"sort\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/DataRefSort\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"limit\": {\n \"default\": 50,\n \"maximum\": 1000,\n \"minimum\": 1,\n \"title\": \"Limit\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"table\",\n \"ref_type\"\n ],\n \"title\": \"DbQueryRef\",\n \"type\": \"object\"\n },\n \"DbRecordRef\": {\n \"additionalProperties\": false,\n \"description\": \"Fetch one full row from a system table by primary key.\",\n \"properties\": {\n \"table\": {\n \"enum\": [\n \"notes\",\n \"tasks\",\n \"projects\",\n \"organizations\"\n ],\n \"title\": \"Table\",\n \"type\": \"string\"\n },\n \"label\": {\n \"default\": \"\",\n \"title\": \"Label\",\n \"type\": \"string\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"ref_type\": {\n \"const\": \"db_record\",\n \"title\": \"Ref Type\",\n \"type\": \"string\"\n },\n \"id\": {\n \"minLength\": 1,\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"fields\": {\n \"anyOf\": [\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Fields\"\n }\n },\n \"required\": [\n \"table\",\n \"ref_type\",\n \"id\"\n ],\n \"title\": \"DbRecordRef\",\n \"type\": \"object\"\n },\n \"DecisionAnswer\": {\n \"additionalProperties\": false,\n \"description\": \"One answer, with the holder's own uncertainty attached.\",\n \"properties\": {\n \"__kind\": {\n \"const\": \"decision_answer\",\n \"default\": \"decision_answer\",\n \"description\": \"The registered kind this payload is an instance of.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"type\": {\n \"enum\": [\n \"noul\",\n \"choice\",\n \"score\"\n ],\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"answer\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"string\"\n }\n ],\n \"title\": \"Answer\"\n },\n \"probability\": {\n \"anyOf\": [\n {\n \"maximum\": 1.0,\n \"minimum\": 0.0,\n \"type\": \"number\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Probability\"\n },\n \"probabilities\": {\n \"anyOf\": [\n {\n \"additionalProperties\": {\n \"type\": \"number\"\n },\n \"type\": \"object\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Probabilities\"\n },\n \"confidence\": {\n \"maximum\": 1.0,\n \"minimum\": 0.0,\n \"title\": \"Confidence\",\n \"type\": \"number\"\n },\n \"legend\": {\n \"anyOf\": [\n {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"type\": \"object\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Legend\"\n }\n },\n \"required\": [\n \"type\",\n \"answer\",\n \"confidence\"\n ],\n \"title\": \"DecisionAnswer\",\n \"type\": \"object\"\n },\n \"DecisionAnswersPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"decision_answers\",\n \"default\": \"decision_answers\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"__kind\": {\n \"const\": \"decision_answers\",\n \"default\": \"decision_answers\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"model\": {\n \"minLength\": 1,\n \"title\": \"Model\",\n \"type\": \"string\"\n },\n \"method\": {\n \"enum\": [\n \"native\",\n \"verbalized\",\n \"verbalized_calibrated\"\n ],\n \"title\": \"Method\",\n \"type\": \"string\"\n },\n \"answers\": {\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/DecisionAnswer\"\n },\n \"title\": \"Answers\",\n \"type\": \"object\"\n },\n \"unanswerable\": {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"title\": \"Unanswerable\",\n \"type\": \"object\"\n },\n \"usage\": {\n \"$ref\": \"#/$defs/DecisionUsage\"\n },\n \"cost_usd\": {\n \"minimum\": 0.0,\n \"title\": \"Cost Usd\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"model\",\n \"method\",\n \"usage\",\n \"cost_usd\",\n \"type\"\n ],\n \"title\": \"DecisionAnswersPart\",\n \"type\": \"object\"\n },\n \"DecisionQuestion\": {\n \"additionalProperties\": false,\n \"description\": \"One question. Not a kind: it has no meaning outside its batch.\",\n \"properties\": {\n \"__kind\": {\n \"default\": \"\",\n \"description\": \"The registered kind this payload is an instance of, when it is one.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"name\": {\n \"maxLength\": 128,\n \"minLength\": 1,\n \"title\": \"Name\",\n \"type\": \"string\"\n },\n \"type\": {\n \"enum\": [\n \"noul\",\n \"choice\",\n \"score\"\n ],\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"instructions\": {\n \"minLength\": 1,\n \"title\": \"Instructions\",\n \"type\": \"string\"\n },\n \"criteria\": {\n \"anyOf\": [\n {\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"type\": \"object\"\n },\n {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Criteria\"\n },\n \"suggested_threshold\": {\n \"anyOf\": [\n {\n \"maximum\": 1.0,\n \"minimum\": 0.0,\n \"type\": \"number\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Suggested Threshold\"\n }\n },\n \"required\": [\n \"name\",\n \"type\",\n \"instructions\"\n ],\n \"title\": \"DecisionQuestion\",\n \"type\": \"object\"\n },\n \"DecisionQuestionsPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"decision_questions\",\n \"default\": \"decision_questions\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"__kind\": {\n \"const\": \"decision_questions\",\n \"default\": \"decision_questions\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"questions\": {\n \"items\": {\n \"$ref\": \"#/$defs/DecisionQuestion\"\n },\n \"minItems\": 1,\n \"title\": \"Questions\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"questions\",\n \"type\"\n ],\n \"title\": \"DecisionQuestionsPart\",\n \"type\": \"object\"\n },\n \"DecisionUsage\": {\n \"additionalProperties\": false,\n \"description\": \"What the decision call consumed. Zero is a real value, never a stand-in.\",\n \"properties\": {\n \"__kind\": {\n \"default\": \"\",\n \"description\": \"The registered kind this payload is an instance of, when it is one.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"input_tokens\": {\n \"minimum\": 0,\n \"title\": \"Input Tokens\",\n \"type\": \"integer\"\n },\n \"output_tokens\": {\n \"minimum\": 0,\n \"title\": \"Output Tokens\",\n \"type\": \"integer\"\n }\n },\n \"required\": [\n \"input_tokens\",\n \"output_tokens\"\n ],\n \"title\": \"DecisionUsage\",\n \"type\": \"object\"\n },\n \"DocumentInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_document\",\n \"default\": \"input_document\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"document_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/LiveResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Document Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"document_ids\",\n \"type\"\n ],\n \"title\": \"DocumentInputPart\",\n \"type\": \"object\"\n },\n \"DocumentMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"document\",\n \"default\": \"document\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"width\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Width\"\n },\n \"height\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Height\"\n },\n \"page_count\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Page Count\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"DocumentMediaPart\",\n \"type\": \"object\"\n },\n \"FullListBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"full_list\",\n \"default\": \"full_list\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"list_id\": {\n \"minLength\": 1,\n \"title\": \"List Id\",\n \"type\": \"string\"\n },\n \"list_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"List Name\"\n }\n },\n \"required\": [\n \"list_id\"\n ],\n \"title\": \"FullListBookmark\",\n \"type\": \"object\"\n },\n \"FullTableBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"full_table\",\n \"default\": \"full_table\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\"\n ],\n \"title\": \"FullTableBookmark\",\n \"type\": \"object\"\n },\n \"HostedToolPart\": {\n \"additionalProperties\": false,\n \"description\": \"A provider-hosted tool block (Anthropic ``server_tool_use`` /\\n``web_search_tool_result``) stored verbatim so a resumed tool loop can\\nreplay the assistant turn block-for-block. Provider state, never a call.\",\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"hosted_tool\",\n \"default\": \"hosted_tool\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"provider\": {\n \"default\": \"\",\n \"title\": \"Provider\",\n \"type\": \"string\"\n },\n \"block\": {\n \"additionalProperties\": true,\n \"title\": \"Block\",\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"HostedToolPart\",\n \"type\": \"object\"\n },\n \"ImageMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"image\",\n \"default\": \"image\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"width\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Width\"\n },\n \"height\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Height\"\n },\n \"role\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"subject\",\n \"character\",\n \"style\",\n \"mask\",\n \"edit_target\",\n \"composition_control\",\n \"first_frame\",\n \"last_frame\",\n \"asset\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Role\"\n },\n \"name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Name\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"ImageMediaPart\",\n \"type\": \"object\"\n },\n \"ListGroupBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"list_group\",\n \"default\": \"list_group\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"list_id\": {\n \"minLength\": 1,\n \"title\": \"List Id\",\n \"type\": \"string\"\n },\n \"group_name\": {\n \"minLength\": 1,\n \"title\": \"Group Name\",\n \"type\": \"string\"\n },\n \"list_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"List Name\"\n }\n },\n \"required\": [\n \"list_id\",\n \"group_name\"\n ],\n \"title\": \"ListGroupBookmark\",\n \"type\": \"object\"\n },\n \"ListInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_list\",\n \"default\": \"input_list\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"bookmarks\": {\n \"items\": {\n \"discriminator\": {\n \"mapping\": {\n \"full_list\": \"#/$defs/FullListBookmark\",\n \"list_group\": \"#/$defs/ListGroupBookmark\",\n \"list_item\": \"#/$defs/ListItemBookmark\"\n },\n \"propertyName\": \"type\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/FullListBookmark\"\n },\n {\n \"$ref\": \"#/$defs/ListGroupBookmark\"\n },\n {\n \"$ref\": \"#/$defs/ListItemBookmark\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Bookmarks\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"bookmarks\",\n \"type\"\n ],\n \"title\": \"ListInputPart\",\n \"type\": \"object\"\n },\n \"ListItemBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"list_item\",\n \"default\": \"list_item\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"list_id\": {\n \"minLength\": 1,\n \"title\": \"List Id\",\n \"type\": \"string\"\n },\n \"item_id\": {\n \"minLength\": 1,\n \"title\": \"Item Id\",\n \"type\": \"string\"\n },\n \"list_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"List Name\"\n }\n },\n \"required\": [\n \"list_id\",\n \"item_id\"\n ],\n \"title\": \"ListItemBookmark\",\n \"type\": \"object\"\n },\n \"LiveResourceRefInput\": {\n \"additionalProperties\": true,\n \"description\": \"A live id-backed reference; snapshots are not meaningful for opaque resources.\",\n \"properties\": {\n \"id\": {\n \"minLength\": 1,\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"mode\": {\n \"const\": \"reference\",\n \"default\": \"reference\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"title\": \"LiveResourceRefInput\",\n \"type\": \"object\"\n },\n \"NormalizedCitation\": {\n \"additionalProperties\": false,\n \"description\": \"The canonical cross-provider citation shape — the FE contract.\\n\\nOffsets come in two flavours and are never conflated:\\n - ``source_start`` / ``source_end``: char/block offsets INTO THE SOURCE\\n document (Anthropic char/content_block locations).\\n - ``answer_start`` / ``answer_end``: char offsets INTO THE ANSWER TEXT\\n (OpenAI url_citation annotations, Gemini grounding segment offsets).\\n``page`` / ``end_page`` are 1-based (Anthropic page_location).\",\n \"properties\": {\n \"kind\": {\n \"enum\": [\n \"document_char\",\n \"document_page\",\n \"document_block\",\n \"search_result\",\n \"web\",\n \"grounding\"\n ],\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"provider\": {\n \"enum\": [\n \"anthropic\",\n \"openai\",\n \"google\",\n \"xai\"\n ],\n \"title\": \"Provider\",\n \"type\": \"string\"\n },\n \"cited_text\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cited Text\"\n },\n \"title\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Title\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"source_index\": {\n \"default\": 0,\n \"title\": \"Source Index\",\n \"type\": \"integer\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"page\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Page\"\n },\n \"end_page\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"End Page\"\n },\n \"source_start\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Source Start\"\n },\n \"source_end\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Source End\"\n },\n \"answer_start\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Answer Start\"\n },\n \"answer_end\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Answer End\"\n },\n \"raw\": {\n \"additionalProperties\": true,\n \"title\": \"Raw\",\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"kind\",\n \"provider\"\n ],\n \"title\": \"NormalizedCitation\",\n \"type\": \"object\"\n },\n \"NotesInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_notes\",\n \"default\": \"input_notes\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"note_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/ResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Note Ids\",\n \"type\": \"array\"\n },\n \"template\": {\n \"default\": \"full\",\n \"title\": \"Template\",\n \"type\": \"string\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"note_ids\",\n \"type\"\n ],\n \"title\": \"NotesInputPart\",\n \"type\": \"object\"\n },\n \"PreFetchedUrl\": {\n \"additionalProperties\": true,\n \"description\": \"A webpage entry that has already been scraped by the client.\\n\\nWhen the frontend has already fetched a page (e.g. via /scraper/quick-scrape)\\nit can embed the content here instead of a plain URL string. The server will\\nuse this content directly and skip re-scraping.\",\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"title\": \"Url\",\n \"type\": \"string\"\n },\n \"textContent\": {\n \"title\": \"Textcontent\",\n \"type\": \"string\"\n },\n \"title\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Title\"\n },\n \"scrapedAt\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Scrapedat\"\n },\n \"charCount\": {\n \"anyOf\": [\n {\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Charcount\"\n }\n },\n \"required\": [\n \"url\",\n \"textContent\"\n ],\n \"title\": \"PreFetchedUrl\",\n \"type\": \"object\"\n },\n \"ProjectInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_project\",\n \"default\": \"input_project\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"project_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Project Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"project_ids\",\n \"type\"\n ],\n \"title\": \"ProjectInputPart\",\n \"type\": \"object\"\n },\n \"ResourceRefInput\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LiveResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotContentResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotTextResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotBodyResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotDescriptionResourceRefInput\"\n },\n {\n \"$ref\": \"#/$defs/SnapshotValueResourceRefInput\"\n }\n ]\n },\n \"SnapshotBodyResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"body\": {\n \"minLength\": 1,\n \"title\": \"Body\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"body\"\n ],\n \"title\": \"SnapshotBodyResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotContentResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"content\": {\n \"minLength\": 1,\n \"title\": \"Content\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"content\"\n ],\n \"title\": \"SnapshotContentResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotDescriptionResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"description\": {\n \"minLength\": 1,\n \"title\": \"Description\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"description\"\n ],\n \"title\": \"SnapshotDescriptionResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotTextResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"text\": {\n \"minLength\": 1,\n \"title\": \"Text\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"text\"\n ],\n \"title\": \"SnapshotTextResourceRefInput\",\n \"type\": \"object\"\n },\n \"SnapshotValueResourceRefInput\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"mode\": {\n \"const\": \"snapshot\",\n \"title\": \"Mode\",\n \"type\": \"string\"\n },\n \"value\": {\n \"minLength\": 1,\n \"title\": \"Value\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"mode\",\n \"value\"\n ],\n \"title\": \"SnapshotValueResourceRefInput\",\n \"type\": \"object\"\n },\n \"SpeechScriptPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"speech_script\",\n \"default\": \"speech_script\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"__kind\": {\n \"const\": \"speech_script\",\n \"default\": \"speech_script\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"turns\": {\n \"items\": {\n \"$ref\": \"#/$defs/SpeechTurn\"\n },\n \"minItems\": 1,\n \"title\": \"Turns\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"turns\",\n \"type\"\n ],\n \"title\": \"SpeechScriptPart\",\n \"type\": \"object\"\n },\n \"SpeechTurn\": {\n \"additionalProperties\": false,\n \"description\": \"One spoken turn. Not a kind: it has no meaning outside its script.\",\n \"properties\": {\n \"__kind\": {\n \"default\": \"\",\n \"description\": \"The registered kind this payload is an instance of, when it is one.\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"speaker\": {\n \"description\": \"The speaker's name. Turns with the same name are the same speaker. For multi-speaker vendors (Gemini) this is the transcript label.\",\n \"maxLength\": 40,\n \"minLength\": 1,\n \"title\": \"Speaker\",\n \"type\": \"string\"\n },\n \"voice\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"description\": \"The voice this speaker uses: a literal provider voice id from the model's catalog, or a {{variable}}. Empty = bound to the agent's Voice setting (tts_voice).\",\n \"title\": \"Voice\"\n },\n \"text\": {\n \"description\": \"What is said. Any {{variable}} is filled at run time.\",\n \"minLength\": 1,\n \"title\": \"Text\",\n \"type\": \"string\"\n },\n \"direction\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"description\": \"Free-text performance direction for this turn only (e.g. 'warm, a little amused').\",\n \"title\": \"Direction\"\n },\n \"pause_after_ms\": {\n \"anyOf\": [\n {\n \"maximum\": 10000,\n \"minimum\": 0,\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"description\": \"Silence after this turn, in milliseconds.\",\n \"title\": \"Pause After Ms\"\n }\n },\n \"required\": [\n \"speaker\",\n \"text\"\n ],\n \"title\": \"SpeechTurn\",\n \"type\": \"object\"\n },\n \"TableCellBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_cell\",\n \"default\": \"table_cell\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"row_id\": {\n \"minLength\": 1,\n \"title\": \"Row Id\",\n \"type\": \"string\"\n },\n \"column_name\": {\n \"minLength\": 1,\n \"title\": \"Column Name\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\",\n \"row_id\",\n \"column_name\"\n ],\n \"title\": \"TableCellBookmark\",\n \"type\": \"object\"\n },\n \"TableColumnBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_column\",\n \"default\": \"table_column\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"column_name\": {\n \"minLength\": 1,\n \"title\": \"Column Name\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\",\n \"column_name\"\n ],\n \"title\": \"TableColumnBookmark\",\n \"type\": \"object\"\n },\n \"TableInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_table\",\n \"default\": \"input_table\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"bookmarks\": {\n \"items\": {\n \"discriminator\": {\n \"mapping\": {\n \"full_table\": \"#/$defs/FullTableBookmark\",\n \"table_cell\": \"#/$defs/TableCellBookmark\",\n \"table_column\": \"#/$defs/TableColumnBookmark\",\n \"table_row\": \"#/$defs/TableRowBookmark\",\n \"table_schema\": \"#/$defs/TableSchemaBookmark\"\n },\n \"propertyName\": \"type\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/FullTableBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableColumnBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableRowBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableCellBookmark\"\n },\n {\n \"$ref\": \"#/$defs/TableSchemaBookmark\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Bookmarks\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"bookmarks\",\n \"type\"\n ],\n \"title\": \"TableInputPart\",\n \"type\": \"object\"\n },\n \"TableRowBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_row\",\n \"default\": \"table_row\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"row_id\": {\n \"minLength\": 1,\n \"title\": \"Row Id\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\",\n \"row_id\"\n ],\n \"title\": \"TableRowBookmark\",\n \"type\": \"object\"\n },\n \"TableSchemaBookmark\": {\n \"additionalProperties\": true,\n \"properties\": {\n \"type\": {\n \"const\": \"table_schema\",\n \"default\": \"table_schema\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"table_id\": {\n \"minLength\": 1,\n \"title\": \"Table Id\",\n \"type\": \"string\"\n },\n \"table_name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Table Name\"\n }\n },\n \"required\": [\n \"table_id\"\n ],\n \"title\": \"TableSchemaBookmark\",\n \"type\": \"object\"\n },\n \"TaskInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_task\",\n \"default\": \"input_task\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"task_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/ResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Task Ids\",\n \"type\": \"array\"\n },\n \"template\": {\n \"default\": \"full\",\n \"title\": \"Template\",\n \"type\": \"string\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"task_ids\",\n \"type\"\n ],\n \"title\": \"TaskInputPart\",\n \"type\": \"object\"\n },\n \"TextPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"text\",\n \"default\": \"text\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"text\": {\n \"default\": \"\",\n \"title\": \"Text\",\n \"type\": \"string\"\n },\n \"id\": {\n \"default\": \"\",\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"citations\": {\n \"items\": {\n \"$ref\": \"#/$defs/NormalizedCitation\"\n },\n \"title\": \"Citations\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"TextPart\",\n \"type\": \"object\"\n },\n \"ThinkingPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"thinking\",\n \"default\": \"thinking\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"text\": {\n \"default\": \"\",\n \"title\": \"Text\",\n \"type\": \"string\"\n },\n \"id\": {\n \"default\": \"\",\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"provider\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"openai\",\n \"anthropic\",\n \"google\",\n \"cerebras\",\n \"moonshot\",\n \"together\",\n \"groq\",\n \"xai\",\n \"generic_openai\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Provider\"\n },\n \"signature\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Signature\"\n },\n \"signature_encoding\": {\n \"anyOf\": [\n {\n \"const\": \"base64\",\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Signature Encoding\"\n },\n \"summary\": {\n \"items\": {},\n \"title\": \"Summary\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ThinkingPart\",\n \"type\": \"object\"\n },\n \"ToolCallPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"tool_call\",\n \"default\": \"tool_call\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"call_id\": {\n \"default\": \"\",\n \"title\": \"Call Id\",\n \"type\": \"string\"\n },\n \"name\": {\n \"default\": \"\",\n \"title\": \"Name\",\n \"type\": \"string\"\n },\n \"arguments\": {\n \"additionalProperties\": true,\n \"title\": \"Arguments\",\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ToolCallPart\",\n \"type\": \"object\"\n },\n \"ToolResultPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"tool_result\",\n \"default\": \"tool_result\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"call_id\": {\n \"default\": \"\",\n \"title\": \"Call Id\",\n \"type\": \"string\"\n },\n \"tool_use_id\": {\n \"default\": \"\",\n \"title\": \"Tool Use Id\",\n \"type\": \"string\"\n },\n \"name\": {\n \"default\": \"\",\n \"title\": \"Name\",\n \"type\": \"string\"\n },\n \"is_error\": {\n \"default\": false,\n \"title\": \"Is Error\",\n \"type\": \"boolean\"\n },\n \"output_chars\": {\n \"default\": 0,\n \"title\": \"Output Chars\",\n \"type\": \"integer\"\n },\n \"output_preview\": {\n \"anyOf\": [\n {\n \"additionalProperties\": true,\n \"type\": \"object\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Output Preview\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"ToolResultPart\",\n \"type\": \"object\"\n },\n \"TranscriptInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_transcript\",\n \"default\": \"input_transcript\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"transcript_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Transcript Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"transcript_ids\",\n \"type\"\n ],\n \"title\": \"TranscriptInputPart\",\n \"type\": \"object\"\n },\n \"TranscriptSessionInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_transcript_session\",\n \"default\": \"input_transcript_session\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"transcript_session_ids\": {\n \"items\": {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n \"minItems\": 1,\n \"title\": \"Transcript Session Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"transcript_session_ids\",\n \"type\"\n ],\n \"title\": \"TranscriptSessionInputPart\",\n \"type\": \"object\"\n },\n \"VideoMediaPart\": {\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"anyOf\": [\n {\n \"properties\": {\n \"url\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"url\"\n ]\n },\n {\n \"properties\": {\n \"file_id\": {\n \"minLength\": 1,\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"file_id\"\n ]\n }\n ]\n }\n ],\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"origin\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"matrx\",\n \"external\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Origin\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Url\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n },\n \"visibility\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Visibility\"\n },\n \"cdn_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Cdn Url\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"video\",\n \"default\": \"video\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"width\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Width\"\n },\n \"height\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Height\"\n },\n \"duration_ms\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Duration Ms\"\n },\n \"role\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"extend\",\n \"restyle\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Role\"\n },\n \"name\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Name\"\n }\n },\n \"required\": [\n \"type\",\n \"kind\"\n ],\n \"title\": \"VideoMediaPart\",\n \"type\": \"object\"\n },\n \"WebSearchPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"web_search\",\n \"default\": \"web_search\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"id\": {\n \"default\": \"\",\n \"title\": \"Id\",\n \"type\": \"string\"\n },\n \"status\": {\n \"default\": \"\",\n \"title\": \"Status\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"type\"\n ],\n \"title\": \"WebSearchPart\",\n \"type\": \"object\"\n },\n \"WebpageInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"input_webpage\",\n \"default\": \"input_webpage\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"urls\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/PreFetchedUrl\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Urls\",\n \"type\": \"array\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n }\n },\n \"required\": [\n \"urls\",\n \"type\"\n ],\n \"title\": \"WebpageInputPart\",\n \"type\": \"object\"\n },\n \"WorkbookInputPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"convert_to_text\": {\n \"default\": true,\n \"title\": \"Convert To Text\",\n \"type\": \"boolean\"\n },\n \"optional_context\": {\n \"default\": false,\n \"title\": \"Optional Context\",\n \"type\": \"boolean\"\n },\n \"keep_fresh\": {\n \"default\": false,\n \"title\": \"Keep Fresh\",\n \"type\": \"boolean\"\n },\n \"editable\": {\n \"anyOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Editable\"\n },\n \"template\": {\n \"anyOf\": [\n {\n \"enum\": [\n \"full\",\n \"compact\",\n \"minimal\"\n ],\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Template\"\n },\n \"type\": {\n \"const\": \"input_workbook\",\n \"default\": \"input_workbook\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"workbook_ids\": {\n \"items\": {\n \"anyOf\": [\n {\n \"minLength\": 1,\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/$defs/LiveResourceRefInput\"\n }\n ]\n },\n \"minItems\": 1,\n \"title\": \"Workbook Ids\",\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"workbook_ids\",\n \"type\"\n ],\n \"title\": \"WorkbookInputPart\",\n \"type\": \"object\"\n },\n \"YouTubeMediaPart\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"metadata\": {\n \"additionalProperties\": true,\n \"title\": \"Metadata\",\n \"type\": \"object\"\n },\n \"type\": {\n \"const\": \"media\",\n \"default\": \"media\",\n \"title\": \"Type\",\n \"type\": \"string\"\n },\n \"kind\": {\n \"const\": \"youtube\",\n \"default\": \"youtube\",\n \"title\": \"Kind\",\n \"type\": \"string\"\n },\n \"url\": {\n \"minLength\": 1,\n \"title\": \"Url\",\n \"type\": \"string\"\n },\n \"external_url\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"External Url\"\n },\n \"origin\": {\n \"const\": \"external\",\n \"default\": \"external\",\n \"title\": \"Origin\",\n \"type\": \"string\"\n },\n \"file_id\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"File Id\"\n },\n \"mime_type\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Mime Type\"\n },\n \"size_bytes\": {\n \"anyOf\": [\n {\n \"type\": \"integer\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null,\n \"title\": \"Size Bytes\"\n }\n },\n \"required\": [\n \"url\",\n \"type\",\n \"kind\"\n ],\n \"title\": \"YouTubeMediaPart\",\n \"type\": \"object\"\n }\n },\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextPart\"\n },\n {\n \"$ref\": \"#/$defs/ThinkingPart\"\n },\n {\n \"$ref\": \"#/$defs/ToolCallPart\"\n },\n {\n \"$ref\": \"#/$defs/ToolResultPart\"\n },\n {\n \"discriminator\": {\n \"mapping\": {\n \"audio\": \"#/$defs/AudioMediaPart\",\n \"document\": \"#/$defs/DocumentMediaPart\",\n \"image\": \"#/$defs/ImageMediaPart\",\n \"video\": \"#/$defs/VideoMediaPart\",\n \"youtube\": \"#/$defs/YouTubeMediaPart\"\n },\n \"propertyName\": \"kind\"\n },\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/ImageMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/AudioMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/VideoMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/DocumentMediaPart\"\n },\n {\n \"$ref\": \"#/$defs/YouTubeMediaPart\"\n }\n ]\n },\n {\n \"$ref\": \"#/$defs/CodeExecPart\"\n },\n {\n \"$ref\": \"#/$defs/CodeResultPart\"\n },\n {\n \"$ref\": \"#/$defs/WebSearchPart\"\n },\n {\n \"$ref\": \"#/$defs/HostedToolPart\"\n },\n {\n \"$ref\": \"#/$defs/WebpageInputPart\"\n },\n {\n \"$ref\": \"#/$defs/NotesInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TaskInputPart\"\n },\n {\n \"$ref\": \"#/$defs/AgentInputPart\"\n },\n {\n \"$ref\": \"#/$defs/ProjectInputPart\"\n },\n {\n \"$ref\": \"#/$defs/AgentAppInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TranscriptInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TranscriptSessionInputPart\"\n },\n {\n \"$ref\": \"#/$defs/WorkbookInputPart\"\n },\n {\n \"$ref\": \"#/$defs/DocumentInputPart\"\n },\n {\n \"$ref\": \"#/$defs/TableInputPart\"\n },\n {\n \"$ref\": \"#/$defs/ListInputPart\"\n },\n {\n \"$ref\": \"#/$defs/DataInputPart\"\n },\n {\n \"$ref\": \"#/$defs/ContextInputPart\"\n },\n {\n \"$ref\": \"#/$defs/DecisionQuestionsPart\"\n },\n {\n \"$ref\": \"#/$defs/DecisionAnswersPart\"\n },\n {\n \"$ref\": \"#/$defs/SpeechScriptPart\"\n }\n ]\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction schemaTypeMatches(type: MessagePartJsonSchema[\"type\"], value: unknown): boolean {\n if (type === \"null\") return value === null;\n if (type === \"array\") return Array.isArray(value);\n if (type === \"object\") return isRecord(value);\n if (type === \"integer\") return typeof value === \"number\" && Number.isInteger(value);\n return typeof value === type;\n}\n\nfunction resolveMessagePartSchemaRef(\n ref: string,\n root: MessagePartJsonSchema,\n): MessagePartJsonSchema | undefined {\n const prefix = \"#/$defs/\";\n if (!ref.startsWith(prefix)) return undefined;\n return root.$defs?.[ref.slice(prefix.length)];\n}\n\nfunction matchesMessagePartSchema(\n value: unknown,\n schema: MessagePartJsonSchema,\n root: MessagePartJsonSchema,\n): boolean {\n if (schema.$ref) {\n const resolved = resolveMessagePartSchemaRef(schema.$ref, root);\n return resolved !== undefined && matchesMessagePartSchema(value, resolved, root);\n }\n if (schema.anyOf && !schema.anyOf.some((item) => matchesMessagePartSchema(value, item, root))) {\n return false;\n }\n if (schema.oneOf) {\n const matches = schema.oneOf.filter((item) => matchesMessagePartSchema(value, item, root));\n if (matches.length !== 1) return false;\n }\n if (schema.allOf && !schema.allOf.every((item) => matchesMessagePartSchema(value, item, root))) {\n return false;\n }\n if (\"const\" in schema && !Object.is(value, schema.const)) return false;\n if (schema.enum && !schema.enum.some((item) => Object.is(value, item))) return false;\n if (schema.type && !schemaTypeMatches(schema.type, value)) return false;\n if (schema.type === \"string\" && typeof value === \"string\" &&\n schema.minLength !== undefined && value.length < schema.minLength) return false;\n if (schema.type === \"array\" && Array.isArray(value) &&\n schema.minItems !== undefined && value.length < schema.minItems) return false;\n if ((schema.type === \"number\" || schema.type === \"integer\") && typeof value === \"number\") {\n if (schema.minimum !== undefined && value < schema.minimum) return false;\n if (schema.maximum !== undefined && value > schema.maximum) return false;\n if (schema.exclusiveMinimum !== undefined && value <= schema.exclusiveMinimum) return false;\n if (schema.exclusiveMaximum !== undefined && value >= schema.exclusiveMaximum) return false;\n }\n if (schema.type === \"array\" && schema.items && Array.isArray(value)) {\n return value.every((item) => matchesMessagePartSchema(item, schema.items!, root));\n }\n const hasObjectKeywords =\n schema.type === \"object\" ||\n schema.required !== undefined ||\n schema.properties !== undefined ||\n schema.additionalProperties !== undefined;\n if (!hasObjectKeywords) return true;\n if (!isRecord(value)) return false;\n if (schema.required?.some((key) => !(key in value))) return false;\n const properties = schema.properties ?? {};\n for (const [key, propertySchema] of Object.entries(properties)) {\n if (key in value && !matchesMessagePartSchema(value[key], propertySchema, root)) {\n return false;\n }\n }\n const extraKeys = Object.keys(value).filter((key) => !(key in properties));\n if (schema.additionalProperties === false && extraKeys.length > 0) return false;\n const additionalSchema = schema.additionalProperties;\n if (isRecord(additionalSchema)) {\n return extraKeys.every((key) =>\n matchesMessagePartSchema(value[key], additionalSchema, root),\n );\n }\n return true;\n}\n\n/** Runtime guard for persisted chat.message.content entries. */\nexport function isMessagePart(value: unknown): value is MessagePart {\n return matchesMessagePartSchema(value, MESSAGE_PART_SCHEMA, MESSAGE_PART_SCHEMA);\n}\n\n/** Validate and parse the content array from a chat.message DB row. */\nexport function parseMessageContent(content: unknown[]): MessagePart[] {\n return content.map((part, index) => {\n if (!isMessagePart(part)) {\n throw new TypeError(\n `Invalid chat.message.content[${index}]: unknown or malformed message part`,\n );\n }\n return part;\n });\n}\n\n// --- Message wrapper (matrx_ai.config.message_flags) ---\n\n/** The translator flags a message can carry. */\nexport const MESSAGE_FLAG_KEYS = [\"prefill\", \"cache_boundary\", \"example\"] as const;\nexport type MessageFlagKey = (typeof MESSAGE_FLAG_KEYS)[number];\n/** Stored form (`MessageFlags.as_dict`): only `true` means anything; absence is false. */\nexport type MessageFlags = Partial<Record<MessageFlagKey, true>>;\n/** Where a runtime message keeps its flags: `cx_message.metadata[MESSAGE_FLAGS_METADATA_KEY]`. */\nexport const MESSAGE_FLAGS_METADATA_KEY = \"flags\";\n/** What a flag the model cannot honour becomes (org knob agents.messages / flag_compatibility_mode). */\nexport const FLAG_COMPATIBILITY_MODES = [\"refuse\", \"convert\", \"drop\"] as const;\nexport type FlagCompatibilityMode = (typeof FLAG_COMPATIBILITY_MODES)[number];\nexport const DEFAULT_FLAG_COMPATIBILITY_MODE: FlagCompatibilityMode = \"refuse\";\n\n/** One message: its role, its parts, and its translator flags (top level on an\n * agent-definition message; `metadata.flags` on a runtime cx_message). */\nexport interface MessageWrapper {\n role: string;\n content: MessagePart[];\n flags?: MessageFlags | null;\n}\n\n\nexport interface ChunkEvent {\n event: \"chunk\";\n data: ChunkPayload;\n}\n\nexport interface ReasoningChunkEvent {\n event: \"reasoning_chunk\";\n data: ReasoningChunkPayload;\n}\n\nexport interface ReasoningEvent {\n event: \"reasoning\";\n data: ReasoningPayload;\n}\n\nexport interface PhaseEvent {\n event: \"phase\";\n data: PhasePayload;\n}\n\nexport interface WarningEvent {\n event: \"warning\";\n data: WarningPayload;\n}\n\nexport interface InfoEvent {\n event: \"info\";\n data: InfoPayload;\n}\n\nexport interface TypedDataEvent {\n event: \"data\";\n data: TypedDataPayload | UntypedDataPayload;\n}\n\nexport interface InitEvent {\n event: \"init\";\n data: InitPayload;\n}\n\nexport interface CompletionEvent {\n event: \"completion\";\n data: CompletionPayload;\n}\n\nexport interface ErrorEvent {\n event: \"error\";\n data: ErrorPayload;\n}\n\nexport interface ToolEventEvent {\n event: \"tool_event\";\n data: ToolEventPayload;\n}\n\nexport interface HeartbeatEvent {\n event: \"heartbeat\";\n data: HeartbeatPayload;\n}\n\nexport interface EndEvent {\n event: \"end\";\n data: EndPayload;\n}\n\nexport interface RenderBlockEvent {\n event: \"render_block\";\n data: RenderBlockPayload;\n}\n\nexport interface RecordReservedEvent {\n event: \"record_reserved\";\n data: RecordReservedPayload;\n}\n\nexport interface RecordUpdateEvent {\n event: \"record_update\";\n data: RecordUpdatePayload;\n}\n\nexport interface ResourceChangedEvent {\n event: \"resource_changed\";\n data: ResourceChangedPayload;\n}\n\nexport interface ContextAnalysisEvent {\n event: \"context_analysis\";\n data: ContextAnalysisPayload;\n}\n\nexport interface StructuredOutputEvent {\n event: \"structured_output\";\n data: StructuredOutputPayload;\n}\n\nexport interface ContextStateEvent {\n event: \"context_state\";\n data: ContextStatePayload;\n}\n\nexport interface ContextTrimmedEvent {\n event: \"context_trimmed\";\n data: ContextTrimmedPayload;\n}\n\nexport interface InjectionConsumedEvent {\n event: \"injection_consumed\";\n data: InjectionConsumedPayload;\n}\n\nexport interface ProviderRetryEvent {\n event: \"provider_retry\";\n data: ProviderRetryPayload;\n}\n\nexport interface CitationEvent {\n event: \"citation\";\n data: CitationPayload;\n}\n\nexport interface ControlTokenEvent {\n event: \"control_token\";\n data: ControlTokenPayload;\n}\n\n/** Discriminated union — `event.event === \"chunk\"` narrows `data` automatically. */\nexport type TypedStreamEvent =\n | ChunkEvent\n | ReasoningChunkEvent\n | ReasoningEvent\n | PhaseEvent\n | WarningEvent\n | InfoEvent\n | TypedDataEvent\n | InitEvent\n | CompletionEvent\n | ErrorEvent\n | ToolEventEvent\n | HeartbeatEvent\n | EndEvent\n | RenderBlockEvent\n | RecordReservedEvent\n | RecordUpdateEvent\n | ResourceChangedEvent\n | ContextAnalysisEvent\n | StructuredOutputEvent\n | ContextStateEvent\n | ContextTrimmedEvent\n | InjectionConsumedEvent\n | ProviderRetryEvent\n | CitationEvent\n | ControlTokenEvent;\n\n/**\n * @deprecated Use `TypedStreamEvent` instead — it provides automatic type narrowing\n * via the discriminated union so `event.event === \"chunk\"` narrows `data` to `ChunkPayload`.\n */\nexport type StreamEvent = TypedStreamEvent;\n\n// Compact wire format for high-frequency events (90%+ of stream traffic).\n// e = event type (\"c\" = chunk, \"r\" = reasoning_chunk), t = text content.\nexport interface CompactChunkEvent {\n e: \"c\";\n t: string;\n}\n\nexport interface CompactReasoningChunkEvent {\n e: \"r\";\n t: string;\n}\n\nexport type CompactStreamEvent = CompactChunkEvent | CompactReasoningChunkEvent;\n\n/** A line from the NDJSON stream — either compact or standard format. */\nexport type RawStreamLine = CompactStreamEvent | TypedStreamEvent;\n\nexport function isCompactEvent(line: unknown): line is CompactStreamEvent {\n return typeof line === \"object\" && line !== null && \"e\" in line && \"t\" in line;\n}\n\n/** Normalize a compact event into the standard TypedStreamEvent shape. */\nexport function expandCompactEvent(compact: CompactStreamEvent): TypedStreamEvent {\n if (compact.e === \"c\") return { event: \"chunk\", data: { text: compact.t } };\n return { event: \"reasoning_chunk\", data: { text: compact.t } };\n}\n\n// Type guards (work on both TypedStreamEvent and the deprecated StreamEvent alias)\nexport function isChunkEvent(e: TypedStreamEvent): e is { event: \"chunk\"; data: ChunkPayload } {\n return e.event === \"chunk\";\n}\n\nexport function isReasoningChunkEvent(e: TypedStreamEvent): e is { event: \"reasoning_chunk\"; data: ReasoningChunkPayload } {\n return e.event === \"reasoning_chunk\";\n}\n\nexport function isReasoningEvent(e: TypedStreamEvent): e is { event: \"reasoning\"; data: ReasoningPayload } {\n return e.event === \"reasoning\";\n}\n\nexport function isPhaseEvent(e: TypedStreamEvent): e is { event: \"phase\"; data: PhasePayload } {\n return e.event === \"phase\";\n}\n\nexport function isWarningEvent(e: TypedStreamEvent): e is { event: \"warning\"; data: WarningPayload } {\n return e.event === \"warning\";\n}\n\nexport function isInfoEvent(e: TypedStreamEvent): e is { event: \"info\"; data: InfoPayload } {\n return e.event === \"info\";\n}\n\nexport function isTypedDataEvent(e: TypedStreamEvent): e is { event: \"data\"; data: TypedDataPayload | UntypedDataPayload } {\n return e.event === \"data\";\n}\n\nexport function isInitEvent(e: TypedStreamEvent): e is { event: \"init\"; data: InitPayload } {\n return e.event === \"init\";\n}\n\nexport function isCompletionEvent(e: TypedStreamEvent): e is { event: \"completion\"; data: CompletionPayload } {\n return e.event === \"completion\";\n}\n\nexport function isErrorEvent(e: TypedStreamEvent): e is { event: \"error\"; data: ErrorPayload } {\n return e.event === \"error\";\n}\n\nexport function isToolEventEvent(e: TypedStreamEvent): e is { event: \"tool_event\"; data: ToolEventPayload } {\n return e.event === \"tool_event\";\n}\n\nexport function isHeartbeatEvent(e: TypedStreamEvent): e is { event: \"heartbeat\"; data: HeartbeatPayload } {\n return e.event === \"heartbeat\";\n}\n\nexport function isEndEvent(e: TypedStreamEvent): e is { event: \"end\"; data: EndPayload } {\n return e.event === \"end\";\n}\n\nexport function isRenderBlockEvent(e: TypedStreamEvent): e is { event: \"render_block\"; data: RenderBlockPayload } {\n return e.event === \"render_block\";\n}\n\nexport function isRecordReservedEvent(e: TypedStreamEvent): e is { event: \"record_reserved\"; data: RecordReservedPayload } {\n return e.event === \"record_reserved\";\n}\n\nexport function isRecordUpdateEvent(e: TypedStreamEvent): e is { event: \"record_update\"; data: RecordUpdatePayload } {\n return e.event === \"record_update\";\n}\n\nexport function isResourceChangedEvent(e: TypedStreamEvent): e is { event: \"resource_changed\"; data: ResourceChangedPayload } {\n return e.event === \"resource_changed\";\n}\n\nexport function isContextAnalysisEvent(e: TypedStreamEvent): e is { event: \"context_analysis\"; data: ContextAnalysisPayload } {\n return e.event === \"context_analysis\";\n}\n\nexport function isStructuredOutputEvent(e: TypedStreamEvent): e is { event: \"structured_output\"; data: StructuredOutputPayload } {\n return e.event === \"structured_output\";\n}\n\nexport function isContextStateEvent(e: TypedStreamEvent): e is { event: \"context_state\"; data: ContextStatePayload } {\n return e.event === \"context_state\";\n}\n\nexport function isContextTrimmedEvent(e: TypedStreamEvent): e is { event: \"context_trimmed\"; data: ContextTrimmedPayload } {\n return e.event === \"context_trimmed\";\n}\n\nexport function isInjectionConsumedEvent(e: TypedStreamEvent): e is { event: \"injection_consumed\"; data: InjectionConsumedPayload } {\n return e.event === \"injection_consumed\";\n}\n\nexport function isProviderRetryEvent(e: TypedStreamEvent): e is { event: \"provider_retry\"; data: ProviderRetryPayload } {\n return e.event === \"provider_retry\";\n}\n\nexport function isCitationEvent(e: TypedStreamEvent): e is { event: \"citation\"; data: CitationPayload } {\n return e.event === \"citation\";\n}\n\nexport function isControlTokenEvent(e: TypedStreamEvent): e is { event: \"control_token\"; data: ControlTokenPayload } {\n return e.event === \"control_token\";\n}\n\nexport function isCompactChunkEvent(e: unknown): e is CompactChunkEvent {\n return typeof e === \"object\" && e !== null && (e as CompactChunkEvent).e === \"c\" && typeof (e as CompactChunkEvent).t === \"string\";\n}\n\nexport function isCompactReasoningChunkEvent(e: unknown): e is CompactReasoningChunkEvent {\n return typeof e === \"object\" && e !== null && (e as CompactReasoningChunkEvent).e === \"r\" && typeof (e as CompactReasoningChunkEvent).t === \"string\";\n}\n"],"mappings":";AAMO,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,KAAK;AAAA,EACL,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,eAAe;AACjB;AAgUO,SAAS,6BAA6B,GAAmF;AAC9H,SAAO,EAAE,UAAU,aAAa,EAAE,UAAU,aAAa,EAAE,UAAU;AACvE;AAGO,SAAS,uBAAuB,GAAyD;AAC9F,SAAO,EAAE,UAAU;AACrB;AAGO,SAAS,uBAAuB,GAAyD;AAC9F,SAAO,EAAE,UAAU;AACrB;AAGO,SAAS,wBAAwB,GAA0D;AAChG,SAAO,EAAE,UAAU;AACrB;AAupEO,SAAS,mBAAmB,OAA2C;AAC5E,SAAO,OAAO,UAAU,YAAY,UAAU,QACxC,MAA6B,SAAS;AAC9C;AAGO,SAAS,sBAAsB,OAA8C;AAClF,SAAO,OAAO,UAAU,YAAY,UAAU,QACxC,MAA6B,SAAS;AAC9C;AA4PA,IAAM,oCAAoC,oBAAI,IAAe;AAAA,EAC3D;AAAA,EAAe;AAAA,EAAkB;AAAA,EAAgB;AAAA,EAAa;AAChE,CAAC;AAEM,SAAS,uBAAuB,GAAqE;AAC1G,SAAO,kCAAkC,IAAI,EAAE,SAAsB,KAAK,EAAE,WAAW;AACzF;AAiKA,IAAM,yBAAyB,oBAAI,IAAmB;AAAA,EACpD;AAAA,EAAgB;AAAA,EAAiB;AAAA,EAAa;AAAA,EAAuB;AAAA,EAAkB;AAAA,EAAc;AACvG,CAAC;AAEM,SAAS,iBAAiB,GAA6D;AAC5F,SAAO,uBAAuB,IAAI,EAAE,KAAsB,KAAK,EAAE,SAAS;AAC5E;AAyhCA,IAAM,2BAA2B,oBAAI,IAAY;AAAA,EAC/C;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAY;AAAA,EAAa;AAAA,EAA0B;AAAA,EAAS;AAAA,EAAS;AAAA,EAAS;AAAA,EAAc;AAAA,EAAmB;AAAA,EAAiB;AAAA,EAAc;AAAA,EAAQ;AAAA,EAAgB;AAAA,EAAkB;AAAA,EAAY;AAAA,EAAoB;AAAA,EAAoB;AAAA,EAAmB;AAAA,EAAa;AAAA,EAAiB;AAAA,EAAY;AAAA,EAAY;AAAA,EAAW;AAAA,EAAW;AAAA,EAAgB;AAAA,EAAY;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAY;AAAA,EAAW;AAAA,EAAQ;AAAA,EAAS;AAC1b,CAAC;AAEM,SAAS,mBAAmB,GAAmE;AACpG,SAAO,yBAAyB,IAAI,EAAE,IAAI;AAC5C;AAkNO,IAAM,qCAAqC,oBAAI,IAAY;AAAA,EAChE;AAAA,EAAmB;AAAA,EAAiB;AAAA,EAAgB;AAAA,EAA4B;AAAA,EAAiB;AAAA,EAAoB;AAAA,EAAyB;AAAA,EAAsB;AAAA,EAAmB;AAAA,EAAkB;AAC3M,CAAC;AAQM,IAAM,2CAA2C,oBAAI,IAAY;AAAA,EACtE;AAAA,EAAgB;AAAA,EAAgB;AAClC,CAAC;AAUM,IAAM,kCAAkC,oBAAI,IAAY;AAAA,EAC7D;AAAA,EAAkB;AAAA,EAAiB;AAAA,EAAyB;AAAA,EAAoB;AAClF,CAAC;AAMM,IAAM,iDAAiD,oBAAI,IAAY;AAAA,EAC5E;AACF,CAAC;AAwlBD,IAAM,sBAA6C;AAAA,EACjD,SAAS;AAAA,IACP,qBAAqB;AAAA,MACnB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,iBAAiB;AAAA,UACf,SAAS;AAAA,YACP,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,SAAS;AAAA,QACP;AAAA,UACE,SAAS;AAAA,YACP;AAAA,cACE,cAAc;AAAA,gBACZ,OAAO;AAAA,kBACL,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA;AAAA,cACE,cAAc;AAAA,gBACZ,WAAW;AAAA,kBACT,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACL,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACb,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,wBAAwB;AAAA,UACtB,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,SAAS;AAAA,cACT,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MACf,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP,iBAAiB;AAAA,cACf,WAAW;AAAA,gBACT,YAAY;AAAA,gBACZ,YAAY;AAAA,gBACZ,aAAa;AAAA,cACf;AAAA,cACA,gBAAgB;AAAA,YAClB;AAAA,YACA,SAAS;AAAA,cACP;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,SAAS;AAAA,UACP,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,WAAW;AAAA,UACX,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,cAAc;AAAA,MACZ,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,SAAS;AAAA,UACP,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,MAAM;AAAA,UACJ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,cAAc;AAAA,MACZ,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,SAAS;AAAA,UACP,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,SAAS;AAAA,gBACP,QAAQ;AAAA,cACV;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,QACb;AAAA,QACA,SAAS;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,UACX,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,SAAS;AAAA,UACP,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,MAAM;AAAA,UACJ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,SAAS;AAAA,gBACP,QAAQ;AAAA,cACV;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,UAAU;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,SAAS;AAAA,QACX;AAAA,QACA,eAAe;AAAA,UACb,SAAS;AAAA,YACP;AAAA,cACE,WAAW;AAAA,cACX,WAAW;AAAA,cACX,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,iBAAiB;AAAA,UACf,SAAS;AAAA,YACP;AAAA,cACE,wBAAwB;AAAA,gBACtB,QAAQ;AAAA,cACV;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,wBAAwB;AAAA,gBACtB,QAAQ;AAAA,cACV;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,uBAAuB;AAAA,MACrB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,wBAAwB;AAAA,YACtB,QAAQ;AAAA,UACV;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,wBAAwB;AAAA,YACtB,QAAQ;AAAA,UACV;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,UAAU;AAAA,UACR,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,aAAa;AAAA,UACb,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,wBAAwB;AAAA,gBACtB,QAAQ;AAAA,cACV;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,SAAS;AAAA,gBACP,QAAQ;AAAA,cACV;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,uBAAuB;AAAA,UACrB,SAAS;AAAA,YACP;AAAA,cACE,WAAW;AAAA,cACX,WAAW;AAAA,cACX,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,yBAAyB;AAAA,MACvB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP,QAAQ;AAAA,UACV;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MACf,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,UAAU;AAAA,UACR,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,iBAAiB;AAAA,UACf,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,qBAAqB;AAAA,MACnB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,SAAS;AAAA,cACP;AAAA,gBACE,aAAa;AAAA,gBACb,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,qBAAqB;AAAA,MACnB,wBAAwB;AAAA,MACxB,SAAS;AAAA,QACP;AAAA,UACE,SAAS;AAAA,YACP;AAAA,cACE,cAAc;AAAA,gBACZ,OAAO;AAAA,kBACL,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA;AAAA,cACE,cAAc;AAAA,gBACZ,WAAW;AAAA,kBACT,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACL,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,qBAAqB;AAAA,MACnB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,SAAS;AAAA,QACP;AAAA,UACE,SAAS;AAAA,YACP;AAAA,cACE,cAAc;AAAA,gBACZ,OAAO;AAAA,kBACL,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA;AAAA,cACE,cAAc;AAAA,gBACZ,WAAW;AAAA,kBACT,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACL,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,qBAAqB;AAAA,MACnB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MACf,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP,iBAAiB;AAAA,cACf,WAAW;AAAA,gBACT,aAAa;AAAA,gBACb,cAAc;AAAA,gBACd,aAAa;AAAA,cACf;AAAA,cACA,gBAAgB;AAAA,YAClB;AAAA,YACA,SAAS;AAAA,cACP;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,wBAAwB;AAAA,MACtB,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,MAAM;AAAA,UACJ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,sBAAsB;AAAA,MACpB,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACL,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,gBAAgB;AAAA,UACd,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACL,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP,SAAS;AAAA,cACP;AAAA,gBACE,aAAa;AAAA,gBACb,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MACf,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,OAAO;AAAA,UACL,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,WAAW;AAAA,cACX,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACb,SAAS;AAAA,YACP,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,SAAS;AAAA,QACP;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,mCAAmC;AAAA,MACjC,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,uCAAuC;AAAA,MACrC,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACb,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,gCAAgC;AAAA,MAC9B,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,iCAAiC;AAAA,MAC/B,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,YACP,QAAQ;AAAA,UACV;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,cAAc;AAAA,MACZ,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,cAAc;AAAA,QACZ,UAAU;AAAA,UACR,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,eAAe;AAAA,UACf,aAAa;AAAA,UACb,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,eAAe;AAAA,UACf,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,QACX;AAAA,QACA,kBAAkB;AAAA,UAChB,SAAS;AAAA,YACP;AAAA,cACE,WAAW;AAAA,cACX,WAAW;AAAA,cACX,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,qBAAqB;AAAA,MACnB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACb,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,uBAAuB;AAAA,MACrB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACb,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP,iBAAiB;AAAA,cACf,WAAW;AAAA,gBACT,cAAc;AAAA,gBACd,cAAc;AAAA,gBACd,gBAAgB;AAAA,gBAChB,aAAa;AAAA,gBACb,gBAAgB;AAAA,cAClB;AAAA,cACA,gBAAgB;AAAA,YAClB;AAAA,YACA,SAAS;AAAA,cACP;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,uBAAuB;AAAA,MACrB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MACf,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP,SAAS;AAAA,cACP;AAAA,gBACE,aAAa;AAAA,gBACb,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,MAAM;AAAA,UACJ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP,QAAQ;AAAA,UACV;AAAA,UACA,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,MAAM;AAAA,UACJ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,sBAAsB;AAAA,UACpB,SAAS;AAAA,YACP;AAAA,cACE,SAAS;AAAA,cACT,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACX,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACb,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,kBAAkB;AAAA,UAChB,SAAS;AAAA,YACP;AAAA,cACE,wBAAwB;AAAA,cACxB,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,uBAAuB;AAAA,MACrB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,kBAAkB;AAAA,UAChB,SAAS;AAAA,YACP,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,8BAA8B;AAAA,MAC5B,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,0BAA0B;AAAA,UACxB,SAAS;AAAA,YACP,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,kBAAkB;AAAA,MAChB,wBAAwB;AAAA,MACxB,SAAS;AAAA,QACP;AAAA,UACE,SAAS;AAAA,YACP;AAAA,cACE,cAAc;AAAA,gBACZ,OAAO;AAAA,kBACL,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA;AAAA,cACE,cAAc;AAAA,gBACZ,WAAW;AAAA,kBACT,aAAa;AAAA,kBACb,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACL,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,eAAe;AAAA,UACb,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MACf,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,MAAM;AAAA,UACJ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,YACP,SAAS;AAAA,cACP;AAAA,gBACE,aAAa;AAAA,gBACb,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,qBAAqB;AAAA,MACnB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,mBAAmB;AAAA,UACjB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAClB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY;AAAA,UACV,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,SAAS;AAAA,cACP;AAAA,gBACE,aAAa;AAAA,gBACb,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,MAClB,wBAAwB;AAAA,MACxB,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,wBAAwB;AAAA,UACxB,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,OAAO;AAAA,UACL,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,UAAU;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,YACP;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,cACE,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,iBAAiB;AAAA,QACf,WAAW;AAAA,UACT,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,SAAS;AAAA,UACT,WAAW;AAAA,QACb;AAAA,QACA,gBAAgB;AAAA,MAClB;AAAA,MACA,SAAS;AAAA,QACP;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEA,SAAS,SAAS,OAAkD;AAClE,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,SAAS,kBAAkB,MAAqC,OAAyB;AACvF,MAAI,SAAS,OAAQ,QAAO,UAAU;AACtC,MAAI,SAAS,QAAS,QAAO,MAAM,QAAQ,KAAK;AAChD,MAAI,SAAS,SAAU,QAAO,SAAS,KAAK;AAC5C,MAAI,SAAS,UAAW,QAAO,OAAO,UAAU,YAAY,OAAO,UAAU,KAAK;AAClF,SAAO,OAAO,UAAU;AAC1B;AAEA,SAAS,4BACP,KACA,MACmC;AACnC,QAAM,SAAS;AACf,MAAI,CAAC,IAAI,WAAW,MAAM,EAAG,QAAO;AACpC,SAAO,KAAK,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC;AAC9C;AAEA,SAAS,yBACP,OACA,QACA,MACS;AACT,MAAI,OAAO,MAAM;AACf,UAAM,WAAW,4BAA4B,OAAO,MAAM,IAAI;AAC9D,WAAO,aAAa,UAAa,yBAAyB,OAAO,UAAU,IAAI;AAAA,EACjF;AACA,MAAI,OAAO,SAAS,CAAC,OAAO,MAAM,KAAK,CAAC,SAAS,yBAAyB,OAAO,MAAM,IAAI,CAAC,GAAG;AAC7F,WAAO;AAAA,EACT;AACA,MAAI,OAAO,OAAO;AAChB,UAAM,UAAU,OAAO,MAAM,OAAO,CAAC,SAAS,yBAAyB,OAAO,MAAM,IAAI,CAAC;AACzF,QAAI,QAAQ,WAAW,EAAG,QAAO;AAAA,EACnC;AACA,MAAI,OAAO,SAAS,CAAC,OAAO,MAAM,MAAM,CAAC,SAAS,yBAAyB,OAAO,MAAM,IAAI,CAAC,GAAG;AAC9F,WAAO;AAAA,EACT;AACA,MAAI,WAAW,UAAU,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,EAAG,QAAO;AACjE,MAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,CAAC,EAAG,QAAO;AAC/E,MAAI,OAAO,QAAQ,CAAC,kBAAkB,OAAO,MAAM,KAAK,EAAG,QAAO;AAClE,MAAI,OAAO,SAAS,YAAY,OAAO,UAAU,YAC7C,OAAO,cAAc,UAAa,MAAM,SAAS,OAAO,UAAW,QAAO;AAC9E,MAAI,OAAO,SAAS,WAAW,MAAM,QAAQ,KAAK,KAC9C,OAAO,aAAa,UAAa,MAAM,SAAS,OAAO,SAAU,QAAO;AAC5E,OAAK,OAAO,SAAS,YAAY,OAAO,SAAS,cAAc,OAAO,UAAU,UAAU;AACxF,QAAI,OAAO,YAAY,UAAa,QAAQ,OAAO,QAAS,QAAO;AACnE,QAAI,OAAO,YAAY,UAAa,QAAQ,OAAO,QAAS,QAAO;AACnE,QAAI,OAAO,qBAAqB,UAAa,SAAS,OAAO,iBAAkB,QAAO;AACtF,QAAI,OAAO,qBAAqB,UAAa,SAAS,OAAO,iBAAkB,QAAO;AAAA,EACxF;AACA,MAAI,OAAO,SAAS,WAAW,OAAO,SAAS,MAAM,QAAQ,KAAK,GAAG;AACnE,WAAO,MAAM,MAAM,CAAC,SAAS,yBAAyB,MAAM,OAAO,OAAQ,IAAI,CAAC;AAAA,EAClF;AACA,QAAM,oBACJ,OAAO,SAAS,YAChB,OAAO,aAAa,UACpB,OAAO,eAAe,UACtB,OAAO,yBAAyB;AAClC,MAAI,CAAC,kBAAmB,QAAO;AAC/B,MAAI,CAAC,SAAS,KAAK,EAAG,QAAO;AAC7B,MAAI,OAAO,UAAU,KAAK,CAAC,QAAQ,EAAE,OAAO,MAAM,EAAG,QAAO;AAC5D,QAAM,aAAa,OAAO,cAAc,CAAC;AACzC,aAAW,CAAC,KAAK,cAAc,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC9D,QAAI,OAAO,SAAS,CAAC,yBAAyB,MAAM,GAAG,GAAG,gBAAgB,IAAI,GAAG;AAC/E,aAAO;AAAA,IACT;AAAA,EACF;AACA,QAAM,YAAY,OAAO,KAAK,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,WAAW;AACzE,MAAI,OAAO,yBAAyB,SAAS,UAAU,SAAS,EAAG,QAAO;AAC1E,QAAM,mBAAmB,OAAO;AAChC,MAAI,SAAS,gBAAgB,GAAG;AAC9B,WAAO,UAAU;AAAA,MAAM,CAAC,QACtB,yBAAyB,MAAM,GAAG,GAAG,kBAAkB,IAAI;AAAA,IAC7D;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,cAAc,OAAsC;AAClE,SAAO,yBAAyB,OAAO,qBAAqB,mBAAmB;AACjF;AAGO,SAAS,oBAAoB,SAAmC;AACrE,SAAO,QAAQ,IAAI,CAAC,MAAM,UAAU;AAClC,QAAI,CAAC,cAAc,IAAI,GAAG;AACxB,YAAM,IAAI;AAAA,QACR,gCAAgC,KAAK;AAAA,MACvC;AAAA,IACF;AACA,WAAO;AAAA,EACT,CAAC;AACH;AAKO,IAAM,oBAAoB,CAAC,WAAW,kBAAkB,SAAS;AAKjE,IAAM,6BAA6B;AAEnC,IAAM,2BAA2B,CAAC,UAAU,WAAW,MAAM;AAE7D,IAAM,kCAAyD;AA2L/D,SAAS,eAAe,MAA2C;AACxE,SAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,QAAQ,OAAO;AAC5E;AAGO,SAAS,mBAAmB,SAA+C;AAChF,MAAI,QAAQ,MAAM,IAAK,QAAO,EAAE,OAAO,SAAS,MAAM,EAAE,MAAM,QAAQ,EAAE,EAAE;AAC1E,SAAO,EAAE,OAAO,mBAAmB,MAAM,EAAE,MAAM,QAAQ,EAAE,EAAE;AAC/D;AAGO,SAAS,aAAa,GAAkE;AAC7F,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,sBAAsB,GAAqF;AACzH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,iBAAiB,GAA0E;AACzG,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,aAAa,GAAkE;AAC7F,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,eAAe,GAAsE;AACnG,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,YAAY,GAAgE;AAC1F,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,iBAAiB,GAA0F;AACzH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,YAAY,GAAgE;AAC1F,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,kBAAkB,GAA4E;AAC5G,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,aAAa,GAAkE;AAC7F,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,iBAAiB,GAA2E;AAC1G,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,iBAAiB,GAA0E;AACzG,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,WAAW,GAA8D;AACvF,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,mBAAmB,GAA+E;AAChH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,sBAAsB,GAAqF;AACzH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,oBAAoB,GAAiF;AACnH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,uBAAuB,GAAuF;AAC5H,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,uBAAuB,GAAuF;AAC5H,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,wBAAwB,GAAyF;AAC/H,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,oBAAoB,GAAiF;AACnH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,sBAAsB,GAAqF;AACzH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,yBAAyB,GAA2F;AAClI,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,qBAAqB,GAAmF;AACtH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,gBAAgB,GAAwE;AACtG,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,oBAAoB,GAAiF;AACnH,SAAO,EAAE,UAAU;AACrB;AAEO,SAAS,oBAAoB,GAAoC;AACtE,SAAO,OAAO,MAAM,YAAY,MAAM,QAAS,EAAwB,MAAM,OAAO,OAAQ,EAAwB,MAAM;AAC5H;AAEO,SAAS,6BAA6B,GAA6C;AACxF,SAAO,OAAO,MAAM,YAAY,MAAM,QAAS,EAAiC,MAAM,OAAO,OAAQ,EAAiC,MAAM;AAC9I;","names":[]}
|