@neilberkman/sidereon 0.35.0 → 0.36.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.
@@ -10758,6 +10758,15 @@ export function nequickGStecTecu(_eval: any): number;
10758
10758
  */
10759
10759
  export function networkField(input: any): any;
10760
10760
 
10761
+ /**
10762
+ * Newest published issue for one center + product family within a listing
10763
+ * body, or `null` when the listing is readable but holds no object of the
10764
+ * line - deliberately distinct from an unreadable listing, which throws.
10765
+ *
10766
+ * Returns `{date, issue, filename, observedAt}` or `null`.
10767
+ */
10768
+ export function newestPublishedProduct(center: string, family: string, listing_body: string): any;
10769
+
10761
10770
  /**
10762
10771
  * Scalar normalized innovation squared statistic.
10763
10772
  */
@@ -10928,6 +10937,20 @@ export function overlappingAdev(series: any, tau0_s: number, averaging_factors:
10928
10937
  */
10929
10938
  export function parallacticAngleDeg(observer_latitude_deg: number, hour_angle_deg: number, declination_deg: number): number;
10930
10939
 
10940
+ /**
10941
+ * Parse the object entries out of an archive listing body.
10942
+ *
10943
+ * Dialect detection is closed: a body that fits none of the recognized
10944
+ * listing surfaces (Apache/XHTML autoindex, AIUB whole-tree CSV, FTP
10945
+ * `LIST`) throws instead of returning a best-effort empty result - a silent
10946
+ * empty parse would be indistinguishable from "nothing published".
10947
+ * `observedAt` is the archive-reported modification text, verbatim; archives
10948
+ * disagree on format and time zone, so it is never reinterpreted.
10949
+ *
10950
+ * Returns an array of `{path, observedAt}`.
10951
+ */
10952
+ export function parseArchiveListing(body: string): any;
10953
+
10931
10954
  /**
10932
10955
  * Parse CCSDS CDM KVN text. Throws an `Error` on a parse failure.
10933
10956
  */
@@ -11166,6 +11189,21 @@ export function predictBatchBroadcast(broadcast: BroadcastEphemeris, satellites:
11166
11189
  */
11167
11190
  export function predictBatchSp3(sp3: Sp3, satellites: string[], receivers_ecef_m: Float64Array, epochs_j2000_s: Float64Array, options: any): PredictBatch;
11168
11191
 
11192
+ /**
11193
+ * Ordered cross-line candidates for one predicted IONEX map date.
11194
+ *
11195
+ * Both CODE predicted lines publish the same official filename for a map
11196
+ * date, but the two-day line is produced a day earlier, so `cod_prd2` is
11197
+ * routinely published while `cod_prd1` is still absent when CODE runs
11198
+ * behind. Candidates are ordered `cod_prd1` first, all cover the SAME map
11199
+ * date (never a neighboring day's map), and each keeps its own line
11200
+ * identity so resolved provenance names the line actually served. The walk
11201
+ * is opt-in; single-line requests keep their fail-closed behavior.
11202
+ *
11203
+ * Returns an array of `{center, date, sample, issue, filename, url}`.
11204
+ */
11205
+ export function predictedIonexLineCandidates(year: number, month: number, day: number, sample?: string | null): any;
11206
+
11169
11207
  /**
11170
11208
  * Prepare ionosphere-free single-frequency RTK arc inputs from a
11171
11209
  * dual-frequency arc and fixed wide-lane ambiguities.
@@ -11239,6 +11277,22 @@ export function pseudorangeDropReasonLabel(reason: PseudorangeDropReason): strin
11239
11277
  */
11240
11278
  export function pseudorangeVariance(elevation_deg: number, options: any): number;
11241
11279
 
11280
+ /**
11281
+ * Bounded archive listing URLs answering "newest published issue" for one
11282
+ * center + product family: at most two URLs, newest directory first (or one
11283
+ * whole-tree listing); never a polling loop. Browser and Node callers own
11284
+ * the fetch itself.
11285
+ */
11286
+ export function publicationListingUrls(center: string, family: string, year: number, month: number, day: number): string[];
11287
+
11288
+ /**
11289
+ * Whole minutes from a published issue's nominal epoch to a caller-supplied
11290
+ * UTC instant - the "N hours behind nominal" lag number. The verbatim
11291
+ * `observedAt` text carries the archive's own modification claim where one
11292
+ * exists.
11293
+ */
11294
+ export function publishedIssueAgeMinutes(year: number, month: number, day: number, issue: string, filename: string, now_year: number, now_month: number, now_day: number, now_hour: number, now_minute: number, now_second: number): bigint;
11295
+
11242
11296
  /**
11243
11297
  * Run direct post-solve residual RAIM.
11244
11298
  *
@@ -11320,6 +11374,15 @@ export function repeatPeriod(system: GnssSystem): number;
11320
11374
  */
11321
11375
  export function replica(prn: bigint, options: any): Int8Array;
11322
11376
 
11377
+ /**
11378
+ * Index of the first cross-line predicted-IONEX candidate whose exact
11379
+ * archive object appears in a listing body, or `null` when neither line is
11380
+ * published. Candidates stay in preference order and keep their own
11381
+ * identities, so the resolved index preserves the line actually served in
11382
+ * provenance.
11383
+ */
11384
+ export function resolveFirstPublishedPredictedIonex(year: number, month: number, day: number, sample: string | null | undefined, listing_body: string): number | undefined;
11385
+
11323
11386
  export function ricRotation(position_km: Float64Array, velocity_km_s: Float64Array): Float64Array;
11324
11387
 
11325
11388
  /**
@@ -26784,6 +26784,32 @@ function networkField(input) {
26784
26784
  }
26785
26785
  exports.networkField = networkField;
26786
26786
 
26787
+ /**
26788
+ * Newest published issue for one center + product family within a listing
26789
+ * body, or `null` when the listing is readable but holds no object of the
26790
+ * line - deliberately distinct from an unreadable listing, which throws.
26791
+ *
26792
+ * Returns `{date, issue, filename, observedAt}` or `null`.
26793
+ * @param {string} center
26794
+ * @param {string} family
26795
+ * @param {string} listing_body
26796
+ * @returns {any}
26797
+ */
26798
+ function newestPublishedProduct(center, family, listing_body) {
26799
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26800
+ const len0 = WASM_VECTOR_LEN;
26801
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26802
+ const len1 = WASM_VECTOR_LEN;
26803
+ const ptr2 = passStringToWasm0(listing_body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26804
+ const len2 = WASM_VECTOR_LEN;
26805
+ const ret = wasm.newestPublishedProduct(ptr0, len0, ptr1, len1, ptr2, len2);
26806
+ if (ret[2]) {
26807
+ throw takeFromExternrefTable0(ret[1]);
26808
+ }
26809
+ return takeFromExternrefTable0(ret[0]);
26810
+ }
26811
+ exports.newestPublishedProduct = newestPublishedProduct;
26812
+
26787
26813
  /**
26788
26814
  * Scalar normalized innovation squared statistic.
26789
26815
  * @param {number} innovation
@@ -27280,6 +27306,31 @@ function parallacticAngleDeg(observer_latitude_deg, hour_angle_deg, declination_
27280
27306
  }
27281
27307
  exports.parallacticAngleDeg = parallacticAngleDeg;
27282
27308
 
27309
+ /**
27310
+ * Parse the object entries out of an archive listing body.
27311
+ *
27312
+ * Dialect detection is closed: a body that fits none of the recognized
27313
+ * listing surfaces (Apache/XHTML autoindex, AIUB whole-tree CSV, FTP
27314
+ * `LIST`) throws instead of returning a best-effort empty result - a silent
27315
+ * empty parse would be indistinguishable from "nothing published".
27316
+ * `observedAt` is the archive-reported modification text, verbatim; archives
27317
+ * disagree on format and time zone, so it is never reinterpreted.
27318
+ *
27319
+ * Returns an array of `{path, observedAt}`.
27320
+ * @param {string} body
27321
+ * @returns {any}
27322
+ */
27323
+ function parseArchiveListing(body) {
27324
+ const ptr0 = passStringToWasm0(body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27325
+ const len0 = WASM_VECTOR_LEN;
27326
+ const ret = wasm.parseArchiveListing(ptr0, len0);
27327
+ if (ret[2]) {
27328
+ throw takeFromExternrefTable0(ret[1]);
27329
+ }
27330
+ return takeFromExternrefTable0(ret[0]);
27331
+ }
27332
+ exports.parseArchiveListing = parseArchiveListing;
27333
+
27283
27334
  /**
27284
27335
  * Parse CCSDS CDM KVN text. Throws an `Error` on a parse failure.
27285
27336
  * @param {string} text
@@ -28002,6 +28053,35 @@ function predictBatchSp3(sp3, satellites, receivers_ecef_m, epochs_j2000_s, opti
28002
28053
  }
28003
28054
  exports.predictBatchSp3 = predictBatchSp3;
28004
28055
 
28056
+ /**
28057
+ * Ordered cross-line candidates for one predicted IONEX map date.
28058
+ *
28059
+ * Both CODE predicted lines publish the same official filename for a map
28060
+ * date, but the two-day line is produced a day earlier, so `cod_prd2` is
28061
+ * routinely published while `cod_prd1` is still absent when CODE runs
28062
+ * behind. Candidates are ordered `cod_prd1` first, all cover the SAME map
28063
+ * date (never a neighboring day's map), and each keeps its own line
28064
+ * identity so resolved provenance names the line actually served. The walk
28065
+ * is opt-in; single-line requests keep their fail-closed behavior.
28066
+ *
28067
+ * Returns an array of `{center, date, sample, issue, filename, url}`.
28068
+ * @param {number} year
28069
+ * @param {number} month
28070
+ * @param {number} day
28071
+ * @param {string | null} [sample]
28072
+ * @returns {any}
28073
+ */
28074
+ function predictedIonexLineCandidates(year, month, day, sample) {
28075
+ var ptr0 = isLikeNone(sample) ? 0 : passStringToWasm0(sample, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28076
+ var len0 = WASM_VECTOR_LEN;
28077
+ const ret = wasm.predictedIonexLineCandidates(year, month, day, ptr0, len0);
28078
+ if (ret[2]) {
28079
+ throw takeFromExternrefTable0(ret[1]);
28080
+ }
28081
+ return takeFromExternrefTable0(ret[0]);
28082
+ }
28083
+ exports.predictedIonexLineCandidates = predictedIonexLineCandidates;
28084
+
28005
28085
  /**
28006
28086
  * Prepare ionosphere-free single-frequency RTK arc inputs from a
28007
28087
  * dual-frequency arc and fixed wide-lane ambiguities.
@@ -28203,6 +28283,64 @@ function pseudorangeVariance(elevation_deg, options) {
28203
28283
  }
28204
28284
  exports.pseudorangeVariance = pseudorangeVariance;
28205
28285
 
28286
+ /**
28287
+ * Bounded archive listing URLs answering "newest published issue" for one
28288
+ * center + product family: at most two URLs, newest directory first (or one
28289
+ * whole-tree listing); never a polling loop. Browser and Node callers own
28290
+ * the fetch itself.
28291
+ * @param {string} center
28292
+ * @param {string} family
28293
+ * @param {number} year
28294
+ * @param {number} month
28295
+ * @param {number} day
28296
+ * @returns {string[]}
28297
+ */
28298
+ function publicationListingUrls(center, family, year, month, day) {
28299
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28300
+ const len0 = WASM_VECTOR_LEN;
28301
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28302
+ const len1 = WASM_VECTOR_LEN;
28303
+ const ret = wasm.publicationListingUrls(ptr0, len0, ptr1, len1, year, month, day);
28304
+ if (ret[3]) {
28305
+ throw takeFromExternrefTable0(ret[2]);
28306
+ }
28307
+ var v3 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
28308
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
28309
+ return v3;
28310
+ }
28311
+ exports.publicationListingUrls = publicationListingUrls;
28312
+
28313
+ /**
28314
+ * Whole minutes from a published issue's nominal epoch to a caller-supplied
28315
+ * UTC instant - the "N hours behind nominal" lag number. The verbatim
28316
+ * `observedAt` text carries the archive's own modification claim where one
28317
+ * exists.
28318
+ * @param {number} year
28319
+ * @param {number} month
28320
+ * @param {number} day
28321
+ * @param {string} issue
28322
+ * @param {string} filename
28323
+ * @param {number} now_year
28324
+ * @param {number} now_month
28325
+ * @param {number} now_day
28326
+ * @param {number} now_hour
28327
+ * @param {number} now_minute
28328
+ * @param {number} now_second
28329
+ * @returns {bigint}
28330
+ */
28331
+ function publishedIssueAgeMinutes(year, month, day, issue, filename, now_year, now_month, now_day, now_hour, now_minute, now_second) {
28332
+ const ptr0 = passStringToWasm0(issue, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28333
+ const len0 = WASM_VECTOR_LEN;
28334
+ const ptr1 = passStringToWasm0(filename, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28335
+ const len1 = WASM_VECTOR_LEN;
28336
+ const ret = wasm.publishedIssueAgeMinutes(year, month, day, ptr0, len0, ptr1, len1, now_year, now_month, now_day, now_hour, now_minute, now_second);
28337
+ if (ret[2]) {
28338
+ throw takeFromExternrefTable0(ret[1]);
28339
+ }
28340
+ return ret[0];
28341
+ }
28342
+ exports.publishedIssueAgeMinutes = publishedIssueAgeMinutes;
28343
+
28206
28344
  /**
28207
28345
  * Run direct post-solve residual RAIM.
28208
28346
  *
@@ -28400,6 +28538,32 @@ function replica(prn, options) {
28400
28538
  }
28401
28539
  exports.replica = replica;
28402
28540
 
28541
+ /**
28542
+ * Index of the first cross-line predicted-IONEX candidate whose exact
28543
+ * archive object appears in a listing body, or `null` when neither line is
28544
+ * published. Candidates stay in preference order and keep their own
28545
+ * identities, so the resolved index preserves the line actually served in
28546
+ * provenance.
28547
+ * @param {number} year
28548
+ * @param {number} month
28549
+ * @param {number} day
28550
+ * @param {string | null | undefined} sample
28551
+ * @param {string} listing_body
28552
+ * @returns {number | undefined}
28553
+ */
28554
+ function resolveFirstPublishedPredictedIonex(year, month, day, sample, listing_body) {
28555
+ var ptr0 = isLikeNone(sample) ? 0 : passStringToWasm0(sample, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28556
+ var len0 = WASM_VECTOR_LEN;
28557
+ const ptr1 = passStringToWasm0(listing_body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28558
+ const len1 = WASM_VECTOR_LEN;
28559
+ const ret = wasm.resolveFirstPublishedPredictedIonex(year, month, day, ptr0, len0, ptr1, len1);
28560
+ if (ret[2]) {
28561
+ throw takeFromExternrefTable0(ret[1]);
28562
+ }
28563
+ return ret[0] === Number.MAX_SAFE_INTEGER ? undefined : ret[0];
28564
+ }
28565
+ exports.resolveFirstPublishedPredictedIonex = resolveFirstPublishedPredictedIonex;
28566
+
28403
28567
  /**
28404
28568
  * @param {Float64Array} position_km
28405
28569
  * @param {Float64Array} velocity_km_s
Binary file