@neilberkman/sidereon 0.10.1 → 0.11.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.
@@ -246,6 +246,23 @@ export class BiasSet {
246
246
  readonly skippedRecords: number;
247
247
  }
248
248
 
249
+ /**
250
+ * Broadcast group-delay term selector.
251
+ */
252
+ export enum BroadcastDelayTerm {
253
+ GpsTgd = 0,
254
+ GalileoBgdE5aE1 = 1,
255
+ GalileoBgdE5bE1 = 2,
256
+ BeidouTgd1 = 3,
257
+ BeidouTgd2 = 4,
258
+ CnavIscL1Ca = 5,
259
+ CnavIscL2C = 6,
260
+ CnavIscL5I5 = 7,
261
+ CnavIscL5Q5 = 8,
262
+ CnavIscL1Cd = 9,
263
+ CnavIscL1Cp = 10,
264
+ }
265
+
249
266
  /**
250
267
  * A parsed broadcast ephemeris store from a RINEX NAV file. `records` are the
251
268
  * usable GPS/Galileo/BeiDou records selected by the core default SPP policy.
@@ -283,6 +300,11 @@ export class BroadcastEphemeris {
283
300
  * report shape.
284
301
  */
285
302
  compareWindowToSp3(precise: Sp3, satellites: string[], from_j2000_s: number, to_j2000_s: number, step_s: number, velocity_half_s?: number | null): any;
303
+ /**
304
+ * Evaluate the store-selected broadcast state for `satellite` at GPST-like
305
+ * J2000 seconds. Returns `undefined` when no usable record covers the query.
306
+ */
307
+ evaluate(satellite: string, t_j2000_s: number): BroadcastStoreEvaluation | undefined;
286
308
  /**
287
309
  * Solve a receiver position from broadcast ephemeris ALONE: the supported
288
310
  * real-time / offline single-point-positioning mode. `request` is the same
@@ -373,6 +395,17 @@ export class BroadcastEvaluation {
373
395
  readonly zM: number;
374
396
  }
375
397
 
398
+ /**
399
+ * Per-signal broadcast group-delay terms retained from a NAV record.
400
+ */
401
+ export class BroadcastGroupDelaysJs {
402
+ private constructor();
403
+ free(): void;
404
+ [Symbol.dispose](): void;
405
+ cnavSingleFrequencyCorrectionS(signal: CnavSignal): number | undefined;
406
+ get(term: BroadcastDelayTerm): number | undefined;
407
+ }
408
+
376
409
  /**
377
410
  * One GPS, Galileo, or BeiDou broadcast ephemeris record from RINEX NAV.
378
411
  */
