@openspecui/core 3.10.0 → 3.11.0

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/index.d.mts CHANGED
@@ -1,20 +1,20 @@
1
1
  import { C as TranslationEngineProjectSettingsSchema, S as TranslationEngineProjectSettings, _ as TranslationCacheSettingsSchema, a as DocumentTranslationConfigSchema, b as TranslationCacheWriteInput, c as DocumentTranslationDisplayModeSchema, d as TRANSLATION_CACHE_POLICY_VERSION, f as TranslationCacheEntry, g as TranslationCacheSettings, h as TranslationCacheReadInputSchema, i as DocumentTranslationConfigInput, l as MAX_TRANSLATION_CACHE_ENTRY_LIMIT, m as TranslationCacheReadInput, n as DOCUMENT_TRANSLATION_DISPLAY_MODES, o as DocumentTranslationConfigUpdate, p as TranslationCacheEntrySchema, r as DocumentTranslationConfig, s as DocumentTranslationDisplayMode, t as DEFAULT_TRANSLATION_CACHE_ENTRY_LIMIT, u as MIN_TRANSLATION_CACHE_ENTRY_LIMIT, v as TranslationCacheStats, x as TranslationCacheWriteInputSchema, y as TranslationCacheStatsSchema } from "./document-translation-BZ5QKjN0.mjs";
2
2
  import { a as OPENSPECUI_RUNTIME_CAPABILITIES, c as buildEmbeddedUiLaunchUrl, d as isHostedBackendHealthResponse, f as isSupportedEmbeddedUiUrl, h as resolveHostedAppBaseUrl, i as OFFICIAL_APP_BASE_URL, l as buildHostedLaunchUrl, m as normalizeHostedAppBaseUrl, n as HOSTED_SHELL_PROTOCOL_VERSION, o as OpenSpecUIRuntimeCapability, p as normalizeEmbeddedUiUrl, r as HostedBackendHealthResponse, s as buildBackendHealthPayload, u as isBackendHealthRuntimeMetadata } from "./hosted-app-FuxG4-qA.mjs";
3
- import { A as SchemaArtifactSchema, C as ArtifactStatus, D as DependencyInfo, E as ChangeStatusSchema, F as SchemaResolution, I as SchemaResolutionSchema, L as TemplatesMap, M as SchemaDetailSchema, N as SchemaInfo, O as DependencyInfoSchema, P as SchemaInfoSchema, R as TemplatesSchema, S as ArtifactInstructionsSchema, T as ChangeStatus, _ as ApplyInstructionsContextFilesSchema, a as OpsxEntityFile, b as ApplyTaskSchema, c as buildOpsxEntityDetail, d as isOpsxGlobPattern, f as normalizeOpsxEntityPath, g as ApplyInstructions, h as parseOpsxEntityMetadata, i as OpsxEntityDiagnostic, j as SchemaDetail, k as SchemaArtifact, l as getOpsxEntityMetadataPath, m as opsxPathMatchesPattern, n as OpsxEntityArtifactFile, o as OpsxEntityReadOptions, p as opsxGlobToRegex, r as OpsxEntityDetail, s as OpsxEntityStage, t as OpsxEntityArtifact, u as getOpsxEntityRootRelativePath, v as ApplyInstructionsSchema, w as ArtifactStatusSchema, x as ArtifactInstructions, y as ApplyTask, z as isGlobPattern } from "./opsx-entity-DUJvjvrv.mjs";
4
- import { _ as SpecSchema, a as Delta, c as DeltaSchema, d as Requirement, f as RequirementSchema, g as Spec, h as ScenarioStepSchema, i as ChangeSchema, l as DeltaSpec, m as ScenarioStepKeywordSchema, n as ChangeFile, o as DeltaOperation, p as ScenarioStep, r as ChangeFileSchema, s as DeltaOperationType, t as Change, u as DeltaSpecSchema, v as Task, y as TaskSchema } from "./schemas-CqgvXgGV.mjs";
3
+ import { A as SchemaArtifactSchema, C as ArtifactStatus, D as DependencyInfo, E as ChangeStatusSchema, F as SchemaResolution, I as SchemaResolutionSchema, L as TemplatesMap, M as SchemaDetailSchema, N as SchemaInfo, O as DependencyInfoSchema, P as SchemaInfoSchema, R as TemplatesSchema, S as ArtifactInstructionsSchema, T as ChangeStatus, _ as ApplyInstructionsContextFilesSchema, a as OpsxEntityFile, b as ApplyTaskSchema, c as buildOpsxEntityDetail, d as isOpsxGlobPattern, f as normalizeOpsxEntityPath, g as ApplyInstructions, h as parseOpsxEntityMetadata, i as OpsxEntityDiagnostic, j as SchemaDetail, k as SchemaArtifact, l as getOpsxEntityMetadataPath, m as opsxPathMatchesPattern, n as OpsxEntityArtifactFile, o as OpsxEntityReadOptions, p as opsxGlobToRegex, r as OpsxEntityDetail, s as OpsxEntityStage, t as OpsxEntityArtifact, u as getOpsxEntityRootRelativePath, v as ApplyInstructionsSchema, w as ArtifactStatusSchema, x as ArtifactInstructions, y as ApplyTask, z as isGlobPattern } from "./opsx-entity-DHidvJcx.mjs";
4
+ import { _ as SpecSchema, a as Delta, c as DeltaSchema, d as Requirement, f as RequirementSchema, g as Spec, h as ScenarioStepSchema, i as ChangeSchema, l as DeltaSpec, m as ScenarioStepKeywordSchema, n as ChangeFile, o as DeltaOperation, p as ScenarioStep, r as ChangeFileSchema, s as DeltaOperationType, t as Change, u as DeltaSpecSchema, v as Task, y as TaskSchema } from "./schemas-3VC51gAF.mjs";
5
5
  import { a as MarkdownSourceRange, i as MarkdownSourcePoint, n as MarkdownFactKind, o as parseMarkdownFacts, r as MarkdownFactsDocument, s as toMarkdownFactKind, t as MarkdownFact } from "./markdown-facts-DUsbNcjh.mjs";
6
6
  import { S as trimMarkdownSlice, _ as getMarkdownAnnotationsForFact, a as MarkdownAnnotationRule, b as getMarkdownHeadingFacts, c as MarkdownProjectionRule, d as MarkdownReadingPlugin, f as MarkdownReadingPluginRegistry, g as getMarkdownAnnotation, h as createMarkdownReadingDocumentFromFacts, i as MarkdownAnnotationInput, l as MarkdownReadingDocument, m as createMarkdownReadingDocument, n as MarkdownAnnotationConfidence, o as MarkdownFactSpan, p as buildMarkdownParentMap, r as MarkdownAnnotationContext, s as MarkdownProjectionContext, t as MarkdownAnnotation, u as MarkdownReadingLookup, v as getMarkdownFactSpan, x as sortMarkdownReadingPlugins, y as getMarkdownHeadingEnd } from "./markdown-reading-DvLPaaY1.mjs";
7
7
  import { c as OpenSpecScenarioStepKeyword, d as annotateOpenSpecMarkdown, f as builtinOpenSpecReadingPlugin, h as openSpecAnnotationRules, l as OpenSpecSemanticKind, m as getOpenSpecAnnotationsForFact, n as OpenSpecAnnotation, p as getOpenSpecAnnotation, r as OpenSpecAnnotationConfidence, t as AnnotatedOpenSpecDocument, u as annotateOpenSpecFacts } from "./openspec-annotations-DVbFBz5J.mjs";
