@openspecui/core 3.4.1 → 3.5.1

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.
Files changed (34) hide show
  1. package/dist/hosted-app.d.mts +1 -1
  2. package/dist/hosted-app.mjs +1 -1
  3. package/dist/index.d.mts +141 -97
  4. package/dist/index.mjs +71 -8
  5. package/dist/notifications-BWvRNkRJ.d.mts +550 -0
  6. package/dist/notifications-F81mmO55.mjs +145 -0
  7. package/dist/notifications.d.mts +3 -0
  8. package/dist/notifications.mjs +5 -0
  9. package/dist/opsx-display-path.d.mts +1 -1
  10. package/dist/opsx-display-path.mjs +1 -1
  11. package/dist/sounds-Bw-sSyFZ.d.mts +86 -0
  12. package/dist/sounds-C0dNSFm8.mjs +158 -0
  13. package/dist/sounds.d.mts +2 -0
  14. package/dist/sounds.mjs +3 -0
  15. package/dist/terminal-audio-8E82E0AM.d.mts +13 -0
  16. package/dist/terminal-audio-DDwxz9sJ.mjs +21 -0
  17. package/dist/terminal-audio.d.mts +3 -0
  18. package/dist/terminal-audio.mjs +4 -0
  19. package/dist/terminal-control-DtBprY6-.mjs +236 -0
  20. package/dist/terminal-control.d.mts +3 -0
  21. package/dist/terminal-control.mjs +3 -0
  22. package/dist/{terminal-invocation-ajsrCPhf.d.mts → terminal-invocation-CGAgqosu.d.mts} +191 -99
  23. package/dist/terminal-invocation.d.mts +1 -1
  24. package/dist/terminal-invocation.mjs +1 -1
  25. package/dist/terminal-theme.d.mts +1 -1
  26. package/dist/terminal-theme.mjs +1 -1
  27. package/package.json +19 -3
  28. /package/dist/{hosted-app-CC8DBuyE.mjs → hosted-app-CIOJpbzc.mjs} +0 -0
  29. /package/dist/{hosted-app-Be-ourtC.d.mts → hosted-app-DaGUbBJn.d.mts} +0 -0
  30. /package/dist/{opsx-display-path-DNqQo2uK.mjs → opsx-display-path-B6Owu17P.mjs} +0 -0
  31. /package/dist/{opsx-display-path-ElGeez1E.d.mts → opsx-display-path-CuQyGB_A.d.mts} +0 -0
  32. /package/dist/{terminal-invocation-8OLmCJfv.mjs → terminal-invocation-Cdi6_Kl6.mjs} +0 -0
  33. /package/dist/{terminal-theme-Cyyo2Zln.mjs → terminal-theme-CMQqJvIQ.mjs} +0 -0
  34. /package/dist/{terminal-theme-C_2UGXPr.d.mts → terminal-theme-wbkK9vVH.d.mts} +0 -0
