@skyvexsoftware/stratos-sdk 0.5.0 → 0.5.2

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 (53) hide show
  1. package/dist/bin/deploy.js +0 -1
  2. package/dist/helpers/createPlugin.js +0 -1
  3. package/dist/helpers/index.js +0 -1
  4. package/dist/helpers/units.js +0 -1
  5. package/dist/hooks/context.js +0 -1
  6. package/dist/hooks/index.js +0 -1
  7. package/dist/hooks/useFlightEvents.js +0 -1
  8. package/dist/hooks/useFlightManager.js +0 -1
  9. package/dist/hooks/useFlightPhase.js +0 -1
  10. package/dist/hooks/useLandingAnalysis.js +0 -1
  11. package/dist/hooks/usePluginLogger.js +0 -1
  12. package/dist/hooks/useShellAuth.js +0 -1
  13. package/dist/hooks/useShellConfig.js +0 -1
  14. package/dist/hooks/useShellNavigation.js +0 -1
  15. package/dist/hooks/useShellToast.js +0 -1
  16. package/dist/hooks/useSimData.js +0 -1
  17. package/dist/hooks/useSimulatorData.js +0 -1
  18. package/dist/hooks/useTrackingSession.js +12 -5
  19. package/dist/icons.js +0 -1
  20. package/dist/index.js +0 -1
  21. package/dist/shared-types/flight-manager.js +0 -1
  22. package/dist/shared-types/index.js +0 -1
  23. package/dist/shared-types/simulator.js +0 -1
  24. package/dist/shared-types/socket-events.js +0 -1
  25. package/dist/shared-types/theme.js +0 -1
  26. package/dist/types/context.js +0 -1
  27. package/dist/types/index.js +0 -1
  28. package/dist/types/manifest.js +0 -1
  29. package/dist/types/module.js +0 -1
  30. package/dist/ui/alert-dialog.js +0 -1
  31. package/dist/ui/badge.js +0 -1
  32. package/dist/ui/button.js +0 -1
  33. package/dist/ui/card.js +0 -1
  34. package/dist/ui/dialog.js +0 -1
  35. package/dist/ui/index.js +0 -1
  36. package/dist/ui/input.js +0 -1
  37. package/dist/ui/label.js +0 -1
  38. package/dist/ui/radio-group.js +0 -1
  39. package/dist/ui/select.js +0 -1
  40. package/dist/ui/separator.js +0 -1
  41. package/dist/ui/slider.js +0 -1
  42. package/dist/ui/switch.js +0 -1
  43. package/dist/ui/tabs.js +0 -1
  44. package/dist/ui/textarea.js +0 -1
  45. package/dist/ui/tooltip.js +0 -1
  46. package/dist/utils/cn.js +0 -1
  47. package/dist/vite/css-inject.js +0 -1
  48. package/dist/vite/externals.js +0 -1
  49. package/dist/vite/hmr-base-rewrite.js +0 -1
  50. package/dist/vite/plugin-config.js +0 -1
  51. package/dist/vite/serve-externals.js +0 -1
  52. package/dist/vite/stratos-dev-server.js +1 -2
  53. package/package.json +1 -1
@@ -159,4 +159,3 @@ async function main() {
159
159
  }
160
160
  }
161
161
  main();
162
- //# sourceMappingURL=deploy.js.map
@@ -26,4 +26,3 @@ export function createPlugin(module) {
26
26
  }
27
27
  return module;
28
28
  }
29
- //# sourceMappingURL=createPlugin.js.map
@@ -1,3 +1,2 @@
1
1
  export { createPlugin } from "./createPlugin";
2
2
  export { weightToLbs, weightFromLbs, altitudeToFt, altitudeFromFt, verticalSpeedFromFpm, verticalSpeedToFpm, distanceToNm, distanceFromNm, formatWeight, formatAltitude, formatDistance, formatVerticalSpeed, } from "./units";
