mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 11:24:00 +00:00
Merge feat/voice-geometry onto main
Both stack parents (#837, #842) are on main, so the voice geometry branch now builds on main directly. Conflict resolutions keep main's behaviour and add the geometry work on top: osm_query gating on every provider, restored admin identity for Nominatim outlines, merged analyst follow-up memory, and the cancelled Globe View reset instruction ahead of the generic cancellation.
This commit is contained in:
commit
ecaddd838b
102 files changed
+12925
-1006
No files matched your search
@@ -1,4 +1,8 @@
|
||||
import { HUD_LAYOUTS } from '../hudLayoutPolicy.js';
|
||||
import {
|
||||
AREA_CANDIDATE_ID_PATTERN,
|
||||
MAX_AREA_CANDIDATE_ID_LENGTH,
|
||||
} from './areaCandidateContract.js';
|
||||
|
||||
// Canonical action arguments. Descriptive wording is supplied separately.
|
||||
import {
|
||||
@@ -788,11 +792,28 @@ const schemas = [
|
||||
properties: {
|
||||
kind: {
|
||||
type: 'string',
|
||||
enum: ['view', 'region', 'radius', 'anywhere', 'pointer'],
|
||||
enum: [
|
||||
'view',
|
||||
'region',
|
||||
'radius',
|
||||
'anywhere',
|
||||
'pointer',
|
||||
'area',
|
||||
'drawn',
|
||||
'annotation',
|
||||
],
|
||||
},
|
||||
name: {
|
||||
type: 'string',
|
||||
},
|
||||
areaId: {
|
||||
type: 'string',
|
||||
maxLength: 120,
|
||||
},
|
||||
id: {
|
||||
type: 'string',
|
||||
maxLength: 60,
|
||||
},
|
||||
km: {
|
||||
type: 'number',
|
||||
},
|
||||
@@ -849,6 +870,75 @@ const schemas = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'resolve_area',
|
||||
parameters: {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
properties: {
|
||||
query: { type: 'string', minLength: 1, maxLength: 200 },
|
||||
level: {
|
||||
type: 'string',
|
||||
enum: [
|
||||
'country',
|
||||
'admin1',
|
||||
'admin2',
|
||||
'city',
|
||||
'district',
|
||||
'natural',
|
||||
'site',
|
||||
],
|
||||
},
|
||||
within: { type: 'string', maxLength: 120 },
|
||||
candidateId: {
|
||||
type: 'string',
|
||||
minLength: 1,
|
||||
maxLength: MAX_AREA_CANDIDATE_ID_LENGTH,
|
||||
pattern: AREA_CANDIDATE_ID_PATTERN,
|
||||
},
|
||||
draw: { type: 'boolean' },
|
||||
around: { type: 'boolean' },
|
||||
radiusM: { type: 'number', minimum: 50, maximum: 20000 },
|
||||
flyTo: { type: 'boolean' },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'find_imagery',
|
||||
parameters: {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
properties: {
|
||||
areaId: { type: 'string', maxLength: 120 },
|
||||
area: { type: 'string', enum: ['view', 'pointer'] },
|
||||
dateRange: {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
properties: {
|
||||
from: { type: 'string', maxLength: 30 },
|
||||
to: { type: 'string', maxLength: 30 },
|
||||
days: { type: 'number', minimum: 1, maximum: 30 },
|
||||
},
|
||||
},
|
||||
maxCloudPct: { type: 'number', minimum: 0, maximum: 100 },
|
||||
source: { type: 'string', enum: ['hls', 'viirs', 'any'] },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'osm_query',
|
||||
parameters: {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
required: ['what'],
|
||||
properties: {
|
||||
what: { type: 'string', minLength: 1, maxLength: 80 },
|
||||
areaId: { type: 'string', maxLength: 120 },
|
||||
countOnly: { type: 'boolean' },
|
||||
limit: { type: 'number', minimum: 1, maximum: 1000 },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'next_iss_pass',
|
||||
parameters: {
|
||||
|
||||
Reference in new issue
Block a user