@@ -390,6 +423,10 @@ export class BroadcastRecordJs {
390
423
  * Satellite clock polynomial.
391
424
  */
392
425
  readonly clock: ClockPolynomialJs;
426
+ /**
427
+ * CNAV-family extension fields, or `undefined` for legacy records.
428
+ */
429
+ readonly cnav: CnavParametersJs | undefined;
393
430
  /**
394
431
  * Keplerian orbital elements in SI units.
395
432
  */
@@ -402,6 +439,18 @@ export class BroadcastRecordJs {
402
439
  * Broadcast group delay, seconds.
403
440
  */
404
441
  readonly groupDelayS: number;
442
+ /**
443
+ * Broadcast group-delay terms carried by this record.
444
+ */
445
+ readonly groupDelays: BroadcastGroupDelaysJs;
446
+ /**
447
+ * Native issue-of-data value.
448
+ */
449
+ readonly issue: number;
450
+ /**
451
+ * Message family attached to the issue-of-data value.
452
+ */
453
+ readonly issueMessage: NavMessage;
405
454
  /**
406
455
  * Broadcast message type.
407
456
  */
@@ -424,6 +473,19 @@ export class BroadcastRecordJs {
424
473
  readonly week: number;
425
474
  }
426
475
 
476
+ /**
477
+ * Store-level broadcast ephemeris evaluation at a J2000 query epoch.
478
+ */
479
+ export class BroadcastStoreEvaluation {
480
+ private constructor();
481
+ free(): void;
482
+ [Symbol.dispose](): void;
483
+ readonly clockS: number;
484
+ readonly positionM: Float64Array;
485
+ readonly satellite: string;
486
+ readonly tJ2000S: number;
487
+ }
488
+
427
489
  /**
428
490
  * A canonical GNSS carrier band. The JS value matches the variant order below.
429
491
  */
@@ -869,6 +931,38 @@ export class ClockSeries {
869
931
  readonly satellite: string;
870
932
  }
871
933
 
934
+ /**
935
+ * CNAV/CNAV-2 fields with no legacy LNAV counterpart.
936
+ */
937
+ export class CnavParametersJs {
938
+ private constructor();
939
+ free(): void;
940
+ [Symbol.dispose](): void;
941
+ uraNedM(week: number, tow_s: number): number | undefined;
942
+ readonly adotMS: number;
943
+ readonly deltaN0DotRadS2: number;
944
+ readonly flags: number | undefined;
945
+ readonly topTowS: number;
946
+ readonly topWeek: number;
947
+ readonly transmissionTimeSow: number;
948
+ readonly uraEdIndex: number;
949
+ readonly uraNed0Index: number;
950
+ readonly uraNed1Index: number;
951
+ readonly uraNed2Index: number;
952
+ }
953
+
954
+ /**
955
+ * GPS/QZSS signal used for CNAV inter-signal correction accessors.
956
+ */
957
+ export enum CnavSignal {
958
+ L1Ca = 0,
959
+ L2C = 1,
960
+ L5I5 = 2,
961
+ L5Q5 = 3,
962
+ L1Cp = 4,
963
+ L1Cd = 5,
964
+ }
965
+
872
966
  /**
873
967
  * Collision-probability result and encounter-plane summary.
874
968
  */
@@ -1030,6 +1124,41 @@ export class CorrelationResult {
1030
1124
  readonly q: number;
1031
1125
  }
1032
1126
 
1127
+ /**
1128
+ * Propagated state plus covariance nodes.
1129
+ */
1130
+ export class CovarianceEphemeris {
1131
+ private constructor();
1132
+ free(): void;
1133
+ [Symbol.dispose](): void;
1134
+ covarianceAt(epoch_tdb_seconds: number): Float64Array;
1135
+ readonly covariance: Float64Array;
1136
+ readonly epochCount: number;
1137
+ readonly frame: string;
1138
+ readonly positionKm: Float64Array;
1139
+ readonly timesS: Float64Array;
1140
+ readonly velocityKmS: Float64Array;
1141
+ }
1142
+
1143
+ /**
1144
+ * Frame a 6x6 state covariance is expressed in.
1145
+ */
1146
+ export enum CovarianceFrame {
1147
+ Inertial = 0,
1148
+ Rtn = 1,
1149
+ }
1150
+
1151
+ /**
1152
+ * Covariances returned by explicit STM transport.
1153
+ */
1154
+ export class CovarianceTransportResult {
1155
+ private constructor();
1156
+ free(): void;
1157
+ [Symbol.dispose](): void;
1158
+ readonly covariance: Float64Array;
1159
+ readonly nodeCount: number;
1160
+ }
1161
+
1033
1162
  /**
1034
1163
  * A computed look-angle grid for a set of satellites and ground stations at one
1035
1164
  * epoch. Build with [`coverageLookAngles`].
@@ -1590,6 +1719,18 @@ export class FrameStates {
1590
1719
  export class GeoidGrid {
1591
1720
  free(): void;
1592
1721
  [Symbol.dispose](): void;
1722
+ /**
1723
+ * Ellipsoidal height from orthometric height and degrees.
1724
+ */
1725
+ ellipsoidalHeightDeg(orthometric_height_m: number, lat_deg: number, lon_deg: number): number;
1726
+ /**
1727
+ * Ellipsoidal height from orthometric height and radians.
1728
+ */
1729
+ ellipsoidalHeightRad(orthometric_height_m: number, lat_rad: number, lon_rad: number): number;
1730
+ /**
1731
+ * Parse an EGM96 `WW15MGH.DAC` byte buffer into a full-resolution grid.
1732
+ */
1733
+ static fromEgm96Dac(bytes: Uint8Array): GeoidGrid;
1593
1734
  /**
1594
1735
  * Parse a grid from the documented whitespace-delimited text format (a
1595
1736
  * six-field header `lat_min lon_min dlat dlon n_lat n_lon` followed by
@@ -1606,6 +1747,14 @@ export class GeoidGrid {
1606
1747
  * non-finite. Delegates to `sidereon_core::geoid::GeoidGrid::new`.
1607
1748
  */
1608
1749
  constructor(lat_min_deg: number, lon_min_deg: number, dlat_deg: number, dlon_deg: number, n_lat: number, n_lon: number, values_m: Float64Array);
1750
+ /**
1751
+ * Orthometric height from ellipsoidal height and degrees.
1752
+ */
1753
+ orthometricHeightDeg(ellipsoidal_height_m: number, lat_deg: number, lon_deg: number): number;
1754
+ /**
1755
+ * Orthometric height from ellipsoidal height and radians.
1756
+ */
1757
+ orthometricHeightRad(ellipsoidal_height_m: number, lat_rad: number, lon_rad: number): number;
1609
1758
  /**
1610
1759
  * Bilinearly interpolated undulation `N` (metres) at a geodetic position in
1611
1760
  * degrees (latitude positive north, longitude positive east).
@@ -1616,6 +1765,14 @@ export class GeoidGrid {
1616
1765
  * radians (latitude positive north, longitude positive east).
1617
1766
  */
1618
1767
  undulationRad(lat_rad: number, lon_rad: number): number;
1768
+ /**
1769
+ * Batch undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
1770
+ */
1771
+ undulationsDeg(points_deg: Float64Array): Float64Array;
1772
+ /**
1773
+ * Batch undulation lookup for flat `[latRad, lonRad, ...]` pairs.
1774
+ */
1775
+ undulationsRad(points_rad: Float64Array): Float64Array;
1619
1776
  }
1620
1777
 
1621
1778
  /**
@@ -2680,22 +2837,94 @@ export enum NavMessage {
2680
2837
  * GPS legacy LNAV.
2681
2838
  */
2682
2839
  GpsLnav = 0,
2840
+ /**
2841
+ * GPS CNAV.
2842
+ */
2843
+ GpsCnav = 1,
2844
+ /**
2845
+ * GPS CNAV-2.
2846
+ */
2847
+ GpsCnav2 = 2,
2848
+ /**
2849
+ * QZSS CNAV.
2850
+ */
2851
+ QzssCnav = 3,
2852
+ /**
2853
+ * QZSS CNAV-2.
2854
+ */
2855
+ QzssCnav2 = 4,
2683
2856
  /**
2684
2857
  * Galileo I/NAV.
2685
2858
  */
2686
- GalileoInav = 1,
2859
+ GalileoInav = 5,
2687
2860
  /**
2688
2861
  * Galileo F/NAV.
2689
2862
  */
2690
- GalileoFnav = 2,
2863
+ GalileoFnav = 6,
2691
2864
  /**
2692
2865
  * BeiDou D1.
2693
2866
  */
2694
- BeidouD1 = 3,
2867
+ BeidouD1 = 7,
2695
2868
  /**
2696
2869
  * BeiDou D2.
2697
2870
  */
2698
- BeidouD2 = 4,
2871
+ BeidouD2 = 8,
2872
+ }
2873
+
2874
+ /**
2875
+ * Streaming NMEA epoch accumulator.
2876
+ */
2877
+ export class NmeaAccumulator {
2878
+ free(): void;
2879
+ [Symbol.dispose](): void;
2880
+ finish(): any;
2881
+ constructor(options: any);
2882
+ push(bytes: Uint8Array): any;
2883
+ readonly retainedLength: number;
2884
+ }
2885
+
2886
+ /**
2887
+ * Parsed NMEA log.
2888
+ */
2889
+ export class NmeaParseResult {
2890
+ private constructor();
2891
+ free(): void;
2892
+ [Symbol.dispose](): void;
2893
+ readonly diagnostics: any;
2894
+ readonly epochCount: number;
2895
+ readonly epochs: any;
2896
+ readonly sentenceCount: number;
2897
+ readonly sentences: any;
2898
+ }
2899
+
2900
+ /**
2901
+ * Sans-IO NTRIP client state machine.
2902
+ */
2903
+ export class NtripClientMachine {
2904
+ free(): void;
2905
+ [Symbol.dispose](): void;
2906
+ connectionRequest(): Uint8Array;
2907
+ finish(): any;
2908
+ ggaMessage(now_s: number, position: any, utc_seconds_of_day: number): any;
2909
+ constructor(config: any);
2910
+ push(bytes: Uint8Array): any;
2911
+ reset(): void;
2912
+ readonly state: NtripState;
2913
+ readonly stateLabel: string;
2914
+ }
2915
+
2916
+ export enum NtripState {
2917
+ Idle = 0,
2918
+ AwaitingStatus = 1,
2919
+ AwaitingHeaders = 2,
2920
+ Streaming = 3,
2921
+ Sourcetable = 4,
2922
+ Closed = 5,
2923
+ }
2924
+
2925
+ export enum NtripVersion {
2926
+ Rev1 = 0,
2927
+ Rev2 = 1,
2699
2928
  }