3
- //# sourceMappingURL=index.js.map
@@ -98,4 +98,3 @@ export function formatVerticalSpeed(fpm, unit) {
98
98
  const mpm = verticalSpeedFromFpm(fpm, "m");
99
99
  return `${Math.round(mpm).toLocaleString()} m/min`;
100
100
  }
101
- //# sourceMappingURL=units.js.map
@@ -15,4 +15,3 @@ export function usePluginContext() {
15
15
  }
16
16
  return ctx;
17
17
  }
18
- //# sourceMappingURL=context.js.map
@@ -13,4 +13,3 @@ export { useShellToast } from "./useShellToast";
13
13
  export { useSocket, useSimulatorData, useProtocolUrl, useNotifications, useSystemMetrics, } from "./useSimulatorData";
14
14
  // Socket.io event catalog — re-exported from shared-types for convenience
15
15
  export { SOCKET_EVENTS } from "../shared-types/socket-events";
16
- //# sourceMappingURL=index.js.map
@@ -149,4 +149,3 @@ export function useFlightEvents(options) {
149
149
  deleteComment: (id) => deleteCommentMutation.mutate(id),
150
150
  };
151
151
  }
152
- //# sourceMappingURL=useFlightEvents.js.map
@@ -87,4 +87,3 @@ export function useFlightManager() {
87
87
  runPreflightChecks,
88
88
  };
89
89
  }
90
- //# sourceMappingURL=useFlightManager.js.map
@@ -64,4 +64,3 @@ export function useFlightPhase(options) {
64
64
  isLoading,
65
65
  };
66
66
  }
67
- //# sourceMappingURL=useFlightPhase.js.map
@@ -84,4 +84,3 @@ export function useLandingAnalysis(options) {
84
84
  isLoading,
85
85
  };
86
86
  }
87
- //# sourceMappingURL=useLandingAnalysis.js.map
@@ -13,4 +13,3 @@ import { usePluginContext } from "./context";
13
13
  export function usePluginLogger() {
14
14
  return usePluginContext().logger;
15
15
  }
16
- //# sourceMappingURL=usePluginLogger.js.map
@@ -6,4 +6,3 @@ import { usePluginContext } from "./context";
6
6
  export function useShellAuth() {
7
7
  return usePluginContext().auth;
8
8
  }
9
- //# sourceMappingURL=useShellAuth.js.map
@@ -6,4 +6,3 @@ import { usePluginContext } from "./context";
6
6
  export function useShellConfig() {
7
7
  return usePluginContext().config;
8
8
  }
9
- //# sourceMappingURL=useShellConfig.js.map
@@ -6,4 +6,3 @@ import { usePluginContext } from "./context";
6
6
  export function useShellNavigation() {
7
7
  return usePluginContext().navigation;
8
8
  }
9
- //# sourceMappingURL=useShellNavigation.js.map
@@ -6,4 +6,3 @@ import { usePluginContext } from "./context";
6
6
  export function useShellToast() {
7
7
  return usePluginContext().toast;
8
8
  }
9
- //# sourceMappingURL=useShellToast.js.map
@@ -132,4 +132,3 @@ export function useSimData(options) {
132
132
  isLoading,
133
133
  };
134
134
  }
135
- //# sourceMappingURL=useSimData.js.map
@@ -255,4 +255,3 @@ export function useSystemMetrics(onMetrics) {
255
255
  metrics,
256
256
  };
257
257
  }
