lumiverse-spindle-types 0.6.21 → 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
@@ -2973,6 +2973,12 @@ export type WorkerToHost = {
2973
2973
  } | {
2974
2974
  type: "unsubscribe_event";
2975
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;
2976
2982
  } | {
2977
2983
  type: "register_macro";
2978
2984
  definition: MacroDefinitionDTO;
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.21",
3
+ "version": "0.6.22",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "keywords": [