lumiverse-spindle-types 0.6.27 → 0.6.29

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/dist/api.d.ts CHANGED
@@ -736,6 +736,82 @@ export interface ImageGenRequestDTO {
736
736
  /** For operator-scoped extensions. */
737
737
  userId?: string;
738
738
  }
739
+ /** One normalized LoRA layer for native Lumiverse image generation. */
740
+ export interface ImageGenLoraEntryDTO {
741
+ /** Filename/path as understood by the configured native image provider. */
742
+ lora_name: string;
743
+ /** Model/UNet strength. */
744
+ weight_model: number;
745
+ /** CLIP/text-encoder strength. Defaults to `weight_model`. */
746
+ weight_clip?: number;
747
+ }
748
+ /**
749
+ * Selects the character identity LoRA used by native Lumiverse image
750
+ * generation independently from the active chat's owner.
751
+ */
752
+ export type ImageGenCharacterLoraSelectionDTO = {
753
+ source: "chat";
754
+ } | {
755
+ source: "none";
756
+ } | {
757
+ source: "character";
758
+ characterId: string;
759
+ } | {
760
+ source: "explicit";
761
+ lora: ImageGenLoraEntryDTO;
762
+ base_tags?: string;
763
+ };
764
+ /**
765
+ * Input for `spindle.imageGen.generateNative()`.
766
+ *
767
+ * Unlike `generate()`, this explicitly opts into Lumiverse's configured
768
+ * native image pipeline: active image-gen connection, prompt presets/parser,
769
+ * active LoRA preset, provider normalization, and native workflow handling.
770
+ */
771
+ export interface ImageGenNativeRequestDTO {
772
+ /** Chat used for prompt/macro context and native generation lifecycle. */
773
+ chat_id: string;
774
+ /** Inline prompt. Optional when native settings/preset supply one. */
775
+ prompt?: string;
776
+ negativePrompt?: string;
777
+ promptMode?: "scene" | "custom" | "parsed_custom";
778
+ promptPresetId?: string | null;
779
+ /** Skip parser/scene rewriting and use the resolved prompt directly. */
780
+ skipParse?: boolean;
781
+ /** Defaults to true for extension-triggered native generation. */
782
+ forceGeneration?: boolean;
783
+ /** Omitted = native chat/default character-LoRA behavior. */
784
+ characterLora?: ImageGenCharacterLoraSelectionDTO;
785
+ /** Skip the user's active native LoRA preset for this request. */
786
+ bypassActiveLoraPreset?: boolean;
787
+ /** Ordered LoRA layers appended after preset + selected character layers. */
788
+ extraLoras?: ImageGenLoraEntryDTO[];
789
+ /** Additional positive anchor tags prepended after preset/character tags. */
790
+ extraBaseTags?: string;
791
+ /** Scale applied to the complete assembled LoRA stack. */
792
+ loraStrengthScale?: number;
793
+ /** Provider parameters merged over the active native connection defaults. */
794
+ parameters?: Record<string, unknown>;
795
+ /** Omit the base64 payload while retaining persisted IDs/URL. */
796
+ includeDataUrl?: boolean;
797
+ clientJobId?: string;
798
+ promptGenerationTimeoutSeconds?: number;
799
+ generationTimeoutSeconds?: number;
800
+ /** For operator-scoped extensions. */
801
+ userId?: string;
802
+ }
803
+ /** Result from `spindle.imageGen.generateNative()`. */
804
+ export interface ImageGenNativeResultDTO {
805
+ generated: boolean;
806
+ reason?: string;
807
+ prompt: string;
808
+ negativePrompt?: string;
809
+ provider: string;
810
+ imageDataUrl?: string;
811
+ imageId?: string;
812
+ imageUrl?: string;
813
+ jobId?: string;
814
+ }
739
815
  /** Result from `spindle.imageGen.generate()` */