258
- //# sourceMappingURL=useSimulatorData.js.map
@@ -114,9 +114,11 @@ export function useTrackingSession() {
114
114
  const serverElapsed = flight?.elapsedMs ?? 0;
115
115
  const isPaused = flight?.status === "paused";
116
116
  const timeCaptureStarted = flight?.timeCaptureStartAt !== null;
117
- // Don't interpolate until time capture has started — timer should
118
- // stay at 0 while on the ground before pushback/takeoff.
119
- if (isPaused || !timeCaptureStarted) {
117
+ const timeCaptureEnded = flight?.timeCaptureEndAt !== null;
118
+ // Don't interpolate if paused, not yet started, or already ended —
119
+ // just show the server value. After landing (air mode) or arrival
120
+ // (block mode), the timer should freeze.
121
+ if (isPaused || !timeCaptureStarted || timeCaptureEnded) {
120
122
  setElapsedTime(serverElapsed);
121
123
  return;
122
124
  }
@@ -126,7 +128,13 @@ export function useTrackingSession() {
126
128
  setElapsedTime(serverElapsed + (Date.now() - broadcastTime));
127
129
  }, 1000);
128
130
  return () => clearInterval(interval);
129
- }, [flight?.elapsedMs, flight?.status, flight?.timeCaptureStartAt, isActive]);
131
+ }, [
132
+ flight?.elapsedMs,
133
+ flight?.status,
134
+ flight?.timeCaptureStartAt,
135
+ flight?.timeCaptureEndAt,
136
+ isActive,
137
+ ]);
130
138
  return {
131
139
  isTracking: isActive,
132
140
  isPaused: flight?.status === "paused",
@@ -143,4 +151,3 @@ export function useTrackingSession() {
143
151
  isLoading,
144
152
  };
145
153
  }
146
- //# sourceMappingURL=useTrackingSession.js.map
package/dist/icons.js CHANGED
@@ -10,4 +10,3 @@
10
10
  import { icons } from "lucide-react";
11
11
  export const STRATOS_ICONS = icons;
12
12
  export const STRATOS_ICON_NAMES = Object.keys(icons).sort();
13
- //# sourceMappingURL=icons.js.map
package/dist/index.js CHANGED
@@ -25,4 +25,3 @@ export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger,
25
25
  export { STRATOS_ICONS, STRATOS_ICON_NAMES } from "./icons";
26
26
  // ── Utilities ──────────────────────────────────────────────────────────
27
27
  export { cn } from "./utils/cn";
28
- //# sourceMappingURL=index.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=flight-manager.js.map
@@ -1,4 +1,3 @@
1
1
  export { FlightPhase, SimulatorType, EventCategory } from "./simulator";
2
2
  // ── Socket.io Event Catalog ──────────────────────────────────────────────
3
3
  export { SOCKET_EVENTS } from "./socket-events";
4
- //# sourceMappingURL=index.js.map
@@ -45,4 +45,3 @@ export var EventCategory;
45
45
  EventCategory["POSITION"] = "position";
46
46
  EventCategory["COMMENT"] = "comment";
47
47
  })(EventCategory || (EventCategory = {}));
48
- //# sourceMappingURL=simulator.js.map
@@ -76,4 +76,3 @@ export const SOCKET_EVENTS = {
76
76
  PLUGIN_UNLOADED: "plugin:unloaded",
77
77
  PLUGIN_EVENT: "plugin:event",
78
78
  };
79
- //# sourceMappingURL=socket-events.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=theme.js.map
@@ -5,4 +5,3 @@
5
5
  * for both background (main process) and UI (renderer) usage.
6
6
  */
7
7
  export {};
8
- //# sourceMappingURL=context.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=index.js.map
@@ -9,4 +9,3 @@
9
9
  * - ui/index.js — renderer UI entry point
10
10
  */
11
11
  export {};
12
- //# sourceMappingURL=manifest.js.map
@@ -4,4 +4,3 @@
4
4
  * Defines the export shapes for plugin background and UI modules.
5
5
  */
6
6
  export {};
7
- //# sourceMappingURL=module.js.map
@@ -24,4 +24,3 @@ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
24
24
  const AlertDialogCancel = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Cancel, { ref: ref, className: cn(buttonVariants({ variant: "outline" }), "mt-2 sm:mt-0", className), ...props })));
25
25
  AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
26
26
  export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, };
27
- //# sourceMappingURL=alert-dialog.js.map
package/dist/ui/badge.js CHANGED
@@ -18,4 +18,3 @@ function Badge({ className, variant, ...props }) {
18
18
  return (_jsx("div", { className: cn(badgeVariants({ variant }), className), ...props }));
19
19
  }