2700
2929
 
2701
2930
  /**
@@ -2877,6 +3106,34 @@ export enum ObservationKind {
2877
3106
  Unknown = 4,
2878
3107
  }
2879
3108
 
3109
+ /**
3110
+ * Aggregate observation QC report.
3111
+ */
3112
+ export class ObservationQcReport {
3113
+ private constructor();
3114
+ free(): void;
3115
+ [Symbol.dispose](): void;
3116
+ renderHtml(): string;
3117
+ renderText(): string;
3118
+ toJson(): string;
3119
+ readonly clockJumps: any;
3120
+ readonly cycleSlips: any;
3121
+ readonly dataGaps: any;
3122
+ readonly eventRecords: number;
3123
+ readonly intervalS: number | undefined;
3124
+ readonly intervalSource: string;
3125
+ readonly missingEpochs: number;
3126
+ readonly multipath: any;
3127
+ readonly notes: any;
3128
+ readonly observationEpochs: number;
3129
+ readonly powerFailureEpochs: number;
3130
+ readonly satelliteSignals: any;
3131
+ readonly satellites: any;
3132
+ readonly skippedRecords: number;
3133
+ readonly systemSignals: any;
3134
+ readonly totalEpochRecords: number;
3135
+ }
3136
+
2880
3137
  /**
2881
3138
  * Flattened raw observation rows from one RINEX OBS epoch. Numeric arrays are
2882
3139
  * row-aligned with `satellites`, `codes`, and `kinds`; blank RINEX values, LLI,
@@ -3235,11 +3492,15 @@ export class OmmEpoch {
3235
3492
  * Build an OMM epoch from UTC calendar fields. Throws a `RangeError` on an
3236
3493
  * out-of-range field.
3237
3494
  */
