@rybosome/tspice 0.0.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.
Files changed (42) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +65 -0
  3. package/README.md +151 -0
  4. package/backend-contract/LICENSE +21 -0
  5. package/backend-contract/dist/.tsbuildinfo +1 -0
  6. package/backend-contract/dist/index.d.ts +237 -0
  7. package/backend-contract/dist/index.js +2 -0
  8. package/backend-fake/dist/.tsbuildinfo +1 -0
  9. package/backend-fake/dist/index.d.ts +4 -0
  10. package/backend-fake/dist/index.js +627 -0
  11. package/backend-node/LICENSE +21 -0
  12. package/backend-node/NOTICE +32 -0
  13. package/backend-node/dist/.tsbuildinfo +1 -0
  14. package/backend-node/dist/index.d.ts +4 -0
  15. package/backend-node/dist/index.js +389 -0
  16. package/backend-node/dist/native.d.ts +112 -0
  17. package/backend-node/dist/native.js +102 -0
  18. package/backend-wasm/LICENSE +21 -0
  19. package/backend-wasm/NOTICE +32 -0
  20. package/backend-wasm/dist/.tsbuildinfo +1 -0
  21. package/backend-wasm/dist/index.d.ts +8 -0
  22. package/backend-wasm/dist/index.js +1505 -0
  23. package/backend-wasm/dist/tspice_backend_wasm.js +19 -0
  24. package/backend-wasm/dist/tspice_backend_wasm.wasm +0 -0
  25. package/core/LICENSE +21 -0
  26. package/core/dist/.tsbuildinfo +1 -0
  27. package/core/dist/index.d.ts +6 -0
  28. package/core/dist/index.js +15 -0
  29. package/dist/.tsbuildinfo +1 -0
  30. package/dist/backend.d.ts +18 -0
  31. package/dist/backend.js +37 -0
  32. package/dist/errors.d.ts +8 -0
  33. package/dist/errors.js +16 -0
  34. package/dist/index.d.ts +9 -0
  35. package/dist/index.js +4 -0
  36. package/dist/spice-types.d.ts +36 -0
  37. package/dist/spice-types.js +2 -0
  38. package/dist/spice.d.ts +13 -0
  39. package/dist/spice.js +84 -0
  40. package/dist/types.d.ts +54 -0
  41. package/dist/types.js +2 -0
  42. package/package.json +40 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ryan Eiger
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/NOTICE ADDED
@@ -0,0 +1,65 @@
1
+ Third-party notices for this package:
2
+
3
+ This package uses the NAIF SPICE Toolkit (CSPICE).
4
+
5
+ Rules Regarding Use of SPICE:
6
+
7
+ https://naif.jpl.nasa.gov/naif/rules.html
8
+
9
+ The following disclaimer is reproduced from the CSPICE Toolkit distribution:
10
+
11
+ THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
12
+ CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
13
+ GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
14
+ ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
15
+ PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
16
+ TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
17
+ WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
18
+ PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
19
+ SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
20
+ SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
21
+
22
+ IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
23
+ BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
24
+ LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
25
+ INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
26
+ REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
27
+ REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
28
+
29
+ RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
30
+ THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
31
+ CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
32
+ ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
33
+
34
+ Third-party notices for this package:
35
+
36
+ This package uses the NAIF SPICE Toolkit (CSPICE).
37
+
38
+ Rules Regarding Use of SPICE:
39
+
40
+ https://naif.jpl.nasa.gov/naif/rules.html
41
+
42
+ The following disclaimer is reproduced from the CSPICE Toolkit distribution:
43
+
44
+ THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
45
+ CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
46
+ GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
47
+ ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
48
+ PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
49
+ TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
50
+ WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
51
+ PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
52
+ SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
53
+ SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
54
+
55
+ IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
56
+ BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
57
+ LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
58
+ INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
59
+ REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
60
+ REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
61
+
62
+ RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
63
+ THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
64
+ CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
65
+ ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,151 @@
1
+ # @rybosome/tspice
2
+
3
+ ## Overview
4
+
5
+ `@rybosome/tspice` is the public facade for this repo: it gives you a single `createBackend()` entrypoint and lets you select an underlying backend implementation (Node/native or WASM).
6
+
7
+ ## CSPICE / NAIF disclosure
8
+
9
+ See [`docs/cspice-naif-disclosure.md`](../../docs/cspice-naif-disclosure.md) for the canonical disclosure text, NAIF links, and pointers to notice files.
10
+
11
+ Depending on `@rybosome/tspice` will typically pull in backend packages that ship CSPICE-derived components; see each backend package `NOTICE` for details.
12
+
13
+ ## Purpose / Why this exists
14
+
15
+ The long-term goal is to expose a stable, ergonomic JavaScript/TypeScript API for SPICE functionality while keeping the “how” of execution (native addon, WASM, remote, etc.) behind an interface.
16
+
17
+ This package is the package most callers should depend on.
18
+
19
+ ## How it fits into `tspice`
20
+
21
+ At runtime, `createBackend()` creates the backend you request and returns a `Promise<SpiceBackend>`.
22
+
23
+ ```
24
+ @rybosome/tspice
25
+ ├─ selects one of:
26
+ │ ├─ tspice-backend-node (native addon)
27
+ │ └─ tspice-backend-wasm (wasm)
28
+ ├─ uses shared types from tspice-backend-contract
29
+ └─ uses shared utilities from tspice-core
30
+ ```
31
+
32
+ ## Installation
33
+
34
+ This repo is currently an A0 scaffold and packages are marked `private: true`, so you typically use it via the workspace.
35
+
36
+ ### ESM-only (published package)
37
+
38
+ The published `@rybosome/tspice` package is **ESM-only** (`type: "module"`). It does not ship a CommonJS (`require()`) entrypoint.
39
+
40
+ If you're in a CommonJS project, use a dynamic import:
41
+
42
+ ```js
43
+ const { createBackend } = await import("@rybosome/tspice");
44
+ ```
45
+
46
+ ## Usage (Quickstart)
47
+
48
+ ```ts
49
+ import { createBackend } from "@rybosome/tspice";
50
+
51
+ async function main() {
52
+ const backend = await createBackend({ backend: "wasm" });
53
+ console.log(backend.kind); // "wasm"
54
+ console.log(backend.spiceVersion());
55
+ }
56
+
57
+ main().catch(console.error);
58
+ ```
59
+
60
+ ## Usage (Mid-level API)
61
+
62
+ The mid-level API provides a thin, typed wrapper layer over the low-level SPICE primitives:
63
+
64
+ ```ts
65
+ import { createSpice } from "@rybosome/tspice";
66
+
67
+ async function main() {
68
+ const spice = await createSpice({ backend: "wasm" });
69
+
70
+ // Load kernels from disk (or provide { path, bytes } for in-memory kernels).
71
+ spice.kit.loadKernel("/path/to/naif0012.tls");
72
+ spice.kit.loadKernel("/path/to/de405s.bsp");
73
+
74
+ const et = spice.kit.utcToEt("2000 JAN 01 12:00:00");
75
+
76
+ const state = spice.kit.getState({
77
+ target: "EARTH",
78
+ observer: "SUN",
79
+ at: et,
80
+ frame: "J2000",
81
+ aberration: "NONE",
82
+ });
83
+
84
+ console.log(state.position, state.velocity, state.lightTime);
85
+
86
+ // Low-level backend primitives are available under `spice.cspice`.
87
+ console.log(spice.cspice.tkvrsn("TOOLKIT"));
88
+ }
89
+
90
+ main().catch(console.error);
91
+ ```
92
+
93
+ ## API surface
94
+
95
+ - `createBackend(options: { backend: 'node' | 'wasm'; wasmUrl?: string | URL }): Promise<SpiceBackend>`
96
+ - `createSpice(options: { backend: 'node' | 'wasm'; wasmUrl?: string | URL }): Promise<Spice>`
97
+ - Types:
98
+ - `BackendKind` (from `tspice-backend-contract`; `@rybosome/tspice` requires explicit `"node" | "wasm"` selection)
99
+ - `SpiceBackend`
100
+ - `SpiceKit`, `Spice`
101
+ - Mid-level:
102
+ - `Vec3`, `Vec6`, `Mat3`, `FrameName`, `AberrationCorrection`, `SpiceTime`
103
+ - `StateVector`
104
+ - `SpiceError`
105
+
106
+ ### Selecting a backend
107
+
108
+ ```ts
109
+ import { createBackend } from "@rybosome/tspice";
110
+
111
+ async function main() {
112
+ const nodeBackend = await createBackend({ backend: "node" });
113
+ const wasmBackend = await createBackend({ backend: "wasm" });
114
+ console.log(nodeBackend.kind, wasmBackend.kind);
115
+ }
116
+
117
+ main().catch(console.error);
118
+ ```
119
+
120
+ ### Backend notes
121
+
122
+ - Node backend (`backend: "node"`): implemented by a native addon. Requires a compatible native binding to be present.
123
+ - WASM backend (`backend: "wasm"`): implemented with a prebuilt `.wasm`. See [`tspice-backend-wasm`](../backend-wasm/README.md).
124
+
125
+ ## Development
126
+
127
+ ```bash
128
+ pnpm -C packages/tspice build
129
+ pnpm -C packages/tspice typecheck
130
+ pnpm -C packages/tspice test
131
+ ```
132
+
133
+ ## Troubleshooting / FAQ
134
+
135
+ ### “Native addon tspice_backend_node.node not found” / “Failed to load tspice native backend ...”
136
+
137
+ If you selected the Node/native backend (`backend: "node"`) and you’re running from the workspace and haven’t built the addon yet:
138
+
139
+ ```bash
140
+ pnpm -C packages/backend-node build:native
141
+ ```
142
+
143
+ For more details (including `TSPICE_BACKEND_NODE_BINDING_PATH`), see [`tspice-backend-node`](../backend-node/README.md).
144
+
145
+ ## Versioning / stability notes
146
+
147
+ This is an A0 scaffold (`0.0.0`) and the API shape is expected to churn.
148
+
149
+ ### Breaking change notes
150
+
151
+ - `createBackend()` no longer has a default backend. Callers must explicitly choose `backend: "node"` or `backend: "wasm"`.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ryan Eiger
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,109,110,112,129,130],[64,111,112,129,130],[112,129,130],[64,112,117,129,130,147],[64,112,113,118,123,129,130,132,144,155],[64,112,113,114,123,129,130,132],[64,112,129,130],[59,60,61,64,112,129,130],[64,112,115,129,130,156],[64,112,116,117,124,129,130,133],[64,112,117,129,130,144,152],[64,112,118,120,123,129,130,132],[64,111,112,119,129,130],[64,112,120,121,129,130],[64,112,122,123,129,130],[64,111,112,123,129,130],[64,112,123,124,125,129,130,144,155],[64,112,123,124,125,129,130,139,144,147],[64,105,112,120,123,126,129,130,132,144,155],[64,112,123,124,126,127,129,130,132,144,152,155],[64,112,126,128,129,130,144,152,155],[62,63,64,65,66,67,68,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[64,112,123,129,130],[64,112,129,130,131,155],[64,112,120,123,129,130,132,144],[64,112,129,130,133],[64,112,129,130,134],[64,111,112,129,130,135],[64,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[64,112,129,130,137],[64,112,129,130,138],[64,112,123,129,130,139,140],[64,112,129,130,139,141,156,158],[64,112,124,129,130],[64,112,123,129,130,144,145,147],[64,112,129,130,146,147],[64,112,129,130,144,145],[64,112,129,130,147],[64,112,129,130,148],[64,109,112,129,130,144,149],[64,112,123,129,130,150,151],[64,112,129,130,150,151],[64,112,117,129,130,132,144,152],[64,112,129,130,153],[64,112,129,130,132,154],[64,112,126,129,130,138,155],[64,112,117,129,130,156],[64,112,129,130,144,157],[64,112,129,130,131,158],[64,112,129,130,159],[64,105,112,129,130],[64,105,112,123,125,129,130,135,144,147,155,157,158,160],[64,112,129,130,144,161],[64,77,81,112,129,130,155],[64,77,112,129,130,144,155],[64,72,112,129,130],[64,74,77,112,129,130,152,155],[64,112,129,130,132,152],[64,112,129,130,162],[64,72,112,129,130,162],[64,74,77,112,129,130,132,155],[64,69,70,73,76,112,123,129,130,144,155],[64,77,84,112,129,130],[64,69,75,112,129,130],[64,77,98,99,112,129,130],[64,73,77,112,129,130,147,155,162],[64,98,112,129,130,162],[64,71,72,112,129,130,162],[64,77,112,129,130],[64,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,112,129,130],[64,77,92,112,129,130],[64,77,84,85,112,129,130],[64,75,77,85,86,112,129,130],[64,76,112,129,130],[64,69,72,77,112,129,130],[64,77,81,85,86,112,129,130],[64,81,112,129,130],[64,75,77,80,112,129,130,155],[64,69,74,77,84,112,129,130],[64,112,129,130,144],[64,72,77,98,112,129,130,160,162]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"e241c887a7fadbcb34338b606fc4b483fb18182da3faad9411e81cfea4dabab0","signature":"8622ec5a70c1898087579c6974ab06e533e8da24ba03eadddeb3f93f1921595c","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"bb45cd435da536500f1d9692a9b49d0c570b763ccbf00473248b777f5c1f353b","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a865dd60876e7ba7dc316e639eda0f246dbc2ad1ee61f2e994e44f277111978d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"0dba70b3fb0dcd713fda33c2df64fa6751fff6460e536971cee917260fb17882","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[58],"options":{"composite":true,"declaration":true,"declarationMap":true,"exactOptionalPropertyTypes":true,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[109,1],[110,1],[111,2],[64,3],[112,4],[113,5],[114,6],[59,7],[62,8],[60,7],[61,7],[115,9],[116,10],[117,11],[118,12],[119,13],[120,14],[121,14],[122,15],[123,16],[124,17],[125,18],[65,7],[63,7],[126,19],[127,20],[128,21],[162,22],[129,23],[130,7],[131,24],[132,25],[133,26],[134,27],[135,28],[136,29],[137,30],[138,31],[139,32],[140,32],[141,33],[142,7],[143,34],[144,35],[146,36],[145,37],[147,38],[148,39],[149,40],[150,41],[151,42],[152,43],[153,44],[154,45],[155,46],[156,47],[157,48],[158,49],[159,50],[66,7],[67,7],[68,7],[106,51],[107,7],[108,7],[160,52],[161,53],[56,7],[57,7],[11,7],[10,7],[2,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[3,7],[20,7],[21,7],[4,7],[22,7],[26,7],[23,7],[24,7],[25,7],[27,7],[28,7],[29,7],[5,7],[30,7],[31,7],[32,7],[33,7],[6,7],[37,7],[34,7],[35,7],[36,7],[38,7],[7,7],[39,7],[44,7],[45,7],[40,7],[41,7],[42,7],[43,7],[8,7],[49,7],[46,7],[47,7],[48,7],[50,7],[9,7],[51,7],[52,7],[53,7],[55,7],[54,7],[1,7],[84,54],[94,55],[83,54],[104,56],[75,57],[74,58],[103,59],[97,60],[102,61],[77,62],[91,63],[76,64],[100,65],[72,66],[71,59],[101,67],[73,68],[78,69],[79,7],[82,69],[69,7],[105,70],[95,71],[86,72],[87,73],[89,74],[85,75],[88,76],[98,59],[80,77],[81,78],[90,79],[70,80],[93,71],[92,69],[96,7],[99,81],[58,7]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
@@ -0,0 +1,237 @@
1
+ export declare const BACKEND_KINDS: readonly ["node", "wasm", "fake"];
2
+ export type BackendKind = (typeof BACKEND_KINDS)[number];
3
+ export type KernelSource = string | {
4
+ path: string;
5
+ bytes: Uint8Array;
6
+ };
7
+ /** Kernel types used by summary/introspection APIs. */
8
+ export type KernelKind = "ALL" | "SPK" | "CK" | "PCK" | "LSK" | "FK" | "IK" | "SCLK" | "EK" | "META";
9
+ export type Found<T> = {
10
+ found: false;
11
+ } | ({
12
+ found: true;
13
+ } & T);
14
+ export type KernelData = {
15
+ file: string;
16
+ filtyp: string;
17
+ source: string;
18
+ handle: number;
19
+ };
20
+ /** SPICE aberration correction string accepted by `spkezr`/`spkpos`. */
21
+ export type AbCorr = "NONE" | "LT" | "LT+S" | "CN" | "CN+S" | "XLT" | "XLT+S" | "XCN" | "XCN+S";
22
+ export type SpiceVector3 = [number, number, number];
23
+ export type SpiceMatrix3x3 = [
24
+ number,
25
+ number,
26
+ number,
27
+ number,
28
+ number,
29
+ number,
30
+ number,
31
+ number,
32
+ number
33
+ ];
34
+ export type SpiceMatrix6x6 = [
35
+ number,
36
+ number,
37
+ number,
38
+ number,
39
+ number,
40
+ number,
41
+ number,
42
+ number,
43
+ number,
44
+ number,
45
+ number,
46
+ number,
47
+ number,
48
+ number,
49
+ number,
50
+ number,
51
+ number,
52
+ number,
53
+ number,
54
+ number,
55
+ number,
56
+ number,
57
+ number,
58
+ number,
59
+ number,
60
+ number,
61
+ number,
62
+ number,
63
+ number,
64
+ number,
65
+ number,
66
+ number,
67
+ number,
68
+ number,
69
+ number,
70
+ number
71
+ ];
72
+ export type SpiceStateVector = [
73
+ number,
74
+ number,
75
+ number,
76
+ number,
77
+ number,
78
+ number
79
+ ];
80
+ export type SpkezrResult = {
81
+ state: SpiceStateVector;
82
+ lt: number;
83
+ };
84
+ export type SpkposResult = {
85
+ pos: SpiceVector3;
86
+ lt: number;
87
+ };
88
+ export type SubPointResult = {
89
+ /** Sub-point on target body surface, expressed in `fixref` at `trgepc`. */
90
+ spoint: SpiceVector3;
91
+ /** Target epoch associated with `spoint`, in seconds past J2000 TDB. */
92
+ trgepc: number;
93
+ /** Vector from observer to `spoint`, expressed in `fixref` at `trgepc`. */
94
+ srfvec: SpiceVector3;
95
+ };
96
+ export type IluminResult = {
97
+ /** Target epoch associated with `spoint`, in seconds past J2000 TDB. */
98
+ trgepc: number;
99
+ /** Vector from observer to `spoint`, expressed in `fixref` at `trgepc`. */
100
+ srfvec: SpiceVector3;
101
+ /** Phase angle at `spoint`, radians. */
102
+ phase: number;
103
+ /** Solar incidence angle at `spoint`, radians. */
104
+ incdnc: number;
105
+ /** Emission angle at `spoint`, radians. */
106
+ emissn: number;
107
+ };
108
+ export interface SpiceBackend {
109
+ kind: BackendKind;
110
+ spiceVersion(): string;
111
+ /**
112
+ * Load a SPICE kernel.
113
+ *
114
+ * - If a string is provided, it is treated as a filesystem path.
115
+ * - If bytes are provided, the backend may write them to a virtual filesystem
116
+ * at `path` before calling into SPICE.
117
+ */
118
+ furnsh(kernel: KernelSource): void;
119
+ /**
120
+ * Unload a SPICE kernel previously loaded via `furnsh()`.
121
+ */
122
+ unload(path: string): void;
123
+ /** Clear all loaded kernels. */
124
+ kclear(): void;
125
+ /** Count loaded kernels of a given kind. */
126
+ ktotal(kind?: KernelKind): number;
127
+ /** Retrieve kernel metadata at position `which` for a given kind. */
128
+ kdata(which: number, kind?: KernelKind): Found<KernelData>;
129
+ /**
130
+ * Thin wrapper over the SPICE primitive `tkvrsn()`.
131
+ *
132
+ * Currently, only the TOOLKIT item is exposed.
133
+ */
134
+ tkvrsn(item: "TOOLKIT"): string;
135
+ /** Convert a time string to ET seconds past J2000. */
136
+ str2et(time: string): number;
137
+ /** Convert ET seconds past J2000 to a formatted UTC string. */
138
+ et2utc(et: number, format: string, prec: number): string;
139
+ /**
140
+ * Format an ephemeris time using a NAIF time picture.
141
+ *
142
+ * Wrapper around CSPICE `timout_c`.
143
+ */
144
+ timout(et: number, picture: string): string;
145
+ bodn2c(name: string): Found<{
146
+ code: number;
147
+ }>;
148
+ bodc2n(code: number): Found<{
149
+ name: string;
150
+ }>;
151
+ namfrm(name: string): Found<{
152
+ code: number;
153
+ }>;
154
+ frmnam(code: number): Found<{
155
+ name: string;
156
+ }>;
157
+ cidfrm(center: number): Found<{
158
+ frcode: number;
159
+ frname: string;
160
+ }>;
161
+ cnmfrm(centerName: string): Found<{
162
+ frcode: number;
163
+ frname: string;
164
+ }>;
165
+ /** Convert an encoded SCLK string to ET seconds past J2000. */
166
+ scs2e(sc: number, sclkch: string): number;
167
+ /** Convert ET seconds past J2000 to an encoded SCLK string. */
168
+ sce2s(sc: number, et: number): string;
169
+ /** Get pointing (attitude) for a CK instrument at a given encoded spacecraft clock time. */
170
+ ckgp(inst: number, sclkdp: number, tol: number, ref: string): Found<{
171
+ cmat: SpiceMatrix3x3;
172
+ clkout: number;
173
+ }>;
174
+ /** Get pointing + angular velocity for a CK instrument at a given encoded spacecraft clock time. */
175
+ ckgpav(inst: number, sclkdp: number, tol: number, ref: string): Found<{
176
+ cmat: SpiceMatrix3x3;
177
+ av: SpiceVector3;
178
+ clkout: number;
179
+ }>;
180
+ /** Compute a 3x3 frame transformation matrix (row-major). */
181
+ pxform(from: string, to: string, et: number): SpiceMatrix3x3;
182
+ /** Compute a 6x6 state transformation matrix (row-major). */
183
+ sxform(from: string, to: string, et: number): SpiceMatrix6x6;
184
+ /** Compute state (6-vector) and light time via `spkezr`. */
185
+ spkezr(target: string, et: number, ref: string, abcorr: AbCorr | string, observer: string): SpkezrResult;
186
+ /** Compute position (3-vector) and light time via `spkpos`. */
187
+ spkpos(target: string, et: number, ref: string, abcorr: AbCorr | string, observer: string): SpkposResult;
188
+ /** Compute the sub-observer point on a target body's surface. */
189
+ subpnt(method: string, target: string, et: number, fixref: string, abcorr: AbCorr | string, observer: string): SubPointResult;
190
+ /** Compute the sub-solar point on a target body's surface. */
191
+ subslr(method: string, target: string, et: number, fixref: string, abcorr: AbCorr | string, observer: string): SubPointResult;
192
+ /** Compute the surface intercept point of a ray. */
193
+ sincpt(method: string, target: string, et: number, fixref: string, abcorr: AbCorr | string, observer: string, dref: string, dvec: SpiceVector3): Found<SubPointResult>;
194
+ /** Compute illumination angles at a surface point. */
195
+ ilumin(method: string, target: string, et: number, fixref: string, abcorr: AbCorr | string, observer: string, spoint: SpiceVector3): IluminResult;
196
+ /** Determine the occultation condition code for one target vs another. */
197
+ occult(targ1: string, shape1: string, frame1: string, targ2: string, shape2: string, frame2: string, abcorr: AbCorr | string, observer: string, et: number): number;
198
+ reclat(rect: SpiceVector3): {
199
+ radius: number;
200
+ lon: number;
201
+ lat: number;
202
+ };
203
+ latrec(radius: number, lon: number, lat: number): SpiceVector3;
204
+ recsph(rect: SpiceVector3): {
205
+ radius: number;
206
+ colat: number;
207
+ lon: number;
208
+ };
209
+ sphrec(radius: number, colat: number, lon: number): SpiceVector3;
210
+ vnorm(v: SpiceVector3): number;
211
+ /**
212
+ * Compute the unit vector of `v`.
213
+ *
214
+ * **Zero-vector behavior:** if `v` is `[0, 0, 0]`, this returns `[0, 0, 0]` and
215
+ * does **not** throw.
216
+ *
217
+ * This matches the NAIF CSPICE `vhat_c` definition.
218
+ */
219
+ vhat(v: SpiceVector3): SpiceVector3;
220
+ vdot(a: SpiceVector3, b: SpiceVector3): number;
221
+ vcrss(a: SpiceVector3, b: SpiceVector3): SpiceVector3;
222
+ mxv(m: SpiceMatrix3x3, v: SpiceVector3): SpiceVector3;
223
+ mtxv(m: SpiceMatrix3x3, v: SpiceVector3): SpiceVector3;
224
+ }
225
+ /**
226
+ * WASM-only helpers (not available on the node backend).
227
+ *
228
+ * These are used to populate the in-memory FS and then load kernels.
229
+ */
230
+ export interface SpiceBackendWasm extends SpiceBackend {
231
+ kind: "wasm";
232
+ /** Write a file into the WASM in-memory filesystem. */
233
+ writeFile(path: string, data: Uint8Array): void;
234
+ /** Write and load a kernel into the WASM filesystem. */
235
+ loadKernel(path: string, data: Uint8Array): void;
236
+ }
237
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export const BACKEND_KINDS = ["node", "wasm", "fake"];
2
+ //# sourceMappingURL=index.js.map