@skyvexsoftware/stratos-sdk 0.14.0 → 0.15.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.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type { PluginAuthor, PluginManifest } from "./types/manifest";
2
- export type { PluginAirline, PluginAirlineAccessor, PluginAuthAccessor, PluginVaApiClient, PluginConfigStore, PluginContext, PluginDatabaseAccessor, PluginIPCRegistrar, PluginLogger, PluginServerRegistrar, PluginFlightAccessor, PluginFlightLogWriter, PluginFlightLogInput, PluginFlightLogPatch, PluginStartGuard, PluginStartContext, PluginStartDecision, PluginNotifier, PluginToastInput, PluginAlertSound, PluginDialogApi, PluginPromptApi, PluginDialogAlertInput, PluginDialogConfirmInput, PluginPromptTextInput, PluginPromptNumberInput, PluginPromptSelectInput, PluginIndicatorType, PluginIndicatorInput, PluginSelfApi, } from "./types/context";
2
+ export type { PluginAirline, PluginAirlineAccessor, PluginAuthAccessor, PluginVaApiClient, PluginConfigStore, PluginContext, PluginDatabaseAccessor, PluginIPCRegistrar, PluginLogger, PluginServerRegistrar, PluginFlightAccessor, PluginFlightLogWriter, PluginFlightLogInput, PluginFlightLogPatch, PluginStartGuard, PluginStartContext, PluginStartDecision, PluginNotifier, PluginToastInput, BuiltInSound, PluginAlertSound, PluginDialogApi, PluginPromptApi, PluginDialogAlertInput, PluginDialogConfirmInput, PluginPromptTextInput, PluginPromptNumberInput, PluginPromptSelectInput, PluginIndicatorType, PluginIndicatorInput, PluginSelfApi, } from "./types/context";
3
3
  export type { PluginNavigationHelper, PluginPilotUser, PluginToastAPI, PluginUIContext, } from "./types/context-ui";
4
4
  export type { PluginSettingType, PluginSettingOption, PluginSettingDefinition, PluginAvailableSettings, BooleanSettingDef, TextSettingDef, LongtextSettingDef, NumberSettingDef, RangeSettingDef, ListSettingDef, RadioSettingDef, DateSettingDef, JsonSettingDef, } from "./types/settings";
5
5
  export type { PluginBackgroundModule, PluginRouteComponent, PluginUIModule, } from "./types/module";
@@ -34,7 +34,7 @@ export { useShellNavigation } from "./hooks/useShellNavigation";
34
34
  export { useShellToast } from "./hooks/useShellToast";
35
35
  export { useSocket, useSimulatorData, useProtocolUrl, useNotifications, useSystemMetrics, } from "./hooks/useSimulatorData";
36
36
  export { SOCKET_EVENTS } from "./shared-types/socket-events";
37
- export type { AutoStartConfirmPayload, ConnectionState, LogEntryPayload, NotificationPayload, ProtocolUrlPayload, SimulatorDataPayload, SimulatorStatusPayload, SocketEventName, SystemMetricsPayload, } from "./shared-types/socket-events";
37
+ export type { AutoStartConfirmPayload, ConnectionState, LogEntryPayload, NotificationPayload, ProtocolUrlPayload, SimulatorDataPayload, SimulatorStatusPayload, SocketEventName, SoundPayload, SystemMetricsPayload, } from "./shared-types/socket-events";
38
38
  export type { PluginDialogKind, PluginDialogSelectOption, PluginDialogSpec, PluginDialogResult, PluginDialogClosePayload, } from "./shared-types/plugin-dialogs";
39
39
  export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, Badge, badgeVariants, Button, buttonVariants, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Combobox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Input, Label, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, RadioGroup, RadioGroupItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "./ui";
40
40
  export type { BadgeProps, ButtonProps, ComboboxOption, ComboboxProps, } from "./ui";