8
- import { a as OpenSpecReadingSectionsProjection, c as ProjectedOpenSpecDocument, d as getOpenSpecReadingSections, f as parseOpenSpecMarkdownToSpec, i as OpenSpecProjectionOptions, l as createOpenSpecReadingPlugin, m as projectOpenSpecMarkdown, n as OPEN_SPEC_SPEC_PROJECTION_ID, o as OpenSpecRequirementBlock, p as projectAnnotatedOpenSpecToSpec, r as OpenSpecHeadingSection, s as OpenSpecScenarioBlock, t as OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, u as getOpenSpecProjectionAnnotation } from "./openspec-projection-Bby9mX80.mjs";
9
- import { D as normalizeLegacySoundId, E as getBuiltinSoundUrl, O as soundIdFromCustomHash, S as SoundIdSchema, T as customHashFromSoundId, a as BuiltinSoundOption, b as SoundConfigIdSchema, c as CustomSoundHashSchema, d as CustomSoundMetadata, f as CustomSoundMetadataFile, g as DEFAULT_NOTIFICATION_SOUND_ID, h as DEFAULT_BELL_SOUND_ID, i as BuiltinSoundIdSchema, l as CustomSoundId, m as CustomSoundMetadataSchema, n as BUILTIN_SOUND_OPTIONS, o as CUSTOM_SOUND_ADD_VALUE, p as CustomSoundMetadataFileSchema, r as BuiltinSoundId, s as CustomSoundHash, t as BUILTIN_SOUND_IDS, u as CustomSoundIdSchema, v as LEGACY_SOUND_ID_MAP, x as SoundId, y as SILENT_SOUND_ID } from "./sounds-DABkmyg9.mjs";
10
- import { A as TerminalNotificationProtocol, D as TerminalControlEvent, E as groupNotifications, M as TerminalPromptState, N as TerminalTitleTarget, O as TerminalControlParseResult, P as terminalNotificationEventToPublishInput, T as getNotificationGroupLabel, _ as NotificationSource, b as TerminalNotificationParseResult, c as NotificationGroupKeySchema, d as NotificationRecord, f as NotificationRecordSchema, g as NotificationSoundSchema, h as NotificationSound, i as NotificationActionSchema, j as TerminalProgressState, k as TerminalControlParser, l as NotificationPublishInput, m as NotificationSettingsSchema, n as NOTIFICATION_SOUND_VALUES, o as NotificationGroup, p as NotificationSettings, r as NotificationAction, s as NotificationGroupKey, t as NOTIFICATION_SOUND_OPTIONS, u as NotificationPublishInputSchema, v as NotificationSourceSchema, w as getNotificationGroupKey, x as TerminalNotificationParser, y as TerminalNotificationEvent } from "./notifications-D7tcKw71.mjs";
11
- import { $ as getTranslationEngineManifest, A as TranslationEngineGlobalSettingsSchema, B as TranslationModelSearchEvent, C as TRANSLATION_ENGINE_MANIFESTS, D as TranslationDownloadGroupPlan, E as TranslationDownloadFilePlanSchema, F as TranslationEngineRuntime, G as TranslationOpenAISettingsSchema, H as TranslationModelSearchPhase, I as TranslationLocalSettings, J as TranslatorFactory, K as Translator, L as TranslationLocalSettingsSchema, M as TranslationEngineId, N as TranslationEngineIdSchema, O as TranslationDownloadGroupPlanSchema, P as TranslationEngineManifest, Q as TranslatorPrepareMonitor, R as TranslationModelCandidate, S as TRANSLATION_ENGINE_IDS, T as TranslationDownloadFilePlan, U as TranslationModelSearchResult, V as TranslationModelSearchInput, W as TranslationOpenAISettings, X as TranslatorFactoryPrepareOptions, Y as TranslatorFactoryCreateOptions, Z as TranslatorOptions, _ as LocalModelDownloadStatus, a as BatchTranslationResult, b as ServiceTranslationEngineId, c as LocalModelAssetLogSchema, d as LocalModelAssetState, f as LocalModelAssetStateSchema, g as LocalModelCatalogSearchEvent, h as LocalModelCatalogResult, i as BatchTranslateInputSchema, j as TranslationEngineGlobalSettingsUpdate, k as TranslationEngineGlobalSettings, l as LocalModelAssetPlanSnapshot, m as LocalModelCatalogLocalResult, n as BatchTranslateEventSchema, o as DEFAULT_TRANSLATION_ENGINE_ID, p as LocalModelCatalogItem, q as TranslatorCreateMonitor, r as BatchTranslateInput, s as LocalModelAssetLog, t as BatchTranslateEvent, u as LocalModelAssetPlanSnapshotSchema, v as LocalModelDownloadStatusSchema, w as TRANSLATOR_CONTRACT_VERSION, x as ServiceTranslationEngineIdSchema, y as SERVICE_TRANSLATION_ENGINE_IDS, z as TranslationModelDownloadPlan } from "./translator-C3W7bTIN.mjs";
12
- import { i as TerminalBellSoundSchema, n as TERMINAL_BELL_SOUND_VALUES, r as TerminalBellSound, t as TERMINAL_BELL_SOUND_OPTIONS } from "./terminal-audio-CDyXOIWx.mjs";
13
- import { a as buildLocalDownloadPlanFromRepositoryFiles, i as LocalRuntimeProfileFiles, n as LocalModelProfileId, o as buildLocalDownloadPlanFromRuntimeProfileFiles, r as LocalRepositoryFile, s as selectLocalDownloadGroup, t as LOCAL_MODEL_PROFILE_DEFINITIONS } from "./local-download-profiles-Qu1932tV.mjs";
8
+ import { a as OpenSpecReadingSectionsProjection, c as ProjectedOpenSpecDocument, d as getOpenSpecReadingSections, f as parseOpenSpecMarkdownToSpec, i as OpenSpecProjectionOptions, l as createOpenSpecReadingPlugin, m as projectOpenSpecMarkdown, n as OPEN_SPEC_SPEC_PROJECTION_ID, o as OpenSpecRequirementBlock, p as projectAnnotatedOpenSpecToSpec, r as OpenSpecHeadingSection, s as OpenSpecScenarioBlock, t as OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, u as getOpenSpecProjectionAnnotation } from "./openspec-projection-Df5C6CFv.mjs";
9
+ import { D as normalizeLegacySoundId, E as getBuiltinSoundUrl, O as soundIdFromCustomHash, S as SoundIdSchema, T as customHashFromSoundId, a as BuiltinSoundOption, b as SoundConfigIdSchema, c as CustomSoundHashSchema, d as CustomSoundMetadata, f as CustomSoundMetadataFile, g as DEFAULT_NOTIFICATION_SOUND_ID, h as DEFAULT_BELL_SOUND_ID, i as BuiltinSoundIdSchema, l as CustomSoundId, m as CustomSoundMetadataSchema, n as BUILTIN_SOUND_OPTIONS, o as CUSTOM_SOUND_ADD_VALUE, p as CustomSoundMetadataFileSchema, r as BuiltinSoundId, s as CustomSoundHash, t as BUILTIN_SOUND_IDS, u as CustomSoundIdSchema, v as LEGACY_SOUND_ID_MAP, x as SoundId, y as SILENT_SOUND_ID } from "./sounds-CQJ1eD1u.mjs";
10
+ import { A as TerminalNotificationProtocol, D as TerminalControlEvent, E as groupNotifications, M as TerminalPromptState, N as TerminalTitleTarget, O as TerminalControlParseResult, P as terminalNotificationEventToPublishInput, T as getNotificationGroupLabel, _ as NotificationSource, b as TerminalNotificationParseResult, c as NotificationGroupKeySchema, d as NotificationRecord, f as NotificationRecordSchema, g as NotificationSoundSchema, h as NotificationSound, i as NotificationActionSchema, j as TerminalProgressState, k as TerminalControlParser, l as NotificationPublishInput, m as NotificationSettingsSchema, n as NOTIFICATION_SOUND_VALUES, o as NotificationGroup, p as NotificationSettings, r as NotificationAction, s as NotificationGroupKey, t as NOTIFICATION_SOUND_OPTIONS, u as NotificationPublishInputSchema, v as NotificationSourceSchema, w as getNotificationGroupKey, x as TerminalNotificationParser, y as TerminalNotificationEvent } from "./notifications-B4GiAnmn.mjs";
11
+ import { $ as getTranslationEngineManifest, A as TranslationEngineGlobalSettingsSchema, B as TranslationModelSearchEvent, C as TRANSLATION_ENGINE_MANIFESTS, D as TranslationDownloadGroupPlan, E as TranslationDownloadFilePlanSchema, F as TranslationEngineRuntime, G as TranslationOpenAISettingsSchema, H as TranslationModelSearchPhase, I as TranslationLocalSettings, J as TranslatorFactory, K as Translator, L as TranslationLocalSettingsSchema, M as TranslationEngineId, N as TranslationEngineIdSchema, O as TranslationDownloadGroupPlanSchema, P as TranslationEngineManifest, Q as TranslatorPrepareMonitor, R as TranslationModelCandidate, S as TRANSLATION_ENGINE_IDS, T as TranslationDownloadFilePlan, U as TranslationModelSearchResult, V as TranslationModelSearchInput, W as TranslationOpenAISettings, X as TranslatorFactoryPrepareOptions, Y as TranslatorFactoryCreateOptions, Z as TranslatorOptions, _ as LocalModelDownloadStatus, a as BatchTranslationResult, b as ServiceTranslationEngineId, c as LocalModelAssetLogSchema, d as LocalModelAssetState, f as LocalModelAssetStateSchema, g as LocalModelCatalogSearchEvent, h as LocalModelCatalogResult, i as BatchTranslateInputSchema, j as TranslationEngineGlobalSettingsUpdate, k as TranslationEngineGlobalSettings, l as LocalModelAssetPlanSnapshot, m as LocalModelCatalogLocalResult, n as BatchTranslateEventSchema, o as DEFAULT_TRANSLATION_ENGINE_ID, p as LocalModelCatalogItem, q as TranslatorCreateMonitor, r as BatchTranslateInput, s as LocalModelAssetLog, t as BatchTranslateEvent, u as LocalModelAssetPlanSnapshotSchema, v as LocalModelDownloadStatusSchema, w as TRANSLATOR_CONTRACT_VERSION, x as ServiceTranslationEngineIdSchema, y as SERVICE_TRANSLATION_ENGINE_IDS, z as TranslationModelDownloadPlan } from "./translator-BSPMDjZy.mjs";
12
+ import { i as TerminalBellSoundSchema, n as TERMINAL_BELL_SOUND_VALUES, r as TerminalBellSound, t as TERMINAL_BELL_SOUND_OPTIONS } from "./terminal-audio-BrmM5FX_.mjs";
13
+ import { a as buildLocalDownloadPlanFromRepositoryFiles, i as LocalRuntimeProfileFiles, n as LocalModelProfileId, o as buildLocalDownloadPlanFromRuntimeProfileFiles, r as LocalRepositoryFile, s as selectLocalDownloadGroup, t as LOCAL_MODEL_PROFILE_DEFINITIONS } from "./local-download-profiles-BdHk_i54.mjs";
14
14
  import { n as toOpsxDisplayPath, t as VIRTUAL_PROJECT_DIRNAME } from "./opsx-display-path-CbO6K0Qq.mjs";
15
- import { $ as PtyServerMessageSchema, B as PtyCreatedResponseSchema, C as TerminalSpawnCommand, E as getTerminalCommandDefaultValues, F as PtyBufferResponseSchema, G as PtyListMessageSchema, H as PtyErrorResponseSchema, I as PtyClientMessage, J as PtyPlatform, K as PtyListResponseSchema, L as PtyClientMessageSchema, M as resolveTerminalShellDefaults, N as PtyAttachMessageSchema, O as quoteTerminalShellArg, P as PtyBellResponseSchema, Q as PtyServerMessage, R as PtyCloseMessageSchema, S as TerminalShellQuoteStyleSchema, U as PtyExitResponseSchema, V as PtyErrorCodeSchema, W as PtyInputMessageSchema, X as PtyProcessTitleResponseSchema, Y as PtyPlatformSchema, Z as PtyResizeMessageSchema, _ as TerminalShellDefaults, b as TerminalShellProfileSchema, c as TerminalCommandFieldSchema, et as PtySessionInfo, g as TerminalInvocationSettingsSchema, h as TerminalInvocationSettings, i as TerminalCommandArgument, j as renderTerminalSpawnCommandLine, k as renderTerminalCommandArgs, l as TerminalCommandFieldValue, n as TERMINAL_COMMAND_FIELD_TYPE_VALUES, q as PtyOutputResponseSchema, r as TERMINAL_SHELL_QUOTE_STYLE_VALUES, s as TerminalCommandField, t as BUILTIN_TERMINAL_SPAWN_COMMANDS, tt as PtyTitleResponseSchema, u as TerminalCommandFieldValues, w as TerminalSpawnCommandSchema, x as TerminalShellQuoteStyle, y as TerminalShellProfile, z as PtyCreateMessageSchema } from "./terminal-invocation-BnsT7ae7.mjs";
15
+ import { $ as PtyServerMessageSchema, B as PtyCreatedResponseSchema, C as TerminalSpawnCommand, E as getTerminalCommandDefaultValues, F as PtyBufferResponseSchema, G as PtyListMessageSchema, H as PtyErrorResponseSchema, I as PtyClientMessage, J as PtyPlatform, K as PtyListResponseSchema, L as PtyClientMessageSchema, M as resolveTerminalShellDefaults, N as PtyAttachMessageSchema, O as quoteTerminalShellArg, P as PtyBellResponseSchema, Q as PtyServerMessage, R as PtyCloseMessageSchema, S as TerminalShellQuoteStyleSchema, U as PtyExitResponseSchema, V as PtyErrorCodeSchema, W as PtyInputMessageSchema, X as PtyProcessTitleResponseSchema, Y as PtyPlatformSchema, Z as PtyResizeMessageSchema, _ as TerminalShellDefaults, b as TerminalShellProfileSchema, c as TerminalCommandFieldSchema, et as PtySessionInfo, g as TerminalInvocationSettingsSchema, h as TerminalInvocationSettings, i as TerminalCommandArgument, j as renderTerminalSpawnCommandLine, k as renderTerminalCommandArgs, l as TerminalCommandFieldValue, n as TERMINAL_COMMAND_FIELD_TYPE_VALUES, q as PtyOutputResponseSchema, r as TERMINAL_SHELL_QUOTE_STYLE_VALUES, s as TerminalCommandField, t as BUILTIN_TERMINAL_SPAWN_COMMANDS, tt as PtyTitleResponseSchema, u as TerminalCommandFieldValues, w as TerminalSpawnCommandSchema, x as TerminalShellQuoteStyle, y as TerminalShellProfile, z as PtyCreateMessageSchema } from "./terminal-invocation-Z0xbyZ1V.mjs";
16
16
  import { a as TERMINAL_THEME_VALUES, i as TERMINAL_THEME_MODE_VALUES, n as DEFAULT_TERMINAL_LIGHT_THEME, r as DEFAULT_TERMINAL_THEME_MODE, t as DEFAULT_TERMINAL_DARK_THEME } from "./terminal-theme-x_vAHvok.mjs";
17
- import { n as parseOpsxSchemaDetail, t as ParsedOpsxSchemaDetail } from "./opsx-schema-detail-CUG4dYdw.mjs";
17
+ import { n as parseOpsxSchemaDetail, t as ParsedOpsxSchemaDetail } from "./opsx-schema-detail-VyCbvX1I.mjs";
18
18
  import { AsyncLocalStorage } from "node:async_hooks";
19
19
  import { z } from "zod";
20
20
  import { EventEmitter } from "events";