740
816
  export interface ImageGenResultDTO {
741
817
  imageDataUrl: string;
@@ -2769,6 +2845,10 @@ export interface SwipeEditedPayloadDTO {
2769
2845
  * role boundaries directly instead of re-parsing the flattened `args.context`
2770
2846
  * string. Multi-part message content is flattened to its text portion before
2771
2847
  * being delivered. `undefined` for non-council invocation paths.
2848
+ *
2849
+ * Authenticated user context is intentionally NOT part of this payload. Hosts deliver
2850
+ * it separately as the TOOL_INVOCATION handler's second argument so model-controlled
2851
+ * args cannot spoof or collide with identity metadata.
2772
2852
  */
2773
2853
  export interface ToolInvocationPayloadDTO {
2774
2854
  /** The bare (unqualified) tool name, matching what was passed to `registerTool`. */
@@ -4353,6 +4433,10 @@ export type WorkerToHost = {
4353
4433
  type: "image_gen_generate";
4354
4434
  requestId: string;
4355
4435
  input: ImageGenRequestDTO;
4436
+ } | {
4437
+ type: "image_gen_generate_native";
4438
+ requestId: string;
4439
+ input: ImageGenNativeRequestDTO;
4356
4440
  }
4357
4441
  /**
4358
4442
  * Start a WebSocket-backed image stream. Only providers that advertise
@@ -4603,6 +4687,13 @@ export type HostToWorker = {
4603
4687
  requestId: string;
4604
4688
  toolName: string;
4605
4689
  args: Record<string, unknown>;
4690
+ /**
4691
+ * Trusted host context identifying the user whose generation triggered this tool invocation.
4692
+ * This value is host-owned transport metadata: it is never sourced from, merged into, or
4693
+ * exposed through model-controlled tool args. The worker runtime delivers it as the second
4694
+ * argument to the TOOL_INVOCATION handler. Optional for compatibility with older hosts.
4695
+ */
4696
+ userId?: string;
4606
4697
  /**
4607
4698
  * Populated when the invocation originates from a council execution
4608
4699
  * cycle — carries the assigned council member's identity, role, chance,
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { ALL_CAPABILITIES, isValidCapability } from "./capabilities.js";
11
11
  export { SpindleEvent, CoreEventType } from "./events.js";
12
12
  export type { SpindleFrontendRuntimeCapability } from "./frontend-capabilities.js";
13
13
  export { ALL_FRONTEND_RUNTIME_CAPABILITIES, isValidFrontendRuntimeCapability, } from "./frontend-capabilities.js";
14
- export type { LlmMessagePartDTO, LlmMessageDTO, LlmThinkingBlockDTO, SpindleUserRoleDTO, InterceptorGenerationType, InterceptorMatchScalar, InterceptorMatchDTO, InterceptorRegistrationMatchOptions, InterceptorRegistrationOptions, InterceptorContextDTO, InterceptorDisposer, InterceptorHandler, DeferredGuidanceDTO, InterceptorBreakdownEntryDTO, FinalResponseDTO, InterceptorResultDTO, MacroDefinitionDTO, MacroInvocationContextDTO, MacroResolveOptionsDTO, MacroResolveResultDTO, ToolRegistrationDTO, ToolSchemaDTO, ToolCallDTO, ToolDefinitionDTO, GenerationUsageDTO, GenerationResponseDTO, GenerationDispatchSourceDTO, ConnectionDispatchDescriptorDTO, GenerationRequestDTO, GenerationReasoningOverrideDTO, ReasoningEffortDTO, ReasoningSettingsDTO, ThinkingDisplayDTO, ConnectionReasoningBindingsDTO, ChatAppendGenerationOptionsDTO, ChatAppendMessageOptionsDTO, StreamChunkDTO, RequestInitDTO, ConnectionProfileDTO, PermissionDeniedDetail, PermissionChangedDetail, McpTransportTypeDTO, McpServerDTO, McpServerCreateDTO, McpToolDTO, McpServerStatusDTO, McpToolCallOptionsDTO, CharacterDTO, CharacterCreateDTO, CharacterAvatarUploadDTO, CharacterUpdateDTO, ChatDTO, ChatUpdateDTO, ChatSwitchedPayloadDTO, ChatChangedPayloadDTO, ChatForkedPayloadDTO, PromptVariableOptionDTO, PromptVariableDefDTO, PromptVariableTypeDTO, PromptVariableValueDTO, PromptVariableValuesDTO, PromptBlockRoleDTO, PromptBlockPositionDTO, PromptBlockCategoryModeDTO, PromptBlockPlacementDTO, PromptBlockPlacementBindingDTO, PromptBlockDTO, PromptBlockSnapshotDTO, PromptBlockCreateDTO, PromptBlockUpdateDTO, PromptBlockCategoryGroupDTO, HostResponseErrorDTO, UserPresetDTO, UserPresetCreateDTO, UserPresetUpdateDTO, WorldBookDTO, WorldBookCreateDTO, WorldBookUpdateDTO, WorldBookEntryDTO, WorldBookEntryCreateDTO, WorldBookEntryUpdateDTO, RegexPlacementDTO, RegexScopeDTO, RegexTargetDTO, RegexMacroModeDTO, RegexScriptDTO, RegexScriptCreateDTO, RegexScriptUpdateDTO, RegexScriptListOptionsDTO, RegexScriptActiveOptionsDTO, WorldInfoInterceptorEntryDTO, WorldInfoInterceptorMessageDTO, WorldInfoActivationSettingsDTO, WorldInfoActivationOverridesDTO, WorldInfoInterceptorRoleDTO, WorldInfoInterceptorPlacementDTO, WorldInfoInterceptorCtxDTO, WorldInfoInterceptorMutationDTO, WorldInfoInterceptorResultDTO, DatabankScopeDTO, DatabankDocumentStatusDTO, DatabankDTO, DatabankCreateDTO, DatabankUpdateDTO, DatabankDocumentDTO, DatabankDocumentCreateDTO, DatabankDocumentUpdateDTO, PersonaDTO, GlobalAddonDTO, GlobalAddonUpdateDTO, LumiaItemDTO, LoomItemCategoryDTO, LoomItemDTO, LoomToolDTO, LumiaDlcPackDTO, LumiaDlcCatalogDTO, PersonaCreateDTO, PersonaUpdateDTO, ActivatedWorldInfoEntryDTO, WorldBookSourceDTO, WorldInfoActivatedEventDTO, DryRunRequestDTO, DryRunResultDTO, AssembleRequestDTO, AssembleResultDTO, BoundPrefillAttachmentDTO, BoundAssembleRequestDTO, BoundAssemblySuccessDTO, BoundAssemblyFailureDTO, BoundAssemblyOutcomeDTO, QuietTrackedRequestDTO, QuietDispatchReceiptDTO, QuietTrackedResultDTO, AssemblyBreakdownEntryDTO, ActivationStatsDTO, MemoryStatsDTO, DryRunTokenCountDTO, ChatMemoryChunkDTO, ChatMemoryResultDTO, ImageGenConnectionDTO, ImageGenParameterSchemaDTO, ImageGenProviderDTO, ImageGenRequestDTO, ImageGenResultDTO, ImageGenStreamRequestDTO, ImageGenStreamStatusDTO, ImageGenStreamPreviewDTO, ImageGenStreamDoneDTO, ImageGenStreamEventDTO, ImageGetOptionsDTO, ImageDTO, ImageListOptionsDTO, ImageSpecificityDTO, ImageVideoCodecDTO, ImageUploadDTO, ImageUploadFromDataUrlOptionsDTO, MediaSourceDTO, MediaAudioFormatDTO, MediaVideoFormatDTO, MediaVideoCodecDTO, MediaAudioCodecDTO, MediaFitModeDTO, MediaTransformResultDTO, MediaConvertAudioRequestDTO, MediaConvertVideoRequestDTO, MediaTranscodeVideoRequestDTO, MediaRemoveAudioFromVideoRequestDTO, MediaAddAudioToVideoRequestDTO, MediaCreateVideoFromImageAndAudioRequestDTO, ThemeOverrideDTO, ThemeInfoDTO, ThemePaletteConfigDTO, ThemeVariablesConfigDTO, ColorExtractionResult, ColorRGB, ColorHSL, SpindleModalItemDTO, SpindleCommandDTO, SpindleCommandContextDTO, SpindleUIDrawerTabDTO, SpindleUISettingsTabDTO, FrontendProcessStateDTO, FrontendProcessExitReasonDTO, FrontendProcessSpawnOptionsDTO, FrontendProcessListOptionsDTO, FrontendProcessInfoDTO, FrontendProcessLifecycleEventDTO, FrontendProcessStopOptionsDTO, BackendProcessStateDTO, BackendProcessExitReasonDTO, BackendProcessSpawnOptionsDTO, BackendProcessListOptionsDTO, BackendProcessInfoDTO, BackendProcessLifecycleEventDTO, BackendProcessStopOptionsDTO, GenerationStartedPayloadDTO, StreamTokenPayloadDTO, GenerationEndedPayloadDTO, GenerationStoppedPayloadDTO, GenerationObserver, ChatMessageDTO, MessageSwipeAction, MessageSwipedPayloadDTO, SwipeEditedPayloadDTO, ToolInvocationPayloadDTO, TokenModelSourceDTO, TokenCountOptionsDTO, TokenCountResultDTO, SpindleUploadDTO, SharedRpcRequestContextDTO, SharedRpcEndpointPolicyDTO, MacroInterceptorPhase, MacroInterceptorCharacterEnvDTO, MacroInterceptorChatEnvDTO, MacroInterceptorEnvDTO, MacroInterceptorCtxDTO, MacroInterceptorResultDTO, MacroInterceptorRichResultDTO, MessageContentProcessorOrigin, MessageContentProcessorCtxDTO, MessageContentProcessorResultDTO, WebSearchProviderDTO, WebSearchSettingsDTO, WebSearchResultDTO, WebSearchDocumentDTO, WebSearchRequestDTO, WebSearchResponseDTO, WorkerToHost, HostToWorker, ProviderKind, ProviderDescriptor, ProviderBrokerSpec, ProviderKeyDTO, WorkerToHostProviderMessage, HostToWorkerProviderMessage, ProviderRuntimeMessage, BrokerRequest, BrokerResponse, ProviderManager, } from "./api.js";
14
+ export type { LlmMessagePartDTO, LlmMessageDTO, LlmThinkingBlockDTO, SpindleUserRoleDTO, InterceptorGenerationType, InterceptorMatchScalar, InterceptorMatchDTO, InterceptorRegistrationMatchOptions, InterceptorRegistrationOptions, InterceptorContextDTO, InterceptorDisposer, InterceptorHandler, DeferredGuidanceDTO, InterceptorBreakdownEntryDTO, FinalResponseDTO, InterceptorResultDTO, MacroDefinitionDTO, MacroInvocationContextDTO, MacroResolveOptionsDTO, MacroResolveResultDTO, ToolRegistrationDTO, ToolSchemaDTO, ToolCallDTO, ToolDefinitionDTO, GenerationUsageDTO, GenerationResponseDTO, GenerationDispatchSourceDTO, ConnectionDispatchDescriptorDTO, GenerationRequestDTO, GenerationReasoningOverrideDTO, ReasoningEffortDTO, ReasoningSettingsDTO, ThinkingDisplayDTO, ConnectionReasoningBindingsDTO, ChatAppendGenerationOptionsDTO, ChatAppendMessageOptionsDTO, StreamChunkDTO, RequestInitDTO, ConnectionProfileDTO, PermissionDeniedDetail, PermissionChangedDetail, McpTransportTypeDTO, McpServerDTO, McpServerCreateDTO, McpToolDTO, McpServerStatusDTO, McpToolCallOptionsDTO, CharacterDTO, CharacterCreateDTO, CharacterAvatarUploadDTO, CharacterUpdateDTO, ChatDTO, ChatUpdateDTO, ChatSwitchedPayloadDTO, ChatChangedPayloadDTO, ChatForkedPayloadDTO, PromptVariableOptionDTO, PromptVariableDefDTO, PromptVariableTypeDTO, PromptVariableValueDTO, PromptVariableValuesDTO, PromptBlockRoleDTO, PromptBlockPositionDTO, PromptBlockCategoryModeDTO, PromptBlockPlacementDTO, PromptBlockPlacementBindingDTO, PromptBlockDTO, PromptBlockSnapshotDTO, PromptBlockCreateDTO, PromptBlockUpdateDTO, PromptBlockCategoryGroupDTO, HostResponseErrorDTO, UserPresetDTO, UserPresetCreateDTO, UserPresetUpdateDTO, WorldBookDTO, WorldBookCreateDTO, WorldBookUpdateDTO, WorldBookEntryDTO, WorldBookEntryCreateDTO, WorldBookEntryUpdateDTO, RegexPlacementDTO, RegexScopeDTO, RegexTargetDTO, RegexMacroModeDTO, RegexScriptDTO, RegexScriptCreateDTO, RegexScriptUpdateDTO, RegexScriptListOptionsDTO, RegexScriptActiveOptionsDTO, WorldInfoInterceptorEntryDTO, WorldInfoInterceptorMessageDTO, WorldInfoActivationSettingsDTO, WorldInfoActivationOverridesDTO, WorldInfoInterceptorRoleDTO, WorldInfoInterceptorPlacementDTO, WorldInfoInterceptorCtxDTO, WorldInfoInterceptorMutationDTO, WorldInfoInterceptorResultDTO, DatabankScopeDTO, DatabankDocumentStatusDTO, DatabankDTO, DatabankCreateDTO, DatabankUpdateDTO, DatabankDocumentDTO, DatabankDocumentCreateDTO, DatabankDocumentUpdateDTO, PersonaDTO, GlobalAddonDTO, GlobalAddonUpdateDTO, LumiaItemDTO, LoomItemCategoryDTO, LoomItemDTO, LoomToolDTO, LumiaDlcPackDTO, LumiaDlcCatalogDTO, PersonaCreateDTO, PersonaUpdateDTO, ActivatedWorldInfoEntryDTO, WorldBookSourceDTO, WorldInfoActivatedEventDTO, DryRunRequestDTO, DryRunResultDTO, AssembleRequestDTO, AssembleResultDTO, BoundPrefillAttachmentDTO, BoundAssembleRequestDTO, BoundAssemblySuccessDTO, BoundAssemblyFailureDTO, BoundAssemblyOutcomeDTO, QuietTrackedRequestDTO, QuietDispatchReceiptDTO, QuietTrackedResultDTO, AssemblyBreakdownEntryDTO, ActivationStatsDTO, MemoryStatsDTO, DryRunTokenCountDTO, ChatMemoryChunkDTO, ChatMemoryResultDTO, ImageGenConnectionDTO, ImageGenParameterSchemaDTO, ImageGenProviderDTO, ImageGenRequestDTO, ImageGenResultDTO, ImageGenLoraEntryDTO, ImageGenCharacterLoraSelectionDTO, ImageGenNativeRequestDTO, ImageGenNativeResultDTO, ImageGenStreamRequestDTO, ImageGenStreamStatusDTO, ImageGenStreamPreviewDTO, ImageGenStreamDoneDTO, ImageGenStreamEventDTO, ImageGetOptionsDTO, ImageDTO, ImageListOptionsDTO, ImageSpecificityDTO, ImageVideoCodecDTO, ImageUploadDTO, ImageUploadFromDataUrlOptionsDTO, MediaSourceDTO, MediaAudioFormatDTO, MediaVideoFormatDTO, MediaVideoCodecDTO, MediaAudioCodecDTO, MediaFitModeDTO, MediaTransformResultDTO, MediaConvertAudioRequestDTO, MediaConvertVideoRequestDTO, MediaTranscodeVideoRequestDTO, MediaRemoveAudioFromVideoRequestDTO, MediaAddAudioToVideoRequestDTO, MediaCreateVideoFromImageAndAudioRequestDTO, ThemeOverrideDTO, ThemeInfoDTO, ThemePaletteConfigDTO, ThemeVariablesConfigDTO, ColorExtractionResult, ColorRGB, ColorHSL, SpindleModalItemDTO, SpindleCommandDTO, SpindleCommandContextDTO, SpindleUIDrawerTabDTO, SpindleUISettingsTabDTO, FrontendProcessStateDTO, FrontendProcessExitReasonDTO, FrontendProcessSpawnOptionsDTO, FrontendProcessListOptionsDTO, FrontendProcessInfoDTO, FrontendProcessLifecycleEventDTO, FrontendProcessStopOptionsDTO, BackendProcessStateDTO, BackendProcessExitReasonDTO, BackendProcessSpawnOptionsDTO, BackendProcessListOptionsDTO, BackendProcessInfoDTO, BackendProcessLifecycleEventDTO, BackendProcessStopOptionsDTO, GenerationStartedPayloadDTO, StreamTokenPayloadDTO, GenerationEndedPayloadDTO, GenerationStoppedPayloadDTO, GenerationObserver, ChatMessageDTO, MessageSwipeAction, MessageSwipedPayloadDTO, SwipeEditedPayloadDTO, ToolInvocationPayloadDTO, TokenModelSourceDTO, TokenCountOptionsDTO, TokenCountResultDTO, SpindleUploadDTO, SharedRpcRequestContextDTO, SharedRpcEndpointPolicyDTO, MacroInterceptorPhase, MacroInterceptorCharacterEnvDTO, MacroInterceptorChatEnvDTO, MacroInterceptorEnvDTO, MacroInterceptorCtxDTO, MacroInterceptorResultDTO, MacroInterceptorRichResultDTO, MessageContentProcessorOrigin, MessageContentProcessorCtxDTO, MessageContentProcessorResultDTO, WebSearchProviderDTO, WebSearchSettingsDTO, WebSearchResultDTO, WebSearchDocumentDTO, WebSearchRequestDTO, WebSearchResponseDTO, WorkerToHost, HostToWorker, ProviderKind, ProviderDescriptor, ProviderBrokerSpec, ProviderKeyDTO, WorkerToHostProviderMessage, HostToWorkerProviderMessage, ProviderRuntimeMessage, BrokerRequest, BrokerResponse, ProviderManager, } from "./api.js";
15
15
  export { PERMISSION_DENIED_PREFIX } from "./api.js";
16
16
  export type { ToolRegistration, JSONSchema } from "./tools.js";
17
17
  export type { SpindleMessageElement, SpindleTextEditorOptions, SpindleTextEditorResult, SpindleDOMHelper, SpindleMountPoint, SpindleUploadFile, SpindleMessageTagIntercept, SpindleMessageTagInterceptorOptions, SpindleMessageWidgetOptions, PermissionRequestOptions, SpindleFrontendContext, SpindleFrontendContextV2, SpindleSettingsAPI, SpindleSettingsTabOptions, SpindleSettingsTabSection, SpindleSettingsTabHandle, SpindleStateSelectors, SpindleResizeController, SpindleGeometryAPI, SpindleHostSurfaceKind, SpindleHostSurfaceRef, SpindleHostActionJsonValue, SpindleHostActionParams, SpindleHostSurfaceInfo, SpindleHostSurfaceTarget, SpindleHostSurfaceTargetHandler, SpindleHostSurfaceAPI, SpindleComponentOverrideOptions, SpindleComponentOverrideHandle, SpindleDomDecoratorOptions, SpindleDomDecoratorHandle, SpindleMessageActionOptions, SpindleMessageActionHandle, SpindleFrontendWorldBooksAPI, SpindleFrontendTokensAPI, SpindleFrontendConnectionsAPI, SpindleFrontendChatsAPI, SpindleFrontendMessagesAPI, SpindleRecentChatsQuery, SpindleRecentChat, SpindleGroupedRecentChat, SpindleRecentChatsPage, SpindleFrontendModule, SpindleFrontendTeardown, SpindleGuideDefinition, SpindleDrawerTabOptions, SpindleDrawerTabHandle, SpindleCharacterEditorTabOptions, SpindleCharacterEditorTabHandle, SpindleCharacterEditorState, SpindleCharacterEditorSaveOptions, SpindleCharacterEditorHelper, SpindlePresetEditorTabOptions, SpindlePresetEditorTabHandle, SpindlePresetEditorToolbarItemOptions, SpindlePresetEditorToolbarItemHandle, SpindlePresetEditorDraft, SpindlePresetEditorState, SpindlePresetEditorSaveOptions, SpindlePresetEditorHelper, SpindlePresetEditorBuiltinTabId, SpindlePresetEditorExtensionState, SpindlePresetEditorScopedHelper, SpindleFloatWidgetOptions, SpindleFloatWidgetHandle, SpindleDockEdge, SpindleDockPanelOptions, SpindleDockPanelHandle, SpindleAppMountOptions, SpindleAppMountHandle, SpindleInputBarActionOptions, SpindleInputBarActionHandle, SpindleSandboxFrameOptions, SpindleSandboxFrameHandle, SpindleSandboxMediaResource, SpindleSandboxAudioOptions, SpindleSandboxAudioHandle, SpindleSandboxAPI, SpindleContextMenuOptions, SpindleContextMenuItemDef, SpindleContextMenuResult, SpindleModalOptions, SpindleModalHandle, SpindleConfirmVariant, SpindleConfirmOptions, SpindleConfirmResult, SpindleUIDomActionEventType, SpindleUIKeyboardState, SpindleUIDrawerState, SpindleUISettingsState, SpindleUIDomActionDetail, SpindleUIDomActionBindingOptions, SpindleUIEventsHelper, SpindleFrontendProcessContext, SpindleFrontendProcessRegistry, SpindleDisplayResolver, SpindleDisplayResolverRegistry, SpindleDisplayContext, SpindleDisplayBodyArgs, SpindleDisplayTemplatesArgs, SpindleDisplayScriptsArgs, SpindleDisplayResolveResult, SpindleDisplayTemplatesResult, SpindleTabLocation, } from "./dom.js";
@@ -2,7 +2,7 @@ import type { SpindleManifest } from "./manifest.js";
2
2
  import type { SpindleHostDescriptorV1 } from "./host.js";
3
3
  import type { SpindleTextEditorOptions, SpindleTextEditorResult } from "./dom.js";
4
4
  import type { CouncilMemberContext, CouncilSettings } from "./council.js";
5
- import type { LlmMessageDTO, InterceptorDisposer, InterceptorHandler, InterceptorRegistrationMatchOptions, InterceptorRegistrationOptions, MacroDefinitionDTO, MacroResolveOptionsDTO, MacroResolveResultDTO, ToolRegistrationDTO, GenerationRequestDTO, ChatAppendMessageOptionsDTO, RequestInitDTO, ConnectionProfileDTO, ConnectionDispatchDescriptorDTO, PermissionDeniedDetail, PermissionChangedDetail, CharacterDTO, CharacterCreateDTO, CharacterAvatarUploadDTO, CharacterUpdateDTO, ChatDTO, ChatUpdateDTO, UserPresetDTO, UserPresetCreateDTO, UserPresetUpdateDTO, PromptBlockSnapshotDTO, PromptBlockCreateDTO, PromptBlockUpdateDTO, PromptBlockCategoryGroupDTO, WorldBookDTO, WorldBookCreateDTO, WorldBookUpdateDTO, WorldBookEntryDTO, WorldBookEntryCreateDTO, WorldBookEntryUpdateDTO, RegexScriptDTO, RegexScriptCreateDTO, RegexScriptUpdateDTO, RegexScriptListOptionsDTO, RegexScriptActiveOptionsDTO, DatabankDTO, DatabankCreateDTO, DatabankUpdateDTO, DatabankDocumentDTO, DatabankDocumentCreateDTO, DatabankDocumentUpdateDTO, PersonaDTO, GlobalAddonDTO, GlobalAddonUpdateDTO, LumiaItemDTO, LumiaDlcCatalogDTO, PersonaCreateDTO, PersonaUpdateDTO, ActivatedWorldInfoEntryDTO, DryRunRequestDTO, DryRunResultDTO, AssembleRequestDTO, AssembleResultDTO, BoundAssembleRequestDTO, BoundAssemblyOutcomeDTO, QuietTrackedRequestDTO, QuietTrackedResultDTO, BrokerRequest, BrokerResponse, ChatMemoryResultDTO, ProviderManager, ImageGenRequestDTO, ImageGenResultDTO, ImageGenStreamRequestDTO, ImageGenStreamEventDTO, ImageGenConnectionDTO, ImageGenProviderDTO, ImageGetOptionsDTO, ImageDTO, ImageListOptionsDTO, ImageUploadDTO, ImageUploadFromDataUrlOptionsDTO, MediaConvertAudioRequestDTO, MediaConvertVideoRequestDTO, MediaTranscodeVideoRequestDTO, MediaRemoveAudioFromVideoRequestDTO, MediaAddAudioToVideoRequestDTO, MediaCreateVideoFromImageAndAudioRequestDTO, MediaTransformResultDTO, ThemeOverrideDTO, ThemeInfoDTO, ThemePaletteConfigDTO, ThemeVariablesConfigDTO, ColorExtractionResult, SpindleUserRoleDTO, SpindleModalItemDTO, SpindleCommandDTO, SpindleCommandContextDTO, SpindleUIDrawerTabDTO, SpindleUISettingsTabDTO, FrontendProcessSpawnOptionsDTO, FrontendProcessListOptionsDTO, FrontendProcessInfoDTO, FrontendProcessLifecycleEventDTO, FrontendProcessStopOptionsDTO, BackendProcessSpawnOptionsDTO, BackendProcessListOptionsDTO, BackendProcessInfoDTO, BackendProcessLifecycleEventDTO, BackendProcessStopOptionsDTO, ChatChangedPayloadDTO, ChatForkedPayloadDTO, ChatMessageDTO, GenerationStartedPayloadDTO, StreamTokenPayloadDTO, GenerationEndedPayloadDTO, GenerationStoppedPayloadDTO, GenerationObserver, MessageSwipedPayloadDTO, SwipeEditedPayloadDTO, ToolInvocationPayloadDTO, StreamChunkDTO, TokenCountOptionsDTO, TokenCountResultDTO, SpindleUploadDTO, MacroInterceptorCtxDTO, MacroInterceptorResultDTO, WorldInfoInterceptorCtxDTO, WorldInfoInterceptorResultDTO, MessageContentProcessorCtxDTO, MessageContentProcessorResultDTO, SharedRpcRequestContextDTO, SharedRpcEndpointPolicyDTO, WebSearchRequestDTO, WebSearchResponseDTO, WebSearchSettingsDTO, McpServerDTO, McpServerCreateDTO, McpServerStatusDTO, McpToolDTO, McpToolCallOptionsDTO } from "./api.js";
5
+ import type { LlmMessageDTO, InterceptorDisposer, InterceptorHandler, InterceptorRegistrationMatchOptions, InterceptorRegistrationOptions, MacroDefinitionDTO, MacroResolveOptionsDTO, MacroResolveResultDTO, ToolRegistrationDTO, GenerationRequestDTO, ChatAppendMessageOptionsDTO, RequestInitDTO, ConnectionProfileDTO, ConnectionDispatchDescriptorDTO, PermissionDeniedDetail, PermissionChangedDetail, CharacterDTO, CharacterCreateDTO, CharacterAvatarUploadDTO, CharacterUpdateDTO, ChatDTO, ChatUpdateDTO, UserPresetDTO, UserPresetCreateDTO, UserPresetUpdateDTO, PromptBlockSnapshotDTO, PromptBlockCreateDTO, PromptBlockUpdateDTO, PromptBlockCategoryGroupDTO, WorldBookDTO, WorldBookCreateDTO, WorldBookUpdateDTO, WorldBookEntryDTO, WorldBookEntryCreateDTO, WorldBookEntryUpdateDTO, RegexScriptDTO, RegexScriptCreateDTO, RegexScriptUpdateDTO, RegexScriptListOptionsDTO, RegexScriptActiveOptionsDTO, DatabankDTO, DatabankCreateDTO, DatabankUpdateDTO, DatabankDocumentDTO, DatabankDocumentCreateDTO, DatabankDocumentUpdateDTO, PersonaDTO, GlobalAddonDTO, GlobalAddonUpdateDTO, LumiaItemDTO, LumiaDlcCatalogDTO, PersonaCreateDTO, PersonaUpdateDTO, ActivatedWorldInfoEntryDTO, DryRunRequestDTO, DryRunResultDTO, AssembleRequestDTO, AssembleResultDTO, BoundAssembleRequestDTO, BoundAssemblyOutcomeDTO, QuietTrackedRequestDTO, QuietTrackedResultDTO, BrokerRequest, BrokerResponse, ChatMemoryResultDTO, ProviderManager, ImageGenRequestDTO, ImageGenResultDTO, ImageGenNativeRequestDTO, ImageGenNativeResultDTO, ImageGenStreamRequestDTO, ImageGenStreamEventDTO, ImageGenConnectionDTO, ImageGenProviderDTO, ImageGetOptionsDTO, ImageDTO, ImageListOptionsDTO, ImageUploadDTO, ImageUploadFromDataUrlOptionsDTO, MediaConvertAudioRequestDTO, MediaConvertVideoRequestDTO, MediaTranscodeVideoRequestDTO, MediaRemoveAudioFromVideoRequestDTO, MediaAddAudioToVideoRequestDTO, MediaCreateVideoFromImageAndAudioRequestDTO, MediaTransformResultDTO, ThemeOverrideDTO, ThemeInfoDTO, ThemePaletteConfigDTO, ThemeVariablesConfigDTO, ColorExtractionResult, SpindleUserRoleDTO, SpindleModalItemDTO, SpindleCommandDTO, SpindleCommandContextDTO, SpindleUIDrawerTabDTO, SpindleUISettingsTabDTO, FrontendProcessSpawnOptionsDTO, FrontendProcessListOptionsDTO, FrontendProcessInfoDTO, FrontendProcessLifecycleEventDTO, FrontendProcessStopOptionsDTO, BackendProcessSpawnOptionsDTO, BackendProcessListOptionsDTO, BackendProcessInfoDTO, BackendProcessLifecycleEventDTO, BackendProcessStopOptionsDTO, ChatChangedPayloadDTO, ChatForkedPayloadDTO, ChatMessageDTO, GenerationStartedPayloadDTO, StreamTokenPayloadDTO, GenerationEndedPayloadDTO, GenerationStoppedPayloadDTO, GenerationObserver, MessageSwipedPayloadDTO, SwipeEditedPayloadDTO, ToolInvocationPayloadDTO, StreamChunkDTO, TokenCountOptionsDTO, TokenCountResultDTO, SpindleUploadDTO, MacroInterceptorCtxDTO, MacroInterceptorResultDTO, WorldInfoInterceptorCtxDTO, WorldInfoInterceptorResultDTO, MessageContentProcessorCtxDTO, MessageContentProcessorResultDTO, SharedRpcRequestContextDTO, SharedRpcEndpointPolicyDTO, WebSearchRequestDTO, WebSearchResponseDTO, WebSearchSettingsDTO, McpServerDTO, McpServerCreateDTO, McpServerStatusDTO, McpToolDTO, McpToolCallOptionsDTO } from "./api.js";
6
6
  import type { ChatChunkDTO, ChatLinkAttachDTO, ChatLinkDTO, ChatMemoryWarmupResultDTO, CortexIngestionStatusDTO, CortexIngestionTelemetryDTO, CortexQueryDTO, CortexResultDTO, CortexUsageStatsDTO, LinkedCortexResultDTO, MemoryConsolidationDTO, MemoryCortexConfigDTO, MemoryEntityDTO, MemoryEntityStatusUpdateDTO, MemoryEntityUpsertDTO, MemoryRelationDTO, MemoryRelationUpsertDTO, MemorySalienceDTO, VaultChunkDTO, VaultCreateDTO, VaultDTO, VaultReindexResultDTO, VaultWithContentsDTO } from "./memories.js";
7
7
  export interface FrontendProcessHandle {
8
8
  /** Host-assigned process ID unique within the extension runtime. */
@@ -185,8 +185,13 @@ export interface SpindleAPI {
185
185
  * includes a `councilMember` snapshot describing the assigned member
186
186
  * (identity, role, chance, avatar URL, and Lumia personality fields) so the
187
187
  * extension can tailor its tool output to that member's voice.
188
+ *
189
+ * The optional second `userId` argument is trusted host context identifying the
190
+ * user whose generation triggered the invocation. Multi-user/operator-scoped
191
+ * extensions should pass it through to user-scoped Spindle APIs. It is deliberately
192
+ * kept separate from `payload.args` so tool/model input cannot spoof identity.
188
193
  */
189
- on(event: "TOOL_INVOCATION", handler: (payload: ToolInvocationPayloadDTO) => string | Promise<string> | void | Promise<void>): () => void;
194
+ on(event: "TOOL_INVOCATION", handler: (payload: ToolInvocationPayloadDTO, userId?: string) => string | Promise<string> | void | Promise<void>): () => void;
190
195
  /** Subscribe to a Lumiverse event. Multi-user extensions should use the optional `userId` to keep per-user state and notifications isolated. */
191
196
  on(event: string, handler: (payload: unknown, userId?: string) => void): () => void;
192
197
  /**
@@ -685,6 +690,13 @@ export interface SpindleAPI {
685
690
  * and `imageId` / `imageUrl` remain populated).
686
691
  */
687
692
  generate(input: ImageGenRequestDTO): Promise<ImageGenResultDTO>;
693
+ /**
694
+ * Generate through Lumiverse's configured native image pipeline.
695
+ *
696
+ * This is deliberately separate from {@link generate}; the existing raw
697
+ * connection-level generation semantics remain unchanged.
698
+ */
699
+ generateNative(input: ImageGenNativeRequestDTO): Promise<ImageGenNativeResultDTO>;
688
700
  /**
689
701
  * Generate through a provider that supports WebSocket preview images and
690
702
  * status updates (currently SwarmUI and ComfyUI). The terminal `done`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lumiverse-spindle-types",
3
- "version": "0.6.27",
3
+ "version": "0.6.29",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "keywords": [