package/dist/index.mjs CHANGED
@@ -1,7 +1,11 @@
1
- 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-Cyyo2Zln.mjs";
2
- import { a as isHostedBackendHealthResponse, c as normalizeHostedAppBaseUrl, i as buildHostedLaunchUrl, l as resolveHostedAppBaseUrl, n as OFFICIAL_APP_BASE_URL, o as isSupportedEmbeddedUiUrl, r as buildEmbeddedUiLaunchUrl, s as normalizeEmbeddedUiUrl, t as HOSTED_SHELL_PROTOCOL_VERSION } from "./hosted-app-CC8DBuyE.mjs";
3
- import { n as toOpsxDisplayPath, t as VIRTUAL_PROJECT_DIRNAME } from "./opsx-display-path-DNqQo2uK.mjs";
4
- import { a as TerminalInvocationSettingsSchema, c as TerminalSpawnCommandSchema, f as quoteTerminalShellArg, g as resolveTerminalShellDefaults, h as renderTerminalSpawnCommandLine, i as TerminalCommandFieldSchema, n as TERMINAL_COMMAND_FIELD_TYPE_VALUES, o as TerminalShellProfileSchema, p as renderTerminalCommandArgs, r as TERMINAL_SHELL_QUOTE_STYLE_VALUES, s as TerminalShellQuoteStyleSchema, t as BUILTIN_TERMINAL_SPAWN_COMMANDS, u as getTerminalCommandDefaultValues } from "./terminal-invocation-8OLmCJfv.mjs";
1
+ import { _ as customHashFromSoundId, a as CustomSoundHashSchema, b as soundIdFromCustomHash, c as CustomSoundMetadataSchema, f as LEGACY_SOUND_ID_MAP, g as SoundVolumeSchema, h as SoundIdSchema, i as CUSTOM_SOUND_ADD_VALUE, l as DEFAULT_BELL_SOUND_ID, m as SoundConfigIdSchema, n as BUILTIN_SOUND_OPTIONS, o as CustomSoundIdSchema, p as SILENT_SOUND_ID, r as BuiltinSoundIdSchema, s as CustomSoundMetadataFileSchema, t as BUILTIN_SOUND_IDS, u as DEFAULT_NOTIFICATION_SOUND_ID, v as getBuiltinSoundUrl, y as normalizeLegacySoundId } from "./sounds-C0dNSFm8.mjs";
2
+ import { n as terminalNotificationEventToPublishInput, t as TerminalControlParser } from "./terminal-control-DtBprY6-.mjs";
3
+ import { a as NotificationPublishInputSchema, c as NotificationSoundSchema, h as groupNotifications, i as NotificationGroupKeySchema, l as NotificationSourceSchema, m as getNotificationGroupLabel, n as NOTIFICATION_SOUND_VALUES, o as NotificationRecordSchema, p as getNotificationGroupKey, r as NotificationActionSchema, s as NotificationSettingsSchema, t as NOTIFICATION_SOUND_OPTIONS, u as TerminalNotificationParser } from "./notifications-F81mmO55.mjs";
4
+ import { n as TERMINAL_BELL_SOUND_VALUES, r as TerminalBellSoundSchema, t as TERMINAL_BELL_SOUND_OPTIONS } from "./terminal-audio-DDwxz9sJ.mjs";
5
+ 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-CMQqJvIQ.mjs";
6
+ import { a as isHostedBackendHealthResponse, c as normalizeHostedAppBaseUrl, i as buildHostedLaunchUrl, l as resolveHostedAppBaseUrl, n as OFFICIAL_APP_BASE_URL, o as isSupportedEmbeddedUiUrl, r as buildEmbeddedUiLaunchUrl, s as normalizeEmbeddedUiUrl, t as HOSTED_SHELL_PROTOCOL_VERSION } from "./hosted-app-CIOJpbzc.mjs";
7
+ import { n as toOpsxDisplayPath, t as VIRTUAL_PROJECT_DIRNAME } from "./opsx-display-path-B6Owu17P.mjs";
8
+ import { a as TerminalInvocationSettingsSchema, c as TerminalSpawnCommandSchema, f as quoteTerminalShellArg, g as resolveTerminalShellDefaults, h as renderTerminalSpawnCommandLine, i as TerminalCommandFieldSchema, n as TERMINAL_COMMAND_FIELD_TYPE_VALUES, o as TerminalShellProfileSchema, p as renderTerminalCommandArgs, r as TERMINAL_SHELL_QUOTE_STYLE_VALUES, s as TerminalShellQuoteStyleSchema, t as BUILTIN_TERMINAL_SPAWN_COMMANDS, u as getTerminalCommandDefaultValues } from "./terminal-invocation-Cdi6_Kl6.mjs";
5
9
  import { mkdir, readFile, rename, writeFile } from "fs/promises";
6
10
  import { dirname, join } from "path";