3238
- constructor(year: number, month: number, day: number, hour: number, minute: number, second: number, microsecond: number);
3495
+ constructor(year: number, month: number, day: number, hour: number, minute: number, second: number, microsecond: number, femtosecond?: number | null);
3239
3496
  /**
3240
3497
  * Calendar day.
3241
3498
  */
3242
3499
  readonly day: number;
3500
+ /**
3501
+ * Femtosecond remainder within the microsecond.
3502
+ */
3503
+ readonly femtosecond: number;
3243
3504
  /**
3244
3505
  * Hour of day.
3245
3506
  */
@@ -4062,6 +4323,21 @@ export class RinexClock {
4062
4323
  readonly series: ClockSeries[];
4063
4324
  }
4064
4325
 
4326
+ /**
4327
+ * Navigation repair result.
4328
+ */
4329
+ export class RinexNavRepair {
4330
+ private constructor();
4331
+ free(): void;
4332
+ [Symbol.dispose](): void;
4333
+ readonly actions: any;
4334
+ readonly iono: IonoCorrectionsJs | undefined;
4335
+ readonly leapSeconds: number | undefined;
4336
+ readonly records: BroadcastRecordJs[];
4337
+ readonly remaining: any;
4338
+ readonly repairedText: string;
4339
+ }
4340
+
4065
4341
  /**
4066
4342
  * A parsed RINEX 3/4 observation file.
4067
4343
  */
@@ -4109,6 +4385,41 @@ export class RinexObs {
4109
4385
  readonly header: ObsHeader;
4110
4386
  }
4111
4387
 