20
20
  export { Badge, badgeVariants };
21
- //# sourceMappingURL=badge.js.map
package/dist/ui/button.js CHANGED
@@ -36,4 +36,3 @@ const Button = React.forwardRef(({ className, variant, size, asChild = false, ..
36
36
  });
37
37
  Button.displayName = "Button";
38
38
  export { Button, buttonVariants };
39
- //# sourceMappingURL=button.js.map
package/dist/ui/card.js CHANGED
@@ -22,4 +22,3 @@ function CardFooter({ className, ...props }) {
22
22
  return (_jsx("div", { "data-slot": "card-footer", className: cn("flex items-center px-6 [.border-t]:pt-6", className), ...props }));
23
23
  }
24
24
  export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
25
- //# sourceMappingURL=card.js.map
package/dist/ui/dialog.js CHANGED
@@ -22,4 +22,3 @@ DialogTitle.displayName = DialogPrimitive.Title.displayName;
22
22
  const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn("text-muted-foreground text-sm", className), ...props })));
23
23
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
24
24
  export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
25
- //# sourceMappingURL=dialog.js.map
package/dist/ui/index.js CHANGED
@@ -13,4 +13,3 @@ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScro
13
13
  export { Separator } from "./separator";
14
14
  export { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs";
15
15
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "./tooltip";
16
- //# sourceMappingURL=index.js.map
package/dist/ui/input.js CHANGED
@@ -4,4 +4,3 @@ function Input({ className, type, ...props }) {
4
4
  return (_jsx("input", { type: type, "data-slot": "input", className: cn("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className), ...props }));
5
5
  }
6
6
  export { Input };
7
- //# sourceMappingURL=input.js.map
package/dist/ui/label.js CHANGED
@@ -5,4 +5,3 @@ function Label({ className, ...props }) {
5
5
  return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
6
6
  }
7
7
  export { Label };
8
- //# sourceMappingURL=label.js.map
@@ -8,4 +8,3 @@ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
8
8
  const RadioGroupItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(RadioGroupPrimitive.Item, { ref: ref, className: cn("border-primary text-primary focus-visible:ring-ring aspect-square h-4 w-4 rounded-full border shadow-sm focus:outline-hidden focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50", className), ...props, children: _jsx(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: _jsx(Circle, { className: "fill-primary h-2.5 w-2.5" }) }) })));
9
9
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
10
10
  export { RadioGroup, RadioGroupItem };
11
- //# sourceMappingURL=radio-group.js.map
package/dist/ui/select.js CHANGED
@@ -24,4 +24,3 @@ SelectItem.displayName = SelectPrimitive.Item.displayName;
24
24
  const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn("bg-muted -mx-1 my-1 h-px", className), ...props })));
25
25
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
26
26
  export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
27
- //# sourceMappingURL=select.js.map
@@ -5,4 +5,3 @@ import { cn } from "../utils/cn";
5
5
  const Separator = React.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (_jsx(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: cn("bg-border shrink-0", orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", className), ...props })));
6
6
  Separator.displayName = SeparatorPrimitive.Root.displayName;
7
7
  export { Separator };
8
- //# sourceMappingURL=separator.js.map
package/dist/ui/slider.js CHANGED
@@ -5,4 +5,3 @@ import { cn } from "../utils/cn";
5
5
  const Slider = React.forwardRef(({ className, ...props }, ref) => (_jsxs(SliderPrimitive.Root, { ref: ref, className: cn("relative flex w-full touch-none items-center select-none", className), ...props, children: [_jsx(SliderPrimitive.Track, { className: "bg-primary/20 relative h-1.5 w-full grow overflow-hidden rounded-full", children: _jsx(SliderPrimitive.Range, { className: "bg-primary absolute h-full" }) }), _jsx(SliderPrimitive.Thumb, { className: "border-primary/50 bg-background focus-visible:ring-ring block h-4 w-4 rounded-full border shadow-sm transition-colors focus-visible:ring-1 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50" })] })));
6
6
  Slider.displayName = SliderPrimitive.Root.displayName;
7
7
  export { Slider };
8
- //# sourceMappingURL=slider.js.map
package/dist/ui/switch.js CHANGED
@@ -6,4 +6,3 @@ const Switch = React.forwardRef(({ checked = false, onCheckedChange, disabled, c
6
6
  : "border-border-interactive bg-muted border", disabled && "cursor-not-allowed opacity-50", className), ...props, children: _jsx("span", { className: cn("pointer-events-none absolute top-[2px] h-[12px] w-[12px] rounded-sm bg-white transition-[left] duration-150", checked ? "left-[16px]" : "left-[2px]") }) })));
7
7
  Switch.displayName = "Switch";
8
8
  export { Switch };
9
- //# sourceMappingURL=switch.js.map
package/dist/ui/tabs.js CHANGED
@@ -10,4 +10,3 @@ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
10
10
  const TabsContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Content, { ref: ref, className: cn("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden", className), ...props })));