7
11
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -2498,7 +2502,9 @@ const TerminalConfigSchema = z.object({
2498
2502
  useTheme: TerminalThemeModeSchema.default(DEFAULT_TERMINAL_THEME_MODE),
2499
2503
  lightTheme: TerminalThemeSchema.default(DEFAULT_TERMINAL_LIGHT_THEME),
2500
2504
  darkTheme: TerminalThemeSchema.default(DEFAULT_TERMINAL_DARK_THEME),
2501
- rendererEngine: z.string().default("xterm")
2505
+ rendererEngine: z.string().default("xterm"),
2506
+ bellSound: TerminalBellSoundSchema.default(DEFAULT_BELL_SOUND_ID),
2507
+ bellVolume: SoundVolumeSchema
2502
2508
  });
2503
2509
  const DashboardConfigSchema = z.object({ trendPointLimit: z.number().int().min(20).max(500).default(100) });
2504
2510
  const DEFAULT_GIT_DIFF_EAGER_LINE_BUDGET = 1e3;
@@ -2521,7 +2527,8 @@ const OpenSpecUIConfigSchema = z.object({
2521
2527
  opsx: OpsxConfigSchema.default(OpsxConfigSchema.parse({})),
2522
2528
  terminal: TerminalConfigSchema.default(TerminalConfigSchema.parse({})),
2523
2529
  dashboard: DashboardConfigSchema.default(DashboardConfigSchema.parse({})),
2524
- git: GitConfigSchema.default(GitConfigSchema.parse({}))
2530
+ git: GitConfigSchema.default(GitConfigSchema.parse({})),
2531
+ notifications: NotificationSettingsSchema.default(NotificationSettingsSchema.parse({}))
2525
2532
  });
2526
2533
  /** 默认配置(静态,用于测试和类型) */
