lumiverse-spindle-types 0.6.20 → 0.6.22

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
@@ -835,6 +835,8 @@ export interface ImageUploadDTO {
835
835
  owner_character_id?: string;
836
836
  /** Optional chat ownership tag for the persisted image. */
837
837
  owner_chat_id?: string;
838
+ /** Persist the original asset without generating thumbnail derivatives. */
839
+ skip_thumbnail_processing?: boolean;
838
840
  /** For video uploads, strip any audio tracks from the stored output when possible. */
839
841
  strip_audio?: boolean;
840
842
  /** For video uploads, transcode the primary stored asset to this codec. */
@@ -848,6 +850,8 @@ export interface ImageUploadFromDataUrlOptionsDTO {
848
850
  owner_character_id?: string;
849
851
  /** Optional chat ownership tag for the persisted image. */
850
852
  owner_chat_id?: string;
853
+ /** Persist the original asset without generating thumbnail derivatives. */
854
+ skip_thumbnail_processing?: boolean;
851
855
  /** For operator-scoped extensions. */
852
856
  userId?: string;
853
857
  }
@@ -2969,6 +2973,12 @@ export type WorkerToHost = {
2969
2973
  } | {
2970
2974
  type: "unsubscribe_event";
2971
2975
  event: string;
2976
+ } | {
2977
+ type: "register_frontend_runtime_capability";
2978
+ capability: import("./frontend-capabilities.js").SpindleFrontendRuntimeCapability;
2979
+ } | {
2980
+ type: "unregister_frontend_runtime_capability";
2981
+ capability: import("./frontend-capabilities.js").SpindleFrontendRuntimeCapability;
2972
2982
  } | {
2973
2983
  type: "register_macro";
2974
2984
  definition: MacroDefinitionDTO;
@@ -4325,6 +4335,7 @@ export type WorkerToHost = {
4325
4335
  originalFilename?: string;
4326
4336
  owner_character_id?: string;
4327
4337
  owner_chat_id?: string;
4338
+ skip_thumbnail_processing?: boolean;
4328
4339
  userId?: string;
4329
4340
  } | {
4330
4341
  type: "images_delete";
package/dist/dom.d.ts CHANGED
@@ -1205,7 +1205,7 @@ export interface SpindleFrontendContext {
1205
1205
  };
1206
1206
  /** Take over display-time content resolution in the browser. */
1207
1207
  display?: SpindleDisplayResolverRegistry;
1208
- manifest: import("./manifest").SpindleManifest;
1208
+ manifest: import("./manifest.js").SpindleManifest;
1209
1209
  settings?: SpindleSettingsAPI;
1210
1210
  registerComponentOverride?(options: SpindleComponentOverrideOptions): SpindleComponentOverrideHandle;
1211
1211
  registerDomDecorator?(options: SpindleDomDecoratorOptions): SpindleDomDecoratorHandle;
@@ -1,4 +1,5 @@
1
1
  import type { SpindlePermission } from "./permissions.js";
2
+ import type { SpindleFrontendRuntimeCapability } from "./frontend-capabilities.js";
2
3
  /** Extension info as returned by the backend API */
3
4
  export interface ExtensionInfo {
4
5
  id: string;
@@ -16,6 +17,8 @@ export interface ExtensionInfo {
16
17
  updated_at: number;
17
18
  has_frontend: boolean;
18
19
  has_backend: boolean;
20
+ /** Capabilities declared by the currently running backend worker. */
21
+ frontend_runtime_capabilities?: SpindleFrontendRuntimeCapability[];
19
22
  status: "running" | "stopped" | "error";
20
23
  metadata: Record<string, unknown>;
21
24
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Backend-declared capabilities that require the host to coordinate frontend
3
+ * extension startup before rendering dependent UI.
4
+ */
5
+ export declare const ALL_FRONTEND_RUNTIME_CAPABILITIES: readonly ["message_tag_interceptor"];
6
+ export type SpindleFrontendRuntimeCapability = (typeof ALL_FRONTEND_RUNTIME_CAPABILITIES)[number];
7
+ export declare function isValidFrontendRuntimeCapability(capability: string): capability is SpindleFrontendRuntimeCapability;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Backend-declared capabilities that require the host to coordinate frontend
3
+ * extension startup before rendering dependent UI.
4
+ */
5
+ export const ALL_FRONTEND_RUNTIME_CAPABILITIES = [
6
+ "message_tag_interceptor",
7
+ ];
8
+ export function isValidFrontendRuntimeCapability(capability) {
9
+ return ALL_FRONTEND_RUNTIME_CAPABILITIES.includes(capability);
10
+ }
package/dist/host.js CHANGED
@@ -9,6 +9,7 @@ export const SPINDLE_HOST_CAPABILITIES = Object.freeze({
9
9
  "connection-dispatch-resolution-v1": 1,
10
10
  "text-editor-close-v1": 1,
11
11
  "frontend-extensibility-v2": 1,
12
+ "frontend-runtime-capabilities-v1": 1,
12
13
  });
13
14
  /** Structured error code returned when host compatibility validation fails. */
14
15
  export const SPINDLE_COMPATIBILITY_ERROR_CODE = "SPINDLE_COMPATIBILITY_ERROR";
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ export { ALL_PERMISSIONS, isValidPermission } from "./permissions.js";
9
9
  export type { SpindleCapability as SpindleCapabilityType } from "./capabilities.js";
10
10
  export { ALL_CAPABILITIES, isValidCapability } from "./capabilities.js";
11
11
  export { SpindleEvent, CoreEventType } from "./events.js";
12
+ export type { SpindleFrontendRuntimeCapability } from "./frontend-capabilities.js";
13
+ export { ALL_FRONTEND_RUNTIME_CAPABILITIES, isValidFrontendRuntimeCapability, } from "./frontend-capabilities.js";
12
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, 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";
13
15
  export { PERMISSION_DENIED_PREFIX } from "./api.js";
14
16
  export type { ToolRegistration, JSONSchema } from "./tools.js";
package/dist/index.js CHANGED
@@ -4,5 +4,6 @@ export { SPINDLE_THEME_AUTHORING_HOST_CAPABILITIES } from "./theme.js";
4
4
  export { ALL_PERMISSIONS, isValidPermission } from "./permissions.js";
5
5
  export { ALL_CAPABILITIES, isValidCapability } from "./capabilities.js";
6
6
  export { SpindleEvent, CoreEventType } from "./events.js";
7
+ export { ALL_FRONTEND_RUNTIME_CAPABILITIES, isValidFrontendRuntimeCapability, } from "./frontend-capabilities.js";
7
8
  export { PERMISSION_DENIED_PREFIX } from "./api.js";
8
9
  export { SIDECAR_DEFAULTS, COUNCIL_SIDECAR_DEFAULTS, COUNCIL_TOOLS_DEFAULTS, COUNCIL_SETTINGS_DEFAULTS, } from "./council.js";
@@ -49,8 +49,8 @@ export interface SpindleStorageSeedFile {
49
49
  /** If true, fail install/import/update when source path is missing */
50
50
  required?: boolean;
51
51
  }
52
- export type SpindlePermission = import("./permissions").SpindlePermission;
53
- export type SpindleCapability = import("./capabilities").SpindleCapability;
52
+ export type SpindlePermission = import("./permissions.js").SpindlePermission;
53
+ export type SpindleCapability = import("./capabilities.js").SpindleCapability;
54
54
  /** Regex for validating extension identifiers */
55
55
  export declare const IDENTIFIER_PATTERN: RegExp;
56
56
  export declare function validateIdentifier(id: string): boolean;
@@ -134,6 +134,14 @@ export interface SpindleConnectionsAPI {
134
134
  export interface SpindleAPI {
135
135
  /** Immutable host compatibility descriptor for this extension runtime. */
136
136
  readonly host: SpindleHostDescriptorV1;
137
+ /**
138
+ * Declare frontend behavior that the host must account for before dependent
139
+ * UI is revealed. The returned disposer removes the declaration. Repeated
140
+ * declarations of the same capability are reference-counted by the worker.
141
+ */
142
+ frontendCapabilities: {
143
+ declare(capability: import("./frontend-capabilities.js").SpindleFrontendRuntimeCapability): () => void;
144
+ };
137
145
  /**
138
146
  * Subscribe to permission grant/revoke changes for this extension only.
139
147
  * This is delivered directly by the worker host and does not subscribe to
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lumiverse-spindle-types",
3
- "version": "0.6.20",
3
+ "version": "0.6.22",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "keywords": [