4388
+ /**
4389
+ * Observation repair result.
4390
+ */
4391
+ export class RinexObsRepair {
4392
+ private constructor();
4393
+ free(): void;
4394
+ [Symbol.dispose](): void;
4395
+ toCrinexString(): string;
4396
+ readonly actions: any;
4397
+ readonly decodedFromCrinex: boolean;
4398
+ readonly remaining: any;
4399
+ readonly repaired: RinexObs;
4400
+ readonly repairedText: string;
4401
+ }
4402
+
4403
+ /**
4404
+ * Stateful MSM lock-time tracker for deriving RINEX LLI continuity bits.
4405
+ */
4406
+ export class RtcmLockTimeTracker {
4407
+ free(): void;
4408
+ [Symbol.dispose](): void;
4409
+ /**
4410
+ * Build an empty tracker.
4411
+ */
4412
+ constructor();
4413
+ /**
4414
+ * Derive LLI rows for one decoded MSM message object and advance state.
4415
+ */
4416
+ observe(message: any): any;
4417
+ /**
4418
+ * Drop all per-cell lock history.
4419
+ */
4420
+ reset(): void;
4421
+ }
4422
+
4112
4423
  /**
4113
4424
  * Validated fixed RTK baseline solution.
4114
4425
  */
@@ -4706,6 +5017,27 @@ export class SpaceWeatherDefaults {
4706
5017
  readonly f107a: number;
4707
5018
  }
4708
5019
 
5020
+ /**
5021
+ * Parsed CelesTrak CSSI space-weather table.
5022
+ */
5023
+ export class SpaceWeatherTable {
5024
+ private constructor();
5025
+ free(): void;
5026
+ [Symbol.dispose](): void;
5027
+ apArrayAt(epoch_j2000_s: number): Float64Array;
5028
+ day(year: number, month: number, day: number): any;
5029
+ days(): any;
5030
+ monthly(): any;
5031
+ sampleAt(epoch_j2000_s: number, policy: any): any;
5032
+ spaceWeatherAt(epoch_j2000_s: number): any;
5033
+ toCsv(): string;
5034
+ toTxt(): string;
5035
+ readonly coverage: any;
5036
+ readonly dayCount: number;
5037
+ readonly diagnostics: any;
5038
+ readonly monthlyCount: number;
5039
+ }
5040
+
4709
5041
  /**
4710
5042
  * A parsed in-memory JPL/NAIF SPK kernel.
4711
5043
  *
@@ -5124,6 +5456,21 @@ export class Tle {
5124
5456
  readonly revNumber: number;
5125
5457
  }
5126
5458
 
5459
+ /**
5460
+ * Result of fitting a TLE to TEME samples.
5461
+ */
5462
+ export class TleFit {
5463
+ private constructor();
5464
+ free(): void;
5465
+ [Symbol.dispose](): void;
5466
+ toLines(): string[];
5467
+ readonly elements: any;
5468
+ readonly line1: string;
5469
+ readonly line2: string;
5470
+ readonly omm: Omm;
5471
+ readonly stats: any;
5472
+ }
5473
+
5127
5474
  /**
5128
5475
  * TEME states from a batched SGP4 propagation. Each array is flat row-major,
5129
5476
  * length `3 * epochCount`.
@@ -5420,6 +5767,11 @@ export function civilToJ2000Seconds(year: number, month: number, day: number, ho
5420
5767
  */
5421
5768
  export function cn0(eirp_dbw: number, fspl_db: number, receiver_gt_dbk: number, other_losses_db?: number | null): number;
5422
5769
 
5770
+ /**
5771
+ * Nominal GPS/QZSS CNAV URA meters for an ED/NED0 index.
5772
+ */
5773
+ export function cnavUraNominalM(index: number): number | undefined;
5774
+
5423
5775
  export function coe2eq(coe: any, factor?: RetrogradeFactor | null): any;
5424
5776
 
5425
5777
  export function coe2mee(coe: any, factor?: RetrogradeFactor | null): any;
@@ -5540,6 +5892,16 @@ export function decodeRtcmFrame(bytes: Uint8Array): any;
5540
5892
  */
5541
5893
  export function decodeRtcmMessage(body: Uint8Array): any;
5542
5894
 
