@neilberkman/sidereon 0.10.0 → 0.11.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.
@@ -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
  /**
@@ -3235,11 +3464,15 @@ export class OmmEpoch {
3235
3464
  * Build an OMM epoch from UTC calendar fields. Throws a `RangeError` on an
3236
3465
  * out-of-range field.
3237
3466
  */
3238
- constructor(year: number, month: number, day: number, hour: number, minute: number, second: number, microsecond: number);
3467
+ constructor(year: number, month: number, day: number, hour: number, minute: number, second: number, microsecond: number, femtosecond?: number | null);
3239
3468
  /**
3240
3469
  * Calendar day.
3241
3470
  */
3242
3471
  readonly day: number;
3472
+ /**
3473
+ * Femtosecond remainder within the microsecond.
3474
+ */
3475
+ readonly femtosecond: number;
3243
3476
  /**
3244
3477
  * Hour of day.
3245
3478
  */
@@ -4062,6 +4295,21 @@ export class RinexClock {
4062
4295
  readonly series: ClockSeries[];
4063
4296
  }
4064
4297
 
4298
+ /**
4299
+ * Navigation repair result.
4300
+ */
4301
+ export class RinexNavRepair {
4302
+ private constructor();
4303
+ free(): void;
4304
+ [Symbol.dispose](): void;
4305
+ readonly actions: any;
4306
+ readonly iono: IonoCorrectionsJs | undefined;
4307
+ readonly leapSeconds: number | undefined;
4308
+ readonly records: BroadcastRecordJs[];
4309
+ readonly remaining: any;
4310
+ readonly repairedText: string;
4311
+ }
4312
+
4065
4313
  /**
4066
4314
  * A parsed RINEX 3/4 observation file.
4067
4315
  */
@@ -4109,6 +4357,41 @@ export class RinexObs {
4109
4357
  readonly header: ObsHeader;
4110
4358
  }
4111
4359
 
4360
+ /**
4361
+ * Observation repair result.
4362
+ */
4363
+ export class RinexObsRepair {
4364
+ private constructor();
4365
+ free(): void;
4366
+ [Symbol.dispose](): void;
4367
+ toCrinexString(): string;
4368
+ readonly actions: any;
4369
+ readonly decodedFromCrinex: boolean;
4370
+ readonly remaining: any;
4371
+ readonly repaired: RinexObs;
4372
+ readonly repairedText: string;
4373
+ }
4374
+
4375
+ /**
4376
+ * Stateful MSM lock-time tracker for deriving RINEX LLI continuity bits.
4377
+ */
4378
+ export class RtcmLockTimeTracker {
4379
+ free(): void;
4380
+ [Symbol.dispose](): void;
4381
+ /**
4382
+ * Build an empty tracker.
4383
+ */
4384
+ constructor();
4385
+ /**
4386
+ * Derive LLI rows for one decoded MSM message object and advance state.
4387
+ */
4388
+ observe(message: any): any;
4389
+ /**
4390
+ * Drop all per-cell lock history.
4391
+ */
4392
+ reset(): void;
4393
+ }
4394
+
4112
4395
  /**
4113
4396
  * Validated fixed RTK baseline solution.
4114
4397
  */
@@ -4706,6 +4989,27 @@ export class SpaceWeatherDefaults {
4706
4989
  readonly f107a: number;
4707
4990
  }
4708
4991
 