@@ -131,6 +131,13 @@ export type StartFlightResult = {
131
131
  vaConfirmation?: string;
132
132
  /** Sim variables sent to VA for display in confirmation dialog */
133
133
  simVariables?: Record<string, string>;
134
+ /**
135
+ * Per-start override flag from the VA `/flights/start` response (`can_override`).
136
+ * Takes priority over the airline's `allowStartOverride` setting for the
137
+ * confirmation dialog: `true` always permits "Start tracking anyway", `false`
138
+ * always forbids it. Omitted ⇒ the `allowStartOverride` setting applies.
139
+ */
140
+ canOverride?: boolean;
134
141
  error?: string;
135
142
  };
136
143
  //# sourceMappingURL=flight-manager.d.ts.map
@@ -8,6 +8,6 @@ export { ADDITIONAL_FIELD_PHASES, toPhaseKey } from "./additional-fields";
8
8
  export type { AdditionalFieldsConfig, FieldDelivery, } from "./additional-fields";
9
9
  export type { FlightPlan, FlightStatus, CurrentFlight, FlightComment, PreflightCheck, PreflightCheckResult, StartFlightOptions, FlightManagerPayload, StartFlightResult, RecoverableFlight, } from "./flight-manager";
10
10
  export { SOCKET_EVENTS } from "./socket-events";
11
- export type { ConnectionState, LogEntryPayload, NotificationPayload, ProtocolUrlPayload, SimulatorDataPayload, SimulatorStatusPayload, SocketEventName, SystemMetricsPayload, } from "./socket-events";
11
+ export type { ConnectionState, LogEntryPayload, NotificationPayload, ProtocolUrlPayload, SimulatorDataPayload, SimulatorStatusPayload, SocketEventName, SoundPayload, SystemMetricsPayload, } from "./socket-events";
12
12
  export type { PluginDialogKind, PluginDialogSelectOption, PluginDialogSpec, PluginDialogResult, PluginDialogClosePayload, } from "./plugin-dialogs";
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -60,7 +60,7 @@ export declare const SOCKET_EVENTS: {
60
60
  readonly SYSTEM_METRICS: "system:metrics";
61
61
  /** Toast / notification push. Payload: NotificationPayload */
62
62
  readonly NOTIFICATION: "notification";
63
- /** Play a sound in the renderer. Payload: { name: string } */
63
+ /** Play a sound in the renderer. Payload: SoundPayload */
64
64
  readonly SOUND: "sound";
65
65
  /** Flight lifecycle state change. Payload: FlightManagerPayload */
66
66
  readonly FLIGHT_MANAGER: "flight:manager";
@@ -138,6 +138,18 @@ export type NotificationPayload = {
138
138
  /** Stable ID for deduplication — toasts with the same ID replace each other. */
139
139
  id?: string;
140
140
  };
141
+ /**
142
+ * Payload for `sound` events.
143
+ *
144
+ * Either a built-in shell sound (by `name`) or a plugin-bundled sound asset
145
+ * (`pluginId` + plugin-root-relative `path`, served via /api/plugin-files).
146
+ */
147
+ export type SoundPayload = {
148
+ name: string;
149
+ } | {
150
+ pluginId: string;
151
+ path: string;
152
+ };
141
153
  /**
142
154
  * Payload for `system:metrics` events.
143
155
  *
@@ -194,6 +206,12 @@ export type AutoStartConfirmPayload = {
194
206
  flightPlan: FlightPlan;
195
207
  /** Booking bid_id so the renderer can fetch the full booking. */
196
208
  bidId: number;
209
+ /**
210
+ * Per-start override flag from the VA `/flights/start` response (`can_override`).
211
+ * Takes priority over the airline's `allowStartOverride` setting. Omitted ⇒ the
212
+ * setting applies.
213
+ */
214
+ canOverride?: boolean;
197
215
  };
198
216
  /** Socket.io connection state as observed by the client. */
199
217
  export type ConnectionState = "connecting" | "connected" | "disconnected" | "error";
