mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 03:14:00 +00:00
chore: register provenance dependency closure and format regression tests
This commit is contained in:
1 parent
1e8f919cf3
commit
c96a250253
4 files changed
+26
-9
No files matched your search
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Voice and HUD snapshots reuse the existing feedState classifier. Analyst follow-ups retain their original data provenance; current-view results append provenance without replacing legacy fields. HUD context and deterministic telemetry include non-nominal feed state.
|
Voice and HUD snapshots reuse the existing feedState classifier. Analyst follow-ups retain their original data provenance; current-view results append provenance without replacing legacy fields. HUD context and deterministic telemetry include non-nominal feed state.
|
||||||
|
|
||||||
Satellite and local infrastructure layers expose on-demand analyst records through their current factory owners. Analyst counts and ranks explicitly cover only bounded examined loaded records; omitted records can change nearest/count and satellite distance is ground distance. Existing tools and result fields remain available.
|
Satellite and local infrastructure layers expose on-demand analyst records through their current factory owners. Analyst counts and ranks explicitly cover only bounded examined loaded records (default 2,000 per new layer, core satellite rows before dense extras); omitted records can change nearest/count and satellite distance is ground distance. Existing tools and result fields remain available.
|
||||||
|
|
||||||
Place search accepts an explicit Nominatim provider with independently configured search and reverse endpoints. The default offline/Google/Photon/local-fallback order is unchanged when no provider is selected. Provider adapters share normalized coordinates, viewport framing and reverse labels; roads and boundary geometry remain separate services. Portable capped-response and Overpass lexical helpers are exported independently of the Node server.
|
Place search accepts an explicit Nominatim provider with independently configured search and reverse endpoints. The default offline/Google/Photon/local-fallback order is unchanged when no provider is selected. Provider adapters share normalized coordinates, viewport framing and reverse labels; roads and boundary geometry remain separate services. Portable capped-response and Overpass lexical helpers are exported independently of the Node server.
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ Source factories have dedicated `layers/<family>/source` exports. ALPR and earth
|
|||||||
|
|
||||||
Voice controls bind to a protocol-independent session factory. The default WebRTC adapter preserves the existing Realtime connection, push-to-talk, cost controls and radio handoff. Session subscriptions expose state, transcript, action call/result, interruption and completion events; stopping or replacing a session cancels pending actions. Alternate adapters can use the same controls and action runner.
|
Voice controls bind to a protocol-independent session factory. The default WebRTC adapter preserves the existing Realtime connection, push-to-talk, cost controls and radio handoff. Session subscriptions expose state, transcript, action call/result, interruption and completion events; stopping or replacing a session cancels pending actions. Alternate adapters can use the same controls and action runner.
|
||||||
|
|
||||||
Voice action argument schemas have one portable owner under `src/voice/actionSchemas.js`. The Realtime provider builds the same 28 tools using separate description-only metadata. Description customization cannot replace argument types, enum values or required fields.
|
Voice action argument schemas have one portable owner under `src/voice/actionSchemas.js`. The Realtime provider builds 29 tools, retaining the existing 28 names and argument contracts apart from the three additive analyst-layer enum values using separate description-only metadata. Description customization cannot replace argument types, enum values or required fields.
|
||||||
|
|
||||||
Portable source exports provide Radio Browser station normalization, CCTV feed types and regional records independently of HTTP middleware. Radio normalization accepts an explicit URL policy; the standalone directory retains its existing HTTPS rules. Tile coordinate validation accepts explicit zoom bounds with unchanged traffic defaults. Cache, request and rendering owners remain unchanged.
|
Portable source exports provide Radio Browser station normalization, CCTV feed types and regional records independently of HTTP middleware. Radio normalization accepts an explicit URL policy; the standalone directory retains its existing HTTPS rules. Tile coordinate validation accepts explicit zoom bounds with unchanged traffic defaults. Cache, request and rendering owners remain unchanged.
|
||||||
|
|
||||||
|
|||||||
@@ -264,6 +264,10 @@
|
|||||||
"server/providers/openai/realtime.js",
|
"server/providers/openai/realtime.js",
|
||||||
"server/providers/openai/tools.js",
|
"server/providers/openai/tools.js",
|
||||||
"src/hudSummaryResponse.js",
|
"src/hudSummaryResponse.js",
|
||||||
|
"src/data/layerSnapshot.js",
|
||||||
|
"src/data/feedState.js",
|
||||||
|
"src/loadingFeedback.js",
|
||||||
|
"src/data/installationFeedback.js",
|
||||||
"src/voice/voiceCost.js",
|
"src/voice/voiceCost.js",
|
||||||
"src/voice/actionSchemas.js",
|
"src/voice/actionSchemas.js",
|
||||||
"server/providers/openai/toolDescriptions.js"
|
"server/providers/openai/toolDescriptions.js"
|
||||||
|
|||||||
@@ -136,8 +136,14 @@ test('satellite pass prediction methods report no-tle on cold catalog and coerce
|
|||||||
assert.equal(issResult.status, 'ok');
|
assert.equal(issResult.status, 'ok');
|
||||||
assert.deepEqual(issResult, numericResult);
|
assert.deepEqual(issResult, numericResult);
|
||||||
|
|
||||||
layer._setTrackedSatelliteRefreshStateForTest({ noradId: 25544, name: 'ISS (ZARYA)', satrec,
|
layer._setTrackedSatelliteRefreshStateForTest({
|
||||||
neighbours: [{ noradId: 10, name: 'STARLINK ONE', satrec }, { noradId: 11, name: 'STARLINK TWO', satrec }],
|
noradId: 25544,
|
||||||
|
name: 'ISS (ZARYA)',
|
||||||
|
satrec,
|
||||||
|
neighbours: [
|
||||||
|
{ noradId: 10, name: 'STARLINK ONE', satrec },
|
||||||
|
{ noradId: 11, name: 'STARLINK TWO', satrec },
|
||||||
|
],
|
||||||
});
|
});
|
||||||
assert.equal(layer.resolveSatelliteForPass('25544').noradId, 25544);
|
assert.equal(layer.resolveSatelliteForPass('25544').noradId, 25544);
|
||||||
assert.equal(layer.resolveSatelliteForPass('iss (zarya)').noradId, 25544);
|
assert.equal(layer.resolveSatelliteForPass('iss (zarya)').noradId, 25544);
|
||||||
|
|||||||
@@ -77,11 +77,18 @@ test('metadata cannot add tools, fields, types or enum values', () => {
|
|||||||
assert.throws(() => createActionTools(descriptions), TypeError);
|
assert.throws(() => createActionTools(descriptions), TypeError);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
test('all legacy action arguments are byte-identical after removing the deliberate additions', () => {
|
test('all legacy action arguments are byte-identical after removing the deliberate additions', () => {
|
||||||
const legacy = structuredClone(GEV_ACTION_SCHEMAS).filter((tool) => tool.name !== 'next_satellite_pass');
|
const legacy = structuredClone(GEV_ACTION_SCHEMAS).filter(
|
||||||
const layers = legacy.find((tool) => tool.name === 'analyst_query').parameters.properties.layers.items;
|
(tool) => tool.name !== 'next_satellite_pass',
|
||||||
layers.enum = layers.enum.filter((key) => !['satellites', 'local-datacenters', 'local-dams'].includes(key));
|
);
|
||||||
|
const layers = legacy.find((tool) => tool.name === 'analyst_query').parameters
|
||||||
|
.properties.layers.items;
|
||||||
|
layers.enum = layers.enum.filter(
|
||||||
|
(key) => !['satellites', 'local-datacenters', 'local-dams'].includes(key),
|
||||||
|
);
|
||||||
// Independently derived by executing trusted c9f9896 actionSchemas in the restricted container.
|
// Independently derived by executing trusted c9f9896 actionSchemas in the restricted container.
|
||||||
assert.equal(createHash('sha256').update(JSON.stringify(legacy)).digest('hex'), '820fff21658f6907e1010b2b79c5431a77f4e34afd2277d62d8de46c368b6f8c');
|
assert.equal(
|
||||||
|
createHash('sha256').update(JSON.stringify(legacy)).digest('hex'),
|
||||||
|
'820fff21658f6907e1010b2b79c5431a77f4e34afd2277d62d8de46c368b6f8c',
|
||||||
|
);
|
||||||
});
|
});
|
||||||
Reference in new issue
Block a user