@openspecui/core 3.4.0 → 3.5.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/hosted-app.d.mts +1 -1
- package/dist/hosted-app.mjs +1 -1
- package/dist/index.d.mts +149 -105
- package/dist/index.mjs +71 -8
- package/dist/notifications-DOQwtdfS.d.mts +550 -0
- package/dist/notifications-F81mmO55.mjs +145 -0
- package/dist/notifications.d.mts +3 -0
- package/dist/notifications.mjs +5 -0
- package/dist/opsx-display-path.d.mts +1 -1
- package/dist/opsx-display-path.mjs +1 -1
- package/dist/sounds-C0dNSFm8.mjs +158 -0
- package/dist/sounds-CxwbTXZS.d.mts +86 -0
- package/dist/sounds.d.mts +2 -0
- package/dist/sounds.mjs +3 -0
- package/dist/terminal-audio-BoSdMyBY.d.mts +13 -0
- package/dist/terminal-audio-DDwxz9sJ.mjs +21 -0
- package/dist/terminal-audio.d.mts +3 -0
- package/dist/terminal-audio.mjs +4 -0
- package/dist/terminal-control-DtBprY6-.mjs +236 -0
- package/dist/terminal-control.d.mts +3 -0
- package/dist/terminal-control.mjs +3 -0
- package/dist/{terminal-invocation-ajsrCPhf.d.mts → terminal-invocation-BAcs7OE-.d.mts} +179 -87
- package/dist/terminal-invocation.d.mts +1 -1
- package/dist/terminal-invocation.mjs +1 -1
- package/dist/terminal-theme.d.mts +1 -1
- package/dist/terminal-theme.mjs +1 -1
- package/package.json +19 -3
- /package/dist/{hosted-app-CC8DBuyE.mjs → hosted-app-CIOJpbzc.mjs} +0 -0
- /package/dist/{hosted-app-Be-ourtC.d.mts → hosted-app-DaGUbBJn.d.mts} +0 -0
- /package/dist/{opsx-display-path-DNqQo2uK.mjs → opsx-display-path-B6Owu17P.mjs} +0 -0
- /package/dist/{opsx-display-path-ElGeez1E.d.mts → opsx-display-path-CuQyGB_A.d.mts} +0 -0
- /package/dist/{terminal-invocation-8OLmCJfv.mjs → terminal-invocation-Cdi6_Kl6.mjs} +0 -0
- /package/dist/{terminal-theme-Cyyo2Zln.mjs → terminal-theme-CMQqJvIQ.mjs} +0 -0
- /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
|
|
2
|
-
import {
|
|
3
|
-
import { n as
|
|
4
|
-
import {
|
|
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 };
|