4992
+ /**
4993
+ * Parsed CelesTrak CSSI space-weather table.
4994
+ */
4995
+ export class SpaceWeatherTable {
4996
+ private constructor();
4997
+ free(): void;
4998
+ [Symbol.dispose](): void;
4999
+ apArrayAt(epoch_j2000_s: number): Float64Array;
5000
+ day(year: number, month: number, day: number): any;
5001
+ days(): any;
5002
+ monthly(): any;
5003
+ sampleAt(epoch_j2000_s: number, policy: any): any;
5004
+ spaceWeatherAt(epoch_j2000_s: number): any;
5005
+ toCsv(): string;
5006
+ toTxt(): string;
5007
+ readonly coverage: any;
5008
+ readonly dayCount: number;
5009
+ readonly diagnostics: any;
5010
+ readonly monthlyCount: number;
5011
+ }
5012
+
4709
5013
  /**
4710
5014
  * A parsed in-memory JPL/NAIF SPK kernel.
4711
5015
  *
@@ -4921,6 +5225,20 @@ export class SsrCorrectionStore {
4921
5225
  uraIndex(sat: string): number | undefined;
4922
5226
  }
4923
5227
 
5228
+ /**
5229
+ * Source stream for engineering-unit SSR corrections.
5230
+ */
5231
+ export enum SsrSource {
5232
+ /**
5233
+ * RTCM SSR messages.
5234
+ */
5235
+ RtcmSsr = 0,
5236
+ /**
5237
+ * Galileo High Accuracy Service messages.
5238
+ */
5239
+ GalileoHas = 1,
5240
+ }
5241
+
4924
5242
  /**
4925
5243
  * A batch of Sun and Moon positions, one per epoch: flat row-major `sun` and
4926
5244
  * `moon` `Float64Array`s of length `3 * epochCount`, in **metres**.
@@ -5110,6 +5428,21 @@ export class Tle {
5110
5428
  readonly revNumber: number;
5111
5429
  }
5112
5430
 
5431
+ /**
5432
+ * Result of fitting a TLE to TEME samples.
5433
+ */
5434
+ export class TleFit {
5435
+ private constructor();
5436
+ free(): void;
5437
+ [Symbol.dispose](): void;
5438
+ toLines(): string[];
5439
+ readonly elements: any;
5440
+ readonly line1: string;
5441
+ readonly line2: string;
5442
+ readonly omm: Omm;
5443
+ readonly stats: any;
5444
+ }
5445
+
5113
5446
  /**
5114
5447
  * TEME states from a batched SGP4 propagation. Each array is flat row-major,
5115
5448
  * length `3 * epochCount`.
@@ -5406,6 +5739,11 @@ export function civilToJ2000Seconds(year: number, month: number, day: number, ho
5406
5739
  */
5407
5740
  export function cn0(eirp_dbw: number, fspl_db: number, receiver_gt_dbk: number, other_losses_db?: number | null): number;
5408
5741
 
5742
+ /**
5743
+ * Nominal GPS/QZSS CNAV URA meters for an ED/NED0 index.
5744
+ */
5745
+ export function cnavUraNominalM(index: number): number | undefined;
5746
+
5409
5747
  export function coe2eq(coe: any, factor?: RetrogradeFactor | null): any;
5410
5748
 
5411
5749
  export function coe2mee(coe: any, factor?: RetrogradeFactor | null): any;
@@ -5526,6 +5864,16 @@ export function decodeRtcmFrame(bytes: Uint8Array): any;
5526
5864
  */
5527
5865
  export function decodeRtcmMessage(body: Uint8Array): any;
5528
5866
 
5867
+ /**
5868
+ * Decode an RTCM 3 byte stream into messages plus stream diagnostics.
5869
+ *
5870
+ * The `messages` array has the same object form as [`decodeRtcm`].
5871
+ * `diagnostics.resyncBytes` counts skipped bytes while finding valid frames,
5872
+ * and `diagnostics.skippedFrames` reports CRC-valid frames whose bodies could
5873
+ * not be decoded.
5874
+ */
5875
+ export function decodeRtcmStream(bytes: Uint8Array): any;
5876
+
5529
5877
  export function decodeSbasMessage(bytes: Uint8Array, form?: string | null): any;
5530
5878
 
5531
5879
  export function decodeSsr(bytes: Uint8Array, framed?: boolean | null): any;