11
11
  TabsContent.displayName = TabsPrimitive.Content.displayName;
12
12
  export { Tabs, TabsList, TabsTrigger, TabsContent };
13
- //# sourceMappingURL=tabs.js.map
@@ -4,4 +4,3 @@ function Textarea({ className, ...props }) {
4
4
  return (_jsx("textarea", { "data-slot": "textarea", className: cn("border-input bg-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 flex min-h-[60px] w-full rounded-md border px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className), ...props }));
5
5
  }
6
6
  export { Textarea };
7
- //# sourceMappingURL=textarea.js.map
@@ -8,4 +8,3 @@ const TooltipTrigger = TooltipPrimitive.Trigger;
8
8
  const TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: cn("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md", className), ...props })));
9
9
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
10
10
  export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
11
- //# sourceMappingURL=tooltip.js.map
package/dist/utils/cn.js CHANGED
@@ -3,4 +3,3 @@ import { twMerge } from "tailwind-merge";
3
3
  export function cn(...inputs) {
4
4
  return twMerge(clsx(inputs));
5
5
  }
6
- //# sourceMappingURL=cn.js.map
@@ -45,4 +45,3 @@ export function cssInject() {
45
45
  },
46
46
  };
47
47
  }
48
- //# sourceMappingURL=css-inject.js.map
@@ -16,4 +16,3 @@ export const UI_EXTERNALS = [
16
16
  "maplibre-gl",
17
17
  "react-map-gl/maplibre",
18
18
  ];
19
- //# sourceMappingURL=externals.js.map
@@ -109,4 +109,3 @@ export function hmrBaseRewrite() {
109
109
  },
110
110
  };
111
111
  }
112
- //# sourceMappingURL=hmr-base-rewrite.js.map
@@ -291,4 +291,3 @@ function createBackgroundConfig(pluginDir, entry) {
291
291
  };
292
292
  }
293
293
  export { UI_EXTERNALS, BG_EXTERNALS, stratosExternals };
294
- //# sourceMappingURL=plugin-config.js.map
@@ -92,4 +92,3 @@ export function serveExternals() {
92
92
  },
93
93
  };
94
94
  }
95
- //# sourceMappingURL=serve-externals.js.map
@@ -137,7 +137,7 @@ export function stratosDevServer(options) {
137
137
  outDir: path.resolve(pluginDir, "dist/background"),
138
138
  emptyOutDir: true,
139
139
  minify: false,
140
- sourcemap: true,
140
+ sourcemap: false,
141
141
  },
142
142
  logLevel: "warn",
143
143
  });
@@ -219,4 +219,3 @@ export function stratosDevServer(options) {
219
219
  // fs.watch + dev:plugin-bg-updated (see configureServer above).
220
220
  };
221
221
  }
222
- //# sourceMappingURL=stratos-dev-server.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyvexsoftware/stratos-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Plugin SDK for Stratos — types, hooks, and UI components",
5
5
  "author": {
6
6
  "name": "Skyvex Software",