@@ -165,8 +165,8 @@ declare class OpenSpecAdapter {
165
165
  name: string;
166
166
  overview: string;
167
167
  requirements: {
168
- title: string;
169
168
  id: string;
169
+ title: string;
170
170
  text: string;
171
171
  bodyMarkdown: string;
172
172
  scenarios: {
@@ -188,17 +188,11 @@ declare class OpenSpecAdapter {
188
188
  }[];
189
189
  changes: {
190
190
  id: string;
191
+ name: string;
191
192
  progress: {
192
- total: number;
193
193
  completed: number;
194
+ total: number;
194
195
  };
195
- name: string;
196
- tasks: {
197
- id: string;
198
- text: string;
199
- completed: boolean;
200
- section?: string | undefined;
201
- }[];
202
196
  why: string;
203
197
  whatChanges: string;
204
198
  deltas: {
@@ -206,8 +200,8 @@ declare class OpenSpecAdapter {
206
200
  spec: string;
207
201
  operation: "ADDED" | "MODIFIED" | "REMOVED" | "RENAMED";
208
202
  requirements?: {
209
- title: string;
210
203
  id: string;
204
+ title: string;
211
205
  text: string;
212
206
  bodyMarkdown: string;
213
207
  scenarios: {
@@ -222,8 +216,8 @@ declare class OpenSpecAdapter {
222
216
  }[];
223
217
  }[] | undefined;
224
218
  requirement?: {
225
- title: string;
226
219
  id: string;
220
+ title: string;
227
221
  text: string;
228
222
  bodyMarkdown: string;
229
223
  scenarios: {
@@ -242,6 +236,12 @@ declare class OpenSpecAdapter {
242
236
  to: string;
243
237
  } | undefined;
244
238
  }[];
239
+ tasks: {
240
+ id: string;
241
+ text: string;
242
+ completed: boolean;
243
+ section?: string | undefined;
244
+ }[];
245
245
  metadata?: {
246
246
  version: string;
247
247
  format: "openspec-change";
@@ -294,6 +294,15 @@ declare class MarkdownParser {
294
294
  serializeSpec(spec: Spec): string;
295
295
  }
296
296
  //#endregion
297
+ //#region src/file-preview.d.ts
298
+ declare const FILE_PREVIEW_KINDS: readonly ["markdown", "html", "image", "audio", "video", "pdf", "text", "none"];
299
+ type FilePreviewKind = (typeof FILE_PREVIEW_KINDS)[number];
300
+ declare function inferFileMime(path: string): string | null;
301
+ declare function inferFilePreviewKind(path: string, mime?: string | null): FilePreviewKind;
302
+ declare function isTextLikeMime(mime: string | null | undefined): boolean;
303
+ declare function isTextLikeFile(path: string, mime?: string | null): boolean;
304
+ declare function isPreviewableFile(path: string, mime?: string | null): boolean;
305
+ //#endregion
297
306
  //#region src/reactive-fs/reactive-state.d.ts
298
307
  interface IReactiveContext {
299
308
  track(state: ReactiveState<unknown>): void;
@@ -858,7 +867,7 @@ declare const TerminalConfigSchema: z.ZodObject<{
858
867
  lightTheme: z.ZodDefault<z.ZodEnum<["default-light", "default-dark", "monokai", "nord", "solarized-light", "solarized-dark"]>>;
859
868
  darkTheme: z.ZodDefault<z.ZodEnum<["default-light", "default-dark", "monokai", "nord", "solarized-light", "solarized-dark"]>>;
860
869
  rendererEngine: z.ZodDefault<z.ZodEnum<["xterm", "ghostty"]>>;
861
- bellSound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`, unknown>>;
870
+ bellSound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`, unknown>>;
862
871
  bellVolume: z.ZodDefault<z.ZodNumber>;
863
872
  }, "strip", z.ZodTypeAny, {
864
873
  fontSize: number;
@@ -870,7 +879,7 @@ declare const TerminalConfigSchema: z.ZodObject<{
870
879
  lightTheme: "default-light" | "default-dark" | "monokai" | "nord" | "solarized-light" | "solarized-dark";
871
880
  darkTheme: "default-light" | "default-dark" | "monokai" | "nord" | "solarized-light" | "solarized-dark";
872
881
  rendererEngine: "xterm" | "ghostty";
873
- bellSound: "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`;
882
+ bellSound: "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`;
874
883
  bellVolume: number;
875
884
  }, {
876
885
  fontSize?: number | undefined;
@@ -961,7 +970,7 @@ declare const OpenSpecUIConfigSchema: z.ZodObject<{
961
970
  lightTheme: z.ZodDefault<z.ZodEnum<["default-light", "default-dark", "monokai", "nord", "solarized-light", "solarized-dark"]>>;
962
971
  darkTheme: z.ZodDefault<z.ZodEnum<["default-light", "default-dark", "monokai", "nord", "solarized-light", "solarized-dark"]>>;
963
972
  rendererEngine: z.ZodDefault<z.ZodEnum<["xterm", "ghostty"]>>;
964
- bellSound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`, unknown>>;
973
+ bellSound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`, unknown>>;
965
974
  bellVolume: z.ZodDefault<z.ZodNumber>;
966
975
  }, "strip", z.ZodTypeAny, {
967
976
  fontSize: number;
@@ -973,7 +982,7 @@ declare const OpenSpecUIConfigSchema: z.ZodObject<{
973
982
  lightTheme: "default-light" | "default-dark" | "monokai" | "nord" | "solarized-light" | "solarized-dark";
974
983
  darkTheme: "default-light" | "default-dark" | "monokai" | "nord" | "solarized-light" | "solarized-dark";
975
984
  rendererEngine: "xterm" | "ghostty";
976
- bellSound: "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`;
985
+ bellSound: "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`;
977
986
  bellVolume: number;
978
987
  }, {
979
988
  fontSize?: number | undefined;
@@ -1006,11 +1015,11 @@ declare const OpenSpecUIConfigSchema: z.ZodObject<{
1006
1015
  }>>;
1007
1016
  /** Notification preferences */
1008
1017
  notifications: z.ZodDefault<z.ZodObject<{
1009
- sound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`, unknown>>;
1018
+ sound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`, unknown>>;
1010
1019
  volume: z.ZodDefault<z.ZodNumber>;
1011
1020
  systemNotificationsEnabled: z.ZodDefault<z.ZodBoolean>;
1012
1021
  }, "strip", z.ZodTypeAny, {
1013
- sound: "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`;
1022
+ sound: "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`;
1014
1023
  volume: number;
1015
1024
  systemNotificationsEnabled: boolean;
1016
1025
  }, {
@@ -1102,7 +1111,7 @@ declare const OpenSpecUIConfigSchema: z.ZodObject<{
1102
1111
  lightTheme: "default-light" | "default-dark" | "monokai" | "nord" | "solarized-light" | "solarized-dark";
1103
1112
  darkTheme: "default-light" | "default-dark" | "monokai" | "nord" | "solarized-light" | "solarized-dark";
1104
1113
  rendererEngine: "xterm" | "ghostty";
1105
- bellSound: "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`;
1114
+ bellSound: "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`;
1106
1115
  bellVolume: number;
1107
1116
  };
1108
1117
  theme: "light" | "dark" | "system";
@@ -1124,7 +1133,7 @@ declare const OpenSpecUIConfigSchema: z.ZodObject<{
1124
1133
  diffEagerLineBudget: number;
1125
1134
  };
1126
1135
  notifications: {
1127
- sound: "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`;
1136
+ sound: "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`;
1128
1137
  volume: number;
1129
1138
  systemNotificationsEnabled: boolean;
1130
1139
  };
@@ -2161,4 +2170,4 @@ declare class OpsxKernel {
2161
2170
  private combineSignals;
2162
2171
  }
2163
2172
  //#endregion
2164
- export { type AIToolOption, AI_TOOLS, type AnnotatedOpenSpecDocument, type ApplyInstructions, ApplyInstructionsContextFilesSchema, ApplyInstructionsSchema, type ApplyTask, ApplyTaskSchema, type ArchiveMeta, type ArtifactInstructions, ArtifactInstructionsSchema, type ArtifactStatus, ArtifactStatusSchema, BUILTIN_SOUND_IDS, BUILTIN_SOUND_OPTIONS, BUILTIN_TERMINAL_SPAWN_COMMANDS, type BatchTranslateEvent, BatchTranslateEventSchema, type BatchTranslateInput, BatchTranslateInputSchema, type BatchTranslationResult, type BuiltinSoundId, BuiltinSoundIdSchema, type BuiltinSoundOption, CODE_EDITOR_THEME_VALUES, CUSTOM_SOUND_ADD_VALUE, type Change, type ChangeFile, ChangeFileSchema, type ChangeMeta, ChangeSchema, type ChangeStatus, ChangeStatusSchema, CliExecutor, type CliResult, type CliRunnerAttempt, type CliSniffResult, type CliStreamEvent, type CodeEditorTheme, CodeEditorThemeSchema, ConfigManager, type CustomSoundHash, CustomSoundHashSchema, type CustomSoundId, CustomSoundIdSchema, type CustomSoundMetadata, type CustomSoundMetadataFile, CustomSoundMetadataFileSchema, CustomSoundMetadataSchema, DASHBOARD_METRIC_KEYS, DEFAULT_BELL_SOUND_ID, DEFAULT_CONFIG, DEFAULT_GIT_DIFF_EAGER_LINE_BUDGET, DEFAULT_GLOBAL_SETTINGS, DEFAULT_NOTIFICATION_SOUND_ID, DEFAULT_TERMINAL_DARK_THEME, DEFAULT_TERMINAL_LIGHT_THEME, DEFAULT_TERMINAL_THEME_MODE, DEFAULT_TRANSLATION_CACHE_ENTRY_LIMIT, DEFAULT_TRANSLATION_ENGINE_ID, DOCUMENT_TRANSLATION_DISPLAY_MODES, type DashboardCardAvailability, type DashboardConfig, DashboardConfigSchema, type DashboardGitCommitEntry, type DashboardGitDiffStats, type DashboardGitEntry, type DashboardGitSnapshot, type DashboardGitUncommittedEntry, type DashboardGitWorktree, type DashboardMetricKey, type DashboardOverview, type DashboardSummary, type DashboardTrendKind, type DashboardTrendMeta, type DashboardTrendPoint, type DashboardTriColorTrendPoint, type Delta, type DeltaOperation, DeltaOperationType, DeltaSchema, type DeltaSpec, DeltaSpecSchema, type DependencyInfo, DependencyInfoSchema, type DocumentConsumerV1, type DocumentReadModeV1, type DocumentRefV1, type DocumentTranslationConfig, type DocumentTranslationConfigInput, DocumentTranslationConfigSchema, type DocumentTranslationConfigUpdate, type DocumentTranslationDisplayMode, DocumentTranslationDisplayModeSchema, type ExportSnapshot, type FileChangeEvent, type FileChangeType, type GitConfig, GitConfigSchema, type GitEntriesPage, type GitEntryCursor, type GitEntryDetail, type GitEntryFileDiff, type GitEntryFilePatch, type GitEntryFileSource, type GitEntryFileSummary, type GitEntryFiles, type GitEntryPatch, type GitEntrySelector, type GitEntryShell, type GitFileChangeType, type GitPatchFile, type GitPatchState, type GitWorktreeHandoff, type GitWorktreeOverview, type GitWorktreeSummary, GlobalSettingsManager, HOSTED_SHELL_PROTOCOL_VERSION, type HookDiagnosticLevel, type HookDiagnosticV1, type HookLifecycleV1, type HostedBackendHealthResponse, LEGACY_SOUND_ID_MAP, LOCAL_MODEL_PROFILE_DEFINITIONS, type LocalModelAssetLog, LocalModelAssetLogSchema, type LocalModelAssetPlanSnapshot, LocalModelAssetPlanSnapshotSchema, type LocalModelAssetState, LocalModelAssetStateSchema, type LocalModelCatalogItem, type LocalModelCatalogLocalResult, type LocalModelCatalogResult, type LocalModelCatalogSearchEvent, type LocalModelDownloadStatus, LocalModelDownloadStatusSchema, type LocalModelProfileId, type LocalRepositoryFile, type LocalRuntimeProfileFiles, MAX_TRANSLATION_CACHE_ENTRY_LIMIT, MIN_TRANSLATION_CACHE_ENTRY_LIMIT, type MarkdownAnnotation, type MarkdownAnnotationConfidence, type MarkdownAnnotationContext, type MarkdownAnnotationInput, type MarkdownAnnotationRule, type MarkdownFact, type MarkdownFactKind, type MarkdownFactSpan, type MarkdownFactsDocument, MarkdownParser, type MarkdownProjectionContext, type MarkdownProjectionRule, type MarkdownReadingDocument, type MarkdownReadingLookup, type MarkdownReadingPlugin, MarkdownReadingPluginRegistry, type MarkdownSourcePoint, type MarkdownSourceRange, NOTIFICATION_SOUND_OPTIONS, NOTIFICATION_SOUND_VALUES, type NotificationAction, NotificationActionSchema, type NotificationGroup, type NotificationGroupKey, NotificationGroupKeySchema, type NotificationPublishInput, NotificationPublishInputSchema, type NotificationRecord, NotificationRecordSchema, type NotificationSettings, NotificationSettingsSchema, type NotificationSound, NotificationSoundSchema, type NotificationSource, NotificationSourceSchema, OFFICIAL_APP_BASE_URL, OPENSPECUI_HOOKS_VERSION, OPENSPECUI_RUNTIME_CAPABILITIES, OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, OPEN_SPEC_SPEC_PROJECTION_ID, OPSX_AGENT_INVOCATION_MODE_VALUES, type OnReadDocumentHookV1, type OnRunWorkflowHookV1, OpenSpecAdapter, type OpenSpecAnnotation, type OpenSpecAnnotationConfidence, type OpenSpecHeadingSection, type OpenSpecProjectionOptions, type OpenSpecReadingSectionsProjection, type OpenSpecRequirementBlock, type OpenSpecScenarioBlock, type OpenSpecScenarioStepKeyword, type OpenSpecSemanticKind, type OpenSpecUIConfig, OpenSpecUIConfigSchema, type OpenSpecUIConfigUpdate, type OpenSpecUIGlobalSettings, OpenSpecUIGlobalSettingsSchema, type OpenSpecUIGlobalSettingsUpdate, type OpenSpecUIHooksV1, type OpenSpecUIRuntimeCapability, OpenSpecWatcher, type OpsxAgentInvocationMode, OpsxAgentInvocationModeSchema, type OpsxConfig, OpsxConfigSchema, type OpsxEntityArtifact, type OpsxEntityArtifactFile, type OpsxEntityDetail, type OpsxEntityDiagnostic, type OpsxEntityFile, type OpsxEntityReadOptions, type OpsxEntityStage, OpsxKernel, type ParsedOpsxSchemaDetail, type PathCallback, type PersistedOpenSpecUIGlobalSettings, type ProjectRecoveryStatus, type ProjectResidencyEvictionReason, type ProjectResidencyStatus, ProjectWatcher, type ProjectWatcherReinitializeReason, type ProjectWatcherRuntimeStatus, type ProjectWatcherRuntimeStatusListener, type ProjectedOpenSpecDocument, PtyAttachMessageSchema, PtyBellResponseSchema, PtyBufferResponseSchema, type PtyClientMessage, PtyClientMessageSchema, PtyCloseMessageSchema, PtyCreateMessageSchema, PtyCreatedResponseSchema, PtyErrorCodeSchema, PtyErrorResponseSchema, PtyExitResponseSchema, PtyInputMessageSchema, PtyListMessageSchema, PtyListResponseSchema, PtyOutputResponseSchema, type PtyPlatform, PtyPlatformSchema, PtyProcessTitleResponseSchema, PtyResizeMessageSchema, type PtyServerMessage, PtyServerMessageSchema, type PtySessionInfo, PtyTitleResponseSchema, ReactiveContext, ReactiveState, type ReactiveStateOptions, type ReadDocumentContextV1, type ReadDocumentResultV1, type Requirement, RequirementSchema, type ResolvedCliRunner, type RunWorkflowContextV1, type RunWorkflowInputV1, type RunWorkflowResultV1, SERVICE_TRANSLATION_ENGINE_IDS, SILENT_SOUND_ID, type ScenarioStep, ScenarioStepKeywordSchema, ScenarioStepSchema, type SchemaArtifact, SchemaArtifactSchema, type SchemaDetail, SchemaDetailSchema, type SchemaInfo, SchemaInfoSchema, type SchemaResolution, SchemaResolutionSchema, type ServiceTranslationEngineId, ServiceTranslationEngineIdSchema, SoundConfigIdSchema, type SoundId, SoundIdSchema, type Spec, type SpecMeta, SpecSchema, TERMINAL_BELL_SOUND_OPTIONS, TERMINAL_BELL_SOUND_VALUES, TERMINAL_COMMAND_FIELD_TYPE_VALUES, TERMINAL_SHELL_QUOTE_STYLE_VALUES, TERMINAL_THEME_MODE_VALUES, TERMINAL_THEME_VALUES, TOOL_WORKFLOW_TO_SKILL_DIR, TRANSLATION_CACHE_POLICY_VERSION, TRANSLATION_ENGINE_IDS, TRANSLATION_ENGINE_MANIFESTS, TRANSLATOR_CONTRACT_VERSION, type Task, TaskSchema, type TemplateContentMap, type TemplatesMap, TemplatesSchema, type TerminalBellSound, TerminalBellSoundSchema, type TerminalCommandArgument, type TerminalCommandField, TerminalCommandFieldSchema, type TerminalCommandFieldValue, type TerminalCommandFieldValues, type TerminalConfig, TerminalConfigSchema, type TerminalControlEvent, type TerminalControlParseResult, TerminalControlParser, type TerminalInvocationSettings, TerminalInvocationSettingsSchema, type TerminalNotificationEvent, type TerminalNotificationParseResult, TerminalNotificationParser, type TerminalNotificationProtocol, type TerminalProgressState, type TerminalPromptState, type TerminalRendererEngine, TerminalRendererEngineSchema, type TerminalShellDefaults, type TerminalShellProfile, TerminalShellProfileSchema, type TerminalShellQuoteStyle, TerminalShellQuoteStyleSchema, type TerminalSpawnCommand, TerminalSpawnCommandSchema, type TerminalThemeId, type TerminalThemeMode, TerminalThemeModeSchema, TerminalThemeSchema, type TerminalTitleTarget, type ToolConfig, type ToolInitDelivery, type ToolInitState, type ToolInitStatus, type ToolWorkflowId, type TranslationCacheEntry, TranslationCacheEntrySchema, type TranslationCacheReadInput, TranslationCacheReadInputSchema, type TranslationCacheSettings, TranslationCacheSettingsSchema, type TranslationCacheStats, TranslationCacheStatsSchema, type TranslationCacheWriteInput, TranslationCacheWriteInputSchema, type TranslationDownloadFilePlan, TranslationDownloadFilePlanSchema, type TranslationDownloadGroupPlan, TranslationDownloadGroupPlanSchema, type TranslationEngineGlobalSettings, TranslationEngineGlobalSettingsSchema, type TranslationEngineGlobalSettingsUpdate, type TranslationEngineId, TranslationEngineIdSchema, type TranslationEngineManifest, type TranslationEngineProjectSettings, TranslationEngineProjectSettingsSchema, type TranslationEngineRuntime, type TranslationLocalSettings, TranslationLocalSettingsSchema, type TranslationModelCandidate, type TranslationModelDownloadPlan, type TranslationModelSearchEvent, type TranslationModelSearchInput, type TranslationModelSearchPhase, type TranslationModelSearchResult, type TranslationOpenAISettings, TranslationOpenAISettingsSchema, type Translator, type TranslatorCreateMonitor, type TranslatorFactory, type TranslatorFactoryCreateOptions, type TranslatorFactoryPrepareOptions, type TranslatorOptions, type TranslatorPrepareMonitor, VIRTUAL_PROJECT_DIRNAME, type ValidationIssue, type ValidationResult, Validator, type WatchEvent, type WatchEventType, type WatcherRuntimeStatus, type WorkflowActionV1, type WorkflowInvocationModeResolutionV1, type WorkflowRequestedModeV1, acquireWatcher, annotateOpenSpecFacts, annotateOpenSpecMarkdown, buildBackendHealthPayload, buildCliRunnerCandidates, buildEmbeddedUiLaunchUrl, buildHostedLaunchUrl, buildLocalDownloadPlanFromRepositoryFiles, buildLocalDownloadPlanFromRuntimeProfileFiles, buildMarkdownParentMap, buildOpsxEntityDetail, builtinOpenSpecReadingPlugin, clearCache, closeAllProjectWatchers, closeAllWatchers, contextStorage, createCleanCliEnv, createFileChangeObservable, createMarkdownReadingDocument, createMarkdownReadingDocumentFromFacts, createOpenSpecReadingPlugin, customHashFromSoundId, getActiveWatcherCount, getAllToolIds, getAllTools, getAvailableToolIds, getAvailableTools, getBuiltinSoundUrl, getCacheSize, getConfiguredTools, getDefaultCliCommand, getDefaultCliCommandString, getDefaultGlobalSettingsPath, getDetectedProjectTools, getMarkdownAnnotation, getMarkdownAnnotationsForFact, getMarkdownFactSpan, getMarkdownHeadingEnd, getMarkdownHeadingFacts, getNotificationGroupKey, getNotificationGroupLabel, getOpenSpecAnnotation, getOpenSpecAnnotationsForFact, getOpenSpecProjectionAnnotation, getOpenSpecReadingSections, getOpsxEntityMetadataPath, getOpsxEntityRootRelativePath, getProjectWatcher, getTerminalCommandDefaultValues, getToolById, getToolInitStates, getTranslationEngineManifest, getWatchedProjectDir, getWatcherRuntimeStatus, groupNotifications, initWatcherPool, isBackendHealthRuntimeMetadata, isGlobPattern, isHostedBackendHealthResponse, isOpsxGlobPattern, isSupportedEmbeddedUiUrl, isTerminalRendererEngine, isToolConfigured, isWatcherPoolInitialized, normalizeEmbeddedUiUrl, normalizeHostedAppBaseUrl, normalizeLegacySoundId, normalizeOpsxEntityPath, openSpecAnnotationRules, opsxGlobToRegex, opsxPathMatchesPattern, parseCliCommand, parseMarkdownFacts, parseOpenSpecMarkdownToSpec, parseOpsxEntityMetadata, parseOpsxSchemaDetail, projectAnnotatedOpenSpecToSpec, projectOpenSpecMarkdown, quoteTerminalShellArg, reactiveExists, reactiveReadDir, reactiveReadFile, reactiveStat, renderTerminalCommandArgs, renderTerminalSpawnCommandLine, resolveHostedAppBaseUrl, resolveTerminalShellDefaults, selectLocalDownloadGroup, sniffGlobalCli, sortMarkdownReadingPlugins, soundIdFromCustomHash, subscribeWatcherRuntimeStatus, terminalNotificationEventToPublishInput, toMarkdownFactKind, toOpsxDisplayPath, toPersistedGlobalSettings, trimMarkdownSlice };
2173
+ export { type AIToolOption, AI_TOOLS, type AnnotatedOpenSpecDocument, type ApplyInstructions, ApplyInstructionsContextFilesSchema, ApplyInstructionsSchema, type ApplyTask, ApplyTaskSchema, type ArchiveMeta, type ArtifactInstructions, ArtifactInstructionsSchema, type ArtifactStatus, ArtifactStatusSchema, BUILTIN_SOUND_IDS, BUILTIN_SOUND_OPTIONS, BUILTIN_TERMINAL_SPAWN_COMMANDS, type BatchTranslateEvent, BatchTranslateEventSchema, type BatchTranslateInput, BatchTranslateInputSchema, type BatchTranslationResult, type BuiltinSoundId, BuiltinSoundIdSchema, type BuiltinSoundOption, CODE_EDITOR_THEME_VALUES, CUSTOM_SOUND_ADD_VALUE, type Change, type ChangeFile, ChangeFileSchema, type ChangeMeta, ChangeSchema, type ChangeStatus, ChangeStatusSchema, CliExecutor, type CliResult, type CliRunnerAttempt, type CliSniffResult, type CliStreamEvent, type CodeEditorTheme, CodeEditorThemeSchema, ConfigManager, type CustomSoundHash, CustomSoundHashSchema, type CustomSoundId, CustomSoundIdSchema, type CustomSoundMetadata, type CustomSoundMetadataFile, CustomSoundMetadataFileSchema, CustomSoundMetadataSchema, DASHBOARD_METRIC_KEYS, DEFAULT_BELL_SOUND_ID, DEFAULT_CONFIG, DEFAULT_GIT_DIFF_EAGER_LINE_BUDGET, DEFAULT_GLOBAL_SETTINGS, DEFAULT_NOTIFICATION_SOUND_ID, DEFAULT_TERMINAL_DARK_THEME, DEFAULT_TERMINAL_LIGHT_THEME, DEFAULT_TERMINAL_THEME_MODE, DEFAULT_TRANSLATION_CACHE_ENTRY_LIMIT, DEFAULT_TRANSLATION_ENGINE_ID, DOCUMENT_TRANSLATION_DISPLAY_MODES, type DashboardCardAvailability, type DashboardConfig, DashboardConfigSchema, type DashboardGitCommitEntry, type DashboardGitDiffStats, type DashboardGitEntry, type DashboardGitSnapshot, type DashboardGitUncommittedEntry, type DashboardGitWorktree, type DashboardMetricKey, type DashboardOverview, type DashboardSummary, type DashboardTrendKind, type DashboardTrendMeta, type DashboardTrendPoint, type DashboardTriColorTrendPoint, type Delta, type DeltaOperation, DeltaOperationType, DeltaSchema, type DeltaSpec, DeltaSpecSchema, type DependencyInfo, DependencyInfoSchema, type DocumentConsumerV1, type DocumentReadModeV1, type DocumentRefV1, type DocumentTranslationConfig, type DocumentTranslationConfigInput, DocumentTranslationConfigSchema, type DocumentTranslationConfigUpdate, type DocumentTranslationDisplayMode, DocumentTranslationDisplayModeSchema, type ExportSnapshot, FILE_PREVIEW_KINDS, type FileChangeEvent, type FileChangeType, type FilePreviewKind, type GitConfig, GitConfigSchema, type GitEntriesPage, type GitEntryCursor, type GitEntryDetail, type GitEntryFileDiff, type GitEntryFilePatch, type GitEntryFileSource, type GitEntryFileSummary, type GitEntryFiles, type GitEntryPatch, type GitEntrySelector, type GitEntryShell, type GitFileChangeType, type GitPatchFile, type GitPatchState, type GitWorktreeHandoff, type GitWorktreeOverview, type GitWorktreeSummary, GlobalSettingsManager, HOSTED_SHELL_PROTOCOL_VERSION, type HookDiagnosticLevel, type HookDiagnosticV1, type HookLifecycleV1, type HostedBackendHealthResponse, LEGACY_SOUND_ID_MAP, LOCAL_MODEL_PROFILE_DEFINITIONS, type LocalModelAssetLog, LocalModelAssetLogSchema, type LocalModelAssetPlanSnapshot, LocalModelAssetPlanSnapshotSchema, type LocalModelAssetState, LocalModelAssetStateSchema, type LocalModelCatalogItem, type LocalModelCatalogLocalResult, type LocalModelCatalogResult, type LocalModelCatalogSearchEvent, type LocalModelDownloadStatus, LocalModelDownloadStatusSchema, type LocalModelProfileId, type LocalRepositoryFile, type LocalRuntimeProfileFiles, MAX_TRANSLATION_CACHE_ENTRY_LIMIT, MIN_TRANSLATION_CACHE_ENTRY_LIMIT, type MarkdownAnnotation, type MarkdownAnnotationConfidence, type MarkdownAnnotationContext, type MarkdownAnnotationInput, type MarkdownAnnotationRule, type MarkdownFact, type MarkdownFactKind, type MarkdownFactSpan, type MarkdownFactsDocument, MarkdownParser, type MarkdownProjectionContext, type MarkdownProjectionRule, type MarkdownReadingDocument, type MarkdownReadingLookup, type MarkdownReadingPlugin, MarkdownReadingPluginRegistry, type MarkdownSourcePoint, type MarkdownSourceRange, NOTIFICATION_SOUND_OPTIONS, NOTIFICATION_SOUND_VALUES, type NotificationAction, NotificationActionSchema, type NotificationGroup, type NotificationGroupKey, NotificationGroupKeySchema, type NotificationPublishInput, NotificationPublishInputSchema, type NotificationRecord, NotificationRecordSchema, type NotificationSettings, NotificationSettingsSchema, type NotificationSound, NotificationSoundSchema, type NotificationSource, NotificationSourceSchema, OFFICIAL_APP_BASE_URL, OPENSPECUI_HOOKS_VERSION, OPENSPECUI_RUNTIME_CAPABILITIES, OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, OPEN_SPEC_SPEC_PROJECTION_ID, OPSX_AGENT_INVOCATION_MODE_VALUES, type OnReadDocumentHookV1, type OnRunWorkflowHookV1, OpenSpecAdapter, type OpenSpecAnnotation, type OpenSpecAnnotationConfidence, type OpenSpecHeadingSection, type OpenSpecProjectionOptions, type OpenSpecReadingSectionsProjection, type OpenSpecRequirementBlock, type OpenSpecScenarioBlock, type OpenSpecScenarioStepKeyword, type OpenSpecSemanticKind, type OpenSpecUIConfig, OpenSpecUIConfigSchema, type OpenSpecUIConfigUpdate, type OpenSpecUIGlobalSettings, OpenSpecUIGlobalSettingsSchema, type OpenSpecUIGlobalSettingsUpdate, type OpenSpecUIHooksV1, type OpenSpecUIRuntimeCapability, OpenSpecWatcher, type OpsxAgentInvocationMode, OpsxAgentInvocationModeSchema, type OpsxConfig, OpsxConfigSchema, type OpsxEntityArtifact, type OpsxEntityArtifactFile, type OpsxEntityDetail, type OpsxEntityDiagnostic, type OpsxEntityFile, type OpsxEntityReadOptions, type OpsxEntityStage, OpsxKernel, type ParsedOpsxSchemaDetail, type PathCallback, type PersistedOpenSpecUIGlobalSettings, type ProjectRecoveryStatus, type ProjectResidencyEvictionReason, type ProjectResidencyStatus, ProjectWatcher, type ProjectWatcherReinitializeReason, type ProjectWatcherRuntimeStatus, type ProjectWatcherRuntimeStatusListener, type ProjectedOpenSpecDocument, PtyAttachMessageSchema, PtyBellResponseSchema, PtyBufferResponseSchema, type PtyClientMessage, PtyClientMessageSchema, PtyCloseMessageSchema, PtyCreateMessageSchema, PtyCreatedResponseSchema, PtyErrorCodeSchema, PtyErrorResponseSchema, PtyExitResponseSchema, PtyInputMessageSchema, PtyListMessageSchema, PtyListResponseSchema, PtyOutputResponseSchema, type PtyPlatform, PtyPlatformSchema, PtyProcessTitleResponseSchema, PtyResizeMessageSchema, type PtyServerMessage, PtyServerMessageSchema, type PtySessionInfo, PtyTitleResponseSchema, ReactiveContext, ReactiveState, type ReactiveStateOptions, type ReadDocumentContextV1, type ReadDocumentResultV1, type Requirement, RequirementSchema, type ResolvedCliRunner, type RunWorkflowContextV1, type RunWorkflowInputV1, type RunWorkflowResultV1, SERVICE_TRANSLATION_ENGINE_IDS, SILENT_SOUND_ID, type ScenarioStep, ScenarioStepKeywordSchema, ScenarioStepSchema, type SchemaArtifact, SchemaArtifactSchema, type SchemaDetail, SchemaDetailSchema, type SchemaInfo, SchemaInfoSchema, type SchemaResolution, SchemaResolutionSchema, type ServiceTranslationEngineId, ServiceTranslationEngineIdSchema, SoundConfigIdSchema, type SoundId, SoundIdSchema, type Spec, type SpecMeta, SpecSchema, TERMINAL_BELL_SOUND_OPTIONS, TERMINAL_BELL_SOUND_VALUES, TERMINAL_COMMAND_FIELD_TYPE_VALUES, TERMINAL_SHELL_QUOTE_STYLE_VALUES, TERMINAL_THEME_MODE_VALUES, TERMINAL_THEME_VALUES, TOOL_WORKFLOW_TO_SKILL_DIR, TRANSLATION_CACHE_POLICY_VERSION, TRANSLATION_ENGINE_IDS, TRANSLATION_ENGINE_MANIFESTS, TRANSLATOR_CONTRACT_VERSION, type Task, TaskSchema, type TemplateContentMap, type TemplatesMap, TemplatesSchema, type TerminalBellSound, TerminalBellSoundSchema, type TerminalCommandArgument, type TerminalCommandField, TerminalCommandFieldSchema, type TerminalCommandFieldValue, type TerminalCommandFieldValues, type TerminalConfig, TerminalConfigSchema, type TerminalControlEvent, type TerminalControlParseResult, TerminalControlParser, type TerminalInvocationSettings, TerminalInvocationSettingsSchema, type TerminalNotificationEvent, type TerminalNotificationParseResult, TerminalNotificationParser, type TerminalNotificationProtocol, type TerminalProgressState, type TerminalPromptState, type TerminalRendererEngine, TerminalRendererEngineSchema, type TerminalShellDefaults, type TerminalShellProfile, TerminalShellProfileSchema, type TerminalShellQuoteStyle, TerminalShellQuoteStyleSchema, type TerminalSpawnCommand, TerminalSpawnCommandSchema, type TerminalThemeId, type TerminalThemeMode, TerminalThemeModeSchema, TerminalThemeSchema, type TerminalTitleTarget, type ToolConfig, type ToolInitDelivery, type ToolInitState, type ToolInitStatus, type ToolWorkflowId, type TranslationCacheEntry, TranslationCacheEntrySchema, type TranslationCacheReadInput, TranslationCacheReadInputSchema, type TranslationCacheSettings, TranslationCacheSettingsSchema, type TranslationCacheStats, TranslationCacheStatsSchema, type TranslationCacheWriteInput, TranslationCacheWriteInputSchema, type TranslationDownloadFilePlan, TranslationDownloadFilePlanSchema, type TranslationDownloadGroupPlan, TranslationDownloadGroupPlanSchema, type TranslationEngineGlobalSettings, TranslationEngineGlobalSettingsSchema, type TranslationEngineGlobalSettingsUpdate, type TranslationEngineId, TranslationEngineIdSchema, type TranslationEngineManifest, type TranslationEngineProjectSettings, TranslationEngineProjectSettingsSchema, type TranslationEngineRuntime, type TranslationLocalSettings, TranslationLocalSettingsSchema, type TranslationModelCandidate, type TranslationModelDownloadPlan, type TranslationModelSearchEvent, type TranslationModelSearchInput, type TranslationModelSearchPhase, type TranslationModelSearchResult, type TranslationOpenAISettings, TranslationOpenAISettingsSchema, type Translator, type TranslatorCreateMonitor, type TranslatorFactory, type TranslatorFactoryCreateOptions, type TranslatorFactoryPrepareOptions, type TranslatorOptions, type TranslatorPrepareMonitor, VIRTUAL_PROJECT_DIRNAME, type ValidationIssue, type ValidationResult, Validator, type WatchEvent, type WatchEventType, type WatcherRuntimeStatus, type WorkflowActionV1, type WorkflowInvocationModeResolutionV1, type WorkflowRequestedModeV1, acquireWatcher, annotateOpenSpecFacts, annotateOpenSpecMarkdown, buildBackendHealthPayload, buildCliRunnerCandidates, buildEmbeddedUiLaunchUrl, buildHostedLaunchUrl, buildLocalDownloadPlanFromRepositoryFiles, buildLocalDownloadPlanFromRuntimeProfileFiles, buildMarkdownParentMap, buildOpsxEntityDetail, builtinOpenSpecReadingPlugin, clearCache, closeAllProjectWatchers, closeAllWatchers, contextStorage, createCleanCliEnv, createFileChangeObservable, createMarkdownReadingDocument, createMarkdownReadingDocumentFromFacts, createOpenSpecReadingPlugin, customHashFromSoundId, getActiveWatcherCount, getAllToolIds, getAllTools, getAvailableToolIds, getAvailableTools, getBuiltinSoundUrl, getCacheSize, getConfiguredTools, getDefaultCliCommand, getDefaultCliCommandString, getDefaultGlobalSettingsPath, getDetectedProjectTools, getMarkdownAnnotation, getMarkdownAnnotationsForFact, getMarkdownFactSpan, getMarkdownHeadingEnd, getMarkdownHeadingFacts, getNotificationGroupKey, getNotificationGroupLabel, getOpenSpecAnnotation, getOpenSpecAnnotationsForFact, getOpenSpecProjectionAnnotation, getOpenSpecReadingSections, getOpsxEntityMetadataPath, getOpsxEntityRootRelativePath, getProjectWatcher, getTerminalCommandDefaultValues, getToolById, getToolInitStates, getTranslationEngineManifest, getWatchedProjectDir, getWatcherRuntimeStatus, groupNotifications, inferFileMime, inferFilePreviewKind, initWatcherPool, isBackendHealthRuntimeMetadata, isGlobPattern, isHostedBackendHealthResponse, isOpsxGlobPattern, isPreviewableFile, isSupportedEmbeddedUiUrl, isTerminalRendererEngine, isTextLikeFile, isTextLikeMime, isToolConfigured, isWatcherPoolInitialized, normalizeEmbeddedUiUrl, normalizeHostedAppBaseUrl, normalizeLegacySoundId, normalizeOpsxEntityPath, openSpecAnnotationRules, opsxGlobToRegex, opsxPathMatchesPattern, parseCliCommand, parseMarkdownFacts, parseOpenSpecMarkdownToSpec, parseOpsxEntityMetadata, parseOpsxSchemaDetail, projectAnnotatedOpenSpecToSpec, projectOpenSpecMarkdown, quoteTerminalShellArg, reactiveExists, reactiveReadDir, reactiveReadFile, reactiveStat, renderTerminalCommandArgs, renderTerminalSpawnCommandLine, resolveHostedAppBaseUrl, resolveTerminalShellDefaults, selectLocalDownloadGroup, sniffGlobalCli, sortMarkdownReadingPlugins, soundIdFromCustomHash, subscribeWatcherRuntimeStatus, terminalNotificationEventToPublishInput, toMarkdownFactKind, toOpsxDisplayPath, toPersistedGlobalSettings, trimMarkdownSlice };
package/dist/index.mjs CHANGED
@@ -28,6 +28,115 @@ import { exec, execFile, spawn } from "child_process";
28
28
  import { promisify } from "util";
29
29
  import { homedir } from "node:os";
30
30
 
31
+ //#region src/file-preview.ts
32
+ const MIME_BY_EXTENSION = new Map([
33
+ [".md", "text/markdown"],
34
+ [".markdown", "text/markdown"],
35
+ [".mdown", "text/markdown"],
36
+ [".mkd", "text/markdown"],
37
+ [".txt", "text/plain"],
38
+ [".log", "text/plain"],
39
+ [".yaml", "application/yaml"],
40
+ [".yml", "application/yaml"],
41
+ [".json", "application/json"],
42
+ [".jsonc", "application/json"],
43
+ [".toml", "application/toml"],
44
+ [".ini", "text/plain"],
45
+ [".cfg", "text/plain"],
46
+ [".conf", "text/plain"],
47
+ [".html", "text/html"],
48
+ [".htm", "text/html"],
49
+ [".svg", "image/svg+xml"],
50
+ [".png", "image/png"],
51
+ [".jpg", "image/jpeg"],
52
+ [".jpeg", "image/jpeg"],
53
+ [".gif", "image/gif"],
54
+ [".webp", "image/webp"],
55
+ [".avif", "image/avif"],
56
+ [".bmp", "image/bmp"],
57
+ [".mp3", "audio/mpeg"],
58
+ [".wav", "audio/wav"],
59
+ [".ogg", "audio/ogg"],
60
+ [".oga", "audio/ogg"],
61
+ [".m4a", "audio/mp4"],
62
+ [".aac", "audio/aac"],
63
+ [".flac", "audio/flac"],
64
+ [".mp4", "video/mp4"],
65
+ [".m4v", "video/mp4"],
66
+ [".webm", "video/webm"],
67
+ [".mov", "video/quicktime"],
68
+ [".mkv", "video/x-matroska"],
69
+ [".ogv", "video/ogg"],
70
+ [".pdf", "application/pdf"],
71
+ [".js", "text/javascript"],
72
+ [".jsx", "text/javascript"],
73
+ [".ts", "text/typescript"],
74
+ [".tsx", "text/typescript"],
75
+ [".css", "text/css"],
76
+ [".sh", "text/plain"],
77
+ [".py", "text/plain"],
78
+ [".rs", "text/plain"],
79
+ [".go", "text/plain"],
80
+ [".java", "text/plain"],
81
+ [".c", "text/plain"],
82
+ [".cc", "text/plain"],
83
+ [".cpp", "text/plain"],
84
+ [".h", "text/plain"],
85
+ [".hpp", "text/plain"]
86
+ ]);
87
+ const TEXT_MIME_PREFIXES = ["text/"];
88
+ const TEXT_MIME_VALUES = new Set([
89
+ "application/json",
90
+ "application/yaml",
91
+ "application/toml",
92
+ "application/xml",
93
+ "image/svg+xml"
94
+ ]);
95
+ const FILE_PREVIEW_KINDS = [
96
+ "markdown",
97
+ "html",
98
+ "image",
99
+ "audio",
100
+ "video",
101
+ "pdf",
102
+ "text",
103
+ "none"
104
+ ];
105
+ function getExtension(path) {
106
+ const normalized = path.replace(/\\/g, "/");
107
+ const name = normalized.split("/").pop() ?? normalized;
108
+ const dotIndex = name.lastIndexOf(".");
109
+ if (dotIndex < 0) return "";
110
+ return name.slice(dotIndex).toLowerCase();
111
+ }
112
+ function inferFileMime(path) {
113
+ return MIME_BY_EXTENSION.get(getExtension(path)) ?? null;
114
+ }
115
+ function inferFilePreviewKind(path, mime) {
116
+ const resolvedMime = mime ?? inferFileMime(path);
117
+ if (!resolvedMime) return "none";
118
+ if (resolvedMime === "text/markdown") return "markdown";
119
+ if (resolvedMime === "text/html") return "html";
120
+ if (resolvedMime.startsWith("image/")) return resolvedMime === "image/svg+xml" ? "text" : "image";
121
+ if (resolvedMime.startsWith("audio/")) return "audio";
122
+ if (resolvedMime.startsWith("video/")) return "video";
123
+ if (resolvedMime === "application/pdf") return "pdf";
124
+ if (isTextLikeMime(resolvedMime)) return "text";
125
+ return "none";
126
+ }
127
+ function isTextLikeMime(mime) {
128
+ if (!mime) return false;
129
+ if (TEXT_MIME_VALUES.has(mime)) return true;
130
+ return TEXT_MIME_PREFIXES.some((prefix) => mime.startsWith(prefix));
131
+ }
132
+ function isTextLikeFile(path, mime) {
133
+ return isTextLikeMime(mime ?? inferFileMime(path));
134
+ }
135
+ function isPreviewableFile(path, mime) {
136
+ return inferFilePreviewKind(path, mime) !== "none";
137
+ }
138
+
139
+ //#endregion
31
140
  //#region src/parser.ts
32
141
  const SCENARIO_STEP_PATTERN = new RegExp(`^\\s*[-*+]\\s+(?:\\*\\*)?(${[
33
142
  "GIVEN",
@@ -1543,12 +1652,20 @@ var OpenSpecAdapter = class {
1543
1652
  });
1544
1653
  files.push(...await this.collectChangeFiles(root, fullPath));
1545
1654
  } else {
1546
- const content = await reactiveReadFile(fullPath);
1655
+ const mime = inferFileMime(relativePath) ?? void 0;
1656
+ const previewKind = inferFilePreviewKind(relativePath, mime);
1657
+ const content = isTextLikeFile(relativePath, mime) ? await reactiveReadFile(fullPath) : null;
1547
1658
  files.push({
1548
1659
  path: relativePath,
1549
1660
  type: "file",
1550
1661
  content: content ?? void 0
1551
1662
  });
1663
+ files[files.length - 1] = {
1664
+ ...files[files.length - 1],
1665
+ mime,
1666
+ previewKind,
1667
+ size: void 0
1668
+ };
1552
1669
  }
1553
1670
  }
1554
1671
  return files;
@@ -1762,7 +1879,9 @@ const ChangeFileSchema = z.object({
1762
1879
  path: z.string(),
1763
1880
  type: z.enum(["file", "directory"]),
1764
1881
  content: z.string().optional(),
1765
- size: z.number().optional()
1882
+ size: z.number().optional(),
1883
+ mime: z.string().optional(),
1884
+ previewKind: z.enum(FILE_PREVIEW_KINDS).optional()
1766
1885
  });
1767
1886
  const ScenarioStepKeywordSchema = z.enum([
1768
1887
  "GIVEN",
@@ -4229,13 +4348,17 @@ async function readEntriesUnderRoot(root) {
4229
4348
  });
4230
4349
  entries.push(...await collectEntries(fullPath));
4231
4350
  } else {
4232
- const content = await reactiveReadFile(fullPath);
4351
+ const mime = inferFileMime(relativePath) ?? void 0;
4352
+ const previewKind = inferFilePreviewKind(relativePath, mime);
4353
+ const content = isTextLikeFile(relativePath, mime) ? await reactiveReadFile(fullPath) : null;
4233
4354
  const size = content ? Buffer.byteLength(content, "utf-8") : void 0;
4234
4355
  entries.push({
4235
4356
  path: relativePath,
4236
4357
  type: "file",
4237
4358
  content: content ?? void 0,
4238
- size
4359
+ size,
4360
+ mime,
4361
+ previewKind
4239
4362
  });
4240
4363
  }
4241
4364
  }
@@ -5003,4 +5126,4 @@ const PtyServerMessageSchema = z.discriminatedUnion("type", [
5003
5126
  ]);
5004
5127
 
5005
5128
  //#endregion
5006
- export { AI_TOOLS, ApplyInstructionsContextFilesSchema, ApplyInstructionsSchema, ApplyTaskSchema, ArtifactInstructionsSchema, ArtifactStatusSchema, BUILTIN_SOUND_IDS, BUILTIN_SOUND_OPTIONS, BUILTIN_TERMINAL_SPAWN_COMMANDS, BatchTranslateEventSchema, BatchTranslateInputSchema, BuiltinSoundIdSchema, CODE_EDITOR_THEME_VALUES, CUSTOM_SOUND_ADD_VALUE, ChangeFileSchema, ChangeSchema, ChangeStatusSchema, CliExecutor, CodeEditorThemeSchema, ConfigManager, CustomSoundHashSchema, CustomSoundIdSchema, CustomSoundMetadataFileSchema, CustomSoundMetadataSchema, DASHBOARD_METRIC_KEYS, DEFAULT_BELL_SOUND_ID, DEFAULT_CONFIG, DEFAULT_GIT_DIFF_EAGER_LINE_BUDGET, DEFAULT_GLOBAL_SETTINGS, DEFAULT_NOTIFICATION_SOUND_ID, DEFAULT_TERMINAL_DARK_THEME, DEFAULT_TERMINAL_LIGHT_THEME, DEFAULT_TERMINAL_THEME_MODE, DEFAULT_TRANSLATION_CACHE_ENTRY_LIMIT, DEFAULT_TRANSLATION_ENGINE_ID, DOCUMENT_TRANSLATION_DISPLAY_MODES, DashboardConfigSchema, DeltaOperationType, DeltaSchema, DeltaSpecSchema, DependencyInfoSchema, DocumentTranslationConfigSchema, DocumentTranslationDisplayModeSchema, GitConfigSchema, GlobalSettingsManager, HOSTED_SHELL_PROTOCOL_VERSION, LEGACY_SOUND_ID_MAP, LOCAL_MODEL_PROFILE_DEFINITIONS, LocalModelAssetLogSchema, LocalModelAssetPlanSnapshotSchema, LocalModelAssetStateSchema, LocalModelDownloadStatusSchema, MAX_TRANSLATION_CACHE_ENTRY_LIMIT, MIN_TRANSLATION_CACHE_ENTRY_LIMIT, MarkdownParser, MarkdownReadingPluginRegistry, NOTIFICATION_SOUND_OPTIONS, NOTIFICATION_SOUND_VALUES, NotificationActionSchema, NotificationGroupKeySchema, NotificationPublishInputSchema, NotificationRecordSchema, NotificationSettingsSchema, NotificationSoundSchema, NotificationSourceSchema, OFFICIAL_APP_BASE_URL, OPENSPECUI_HOOKS_VERSION, OPENSPECUI_RUNTIME_CAPABILITIES, OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, OPEN_SPEC_SPEC_PROJECTION_ID, OPSX_AGENT_INVOCATION_MODE_VALUES, OpenSpecAdapter, OpenSpecUIConfigSchema, OpenSpecUIGlobalSettingsSchema, OpenSpecWatcher, OpsxAgentInvocationModeSchema, OpsxConfigSchema, OpsxKernel, ProjectWatcher, PtyAttachMessageSchema, PtyBellResponseSchema, PtyBufferResponseSchema, PtyClientMessageSchema, PtyCloseMessageSchema, PtyCreateMessageSchema, PtyCreatedResponseSchema, PtyErrorCodeSchema, PtyErrorResponseSchema, PtyExitResponseSchema, PtyInputMessageSchema, PtyListMessageSchema, PtyListResponseSchema, PtyOutputResponseSchema, PtyPlatformSchema, PtyProcessTitleResponseSchema, PtyResizeMessageSchema, PtyServerMessageSchema, PtyTitleResponseSchema, ReactiveContext, ReactiveState, RequirementSchema, SERVICE_TRANSLATION_ENGINE_IDS, SILENT_SOUND_ID, ScenarioStepKeywordSchema, ScenarioStepSchema, SchemaArtifactSchema, SchemaDetailSchema, SchemaInfoSchema, SchemaResolutionSchema, ServiceTranslationEngineIdSchema, SoundConfigIdSchema, SoundIdSchema, SpecSchema, TERMINAL_BELL_SOUND_OPTIONS, TERMINAL_BELL_SOUND_VALUES, TERMINAL_COMMAND_FIELD_TYPE_VALUES, TERMINAL_SHELL_QUOTE_STYLE_VALUES, TERMINAL_THEME_MODE_VALUES, TERMINAL_THEME_VALUES, TOOL_WORKFLOW_TO_SKILL_DIR, TRANSLATION_CACHE_POLICY_VERSION, TRANSLATION_ENGINE_IDS, TRANSLATION_ENGINE_MANIFESTS, TRANSLATOR_CONTRACT_VERSION, TaskSchema, TemplatesSchema, TerminalBellSoundSchema, TerminalCommandFieldSchema, TerminalConfigSchema, TerminalControlParser, TerminalInvocationSettingsSchema, TerminalNotificationParser, TerminalRendererEngineSchema, TerminalShellProfileSchema, TerminalShellQuoteStyleSchema, TerminalSpawnCommandSchema, TerminalThemeModeSchema, TerminalThemeSchema, TranslationCacheEntrySchema, TranslationCacheReadInputSchema, TranslationCacheSettingsSchema, TranslationCacheStatsSchema, TranslationCacheWriteInputSchema, TranslationDownloadFilePlanSchema, TranslationDownloadGroupPlanSchema, TranslationEngineGlobalSettingsSchema, TranslationEngineIdSchema, TranslationEngineProjectSettingsSchema, TranslationLocalSettingsSchema, TranslationOpenAISettingsSchema, VIRTUAL_PROJECT_DIRNAME, Validator, acquireWatcher, annotateOpenSpecFacts, annotateOpenSpecMarkdown, buildBackendHealthPayload, buildCliRunnerCandidates, buildEmbeddedUiLaunchUrl, buildHostedLaunchUrl, buildLocalDownloadPlanFromRepositoryFiles, buildLocalDownloadPlanFromRuntimeProfileFiles, buildMarkdownParentMap, buildOpsxEntityDetail, builtinOpenSpecReadingPlugin, clearCache, closeAllProjectWatchers, closeAllWatchers, contextStorage, createCleanCliEnv, createFileChangeObservable, createMarkdownReadingDocument, createMarkdownReadingDocumentFromFacts, createOpenSpecReadingPlugin, customHashFromSoundId, getActiveWatcherCount, getAllToolIds, getAllTools, getAvailableToolIds, getAvailableTools, getBuiltinSoundUrl, getCacheSize, getConfiguredTools, getDefaultCliCommand, getDefaultCliCommandString, getDefaultGlobalSettingsPath, getDetectedProjectTools, getMarkdownAnnotation, getMarkdownAnnotationsForFact, getMarkdownFactSpan, getMarkdownHeadingEnd, getMarkdownHeadingFacts, getNotificationGroupKey, getNotificationGroupLabel, getOpenSpecAnnotation, getOpenSpecAnnotationsForFact, getOpenSpecProjectionAnnotation, getOpenSpecReadingSections, getOpsxEntityMetadataPath, getOpsxEntityRootRelativePath, getProjectWatcher, getTerminalCommandDefaultValues, getToolById, getToolInitStates, getTranslationEngineManifest, getWatchedProjectDir, getWatcherRuntimeStatus, groupNotifications, initWatcherPool, isBackendHealthRuntimeMetadata, isGlobPattern, isHostedBackendHealthResponse, isOpsxGlobPattern, isSupportedEmbeddedUiUrl, isTerminalRendererEngine, isToolConfigured, isWatcherPoolInitialized, normalizeEmbeddedUiUrl, normalizeHostedAppBaseUrl, normalizeLegacySoundId, normalizeOpsxEntityPath, openSpecAnnotationRules, opsxGlobToRegex, opsxPathMatchesPattern, parseCliCommand, parseMarkdownFacts, parseOpenSpecMarkdownToSpec, parseOpsxEntityMetadata, parseOpsxSchemaDetail, projectAnnotatedOpenSpecToSpec, projectOpenSpecMarkdown, quoteTerminalShellArg, reactiveExists, reactiveReadDir, reactiveReadFile, reactiveStat, renderTerminalCommandArgs, renderTerminalSpawnCommandLine, resolveHostedAppBaseUrl, resolveTerminalShellDefaults, selectLocalDownloadGroup, sniffGlobalCli, sortMarkdownReadingPlugins, soundIdFromCustomHash, subscribeWatcherRuntimeStatus, terminalNotificationEventToPublishInput, toMarkdownFactKind, toOpsxDisplayPath, toPersistedGlobalSettings, trimMarkdownSlice };
5129
+ export { AI_TOOLS, ApplyInstructionsContextFilesSchema, ApplyInstructionsSchema, ApplyTaskSchema, ArtifactInstructionsSchema, ArtifactStatusSchema, BUILTIN_SOUND_IDS, BUILTIN_SOUND_OPTIONS, BUILTIN_TERMINAL_SPAWN_COMMANDS, BatchTranslateEventSchema, BatchTranslateInputSchema, BuiltinSoundIdSchema, CODE_EDITOR_THEME_VALUES, CUSTOM_SOUND_ADD_VALUE, ChangeFileSchema, ChangeSchema, ChangeStatusSchema, CliExecutor, CodeEditorThemeSchema, ConfigManager, CustomSoundHashSchema, CustomSoundIdSchema, CustomSoundMetadataFileSchema, CustomSoundMetadataSchema, DASHBOARD_METRIC_KEYS, DEFAULT_BELL_SOUND_ID, DEFAULT_CONFIG, DEFAULT_GIT_DIFF_EAGER_LINE_BUDGET, DEFAULT_GLOBAL_SETTINGS, DEFAULT_NOTIFICATION_SOUND_ID, DEFAULT_TERMINAL_DARK_THEME, DEFAULT_TERMINAL_LIGHT_THEME, DEFAULT_TERMINAL_THEME_MODE, DEFAULT_TRANSLATION_CACHE_ENTRY_LIMIT, DEFAULT_TRANSLATION_ENGINE_ID, DOCUMENT_TRANSLATION_DISPLAY_MODES, DashboardConfigSchema, DeltaOperationType, DeltaSchema, DeltaSpecSchema, DependencyInfoSchema, DocumentTranslationConfigSchema, DocumentTranslationDisplayModeSchema, FILE_PREVIEW_KINDS, GitConfigSchema, GlobalSettingsManager, HOSTED_SHELL_PROTOCOL_VERSION, LEGACY_SOUND_ID_MAP, LOCAL_MODEL_PROFILE_DEFINITIONS, LocalModelAssetLogSchema, LocalModelAssetPlanSnapshotSchema, LocalModelAssetStateSchema, LocalModelDownloadStatusSchema, MAX_TRANSLATION_CACHE_ENTRY_LIMIT, MIN_TRANSLATION_CACHE_ENTRY_LIMIT, MarkdownParser, MarkdownReadingPluginRegistry, NOTIFICATION_SOUND_OPTIONS, NOTIFICATION_SOUND_VALUES, NotificationActionSchema, NotificationGroupKeySchema, NotificationPublishInputSchema, NotificationRecordSchema, NotificationSettingsSchema, NotificationSoundSchema, NotificationSourceSchema, OFFICIAL_APP_BASE_URL, OPENSPECUI_HOOKS_VERSION, OPENSPECUI_RUNTIME_CAPABILITIES, OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, OPEN_SPEC_SPEC_PROJECTION_ID, OPSX_AGENT_INVOCATION_MODE_VALUES, OpenSpecAdapter, OpenSpecUIConfigSchema, OpenSpecUIGlobalSettingsSchema, OpenSpecWatcher, OpsxAgentInvocationModeSchema, OpsxConfigSchema, OpsxKernel, ProjectWatcher, PtyAttachMessageSchema, PtyBellResponseSchema, PtyBufferResponseSchema, PtyClientMessageSchema, PtyCloseMessageSchema, PtyCreateMessageSchema, PtyCreatedResponseSchema, PtyErrorCodeSchema, PtyErrorResponseSchema, PtyExitResponseSchema, PtyInputMessageSchema, PtyListMessageSchema, PtyListResponseSchema, PtyOutputResponseSchema, PtyPlatformSchema, PtyProcessTitleResponseSchema, PtyResizeMessageSchema, PtyServerMessageSchema, PtyTitleResponseSchema, ReactiveContext, ReactiveState, RequirementSchema, SERVICE_TRANSLATION_ENGINE_IDS, SILENT_SOUND_ID, ScenarioStepKeywordSchema, ScenarioStepSchema, SchemaArtifactSchema, SchemaDetailSchema, SchemaInfoSchema, SchemaResolutionSchema, ServiceTranslationEngineIdSchema, SoundConfigIdSchema, SoundIdSchema, SpecSchema, TERMINAL_BELL_SOUND_OPTIONS, TERMINAL_BELL_SOUND_VALUES, TERMINAL_COMMAND_FIELD_TYPE_VALUES, TERMINAL_SHELL_QUOTE_STYLE_VALUES, TERMINAL_THEME_MODE_VALUES, TERMINAL_THEME_VALUES, TOOL_WORKFLOW_TO_SKILL_DIR, TRANSLATION_CACHE_POLICY_VERSION, TRANSLATION_ENGINE_IDS, TRANSLATION_ENGINE_MANIFESTS, TRANSLATOR_CONTRACT_VERSION, TaskSchema, TemplatesSchema, TerminalBellSoundSchema, TerminalCommandFieldSchema, TerminalConfigSchema, TerminalControlParser, TerminalInvocationSettingsSchema, TerminalNotificationParser, TerminalRendererEngineSchema, TerminalShellProfileSchema, TerminalShellQuoteStyleSchema, TerminalSpawnCommandSchema, TerminalThemeModeSchema, TerminalThemeSchema, TranslationCacheEntrySchema, TranslationCacheReadInputSchema, TranslationCacheSettingsSchema, TranslationCacheStatsSchema, TranslationCacheWriteInputSchema, TranslationDownloadFilePlanSchema, TranslationDownloadGroupPlanSchema, TranslationEngineGlobalSettingsSchema, TranslationEngineIdSchema, TranslationEngineProjectSettingsSchema, TranslationLocalSettingsSchema, TranslationOpenAISettingsSchema, VIRTUAL_PROJECT_DIRNAME, Validator, acquireWatcher, annotateOpenSpecFacts, annotateOpenSpecMarkdown, buildBackendHealthPayload, buildCliRunnerCandidates, buildEmbeddedUiLaunchUrl, buildHostedLaunchUrl, buildLocalDownloadPlanFromRepositoryFiles, buildLocalDownloadPlanFromRuntimeProfileFiles, buildMarkdownParentMap, buildOpsxEntityDetail, builtinOpenSpecReadingPlugin, clearCache, closeAllProjectWatchers, closeAllWatchers, contextStorage, createCleanCliEnv, createFileChangeObservable, createMarkdownReadingDocument, createMarkdownReadingDocumentFromFacts, createOpenSpecReadingPlugin, customHashFromSoundId, getActiveWatcherCount, getAllToolIds, getAllTools, getAvailableToolIds, getAvailableTools, getBuiltinSoundUrl, getCacheSize, getConfiguredTools, getDefaultCliCommand, getDefaultCliCommandString, getDefaultGlobalSettingsPath, getDetectedProjectTools, getMarkdownAnnotation, getMarkdownAnnotationsForFact, getMarkdownFactSpan, getMarkdownHeadingEnd, getMarkdownHeadingFacts, getNotificationGroupKey, getNotificationGroupLabel, getOpenSpecAnnotation, getOpenSpecAnnotationsForFact, getOpenSpecProjectionAnnotation, getOpenSpecReadingSections, getOpsxEntityMetadataPath, getOpsxEntityRootRelativePath, getProjectWatcher, getTerminalCommandDefaultValues, getToolById, getToolInitStates, getTranslationEngineManifest, getWatchedProjectDir, getWatcherRuntimeStatus, groupNotifications, inferFileMime, inferFilePreviewKind, initWatcherPool, isBackendHealthRuntimeMetadata, isGlobPattern, isHostedBackendHealthResponse, isOpsxGlobPattern, isPreviewableFile, isSupportedEmbeddedUiUrl, isTerminalRendererEngine, isTextLikeFile, isTextLikeMime, isToolConfigured, isWatcherPoolInitialized, normalizeEmbeddedUiUrl, normalizeHostedAppBaseUrl, normalizeLegacySoundId, normalizeOpsxEntityPath, openSpecAnnotationRules, opsxGlobToRegex, opsxPathMatchesPattern, parseCliCommand, parseMarkdownFacts, parseOpenSpecMarkdownToSpec, parseOpsxEntityMetadata, parseOpsxSchemaDetail, projectAnnotatedOpenSpecToSpec, projectOpenSpecMarkdown, quoteTerminalShellArg, reactiveExists, reactiveReadDir, reactiveReadFile, reactiveStat, renderTerminalCommandArgs, renderTerminalSpawnCommandLine, resolveHostedAppBaseUrl, resolveTerminalShellDefaults, selectLocalDownloadGroup, sniffGlobalCli, sortMarkdownReadingPlugins, soundIdFromCustomHash, subscribeWatcherRuntimeStatus, terminalNotificationEventToPublishInput, toMarkdownFactKind, toOpsxDisplayPath, toPersistedGlobalSettings, trimMarkdownSlice };
@@ -1,4 +1,4 @@
1
- import { D as TranslationDownloadGroupPlan, z as TranslationModelDownloadPlan } from "./translator-C3W7bTIN.mjs";
1
+ import { D as TranslationDownloadGroupPlan, z as TranslationModelDownloadPlan } from "./translator-BSPMDjZy.mjs";
2
2
 
3
3
  //#region src/local-download-profiles.d.ts
4
4
  declare const LOCAL_MODEL_PROFILE_DEFINITIONS: readonly [{
@@ -1,3 +1,3 @@
1
- import "./translator-C3W7bTIN.mjs";
2
- import { a as buildLocalDownloadPlanFromRepositoryFiles, i as LocalRuntimeProfileFiles, n as LocalModelProfileId, o as buildLocalDownloadPlanFromRuntimeProfileFiles, r as LocalRepositoryFile, s as selectLocalDownloadGroup, t as LOCAL_MODEL_PROFILE_DEFINITIONS } from "./local-download-profiles-Qu1932tV.mjs";
1
+ import "./translator-BSPMDjZy.mjs";
2
+ import { a as buildLocalDownloadPlanFromRepositoryFiles, i as LocalRuntimeProfileFiles, n as LocalModelProfileId, o as buildLocalDownloadPlanFromRuntimeProfileFiles, r as LocalRepositoryFile, s as selectLocalDownloadGroup, t as LOCAL_MODEL_PROFILE_DEFINITIONS } from "./local-download-profiles-BdHk_i54.mjs";
3
3
  export { LOCAL_MODEL_PROFILE_DEFINITIONS, LocalModelProfileId, LocalRepositoryFile, LocalRuntimeProfileFiles, buildLocalDownloadPlanFromRepositoryFiles, buildLocalDownloadPlanFromRuntimeProfileFiles, selectLocalDownloadGroup };
@@ -1,4 +1,4 @@
1
- import { x as SoundId } from "./sounds-DABkmyg9.mjs";
1
+ import { x as SoundId } from "./sounds-CQJ1eD1u.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region src/terminal-control.d.ts
@@ -54,18 +54,18 @@ declare function terminalNotificationEventToPublishInput(input: {
54
54
  //#endregion
55
55
  //#region src/notifications.d.ts
56
56
  declare const NOTIFICATION_SOUND_VALUES: readonly ["silent", "soft", "clear", "pulse"];
57
- declare const NotificationSoundSchema: z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`, unknown>;
57
+ declare const NotificationSoundSchema: z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`, unknown>;
58
58
  type NotificationSound = SoundId;
59
59
  declare const NOTIFICATION_SOUND_OPTIONS: readonly {
60
60
  id: NotificationSound;
61
61
  label: string;
62
62
  }[];
63
63
  declare const NotificationSettingsSchema: z.ZodObject<{
64
- sound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`, unknown>>;
64
+ sound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`, unknown>>;
65
65
  volume: z.ZodDefault<z.ZodNumber>;
66
66
  systemNotificationsEnabled: z.ZodDefault<z.ZodBoolean>;
67
67
  }, "strip", z.ZodTypeAny, {
68
- sound: "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`;
68
+ sound: "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`;
69
69
  volume: number;
70
70
  systemNotificationsEnabled: boolean;
71
71
  }, {
@@ -325,6 +325,7 @@ declare const NotificationPublishInputSchema: z.ZodObject<{
325
325
  groupId: string;
326
326
  title?: string | undefined;
327
327
  };
328
+ createdAt?: number | undefined;
328
329
  body?: string | undefined;
329
330
  actions?: ({
330
331
  type: "terminal.focus";
@@ -340,7 +341,6 @@ declare const NotificationPublishInputSchema: z.ZodObject<{
340
341
  label?: string | undefined;
341
342
  })[] | undefined;
342
343
  level?: "info" | "success" | "warning" | "error" | undefined;
343
- createdAt?: number | undefined;
344
344
  }>;
345
345
  type NotificationPublishInput = z.infer<typeof NotificationPublishInputSchema>;
346
346
  declare const NotificationRecordSchema: z.ZodObject<{
@@ -446,6 +446,8 @@ declare const NotificationRecordSchema: z.ZodObject<{
446
446
  createdAt: z.ZodNumber;
447
447
  groupKey: z.ZodString;
448
448
  }, "strip", z.ZodTypeAny, {
449
+ id: string;
450
+ createdAt: number;
449
451
  title: string;
450
452
  body: string;
451
453
  source: {
@@ -479,10 +481,10 @@ declare const NotificationRecordSchema: z.ZodObject<{
479
481
  };
480
482
  })[];
481
483
  level: "info" | "success" | "warning" | "error";
482
- createdAt: number;
483
- id: string;
484
484
  groupKey: string;
485
485
  }, {
486
+ id: string;
487
+ createdAt: number;
486
488
  title: string;
487
489
  source: {
488
490
  type: "terminal";
@@ -501,8 +503,6 @@ declare const NotificationRecordSchema: z.ZodObject<{
501
503
  groupId: string;
502
504
  title?: string | undefined;
503
505
  };
504
- createdAt: number;
505
- id: string;
506
506
  groupKey: string;
507
507
  body?: string | undefined;
508
508
  actions?: ({
@@ -1,3 +1,3 @@
1
- import "./sounds-DABkmyg9.mjs";
2
- import { C as getNotificationAggregateKey, E as groupNotifications, P as terminalNotificationEventToPublishInput, S as aggregateNotifications, T as getNotificationGroupLabel, _ as NotificationSource, a as NotificationAggregate, b as TerminalNotificationParseResult, c as NotificationGroupKeySchema, d as NotificationRecord, f as NotificationRecordSchema, g as NotificationSoundSchema, h as NotificationSound, i as NotificationActionSchema, k as TerminalControlParser, l as NotificationPublishInput, m as NotificationSettingsSchema, n as NOTIFICATION_SOUND_VALUES, o as NotificationGroup, p as NotificationSettings, r as NotificationAction, s as NotificationGroupKey, t as NOTIFICATION_SOUND_OPTIONS, u as NotificationPublishInputSchema, v as NotificationSourceSchema, w as getNotificationGroupKey, x as TerminalNotificationParser, y as TerminalNotificationEvent } from "./notifications-D7tcKw71.mjs";
1
+ import "./sounds-CQJ1eD1u.mjs";
2
+ import { C as getNotificationAggregateKey, E as groupNotifications, P as terminalNotificationEventToPublishInput, S as aggregateNotifications, T as getNotificationGroupLabel, _ as NotificationSource, a as NotificationAggregate, b as TerminalNotificationParseResult, c as NotificationGroupKeySchema, d as NotificationRecord, f as NotificationRecordSchema, g as NotificationSoundSchema, h as NotificationSound, i as NotificationActionSchema, k as TerminalControlParser, l as NotificationPublishInput, m as NotificationSettingsSchema, n as NOTIFICATION_SOUND_VALUES, o as NotificationGroup, p as NotificationSettings, r as NotificationAction, s as NotificationGroupKey, t as NOTIFICATION_SOUND_OPTIONS, u as NotificationPublishInputSchema, v as NotificationSourceSchema, w as getNotificationGroupKey, x as TerminalNotificationParser, y as TerminalNotificationEvent } from "./notifications-B4GiAnmn.mjs";
3
3
  export { NOTIFICATION_SOUND_OPTIONS, NOTIFICATION_SOUND_VALUES, NotificationAction, NotificationActionSchema, NotificationAggregate, NotificationGroup, NotificationGroupKey, NotificationGroupKeySchema, NotificationPublishInput, NotificationPublishInputSchema, NotificationRecord, NotificationRecordSchema, NotificationSettings, NotificationSettingsSchema, NotificationSound, NotificationSoundSchema, NotificationSource, NotificationSourceSchema, TerminalControlParser, TerminalNotificationEvent, TerminalNotificationParseResult, TerminalNotificationParser, aggregateNotifications, getNotificationAggregateKey, getNotificationGroupKey, getNotificationGroupLabel, groupNotifications, terminalNotificationEventToPublishInput };
@@ -1,4 +1,4 @@
1
- import { g as Spec } from "./schemas-CqgvXgGV.mjs";
1
+ import { g as Spec } from "./schemas-3VC51gAF.mjs";
2
2
  import { d as MarkdownReadingPlugin, l as MarkdownReadingDocument } from "./markdown-reading-DvLPaaY1.mjs";
3
3
  import { n as OpenSpecAnnotation, t as AnnotatedOpenSpecDocument } from "./openspec-annotations-DVbFBz5J.mjs";
4
4
 
@@ -1,6 +1,6 @@
1
- import "./schemas-CqgvXgGV.mjs";
1
+ import "./schemas-3VC51gAF.mjs";
2
2
  import "./markdown-facts-DUsbNcjh.mjs";
3
3
  import "./markdown-reading-DvLPaaY1.mjs";
4
4
  import "./openspec-annotations-DVbFBz5J.mjs";
5
- import { a as OpenSpecReadingSectionsProjection, c as ProjectedOpenSpecDocument, d as getOpenSpecReadingSections, f as parseOpenSpecMarkdownToSpec, i as OpenSpecProjectionOptions, l as createOpenSpecReadingPlugin, m as projectOpenSpecMarkdown, n as OPEN_SPEC_SPEC_PROJECTION_ID, o as OpenSpecRequirementBlock, p as projectAnnotatedOpenSpecToSpec, r as OpenSpecHeadingSection, s as OpenSpecScenarioBlock, t as OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, u as getOpenSpecProjectionAnnotation } from "./openspec-projection-Bby9mX80.mjs";
5
+ import { a as OpenSpecReadingSectionsProjection, c as ProjectedOpenSpecDocument, d as getOpenSpecReadingSections, f as parseOpenSpecMarkdownToSpec, i as OpenSpecProjectionOptions, l as createOpenSpecReadingPlugin, m as projectOpenSpecMarkdown, n as OPEN_SPEC_SPEC_PROJECTION_ID, o as OpenSpecRequirementBlock, p as projectAnnotatedOpenSpecToSpec, r as OpenSpecHeadingSection, s as OpenSpecScenarioBlock, t as OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, u as getOpenSpecProjectionAnnotation } from "./openspec-projection-Df5C6CFv.mjs";
6
6
  export { OPEN_SPEC_READING_SECTIONS_PROJECTION_ID, OPEN_SPEC_SPEC_PROJECTION_ID, OpenSpecHeadingSection, OpenSpecProjectionOptions, OpenSpecReadingSectionsProjection, OpenSpecRequirementBlock, OpenSpecScenarioBlock, ProjectedOpenSpecDocument, createOpenSpecReadingPlugin, getOpenSpecProjectionAnnotation, getOpenSpecReadingSections, parseOpenSpecMarkdownToSpec, projectAnnotatedOpenSpecToSpec, projectOpenSpecMarkdown };