@@ -5660,6 +6008,16 @@ export function egm96OrthometricHeightM(ellipsoidal_height_m: number, lat_rad: n
5660
6008
  */
5661
6009
  export function egm96Undulation(lat_rad: number, lon_rad: number): number;
5662
6010
 
6011
+ /**
6012
+ * Batch EGM96 undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
6013
+ */
6014
+ export function egm96UndulationsDeg(points_deg: Float64Array): Float64Array;
6015
+
6016
+ /**
6017
+ * Batch EGM96 undulation lookup for flat `[latRad, lonRad, ...]` pairs.
6018
+ */
6019
+ export function egm96UndulationsRad(points_rad: Float64Array): Float64Array;
6020
+
5663
6021
  /**
5664
6022
  * Effective isotropic radiated power, dBW.
5665
6023
  */
@@ -5738,6 +6096,11 @@ export function errorEllipse2(covariance: Float64Array, confidence: number): Err
5738
6096
 
5739
6097
  export function estimateDecay(drag: DragForce, request: any): any;
5740
6098
 
6099
+ /**
6100
+ * Estimate decay using per-epoch values from a parsed space-weather table.
6101
+ */
6102
+ export function estimateDecayWithSpaceWeather(drag: DragForce, table: SpaceWeatherTable, request: any): any;
6103
+
5741
6104
  /**
5742
6105
  * Find Moon elevation threshold crossings (moonrise / moonset) over a UTC
5743
6106
  * window.
@@ -5838,6 +6201,11 @@ export function fitReducedOrbitSp3(sp3: Sp3, satellite: string, options: any): R
5838
6201
  */
5839
6202
  export function fitReducedOrbitTle(tle: Tle, options: any): ReducedOrbitSourceFit;
5840
6203
 
6204
+ /**
6205
+ * Fit SGP4 mean elements and optional B* to TEME state samples.
6206
+ */
6207
+ export function fitTle(samples: any, config: any): TleFit;
6208
+
5841
6209
  /**
5842
6210
  * Fix Melbourne-Wubbena wide-lane ambiguities over a dual-frequency RTK arc.
5843
6211
  *
@@ -5944,6 +6312,18 @@ export function geodeticToEcef(geodetic: Float64Array): Float64Array;
5944
6312
  */
5945
6313
  export function geoidUndulation(lat_rad: number, lon_rad: number): number;
5946
6314
 
6315
+ /**
6316
+ * Batch coarse built-in undulation lookup for flat `[latDeg, lonDeg, ...]`
6317
+ * pairs.
6318
+ */
6319
+ export function geoidUndulationsDeg(points_deg: Float64Array): Float64Array;
6320
+
6321
+ /**
6322
+ * Batch coarse built-in undulation lookup for flat `[latRad, lonRad, ...]`
6323
+ * pairs.
6324
+ */
6325
+ export function geoidUndulationsRad(points_rad: Float64Array): Float64Array;
6326
+
5947
6327
  /**
5948
6328
  * Geometry-free phase combination `L_GF = L1 - L2`, metres.
5949
6329
  */
@@ -6226,6 +6606,16 @@ export function leastSquares(request: any): LeastSquaresResult;
6226
6606
  */
6227
6607
  export function leastSquaresDropOne(request: any): LeastSquaresDropOneReport;
6228
6608
 
6609
+ /**
6610
+ * Lint RINEX navigation text.
6611
+ */
6612
+ export function lintRinexNav(bytes: Uint8Array): any;
6613
+
6614
+ /**
6615
+ * Lint RINEX observation text.
6616
+ */
6617
+ export function lintRinexObs(bytes: Uint8Array): any;
6618
+
6229
6619
  /**
6230
6620
  * Decode LNAV subframes 1-3 back into engineering-unit parameters.
6231
6621
  *
@@ -6463,6 +6853,16 @@ export function nequickGDelayM(_eval: any, frequency_hz: number): number;
6463
6853
  */
6464
6854
  export function nequickGStecTecu(_eval: any): number;
6465
6855
 
6856
+ /**
6857
+ * Parse bytes and return grouped epoch snapshots directly.
6858
+ */
6859
+ export function nmeaEpochs(bytes: Uint8Array): any;
6860
+
6861
+ /**
6862
+ * Write a GGA sentence from a JS object.
6863
+ */
6864
+ export function nmeaWriteGga(request: any): string;
6865
+
6466
6866
  /**
6467
6867
  * Equal-variance noise amplification of the ionosphere-free combination.
6468
6868
  */
@@ -6483,6 +6883,11 @@ export function noiseAmplification(f1_hz: number, f2_hz: number): number;
6483
6883
  */
6484
6884
  export function normalCovariance(jacobian: Float64Array, m: number, n: number, variance_scale: number): Float64Array;
6485
6885
 
6886
+ /**
6887
+ * Build the NTRIP connection request bytes for a config object.
6888
+ */
6889
+ export function ntripRequestBytes(config: any): Uint8Array;
6890
+
6486
6891
  /**
6487
6892
  * Predict observables for one satellite from a broadcast ephemeris store.
6488
6893
  * Delegates to `sidereon_core::observables::predict`.
@@ -6501,6 +6906,11 @@ export function observablesSp3(sp3: Sp3, satellite: string, receiver_ecef_m: Flo
6501
6906
  */
6502
6907
  export function observationKindLabel(kind: ObservationKind): string;
6503
6908
 
6909
+ /**
6910
+ * Aggregate observation QC for a parsed RINEX OBS product.
6911
+ */
6912
+ export function observationQc(obs: RinexObs, options: any): any;
6913
+
6504
6914
  /**
6505
6915
  * Observe `"sun"` or `"moon"` from a geodetic station at a UTC unix microsecond epoch.
6506
6916
  */
@@ -6564,6 +6974,16 @@ export function parseCdmXml(text: string): Cdm;
6564
6974
  */
6565
6975
  export function parseNavcen(html: string): any;
6566
6976
 
6977
+ /**
6978
+ * Parse NMEA sentences from bytes.
6979
+ */
6980
+ export function parseNmea(bytes: Uint8Array): NmeaParseResult;
6981
+
6982
+ /**
6983
+ * Parse NTRIP sourcetable text from UTF-8 bytes.
6984
+ */
6985
+ export function parseNtripSourcetable(bytes: Uint8Array): any;
6986
+
6567
6987
  /**
6568
6988
  * Parse CCSDS OEM KVN text. The KVN reader is forgiving: malformed ephemeris
6569
6989
  * lines are skipped and counted in `skippedStates`. Throws an `Error` on a
@@ -6646,6 +7066,21 @@ export function parseRinexNavRecords(bytes: Uint8Array): BroadcastRecordJs[];
6646
7066
  */
6647
7067
  export function parseRinexObs(bytes: Uint8Array): RinexObs;
6648
7068
 
7069
+ /**
7070
+ * Parse either CSV or fixed-width TXT space-weather bytes.
7071
+ */
7072
+ export function parseSpaceWeather(bytes: Uint8Array): SpaceWeatherTable;
7073
+
7074
+ /**
7075
+ * Parse CelesTrak CSSI CSV space-weather text.
7076
+ */
7077
+ export function parseSpaceWeatherCsv(text: string): SpaceWeatherTable;
7078
+
7079
+ /**
7080
+ * Parse CelesTrak CSSI fixed-width TXT space-weather text.
7081
+ */
7082
+ export function parseSpaceWeatherTxt(text: string): SpaceWeatherTable;
7083
+
6649
7084
  /**
6650
7085
  * Parse a multi-record TLE file (CelesTrak / Space-Track style) into named,
6651
7086
  * initialized [`Tle`] instances. Handles bare 2-line sets, 3-line name+line1+line2
@@ -6755,6 +7190,11 @@ export function prepareIonosphereFreeRtkArc(epochs: any, wide_lane_cycles: any,
6755
7190
  */
6756
7191
  export function propagateBatch(satellites: Tle[], epochs_unix_us: BigInt64Array): FleetPropagation;
6757
7192
 
7193
+ /**
7194
+ * Propagate an ECI Cartesian state and 6x6 covariance to requested epochs.
7195
+ */
7196
+ export function propagateCovariance(request: any): CovarianceEphemeris;
7197
+
6758
7198
  export function propagateKepler(coe: any, mu_km3_s2: number, dt_s: number): any;
6759
7199
 
6760
7200
  /**
@@ -6799,6 +7239,16 @@ export function rangeRateToDoppler(range_rate_m_s: number, carrier_hz: number):
6799
7239
 
6800
7240
  export function relativeState(chief: any, deputy: any): any;
6801
7241
 
7242
+ /**
7243
+ * Repair RINEX navigation text.
7244
+ */
7245
+ export function repairRinexNav(bytes: Uint8Array, options: any): RinexNavRepair;
7246
+
7247
+ /**
7248
+ * Repair RINEX observation text.
7249
+ */
7250
+ export function repairRinexObs(bytes: Uint8Array, options: any): RinexObsRepair;
7251
+
6802
7252
  /**
6803
7253
  * Build a sampled GPS C/A code replica, an `Int8Array`.
6804
7254
  */
@@ -6818,6 +7268,20 @@ export function rinexBandWavelengthM(system: GnssSystem, band: string, glonass_c
6818
7268
 
6819
7269
  export function rswRotation(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
6820
7270
 
7271
+ /**
7272
+ * Derive a RINEX LLI value for one MSM signal cell.
7273
+ *
7274
+ * `previous` is `null`/`undefined` or `{ elapsedMs, minLockTimeMs? }`.
7275
+ * `currentMinLockTimeMs` is a number or `null`/`undefined` for reserved current
7276
+ * indicators.
7277
+ */
7278
+ export function rtcmDeriveLli(previous: any, current_min_lock_time_ms: any, half_cycle_ambiguity: boolean): number;
7279
+
7280
+ /**
7281
+ * RINEX LLI bit constants used by the RTCM MSM LLI helpers.
7282
+ */
7283
+ export function rtcmLliBits(): any;
7284
+
6821
7285
  /**
6822
7286
  * Read the 12-bit RTCM message number from a message body.
6823
7287
  *
@@ -6826,6 +7290,25 @@ export function rswRotation(position_km: Float64Array, velocity_km_s: Float64Arr
6826
7290
  */
6827
7291
  export function rtcmMessageNumber(body: Uint8Array): number;
6828
7292
 
7293
+ /**
7294
+ * Minimum continuous-lock time encoded by an MSM4/7 lock-time indicator.
7295
+ *
7296
+ * `kind` is `"msm4"` or `"msm7"`. Reserved or out-of-range indicators return
7297
+ * `undefined`.
7298
+ */
7299
+ export function rtcmMinimumLockTimeMs(kind: string, indicator: number): any;
7300
+
7301
+ /**
7302
+ * Elapsed milliseconds between two raw MSM epoch-time fields.
7303
+ */
7304
+ export function rtcmMsmEpochDtMs(system: string, previous_epoch_time: number, current_epoch_time: number): number;
7305
+
7306
+ /**
7307
+ * RINEX 3 observation-code suffix for an MSM signal id, or `undefined` for
7308
+ * reserved ids.
7309
+ */
7310
+ export function rtcmMsmSignalRinexCode(system: string, signal_id: number): any;
7311
+
6829
7312
  export function rtnRotation(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
6830
7313
 
6831
7314
  /**
@@ -7141,6 +7624,11 @@ export function splitJdToJ2000Seconds(jd_whole: number, jd_fraction: number): nu
7141
7624
 
7142
7625
  export function ssrCorrectedState(broadcast: BroadcastEphemeris, store: SsrCorrectionStore, sat: string, t_j2000_s: number, fallback_to_broadcast?: boolean | null, allow_regional_provider?: number | null): any;
7143
7626
 
7627
+ /**
7628
+ * Stable lower-camel-case SSR source token.
7629
+ */
7630
+ export function ssrSourceLabel(source: SsrSource): string;
7631
+
7144
7632
  /**
7145
7633
  * Sub-observer point (planetary central meridian) on a rotating body.
7146
7634
  *
@@ -7260,6 +7748,11 @@ export function timescaleOffsetS(from: TimeScale, to: TimeScale): number;
7260
7748
  */
7261
7749
  export function toCsv(records: any, booleans?: string | null): string;
7262
7750
 
7751
+ /**
7752
+ * Transport a 6x6 covariance through caller-supplied STM segments.
7753
+ */
7754
+ export function transportCovariance(covariance: Float64Array, segments: any, options: any): CovarianceTransportResult;
7755
+
7263
7756
  /**
7264
7757
  * Niell hydrostatic and wet mapping factors at an elevation.
7265
7758
  *