2527
2534
  const DEFAULT_CONFIG = {
@@ -2532,7 +2539,8 @@ const DEFAULT_CONFIG = {
2532
2539
  opsx: OpsxConfigSchema.parse({}),
2533
2540
  terminal: TerminalConfigSchema.parse({}),
2534
2541
  dashboard: DashboardConfigSchema.parse({}),
2535
- git: GitConfigSchema.parse({})
2542
+ git: GitConfigSchema.parse({}),
2543
+ notifications: NotificationSettingsSchema.parse({})
2536
2544
  };
2537
2545
  function areStringArraysEqual(left, right) {
2538
2546
  if (left === right) return true;
@@ -2585,6 +2593,8 @@ function toPersistedConfig(config, options = {}) {
2585
2593
  if (config.terminal.lightTheme !== DEFAULT_CONFIG.terminal.lightTheme) terminal.lightTheme = config.terminal.lightTheme;
2586
2594
  if (config.terminal.darkTheme !== DEFAULT_CONFIG.terminal.darkTheme) terminal.darkTheme = config.terminal.darkTheme;
2587
2595
  if (config.terminal.rendererEngine !== DEFAULT_CONFIG.terminal.rendererEngine) terminal.rendererEngine = config.terminal.rendererEngine;
2596
+ if (config.terminal.bellSound !== DEFAULT_CONFIG.terminal.bellSound) terminal.bellSound = config.terminal.bellSound;
2597
+ if (config.terminal.bellVolume !== DEFAULT_CONFIG.terminal.bellVolume) terminal.bellVolume = config.terminal.bellVolume;
2588
2598
  if (hasOwnEntries(terminal)) persisted.terminal = terminal;
2589
2599
  const dashboard = {};
2590
2600
  if (config.dashboard.trendPointLimit !== DEFAULT_CONFIG.dashboard.trendPointLimit) dashboard.trendPointLimit = config.dashboard.trendPointLimit;
@@ -2592,6 +2602,11 @@ function toPersistedConfig(config, options = {}) {
2592
2602
  const git = {};
2593
2603
  if (config.git.diffEagerLineBudget !== DEFAULT_CONFIG.git.diffEagerLineBudget) git.diffEagerLineBudget = config.git.diffEagerLineBudget;
2594
2604
  if (hasOwnEntries(git)) persisted.git = git;
2605
+ const notifications = {};
2606
+ if (config.notifications.sound !== DEFAULT_CONFIG.notifications.sound) notifications.sound = config.notifications.sound;
2607
+ if (config.notifications.volume !== DEFAULT_CONFIG.notifications.volume) notifications.volume = config.notifications.volume;
2608
+ if (config.notifications.systemNotificationsEnabled !== DEFAULT_CONFIG.notifications.systemNotificationsEnabled) notifications.systemNotificationsEnabled = config.notifications.systemNotificationsEnabled;
2609
+ if (hasOwnEntries(notifications)) persisted.notifications = notifications;
2595
2610
  return persisted;
2596
2611
  }
2597
2612
  function isPersistedConfigEmpty(config) {
@@ -2686,6 +2701,10 @@ var ConfigManager = class {
2686
2701
  git: {
2687
2702
  ...current.git,
2688
2703
  ...config.git
2704
+ },
2705
+ notifications: {
2706
+ ...current.notifications,
2707
+ ...config.notifications
2689
2708
  }
2690
2709
  });
2691
2710
  if (isPersistedConfigEmpty(persisted) && !fileExists) return;
@@ -4611,6 +4630,45 @@ const PtyTitleResponseSchema = z.object({
4611
4630
  sessionId: z.string().min(1),
4612
4631
  title: z.string()
4613
4632
  });
4633
+ const PtyProcessTitleResponseSchema = z.object({
4634
+ type: z.literal("process-title"),
4635
+ sessionId: z.string().min(1),
4636
+ title: z.string()
4637
+ });
4638
+ const PtyCwdResponseSchema = z.object({
4639
+ type: z.literal("cwd"),
4640
+ sessionId: z.string().min(1),
4641
+ cwd: z.string()
4642
+ });
4643
+ const PtyProgressResponseSchema = z.object({
4644
+ type: z.literal("progress"),
4645
+ sessionId: z.string().min(1),
4646
+ state: z.enum([
4647
+ "clear",
4648
+ "set",
4649
+ "error",
4650
+ "indeterminate",
4651
+ "warning"
4652
+ ]),
4653
+ value: z.number().int().min(0).max(100).nullable()
4654
+ });
4655
+ const PtyPromptStateResponseSchema = z.object({
4656
+ type: z.literal("prompt-state"),
4657
+ sessionId: z.string().min(1),
4658
+ state: z.enum([
4659
+ "prompt-start",
4660
+ "prompt-end",
4661
+ "command-start",
4662
+ "command-output",
4663
+ "command-end"
4664
+ ]),
4665
+ exitCode: z.number().int().optional()
4666
+ });
4667
+ const PtyBellResponseSchema = z.object({
4668
+ type: z.literal("bell"),
4669
+ sessionId: z.string().min(1),
4670
+ createdAt: z.number().int().positive().optional()
4671
+ });
4614
4672
  const PtyBufferResponseSchema = z.object({
4615
4673
  type: z.literal("buffer"),
4616
4674
  sessionId: z.string().min(1),
@@ -4637,10 +4695,15 @@ const PtyServerMessageSchema = z.discriminatedUnion("type", [
4637
4695
  PtyOutputResponseSchema,
4638
4696
  PtyExitResponseSchema,
4639
4697
  PtyTitleResponseSchema,
4698
+ PtyProcessTitleResponseSchema,
4699
+ PtyCwdResponseSchema,
4700
+ PtyProgressResponseSchema,
4701
+ PtyPromptStateResponseSchema,
4702
+ PtyBellResponseSchema,
4640
4703
  PtyBufferResponseSchema,
4641
4704
  PtyListResponseSchema,
4642
4705
  PtyErrorResponseSchema
4643
4706
  ]);
4644
4707
 
4645
4708
  //#endregion
4646
- export { AI_TOOLS, ApplyInstructionsContextFilesSchema, ApplyInstructionsSchema, ApplyTaskSchema, ArtifactInstructionsSchema, ArtifactStatusSchema, BUILTIN_TERMINAL_SPAWN_COMMANDS, CODE_EDITOR_THEME_VALUES, ChangeFileSchema, ChangeSchema, ChangeStatusSchema, CliExecutor, CodeEditorThemeSchema, ConfigManager, DASHBOARD_METRIC_KEYS, DEFAULT_CONFIG, DEFAULT_GIT_DIFF_EAGER_LINE_BUDGET, DEFAULT_TERMINAL_DARK_THEME, DEFAULT_TERMINAL_LIGHT_THEME, DEFAULT_TERMINAL_THEME_MODE, DashboardConfigSchema, DeltaOperationType, DeltaSchema, DeltaSpecSchema, DependencyInfoSchema, GitConfigSchema, HOSTED_SHELL_PROTOCOL_VERSION, MarkdownParser, OFFICIAL_APP_BASE_URL, OPENSPECUI_HOOKS_VERSION, OPSX_AGENT_INVOCATION_MODE_VALUES, OpenSpecAdapter, OpenSpecUIConfigSchema, OpenSpecWatcher, OpsxAgentInvocationModeSchema, OpsxConfigSchema, OpsxKernel, ProjectWatcher, PtyAttachMessageSchema, PtyBufferResponseSchema, PtyClientMessageSchema, PtyCloseMessageSchema, PtyCreateMessageSchema, PtyCreatedResponseSchema, PtyErrorCodeSchema, PtyErrorResponseSchema, PtyExitResponseSchema, PtyInputMessageSchema, PtyListMessageSchema, PtyListResponseSchema, PtyOutputResponseSchema, PtyPlatformSchema, PtyResizeMessageSchema, PtyServerMessageSchema, PtyTitleResponseSchema, ReactiveContext, ReactiveState, RequirementSchema, SchemaArtifactSchema, SchemaDetailSchema, SchemaInfoSchema, SchemaResolutionSchema, SpecSchema, TERMINAL_COMMAND_FIELD_TYPE_VALUES, TERMINAL_SHELL_QUOTE_STYLE_VALUES, TERMINAL_THEME_MODE_VALUES, TERMINAL_THEME_VALUES, TOOL_WORKFLOW_TO_SKILL_DIR, TaskSchema, TemplatesSchema, TerminalCommandFieldSchema, TerminalConfigSchema, TerminalInvocationSettingsSchema, TerminalRendererEngineSchema, TerminalShellProfileSchema, TerminalShellQuoteStyleSchema, TerminalSpawnCommandSchema, TerminalThemeModeSchema, TerminalThemeSchema, VIRTUAL_PROJECT_DIRNAME, Validator, acquireWatcher, buildCliRunnerCandidates, buildEmbeddedUiLaunchUrl, buildHostedLaunchUrl, clearCache, closeAllProjectWatchers, closeAllWatchers, contextStorage, createCleanCliEnv, createFileChangeObservable, getActiveWatcherCount, getAllToolIds, getAllTools, getAvailableToolIds, getAvailableTools, getCacheSize, getConfiguredTools, getDefaultCliCommand, getDefaultCliCommandString, getDetectedProjectTools, getProjectWatcher, getTerminalCommandDefaultValues, getToolById, getToolInitStates, getWatchedProjectDir, getWatcherRuntimeStatus, initWatcherPool, isGlobPattern, isHostedBackendHealthResponse, isSupportedEmbeddedUiUrl, isTerminalRendererEngine, isToolConfigured, isWatcherPoolInitialized, normalizeEmbeddedUiUrl, normalizeHostedAppBaseUrl, parseCliCommand, quoteTerminalShellArg, reactiveExists, reactiveReadDir, reactiveReadFile, reactiveStat, renderTerminalCommandArgs, renderTerminalSpawnCommandLine, resolveHostedAppBaseUrl, resolveTerminalShellDefaults, sniffGlobalCli, subscribeWatcherRuntimeStatus, toOpsxDisplayPath };
4709
+ export { AI_TOOLS, ApplyInstructionsContextFilesSchema, ApplyInstructionsSchema, ApplyTaskSchema, ArtifactInstructionsSchema, ArtifactStatusSchema, BUILTIN_SOUND_IDS, BUILTIN_SOUND_OPTIONS, BUILTIN_TERMINAL_SPAWN_COMMANDS, 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_NOTIFICATION_SOUND_ID, DEFAULT_TERMINAL_DARK_THEME, DEFAULT_TERMINAL_LIGHT_THEME, DEFAULT_TERMINAL_THEME_MODE, DashboardConfigSchema, DeltaOperationType, DeltaSchema, DeltaSpecSchema, DependencyInfoSchema, GitConfigSchema, HOSTED_SHELL_PROTOCOL_VERSION, LEGACY_SOUND_ID_MAP, MarkdownParser, NOTIFICATION_SOUND_OPTIONS, NOTIFICATION_SOUND_VALUES, NotificationActionSchema, NotificationGroupKeySchema, NotificationPublishInputSchema, NotificationRecordSchema, NotificationSettingsSchema, NotificationSoundSchema, NotificationSourceSchema, OFFICIAL_APP_BASE_URL, OPENSPECUI_HOOKS_VERSION, OPSX_AGENT_INVOCATION_MODE_VALUES, OpenSpecAdapter, OpenSpecUIConfigSchema, 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, SILENT_SOUND_ID, SchemaArtifactSchema, SchemaDetailSchema, SchemaInfoSchema, SchemaResolutionSchema, 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, TaskSchema, TemplatesSchema, TerminalBellSoundSchema, TerminalCommandFieldSchema, TerminalConfigSchema, TerminalControlParser, TerminalInvocationSettingsSchema, TerminalNotificationParser, TerminalRendererEngineSchema, TerminalShellProfileSchema, TerminalShellQuoteStyleSchema, TerminalSpawnCommandSchema, TerminalThemeModeSchema, TerminalThemeSchema, VIRTUAL_PROJECT_DIRNAME, Validator, acquireWatcher, buildCliRunnerCandidates, buildEmbeddedUiLaunchUrl, buildHostedLaunchUrl, clearCache, closeAllProjectWatchers, closeAllWatchers, contextStorage, createCleanCliEnv, createFileChangeObservable, customHashFromSoundId, getActiveWatcherCount, getAllToolIds, getAllTools, getAvailableToolIds, getAvailableTools, getBuiltinSoundUrl, getCacheSize, getConfiguredTools, getDefaultCliCommand, getDefaultCliCommandString, getDetectedProjectTools, getNotificationGroupKey, getNotificationGroupLabel, getProjectWatcher, getTerminalCommandDefaultValues, getToolById, getToolInitStates, getWatchedProjectDir, getWatcherRuntimeStatus, groupNotifications, initWatcherPool, isGlobPattern, isHostedBackendHealthResponse, isSupportedEmbeddedUiUrl, isTerminalRendererEngine, isToolConfigured, isWatcherPoolInitialized, normalizeEmbeddedUiUrl, normalizeHostedAppBaseUrl, normalizeLegacySoundId, parseCliCommand, quoteTerminalShellArg, reactiveExists, reactiveReadDir, reactiveReadFile, reactiveStat, renderTerminalCommandArgs, renderTerminalSpawnCommandLine, resolveHostedAppBaseUrl, resolveTerminalShellDefaults, sniffGlobalCli, soundIdFromCustomHash, subscribeWatcherRuntimeStatus, terminalNotificationEventToPublishInput, toOpsxDisplayPath };