geospec 0.1.0-beta.8 → 0.1.0-beta.9
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.
- package/README.md +41 -8
- package/agent/geospec-authoring/SKILL.md +1 -0
- package/agent/geospec-authoring/api-index.md +5 -2
- package/agent/geospec-authoring/api-types-2.md +85 -0
- package/agent/geospec-authoring/api-types.md +2 -84
- package/agent/geospec-authoring/public-api-functions.md +44 -3
- package/agent/geospec-authoring/public-api-index.md +136 -97
- package/agent/geospec-authoring/public-api-types-2.md +108 -182
- package/agent/geospec-authoring/public-api-types-3.md +308 -28
- package/agent/geospec-authoring/public-api-types.md +1 -1
- package/agent/resources.js +12 -11
- package/agent/skills.json +3 -2
- package/dist/assertion-client/client.d.mts +3 -1
- package/dist/cli/cli.d.mts +48 -0
- package/dist/cli/cli.mjs +30 -0
- package/dist/cli/index.d.mts +3 -0
- package/dist/cli/index.mjs +1 -0
- package/dist/cli/main.d.mts +1 -0
- package/dist/cli/main.mjs +2 -0
- package/dist/cli/node-host.d.mts +26 -0
- package/dist/cli/node-host.mjs +1 -0
- package/dist/cli/wire-value.mjs +1 -0
- package/dist/config/define-config.d.mts +15 -0
- package/dist/config/define-config.mjs +2 -0
- package/dist/config/index.d.mts +4 -2
- package/dist/config/index.mjs +1 -1
- package/dist/config/node/load.d.mts +2 -1
- package/dist/config/node/load.mjs +1 -1
- package/dist/config/read-geospec-config.d.mts +47 -0
- package/dist/config/read-geospec-config.mjs +3 -0
- package/dist/config/types.d.mts +11 -22
- package/dist/config/validate.mjs +1 -1
- package/dist/engine/client.d.mts +3 -1
- package/dist/model/node/command-exporter.d.mts +2 -0
- package/dist/model/node/command-exporter.mjs +1 -1
- package/dist/runner/index.d.mts +1 -1
- package/dist/runner/native/index.mjs +1 -1
- package/dist/runner/native/native-serial-runner.mjs +1 -1
- package/dist/runner/node/engine.d.mts +40 -0
- package/dist/runner/node/engine.mjs +1 -0
- package/dist/runner/node/index.d.mts +4 -1
- package/dist/runner/node/index.mjs +1 -1
- package/dist/runner/node/node-vm-filesystem.mjs +1 -1
- package/dist/runner/node/pool-runner.d.mts +67 -0
- package/dist/runner/node/pool-runner.mjs +1 -0
- package/dist/runner/node/pool-worker-entry.d.mts +43 -0
- package/dist/runner/node/pool-worker-entry.mjs +1 -0
- package/dist/runner/pool/pool-messages.d.mts +2 -0
- package/dist/runner/pool/pool.d.mts +1 -1
- package/dist/runner/pool/pool.mjs +1 -1
- package/dist/runner/pool/worker-host.d.mts +1 -1
- package/dist/runner/run-geospec-module.mjs +7 -7
- package/dist/runner/types.d.mts +9 -6
- package/dist/runner/worker/index.d.mts +1 -1
- package/dist/runner/worker/serial-runner.mjs +1 -1
- package/package.json +18 -5
package/README.md
CHANGED
|
@@ -68,14 +68,47 @@ qualification, and filtered requirements remain outside the demonstrated scope.
|
|
|
68
68
|
|
|
69
69
|
### Runner configuration
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
The `geospec` bin runs a project's specs on the compiled engine from
|
|
72
|
+
[`geospec-engine`](https://github.com/taucad/geospec/tree/main/packages/geospec-engine):
|
|
73
|
+
the native addon when this platform has one, else its WASM build. Models that
|
|
74
|
+
are not STEP or GLB come from the `exporters` the project's `geospec.config.*`
|
|
75
|
+
declares, imported once in each pool worker; without one, such a load refuses
|
|
76
|
+
with `GEOSPEC_EXPORTER_MISSING`.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
geospec run .
|
|
80
|
+
geospec run . --include "parts/**/*.geospec.ts"
|
|
81
|
+
geospec run . --file main.geospec.ts --test-name-pattern volume
|
|
82
|
+
geospec run . --workers # worker pool, auto-sized
|
|
83
|
+
geospec run . --workers 4 --shard-timeout 600000
|
|
84
|
+
geospec run . --config ci.geospec.config.ts
|
|
85
|
+
geospec run . --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
| Flag | Meaning |
|
|
89
|
+
| --------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
90
|
+
| `--file <path>` | GeoSpec file or directory root; repeatable. Empty input discovers from the project root. |
|
|
91
|
+
| `--include <glob>` / `--exclude <glob>` | Vitest-style file globs; repeatable. Include defaults to `**/*.geospec.{ts,js}`. |
|
|
92
|
+
| `-t`, `--test-name-pattern <re>` | JavaScript regular expression matched against the full `suite > test` name. |
|
|
93
|
+
| `--test-timeout <ms>` | Timeout for each async test callback. |
|
|
94
|
+
| `--workers [n]` | Run in a worker pool. Default is one; omit the count after the flag to request available CPU parallelism. |
|
|
95
|
+
| `--shard-timeout <ms>` | Per-shard **non-verdict** watchdog. Off by default. |
|
|
96
|
+
| `--bail` | Stop after the first red file. Interactive use only — a reward run wants the complete red set. |
|
|
97
|
+
| `--config <path>` | The `geospec.config.*` to use instead of the one in the project root. |
|
|
98
|
+
| `--json` | Print exactly one JSON result document on stdout and nothing else. |
|
|
99
|
+
|
|
100
|
+
A flag replaces the config field of the same name. **The exit code is the
|
|
101
|
+
verdict.** `0` only when the run succeeded; any failure, any run-level issue,
|
|
102
|
+
and an empty selection are all `1`.
|
|
103
|
+
|
|
104
|
+
To embed the pool, use `createGeoSpecNodePoolRunner` from `geospec/runner/node`;
|
|
105
|
+
each worker owns one engine and its own exporters, and live subjects never
|
|
106
|
+
cross worker boundaries. To run serially in this process, pass an engine from
|
|
107
|
+
`createNodeGeoSpecEngine` to `createNativeGeoSpecRunner` from
|
|
108
|
+
`geospec/runner/native`; it builds the native model loader and releases every
|
|
109
|
+
admitted subject after each run. Other embeddings must qualify their actual
|
|
110
|
+
binding, input representation and supported domain; shared authoring syntax
|
|
111
|
+
alone does not establish verdict equivalence.
|
|
79
112
|
|
|
80
113
|
The filters below are the shared vocabulary of the CLI, the embedded runners
|
|
81
114
|
and the Tau `test_model` tool:
|
|
@@ -490,6 +490,7 @@ To read any other signature, find its name in `api-index.md`, which lists all 36
|
|
|
490
490
|
- `api-functions.md` — Functions
|
|
491
491
|
- `api-constants.md` — Constants
|
|
492
492
|
- `api-types.md` — Types
|
|
493
|
+
- `api-types-2.md` — Types (2)
|
|
493
494
|
- `api-classes.md` — Classes
|
|
494
495
|
|
|
495
496
|
Read ranges, not whole files. Never copy a reference into a source file.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# geospec API index
|
|
2
2
|
|
|
3
|
-
geospec 0.1.0-beta.
|
|
3
|
+
geospec 0.1.0-beta.9 · 368 symbols · extracted by TypeScript 5.9.3.
|
|
4
4
|
|
|
5
5
|
Every symbol appears here exactly once. The heading above each block names the file with its signature, and each top-level symbol names the lines of that file which hold its declaration and members: read only that range.
|
|
6
6
|
|
|
@@ -363,7 +363,10 @@ LoadModelOptions (type) [lines 1729-1754] [8 members] — Options accepted by {@
|
|
|
363
363
|
LoadModelOptions.meshLinearTolerance (property) — Linear tolerance used while meshing exact BRep evidence
|
|
364
364
|
LoadModelOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
|
|
365
365
|
LoadModelOptions.workUnitLimit (property) — Default work-unit budget for every claim on this subject
|
|
366
|
-
|
|
366
|
+
|
|
367
|
+
## Types (2) — `api-types-2.md`
|
|
368
|
+
|
|
369
|
+
LoadModelSourceOptions (type) [lines 5-85] [13 members] — Direct geometry-source model load options
|
|
367
370
|
LoadModelSourceOptions.source (property) — Geometry bytes, path, browser file/blob, or in-memory mesh buffer
|
|
368
371
|
LoadModelSourceOptions.resources (property) — Named external resources consumed alongside the direct geometry bytes
|
|
369
372
|
LoadModelSourceOptions.rootDir (property) — Project-relative folder a path `source` and each resource path resolve…
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# geospec — Types (2)
|
|
2
|
+
|
|
3
|
+
1 top-level symbols. Signatures are verbatim typescript.
|
|
4
|
+
|
|
5
|
+
// Direct geometry-source model load options
|
|
6
|
+
LoadModelSourceOptions: {
|
|
7
|
+
/** Geometry bytes, path, browser file/blob, or in-memory mesh buffer. */
|
|
8
|
+
source: MeshSource | StepSource;
|
|
9
|
+
/** Named external resources consumed alongside the direct geometry bytes. */
|
|
10
|
+
resources?: ReadonlyArray<{
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly source: MeshSource | StepSource;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Project-relative folder a path `source` and each resource path resolve in. Omitted, they resolve against the
|
|
16
|
+
* project root. Recorded in the load evidence.
|
|
17
|
+
*/
|
|
18
|
+
rootDir?: string;
|
|
19
|
+
/** Source geometry format. Defaults to `glb`. */
|
|
20
|
+
format?: GeoSpecModelFormat;
|
|
21
|
+
/** Source path recorded in provenance. */
|
|
22
|
+
path?: string;
|
|
23
|
+
/** Human-readable source name recorded in provenance. */
|
|
24
|
+
name?: string;
|
|
25
|
+
/** Coordinate unit of raw GLB/glTF or mesh-buffer data before canonical millimetre normalization. */
|
|
26
|
+
sourceUnit?: GeoSpecUnit;
|
|
27
|
+
/** Explicit parameters recorded in provenance. */
|
|
28
|
+
parameters?: Record<string, unknown>;
|
|
29
|
+
/** STEP reader strategy used for STEP sources. */
|
|
30
|
+
stepStreaming?: StepStreamingMode;
|
|
31
|
+
/** Whether STEP loading should also produce mesh evidence. Defaults to true. */
|
|
32
|
+
mesh?: boolean;
|
|
33
|
+
/** Linear tolerance used while meshing exact BRep evidence. */
|
|
34
|
+
meshLinearTolerance?: number;
|
|
35
|
+
/** Angular tolerance in degrees used while meshing exact BRep evidence. */
|
|
36
|
+
meshAngularToleranceDegrees?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Default work-unit budget for every claim on this subject: a positive integer no greater than
|
|
39
|
+
* the host's maximum (default `geoSpecMaximumWorkUnitLimit`, 512 000 000). `expectGeo(subject, { workUnitLimit })` overrides
|
|
40
|
+
* it per chain. Recorded in the load evidence; it never changes the exported or admitted bytes.
|
|
41
|
+
*/
|
|
42
|
+
workUnitLimit?: number;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Geometry bytes, path, browser file/blob, or in-memory mesh buffer
|
|
46
|
+
source: MeshSource | StepSource
|
|
47
|
+
|
|
48
|
+
// Named external resources consumed alongside the direct geometry bytes
|
|
49
|
+
resources?: ReadonlyArray<{
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly source: MeshSource | StepSource;
|
|
52
|
+
}>
|
|
53
|
+
|
|
54
|
+
// Project-relative folder a path `source` and each resource path resolve in
|
|
55
|
+
rootDir?: string
|
|
56
|
+
|
|
57
|
+
// Source geometry format
|
|
58
|
+
format?: GeoSpecModelFormat
|
|
59
|
+
|
|
60
|
+
// Source path recorded in provenance
|
|
61
|
+
path?: string
|
|
62
|
+
|
|
63
|
+
// Human-readable source name recorded in provenance
|
|
64
|
+
name?: string
|
|
65
|
+
|
|
66
|
+
// Coordinate unit of raw GLB/glTF or mesh-buffer data before canonical millimetre normalization
|
|
67
|
+
sourceUnit?: GeoSpecUnit
|
|
68
|
+
|
|
69
|
+
// Explicit parameters recorded in provenance
|
|
70
|
+
parameters?: Record<string, unknown>
|
|
71
|
+
|
|
72
|
+
// STEP reader strategy used for STEP sources
|
|
73
|
+
stepStreaming?: StepStreamingMode
|
|
74
|
+
|
|
75
|
+
// Whether STEP loading should also produce mesh evidence
|
|
76
|
+
mesh?: boolean
|
|
77
|
+
|
|
78
|
+
// Linear tolerance used while meshing exact BRep evidence
|
|
79
|
+
meshLinearTolerance?: number
|
|
80
|
+
|
|
81
|
+
// Angular tolerance in degrees used while meshing exact BRep evidence
|
|
82
|
+
meshAngularToleranceDegrees?: number
|
|
83
|
+
|
|
84
|
+
// Default work-unit budget for every claim on this subject
|
|
85
|
+
workUnitLimit?: number
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# geospec — Types
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
66 top-level symbols. Signatures are verbatim typescript.
|
|
4
4
|
|
|
5
5
|
// A model admitted by one live GeoSpec host scope
|
|
6
6
|
GeoSpecSubject: {
|
|
@@ -648,7 +648,7 @@ GeoSpecProductStructureExpectation: {
|
|
|
648
648
|
count?: GeoSpecNumericExpectation
|
|
649
649
|
|
|
650
650
|
// One spatial relationship accepted by `expectGeo(...).toHaveSpatialRelationships(...)`
|
|
651
|
-
// Remarks:
|
|
651
|
+
// Remarks: Each kind admits narrow geometry and refuses outside it, never falling back to an estimate (D3). On STEP, `clearance`, `contact`, `insertion` and `interference` take complete box-shaped occurrences (`insertion` also a Cartesian `axis`); `coaxial`, `concentric`, `coplanar`, `parallel`, `perpendicular` and `angle` take one analytic face, axis or plane per endpoint; `containment` takes closed solids. On glTF/GLB, `body` endpoints admit `contact`, `clearance`, `containment` and `interference` over closed shells. Shared volume for `interference` must lie in `[minVolume, maxVolume]`.
|
|
652
652
|
GeoSpecSpatialRelationshipExpectation: {
|
|
653
653
|
id?: string;
|
|
654
654
|
kind: 'contact' | 'clearance' | 'coaxial' | 'concentric' | 'coplanar' | 'parallel' | 'perpendicular' | 'angle' | 'containment' | 'insertion' | 'interference';
|
|
@@ -1752,85 +1752,3 @@ LoadModelOptions: LoadModelSourceOptions | LoadModelCodeOptions<Code> | LoadMode
|
|
|
1752
1752
|
|
|
1753
1753
|
// Default work-unit budget for every claim on this subject
|
|
1754
1754
|
workUnitLimit?: number
|
|
1755
|
-
|
|
1756
|
-
// Direct geometry-source model load options
|
|
1757
|
-
LoadModelSourceOptions: {
|
|
1758
|
-
/** Geometry bytes, path, browser file/blob, or in-memory mesh buffer. */
|
|
1759
|
-
source: MeshSource | StepSource;
|
|
1760
|
-
/** Named external resources consumed alongside the direct geometry bytes. */
|
|
1761
|
-
resources?: ReadonlyArray<{
|
|
1762
|
-
readonly name: string;
|
|
1763
|
-
readonly source: MeshSource | StepSource;
|
|
1764
|
-
}>;
|
|
1765
|
-
/**
|
|
1766
|
-
* Project-relative folder a path `source` and each resource path resolve in. Omitted, they resolve against the
|
|
1767
|
-
* project root. Recorded in the load evidence.
|
|
1768
|
-
*/
|
|
1769
|
-
rootDir?: string;
|
|
1770
|
-
/** Source geometry format. Defaults to `glb`. */
|
|
1771
|
-
format?: GeoSpecModelFormat;
|
|
1772
|
-
/** Source path recorded in provenance. */
|
|
1773
|
-
path?: string;
|
|
1774
|
-
/** Human-readable source name recorded in provenance. */
|
|
1775
|
-
name?: string;
|
|
1776
|
-
/** Coordinate unit of raw GLB/glTF or mesh-buffer data before canonical millimetre normalization. */
|
|
1777
|
-
sourceUnit?: GeoSpecUnit;
|
|
1778
|
-
/** Explicit parameters recorded in provenance. */
|
|
1779
|
-
parameters?: Record<string, unknown>;
|
|
1780
|
-
/** STEP reader strategy used for STEP sources. */
|
|
1781
|
-
stepStreaming?: StepStreamingMode;
|
|
1782
|
-
/** Whether STEP loading should also produce mesh evidence. Defaults to true. */
|
|
1783
|
-
mesh?: boolean;
|
|
1784
|
-
/** Linear tolerance used while meshing exact BRep evidence. */
|
|
1785
|
-
meshLinearTolerance?: number;
|
|
1786
|
-
/** Angular tolerance in degrees used while meshing exact BRep evidence. */
|
|
1787
|
-
meshAngularToleranceDegrees?: number;
|
|
1788
|
-
/**
|
|
1789
|
-
* Default work-unit budget for every claim on this subject: a positive integer no greater than
|
|
1790
|
-
* the host's maximum (default `geoSpecMaximumWorkUnitLimit`, 512 000 000). `expectGeo(subject, { workUnitLimit })` overrides
|
|
1791
|
-
* it per chain. Recorded in the load evidence; it never changes the exported or admitted bytes.
|
|
1792
|
-
*/
|
|
1793
|
-
workUnitLimit?: number;
|
|
1794
|
-
}
|
|
1795
|
-
|
|
1796
|
-
// Geometry bytes, path, browser file/blob, or in-memory mesh buffer
|
|
1797
|
-
source: MeshSource | StepSource
|
|
1798
|
-
|
|
1799
|
-
// Named external resources consumed alongside the direct geometry bytes
|
|
1800
|
-
resources?: ReadonlyArray<{
|
|
1801
|
-
readonly name: string;
|
|
1802
|
-
readonly source: MeshSource | StepSource;
|
|
1803
|
-
}>
|
|
1804
|
-
|
|
1805
|
-
// Project-relative folder a path `source` and each resource path resolve in
|
|
1806
|
-
rootDir?: string
|
|
1807
|
-
|
|
1808
|
-
// Source geometry format
|
|
1809
|
-
format?: GeoSpecModelFormat
|
|
1810
|
-
|
|
1811
|
-
// Source path recorded in provenance
|
|
1812
|
-
path?: string
|
|
1813
|
-
|
|
1814
|
-
// Human-readable source name recorded in provenance
|
|
1815
|
-
name?: string
|
|
1816
|
-
|
|
1817
|
-
// Coordinate unit of raw GLB/glTF or mesh-buffer data before canonical millimetre normalization
|
|
1818
|
-
sourceUnit?: GeoSpecUnit
|
|
1819
|
-
|
|
1820
|
-
// Explicit parameters recorded in provenance
|
|
1821
|
-
parameters?: Record<string, unknown>
|
|
1822
|
-
|
|
1823
|
-
// STEP reader strategy used for STEP sources
|
|
1824
|
-
stepStreaming?: StepStreamingMode
|
|
1825
|
-
|
|
1826
|
-
// Whether STEP loading should also produce mesh evidence
|
|
1827
|
-
mesh?: boolean
|
|
1828
|
-
|
|
1829
|
-
// Linear tolerance used while meshing exact BRep evidence
|
|
1830
|
-
meshLinearTolerance?: number
|
|
1831
|
-
|
|
1832
|
-
// Angular tolerance in degrees used while meshing exact BRep evidence
|
|
1833
|
-
meshAngularToleranceDegrees?: number
|
|
1834
|
-
|
|
1835
|
-
// Default work-unit budget for every claim on this subject
|
|
1836
|
-
workUnitLimit?: number
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# geospec — Functions
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
46 top-level symbols. Signatures are verbatim typescript.
|
|
4
4
|
|
|
5
5
|
// GeoSpec suite helper used inside VM-executed test modules
|
|
6
6
|
// describe (function)
|
|
@@ -160,6 +160,24 @@ export declare function resolveUnderRoot(root: string, path: string): string;
|
|
|
160
160
|
// root: The project root
|
|
161
161
|
// path: A canonical path rooted by the supplied project capability
|
|
162
162
|
|
|
163
|
+
// Create a GeoSpec engine for this process
|
|
164
|
+
// Throws: Error when the native addon is installed but cannot load, or the permits are invalid.
|
|
165
|
+
// createNodeGeoSpecEngine (function)
|
|
166
|
+
export declare function createNodeGeoSpecEngine(options?: CreateNodeGeoSpecEngineOptions): Promise<NodeGeoSpecEngine>;
|
|
167
|
+
// options: CPU permits for the native addon
|
|
168
|
+
|
|
169
|
+
// Create a pool with one engine and one set of exporters constructed inside each worker
|
|
170
|
+
// Remarks: Workers are threads of this process and share one OCCT library instance and pool width, so inner parallelism is all-or-nothing: either several workers with one permit each, or one worker holding the whole budget. A budget above the worker count with more than one worker is refused before any worker starts rather than silently run serial.
|
|
171
|
+
// Throws: RangeError When the budget is invalid, exceeds the host cap, or gives any of several in-process workers more than one permit.
|
|
172
|
+
// createGeoSpecNodePoolRunner (function)
|
|
173
|
+
export declare function createGeoSpecNodePoolRunner(options: GeoSpecNodePoolOptions): GeoSpecRunner;
|
|
174
|
+
// options: Project, config, exporter modules, outer workers and caller-inclusive CPU budget
|
|
175
|
+
|
|
176
|
+
// Adapt a Node worker thread to the pool's host-agnostic handle
|
|
177
|
+
// createNodeWorkerHandle (function)
|
|
178
|
+
export declare function createNodeWorkerHandle(worker: NodeWorkerLike): GeoSpecPoolWorkerHandle;
|
|
179
|
+
// worker: The spawned worker
|
|
180
|
+
|
|
163
181
|
// Create a run-level issue when filters select no tests
|
|
164
182
|
// createNoMatchingGeoSpecTestsIssue (function)
|
|
165
183
|
export declare function createNoMatchingGeoSpecTestsIssue(): VmIssue;
|
|
@@ -189,7 +207,7 @@ export declare function createGeoSpecMatcherMethods<Result>(options: {
|
|
|
189
207
|
// options: Subject, polarity and host invocation function
|
|
190
208
|
|
|
191
209
|
// Submit an ancillary query with positive polarity through the native core
|
|
192
|
-
// Remarks:
|
|
210
|
+
// Remarks: A query asserts nothing, so it never fails: when the evidence it reads is missing or cannot decide it returns a full refused report whose diagnostic names the reason, such as `GEOSPEC_UNSUPPORTED_EVIDENCE`. Protocol errors propagate unchanged. Rust owns defaults, validation and canonical encoding.
|
|
193
211
|
// evaluateGeoSpecNativeQuery (function)
|
|
194
212
|
export declare function evaluateGeoSpecNativeQuery(options: GeoSpecNativeQueryOptions): GeoSpecCanonicalClaimReport;
|
|
195
213
|
// options: Query identity, subject and authored payload
|
|
@@ -200,6 +218,17 @@ export declare function evaluateGeoSpecNativeQuery(options: GeoSpecNativeQueryOp
|
|
|
200
218
|
export declare function resolveGeoSpecMaximumWorkUnitLimit(maximum?: number): number;
|
|
201
219
|
// maximum: The host's configured maximum, when it sets one
|
|
202
220
|
|
|
221
|
+
// Run the CLI
|
|
222
|
+
// runGeoSpecCli (function)
|
|
223
|
+
export declare function runGeoSpecCli(argv: readonly string[], host: GeoSpecCliHost): Promise<number>;
|
|
224
|
+
// argv: Arguments after the executable and script
|
|
225
|
+
// host: The injected platform
|
|
226
|
+
|
|
227
|
+
// Build the Node CLI host
|
|
228
|
+
// createNodeGeoSpecCliHost (function)
|
|
229
|
+
export declare function createNodeGeoSpecCliHost(options?: NodeGeoSpecCliHostOptions): GeoSpecCliHost;
|
|
230
|
+
// options: Report sink and host-supplied exporter modules
|
|
231
|
+
|
|
203
232
|
// Create Vitest matchers over an existing runner-independent client
|
|
204
233
|
// createGeoSpecVitestAdapter (function)
|
|
205
234
|
export declare function createGeoSpecVitestAdapter(client: GeoSpecAssertionClient): GeoSpecVitestAdapter;
|
|
@@ -215,8 +244,20 @@ export declare function installGeoSpecVitest(client: GeoSpecAssertionClient): Ge
|
|
|
215
244
|
export declare function setupGeoSpecVitest(options: GeoSpecAssertionClientOptions): GeoSpecVitestAdapter;
|
|
216
245
|
// options: Flat native assertion-client options
|
|
217
246
|
|
|
247
|
+
// Type a `geospec.config.*` default export
|
|
248
|
+
// Remarks: An identity at runtime. The parameter is not generic, so an object literal gets the excess-property and contextual checks `satisfies GeoSpecConfig` gives, in `.ts` and `.js` alike.
|
|
249
|
+
// defineConfig (function)
|
|
250
|
+
export declare function defineConfig(config: GeoSpecConfig): GeoSpecConfig;
|
|
251
|
+
// config: The project configuration
|
|
252
|
+
|
|
253
|
+
// Read a project's `geospec.config.*` data fields through the spec VM, the same way on every host
|
|
254
|
+
// Remarks: Discovery is `loadGeoSpecConfig`'s: exactly one of `geospec.config.{ts,mts,js,mjs}`. The config may import `geospec/config` (for `defineConfig`) and project files, nothing from `node_modules`: imports are detected first, without a network call, so a config with exporters is `not-applied` rather than fetched. `exporters` are never returned; a host that reads the config holds its own.
|
|
255
|
+
// readGeoSpecConfig (function)
|
|
256
|
+
export declare function readGeoSpecConfig(options: ReadGeoSpecConfigOptions): Promise<ReadGeoSpecConfigResult>;
|
|
257
|
+
// options: The project filesystem and the rooted project directory
|
|
258
|
+
|
|
218
259
|
// Load one trusted project config using Node's native module loader
|
|
219
|
-
// Remarks: Explicit selection or exactly one geospec.config.js/.mjs/.ts/.mts is allowed. TypeScript must use erasable syntax; JSON imports use standard attributes. Executable config/imports are trusted developer code, not sandboxed code. Node's same-process module cache is unchanged: load once per run and use a fresh process when fresh executable imports are required. No reload guarantee or transitive-source identity is supplied here.
|
|
260
|
+
// Remarks: Explicit selection or exactly one geospec.config.js/.mjs/.ts/.mts is allowed. A config's `geospec/config` import resolves to this copy when the project has no install of its own. TypeScript must use erasable syntax; JSON imports use standard attributes. Executable config/imports are trusted developer code, not sandboxed code. Node's same-process module cache is unchanged: load once per run and use a fresh process when fresh executable imports are required. No reload guarantee or transitive-source identity is supplied here.
|
|
220
261
|
// loadGeoSpecConfig (function)
|
|
221
262
|
export declare function loadGeoSpecConfig(options: LoadGeoSpecConfigOptions): Promise<LoadedGeoSpecConfig>;
|
|
222
263
|
// options: Project, optional explicit config and defined option overrides
|