5895
+ /**
5896
+ * Decode an RTCM 3 byte stream into messages plus stream diagnostics.
5897
+ *
5898
+ * The `messages` array has the same object form as [`decodeRtcm`].
5899
+ * `diagnostics.resyncBytes` counts skipped bytes while finding valid frames,
5900
+ * and `diagnostics.skippedFrames` reports CRC-valid frames whose bodies could
5901
+ * not be decoded.
5902
+ */
5903
+ export function decodeRtcmStream(bytes: Uint8Array): any;
5904
+
5543
5905
  export function decodeSbasMessage(bytes: Uint8Array, form?: string | null): any;
5544
5906
 
5545
5907
  export function decodeSsr(bytes: Uint8Array, framed?: boolean | null): any;
@@ -5674,6 +6036,16 @@ export function egm96OrthometricHeightM(ellipsoidal_height_m: number, lat_rad: n
5674
6036
  */
5675
6037
  export function egm96Undulation(lat_rad: number, lon_rad: number): number;
5676
6038
 
6039
+ /**
6040
+ * Batch EGM96 undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
6041
+ */
6042
+ export function egm96UndulationsDeg(points_deg: Float64Array): Float64Array;
6043
+
6044
+ /**
6045
+ * Batch EGM96 undulation lookup for flat `[latRad, lonRad, ...]` pairs.
6046
+ */
6047
+ export function egm96UndulationsRad(points_rad: Float64Array): Float64Array;
6048
+
5677
6049
  /**
5678
6050
  * Effective isotropic radiated power, dBW.
5679
6051
  */
@@ -5752,6 +6124,11 @@ export function errorEllipse2(covariance: Float64Array, confidence: number): Err
5752
6124
 
5753
6125
  export function estimateDecay(drag: DragForce, request: any): any;
5754
6126
 
6127
+ /**
6128
+ * Estimate decay using per-epoch values from a parsed space-weather table.
6129
+ */
6130
+ export function estimateDecayWithSpaceWeather(drag: DragForce, table: SpaceWeatherTable, request: any): any;
6131
+
5755
6132
  /**
5756
6133
  * Find Moon elevation threshold crossings (moonrise / moonset) over a UTC
5757
6134
  * window.
@@ -5852,6 +6229,11 @@ export function fitReducedOrbitSp3(sp3: Sp3, satellite: string, options: any): R
5852
6229
  */
5853
6230
  export function fitReducedOrbitTle(tle: Tle, options: any): ReducedOrbitSourceFit;
5854
6231
 
6232
+ /**
6233
+ * Fit SGP4 mean elements and optional B* to TEME state samples.
6234
+ */
6235
+ export function fitTle(samples: any, config: any): TleFit;
6236
+
5855
6237
  /**
5856
6238
  * Fix Melbourne-Wubbena wide-lane ambiguities over a dual-frequency RTK arc.
5857
6239
  *
@@ -5958,6 +6340,18 @@ export function geodeticToEcef(geodetic: Float64Array): Float64Array;
5958
6340
  */
5959
6341
  export function geoidUndulation(lat_rad: number, lon_rad: number): number;
5960
6342
 
6343
+ /**
6344
+ * Batch coarse built-in undulation lookup for flat `[latDeg, lonDeg, ...]`
6345
+ * pairs.
6346
+ */
6347
+ export function geoidUndulationsDeg(points_deg: Float64Array): Float64Array;
6348
+
6349
+ /**
6350
+ * Batch coarse built-in undulation lookup for flat `[latRad, lonRad, ...]`
6351
+ * pairs.
6352
+ */
6353
+ export function geoidUndulationsRad(points_rad: Float64Array): Float64Array;
6354
+
5961
6355
  /**
5962
6356
  * Geometry-free phase combination `L_GF = L1 - L2`, metres.
5963
6357
  */
@@ -6240,6 +6634,16 @@ export function leastSquares(request: any): LeastSquaresResult;
6240
6634
  */
6241
6635
  export function leastSquaresDropOne(request: any): LeastSquaresDropOneReport;
6242
6636
 
6637
+ /**
6638
+ * Lint RINEX navigation text.
6639
+ */
6640
+ export function lintRinexNav(bytes: Uint8Array): any;
6641
+
6642
+ /**
6643
+ * Lint RINEX observation text.
6644
+ */
6645
+ export function lintRinexObs(bytes: Uint8Array): any;
6646
+
6243
6647
  /**
6244
6648
  * Decode LNAV subframes 1-3 back into engineering-unit parameters.
6245
6649
  *
@@ -6477,6 +6881,16 @@ export function nequickGDelayM(_eval: any, frequency_hz: number): number;
6477
6881
  */
6478
6882
  export function nequickGStecTecu(_eval: any): number;
6479
6883
 
6884
+ /**
6885
+ * Parse bytes and return grouped epoch snapshots directly.
6886
+ */
6887
+ export function nmeaEpochs(bytes: Uint8Array): any;
6888
+
6889
+ /**
6890
+ * Write a GGA sentence from a JS object.
6891
+ */
6892
+ export function nmeaWriteGga(request: any): string;
6893
+
6480
6894
  /**
6481
6895
  * Equal-variance noise amplification of the ionosphere-free combination.
6482
6896
  */
@@ -6497,6 +6911,11 @@ export function noiseAmplification(f1_hz: number, f2_hz: number): number;
6497
6911
  */
6498
6912
  export function normalCovariance(jacobian: Float64Array, m: number, n: number, variance_scale: number): Float64Array;
6499
6913
 
6914
+ /**
6915
+ * Build the NTRIP connection request bytes for a config object.
6916
+ */
6917
+ export function ntripRequestBytes(config: any): Uint8Array;
6918
+
6500
6919
  /**
6501
6920
  * Predict observables for one satellite from a broadcast ephemeris store.
6502
6921
  * Delegates to `sidereon_core::observables::predict`.
@@ -6515,6 +6934,11 @@ export function observablesSp3(sp3: Sp3, satellite: string, receiver_ecef_m: Flo
6515
6934
  */
6516
6935
  export function observationKindLabel(kind: ObservationKind): string;
6517
6936
 
6937
+ /**
6938
+ * Aggregate observation QC for a parsed RINEX OBS product.
6939
+ */
6940
+ export function observationQc(obs: RinexObs, options: any): ObservationQcReport;
6941
+
6518
6942
  /**
6519
6943
  * Observe `"sun"` or `"moon"` from a geodetic station at a UTC unix microsecond epoch.
6520
6944
  */
@@ -6578,6 +7002,16 @@ export function parseCdmXml(text: string): Cdm;
6578
7002
  */
6579
7003
  export function parseNavcen(html: string): any;
6580
7004
 
7005
+ /**
7006
+ * Parse NMEA sentences from bytes.
7007
+ */
7008
+ export function parseNmea(bytes: Uint8Array): NmeaParseResult;
7009
+
7010
+ /**
7011
+ * Parse NTRIP sourcetable text from UTF-8 bytes.
7012
+ */
7013
+ export function parseNtripSourcetable(bytes: Uint8Array): any;
7014
+
6581
7015
  /**
6582
7016
  * Parse CCSDS OEM KVN text. The KVN reader is forgiving: malformed ephemeris
6583
7017
  * lines are skipped and counted in `skippedStates`. Throws an `Error` on a
@@ -6660,6 +7094,21 @@ export function parseRinexNavRecords(bytes: Uint8Array): BroadcastRecordJs[];
6660
7094
  */
6661
7095
  export function parseRinexObs(bytes: Uint8Array): RinexObs;
6662
7096
 
7097
+ /**
7098
+ * Parse either CSV or fixed-width TXT space-weather bytes.
7099
+ */
7100
+ export function parseSpaceWeather(bytes: Uint8Array): SpaceWeatherTable;
7101
+
7102
+ /**
7103
+ * Parse CelesTrak CSSI CSV space-weather text.
7104
+ */
7105
+ export function parseSpaceWeatherCsv(text: string): SpaceWeatherTable;
7106
+
7107
+ /**
7108
+ * Parse CelesTrak CSSI fixed-width TXT space-weather text.
7109
+ */
7110
+ export function parseSpaceWeatherTxt(text: string): SpaceWeatherTable;
7111
+
6663
7112
  /**
6664
7113
  * Parse a multi-record TLE file (CelesTrak / Space-Track style) into named,
6665
7114
  * initialized [`Tle`] instances. Handles bare 2-line sets, 3-line name+line1+line2
@@ -6769,6 +7218,11 @@ export function prepareIonosphereFreeRtkArc(epochs: any, wide_lane_cycles: any,
6769
7218
  */
6770
7219
  export function propagateBatch(satellites: Tle[], epochs_unix_us: BigInt64Array): FleetPropagation;
6771
7220
 
7221
+ /**
7222
+ * Propagate an ECI Cartesian state and 6x6 covariance to requested epochs.
7223
+ */
7224
+ export function propagateCovariance(request: any): CovarianceEphemeris;
7225
+
6772
7226
  export function propagateKepler(coe: any, mu_km3_s2: number, dt_s: number): any;
6773
7227
 
6774
7228
  /**
@@ -6813,6 +7267,16 @@ export function rangeRateToDoppler(range_rate_m_s: number, carrier_hz: number):
6813
7267
 
6814
7268
  export function relativeState(chief: any, deputy: any): any;
6815
7269
 
7270
+ /**
7271
+ * Repair RINEX navigation text.
7272
+ */
7273
+ export function repairRinexNav(bytes: Uint8Array, options: any): RinexNavRepair;
7274
+
7275
+ /**
7276
+ * Repair RINEX observation text.
7277
+ */
7278
+ export function repairRinexObs(bytes: Uint8Array, options: any): RinexObsRepair;
7279
+
6816
7280
  /**
6817
7281
  * Build a sampled GPS C/A code replica, an `Int8Array`.
6818
7282
  */
@@ -6832,6 +7296,20 @@ export function rinexBandWavelengthM(system: GnssSystem, band: string, glonass_c
6832
7296
 
6833
7297
  export function rswRotation(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
6834
7298
 
7299
+ /**
7300
+ * Derive a RINEX LLI value for one MSM signal cell.
7301
+ *
7302
+ * `previous` is `null`/`undefined` or `{ elapsedMs, minLockTimeMs? }`.
7303
+ * `currentMinLockTimeMs` is a number or `null`/`undefined` for reserved current
7304
+ * indicators.
7305
+ */
7306
+ export function rtcmDeriveLli(previous: any, current_min_lock_time_ms: any, half_cycle_ambiguity: boolean): number;
7307
+
7308
+ /**
7309
+ * RINEX LLI bit constants used by the RTCM MSM LLI helpers.
7310
+ */
7311
+ export function rtcmLliBits(): any;
7312
+
6835
7313
  /**
6836
7314
  * Read the 12-bit RTCM message number from a message body.
6837
7315
  *
@@ -6840,6 +7318,25 @@ export function rswRotation(position_km: Float64Array, velocity_km_s: Float64Arr
6840
7318
  */
6841
7319
  export function rtcmMessageNumber(body: Uint8Array): number;
6842
7320
 
7321
+ /**
7322
+ * Minimum continuous-lock time encoded by an MSM4/7 lock-time indicator.
7323
+ *
7324
+ * `kind` is `"msm4"` or `"msm7"`. Reserved or out-of-range indicators return
7325
+ * `undefined`.
7326
+ */
7327
+ export function rtcmMinimumLockTimeMs(kind: string, indicator: number): any;
7328
+
7329
+ /**
7330
+ * Elapsed milliseconds between two raw MSM epoch-time fields.
7331
+ */
7332
+ export function rtcmMsmEpochDtMs(system: string, previous_epoch_time: number, current_epoch_time: number): number;
7333
+
7334
+ /**
7335
+ * RINEX 3 observation-code suffix for an MSM signal id, or `undefined` for
7336
+ * reserved ids.
7337
+ */
7338
+ export function rtcmMsmSignalRinexCode(system: string, signal_id: number): any;
7339
+
6843
7340
  export function rtnRotation(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
6844
7341
 
6845
7342
  /**
@@ -7279,6 +7776,11 @@ export function timescaleOffsetS(from: TimeScale, to: TimeScale): number;
7279
7776
  */
7280
7777
  export function toCsv(records: any, booleans?: string | null): string;
7281
7778
 
7779
+ /**
7780
+ * Transport a 6x6 covariance through caller-supplied STM segments.
7781
+ */
7782
+ export function transportCovariance(covariance: Float64Array, segments: any, options: any): CovarianceTransportResult;
7783
+
7282
7784
  /**
7283
7785
  * Niell hydrostatic and wet mapping factors at an elevation.
7284
7786
  *