@@ -34,7 +34,7 @@ export const SOCKET_EVENTS = {
34
34
  // Notification events
35
35
  /** Toast / notification push. Payload: NotificationPayload */
36
36
  NOTIFICATION: "notification",
37
- /** Play a sound in the renderer. Payload: { name: string } */
37
+ /** Play a sound in the renderer. Payload: SoundPayload */
38
38
  SOUND: "sound",
39
39
  // Flight manager events
40
40
  /** Flight lifecycle state change. Payload: FlightManagerPayload */
@@ -188,7 +188,20 @@ export type PluginStartGuard = (ctx: PluginStartContext) => PluginStartDecision
188
188
  export type PluginNotifier = {
189
189
  /** Show a toast in the renderer. */
190
190
  toast(n: PluginToastInput): Promise<void>;
191
- /** Play a shell-bundled sound by name (no plugin-supplied audio). */
191
+ /** Play a built-in shell sound by name. */
192
+ playSound(name: BuiltInSound): Promise<void>;
193
+ /**
194
+ * Play a sound file bundled inside this plugin. `assetPath` is relative to
195
+ * the plugin root (e.g. "assets/DepGateAlert.wav"). Anything under the
196
+ * plugin's `assets/` directory is shipped with the plugin automatically.
197
+ * Obeys the user's notification-sound setting. Allowed file types: wav, mp3,
198
+ * ogg, m4a, aac.
199
+ */
200
+ playCustomSound(assetPath: string): Promise<void>;
201
+ /**
202
+ * @deprecated Use {@link PluginNotifier.playSound}. Retained for back-compat;
203
+ * legacy names (`alert`/`warning`/`chime`) now map onto a real bundled file.
204
+ */
192
205
  sound(name: PluginAlertSound): Promise<void>;
193
206
  };
194
207
  /** Input for `ctx.notify.toast`. */
@@ -199,7 +212,9 @@ export type PluginToastInput = {
199
212
  durationMs?: number;
200
213
  id?: string;
201
214
  };
202
- /** Fixed shell-bundled sound catalogue. No plugin-supplied audio. */
215
+ /** Built-in shell sound catalogue. Semantic names mapped to bundled files by the shell. */
216
+ export type BuiltInSound = "attention" | "error" | "success";
217
+ /** @deprecated Use {@link BuiltInSound} with `playSound`. */
203
218
  export type PluginAlertSound = "alert" | "warning" | "error" | "success" | "chime";
204
219
  /** Visual style of a plugin's sidebar indicator. */
205
220
  export type PluginIndicatorType = "notification" | "warning";
@@ -1,5 +1,5 @@
1
1
  export type { PluginAuthor, PluginManifest } from "./manifest";
2
- export type { PluginAirline, PluginAirlineAccessor, PluginAuthAccessor, PluginConfigStore, PluginContext, PluginDatabaseAccessor, PluginIPCRegistrar, PluginLogger, PluginServerRegistrar, PluginFlightAccessor, PluginFlightLogWriter, PluginFlightLogInput, PluginFlightLogPatch, PluginStartGuard, PluginStartContext, PluginStartDecision, PluginNotifier, PluginToastInput, PluginAlertSound, } from "./context";
2
+ export type { PluginAirline, PluginAirlineAccessor, PluginAuthAccessor, PluginConfigStore, PluginContext, PluginDatabaseAccessor, PluginIPCRegistrar, PluginLogger, PluginServerRegistrar, PluginFlightAccessor, PluginFlightLogWriter, PluginFlightLogInput, PluginFlightLogPatch, PluginStartGuard, PluginStartContext, PluginStartDecision, PluginNotifier, PluginToastInput, BuiltInSound, PluginAlertSound, } from "./context";
3
3
  export type { PluginNavigationHelper, PluginToastAPI, PluginUIContext, } from "./context-ui";
4
4
  export type { PluginBackgroundModule, PluginRouteComponent, PluginUIModule, } from "./module";
5
5
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyvexsoftware/stratos-sdk",
3
- "version": "0.14.0",
3
+ "version": "0.15.1",
4
4
  "description": "Plugin SDK for Stratos — types, hooks, and UI components",
5
5
  "author": {
6
6
  "name": "Skyvex Software Pty Ltd",