@geolens/sdk 1.18.1 → 1.19.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.
@@ -96,7 +96,7 @@ export declare const bulkRevokeAdminEmbedTokensBulkRevokePost: <ThrowOnError ext
96
96
  /**
97
97
  * Get Embedding Stats
98
98
  *
99
- * Return semantic-search embedding coverage statistics (admin only).
99
+ * Return embedding coverage and the state of the backfill runs (admin only).
100
100
  */
101
101
  export declare const getEmbeddingStatsAdminEmbeddingStatsGet: <ThrowOnError extends boolean = false>(options?: Options<GetEmbeddingStatsAdminEmbeddingStatsGetData, ThrowOnError>) => RequestResult<GetEmbeddingStatsAdminEmbeddingStatsGetResponses, GetEmbeddingStatsAdminEmbeddingStatsGetErrors, ThrowOnError>;
102
102
  /**
@@ -232,7 +232,7 @@ export declare const resetUserPasswordAdminUsersUserIdResetPasswordPost: <ThrowO
232
232
  /**
233
233
  * Ai Availability Endpoint
234
234
  *
235
- * Report whether builder AI chat is usable (builder-audit #338 P1-11).
235
+ * Report whether builder AI chat is usable (#338).
236
236
  *
237
237
  * Permission-gated on ``use_ai_chat`` so non-admin editors (who cannot read
238
238
  * ``/admin/ai-status``) can learn availability. Returns ``available=false``
@@ -306,14 +306,14 @@ export declare const generateMetadataSummaryAiMetadataSummaryPost: <ThrowOnError
306
306
  *
307
307
  * Return the column-DDL audit history for a dataset.
308
308
  *
309
- * SEC-FU-08: Surfaces the column-DDL events written by SEC-S03 (Phase 1061)
310
- * to dataset owners so they can detect editor-initiated schema changes.
309
+ * Surfaces the column-DDL events to dataset owners so they can detect
310
+ * editor-initiated schema changes.
311
311
  *
312
312
  * Access control (AGENTS.md Pre-Commit Checklist Rule 1):
313
313
  * - Owner: 200 with their own dataset's DDL history
314
314
  * - Admin: 200 (admin access is always allowed)
315
315
  * - Anyone else — including authenticated readers of a PUBLIC dataset: 404
316
- * via check_dataset_write_access. fix(#458 E-37): the feed previously used
316
+ * via check_dataset_write_access. fix(#458): the feed previously used
317
317
  * check_dataset_access (read visibility), which let any logged-in user
318
318
  * enumerate editor usernames/user_ids on public datasets, contradicting
319
319
  * this owner-facing contract.
@@ -360,7 +360,7 @@ export declare const configAuthConfigGet: <ThrowOnError extends boolean = false>
360
360
  *
361
361
  * Mint a short-lived download-scoped JWT for a single dataset.
362
362
  *
363
- * IA-P0-01 / SEC-04: the existing COG download URL path requires a
363
+ * The COG download URL path requires a
364
364
  * ``typ='download'`` JWT on the ``?token=`` query parameter — session JWTs
365
365
  * are rejected. This endpoint issues that token after verifying the caller
366
366
  * has read access to the dataset.
@@ -385,7 +385,7 @@ export declare const loginAuthLoginPost: <ThrowOnError extends boolean = false>(
385
385
  *
386
386
  * Revoke all refresh tokens and bump token_version for the current user.
387
387
  *
388
- * SEC-S15 (Phase 1062-01): revoke_all_tokens bumps User.token_version so the
388
+ * revoke_all_tokens bumps User.token_version so the
389
389
  * access JWT used for this logout call (and any other outstanding access JWTs)
390
390
  * are rejected on the next authenticated request — closing the
391
391
  * "logout doesn't invalidate the access JWT" gap.
@@ -431,7 +431,7 @@ export declare const listPublicProvidersAuthOauthProvidersGet: <ThrowOnError ext
431
431
  *
432
432
  * Handle IdP callback: exchange code, find/create user, issue JWT, redirect to frontend.
433
433
  *
434
- * Phase 268 H-27: the frontend redirect carries access tokens in the URL
434
+ * The frontend redirect carries access tokens in the URL
435
435
  * fragment. Without explicit-config resolution, an attacker controlling
436
436
  * ``X-Forwarded-Host`` could steer the post-callback redirect to
437
437
  * attacker.com and capture the tokens. Force explicit-config resolution
@@ -443,7 +443,7 @@ export declare const oauthCallbackAuthOauthProviderSlugCallbackGet: <ThrowOnErro
443
443
  *
444
444
  * Redirect user to the IdP authorization URL with PKCE parameters.
445
445
  *
446
- * Phase 268 H-27: the redirect_uri is handed to the IdP, where an
446
+ * The redirect_uri is handed to the IdP, where an
447
447
  * attacker-controlled origin (via ``X-Forwarded-Host``) would otherwise
448
448
  * enable auth-code theft. We force explicit-config resolution by
449
449
  * passing ``for_external_use=True``; falling back to the request-origin
@@ -480,7 +480,7 @@ export declare const registerAuthRegisterPost: <ThrowOnError extends boolean = f
480
480
  *
481
481
  * Re-issue and re-send a verification email.
482
482
  *
483
- * SIGNUP-05 / T-1231-05 (enumeration-safe): ALWAYS returns the same 200 body
483
+ * Enumeration-safe: ALWAYS returns the same 200 body
484
484
  * regardless of whether the email exists, is unknown, or is already verified.
485
485
  * Send errors are logged server-side only and never branch the HTTP response.
486
486
  */
@@ -490,12 +490,12 @@ export declare const resendVerificationAuthResendVerificationPost: <ThrowOnError
490
490
  *
491
491
  * Redeem a verification token to activate the account.
492
492
  *
493
- * SIGNUP-03: a valid single-use expiring token flips email_verified=True,
493
+ * A valid single-use expiring token flips email_verified=True,
494
494
  * is_active=True, and status="active" so the user can log in via the
495
495
  * existing auth gate in dependencies.py.
496
496
  *
497
497
  * Expired, unknown, and already-consumed tokens all return the same
498
- * "Invalid or expired" error (enumeration-safe, SIGNUP-05 / T-1231-06).
498
+ * "Invalid or expired" error (enumeration-safe).
499
499
  */
500
500
  export declare const verifyEmailAuthVerifyEmailPost: <ThrowOnError extends boolean = false>(options: Options<VerifyEmailAuthVerifyEmailPostData, ThrowOnError>) => RequestResult<VerifyEmailAuthVerifyEmailPostResponses, VerifyEmailAuthVerifyEmailPostErrors, ThrowOnError>;
501
501
  /**
@@ -637,7 +637,7 @@ export declare const dryRunConfigurationConfigOpsDryRunPost: <ThrowOnError exten
637
637
  * Returns a downloadable JSON payload with Content-Disposition header. This is a
638
638
  * file-download endpoint — the previous ``response_model=ConfigExportResponse``
639
639
  * was silently ignored because the handler returns a raw JSONResponse with custom
640
- * headers (TYPE-N3). Using ``response_class=JSONResponse`` is the correct way to
640
+ * headers. Using ``response_class=JSONResponse`` is the correct way to
641
641
  * document a download endpoint in OpenAPI.
642
642
  */
643
643
  export declare const exportConfigurationConfigOpsExportGet: <ThrowOnError extends boolean = false>(options?: Options<ExportConfigurationConfigOpsExportGetData, ThrowOnError>) => RequestResult<ExportConfigurationConfigOpsExportGetResponses, ExportConfigurationConfigOpsExportGetErrors, ThrowOnError>;
@@ -835,7 +835,7 @@ export declare const validateDcat3RecordDatasetsDatasetIdDcatValidationGet: <Thr
835
835
  * S3 storage: returns a 302 redirect to a presigned GET URL (1-hour expiry).
836
836
  * Accepts standard auth or ?token= JWT query parameter for browser downloads.
837
837
  *
838
- * KNOWN-01 (Phase 1071): ``user`` may be None when a no-sub anonymous
838
+ * ``user`` may be None when a no-sub anonymous
839
839
  * download token (issued by POST /auth/download-token/{id} for a public
840
840
  * dataset) is presented on ``?token=``. The function branches on
841
841
  * user-None to enforce public visibility and emit the audit row with
@@ -859,7 +859,7 @@ export declare const exportDatasetEndpointDatasetsDatasetIdExportGet: <ThrowOnEr
859
859
  * Return up to 5,000 features as RFC 7946 GeoJSON with Z coordinates.
860
860
  *
861
861
  * fix(#394) codex P2: the viewer's bounded-GeoJSON path (small 3D layers,
862
- * eligible cluster layers) already sends ``X-Embed-Token``, and the B-023
862
+ * eligible cluster layers) already sends ``X-Embed-Token``, and the
863
863
  * shared-map union now exposes embed-scoped private layers to embeds — so
864
864
  * this endpoint accepts the token as fallback authorization via the SAME
865
865
  * ``validate_embed_token_access`` capability check as tile serving.
@@ -882,7 +882,7 @@ export declare const getFeaturesGeojsonZEndpointDatasetsDatasetIdFeaturesGeojson
882
882
  *
883
883
  * Get paginated GeoJSON features for a dataset.
884
884
  *
885
- * Pagination is OFFSET-based (fix(#458 E-40), documented limitation): rows can
885
+ * Pagination is OFFSET-based (fix(#458), documented limitation): rows can
886
886
  * skip or duplicate across pages under concurrent writes, though feature ids
887
887
  * stay stable (ORDER BY gid, the primary key). Clients that need stable
888
888
  * cursoring should use the OGC API Features endpoint, which supports keyset
@@ -1019,7 +1019,7 @@ export declare const listRelatedDatasetsDatasetsDatasetIdRelatedGet: <ThrowOnErr
1019
1019
  * Paginated via ``skip`` and ``limit`` to bound response size for datasets
1020
1020
  * with large numbers of auto-detected relationships. Returns the standard
1021
1021
  * list envelope (``relationships`` + ``total``) so callers can detect whether
1022
- * more pages exist (GAP-033); ``total`` counts the visible relationships before
1022
+ * more pages exist; ``total`` counts the visible relationships before
1023
1023
  * pagination.
1024
1024
  */
1025
1025
  export declare const listDatasetRelationshipsDatasetsDatasetIdRelationshipsGet: <ThrowOnError extends boolean = false>(options: Options<ListDatasetRelationshipsDatasetsDatasetIdRelationshipsGetData, ThrowOnError>) => RequestResult<ListDatasetRelationshipsDatasetsDatasetIdRelationshipsGetResponses, ListDatasetRelationshipsDatasetsDatasetIdRelationshipsGetErrors, ThrowOnError>;
@@ -1244,7 +1244,7 @@ export declare const registerTableIngestRegisterPost: <ThrowOnError extends bool
1244
1244
  * Each table is registered independently -- one failure does not block
1245
1245
  * others. Tables are processed in parallel via ``asyncio.gather`` with
1246
1246
  * a fresh session per task, which keeps transaction isolation while
1247
- * removing the sequential per-table latency (PERF-3).
1247
+ * removing the sequential per-table latency.
1248
1248
  */
1249
1249
  export declare const bulkRegisterTablesIngestRegisterBulkPost: <ThrowOnError extends boolean = false>(options: Options<BulkRegisterTablesIngestRegisterBulkPostData, ThrowOnError>) => RequestResult<BulkRegisterTablesIngestRegisterBulkPostResponses, BulkRegisterTablesIngestRegisterBulkPostErrors, ThrowOnError>;
1250
1250
  /**
@@ -1277,16 +1277,23 @@ export declare const completePresignedUploadIngestUploadPresignedJobIdCompletePo
1277
1277
  /**
1278
1278
  * Upload From Url
1279
1279
  *
1280
- * Import a geospatial file from an HTTP(S) URL for staging.
1280
+ * Start importing a geospatial file from an HTTP(S) URL.
1281
1281
  *
1282
1282
  * feat(#1705): the URL variant of ``POST /ingest/upload`` — NOT a new
1283
1283
  * source type. The server fetches the file itself and the staged bytes
1284
- * enter the normal pipeline unchanged (preview commit). Rule 2 posture:
1285
- * ``validate_url_for_ssrf`` gates the URL at submission, the download runs
1286
- * through ``make_safe_client()`` (connect-time IP pinning plus per-hop
1287
- * redirect revalidation), the size cap is enforced while streaming, the
1288
- * staged file passes the same extension allowlist and content sniff as a
1289
- * direct upload, and GDAL only ever sees the staged local file.
1284
+ * enter the normal pipeline unchanged (preview then commit).
1285
+ *
1286
+ * feat(#1710): the download is a background job. This call validates the
1287
+ * URL and returns a job id immediately; poll ``GET /jobs/{job_id}`` and
1288
+ * preview once the job reaches ``pending``. While the file is downloading
1289
+ * the job reports status ``running`` with step ``downloading``.
1290
+ *
1291
+ * Rule 2 posture: ``validate_url_for_ssrf`` gates the URL here, the worker
1292
+ * downloads through ``make_safe_client()`` (connect-time IP pinning plus
1293
+ * per-hop redirect revalidation), the size cap is enforced while
1294
+ * streaming, the staged file passes the same extension allowlist and
1295
+ * content sniff as a direct upload, and GDAL only ever sees the staged
1296
+ * local file.
1290
1297
  */
1291
1298
  export declare const uploadFromUrlIngestUploadUrlPost: <ThrowOnError extends boolean = false>(options: Options<UploadFromUrlIngestUploadUrlPostData, ThrowOnError>) => RequestResult<UploadFromUrlIngestUploadUrlPostResponses, UploadFromUrlIngestUploadUrlPostErrors, ThrowOnError>;
1292
1299
  /**
@@ -1306,7 +1313,7 @@ export declare const createVrtIngestVrtCreatePost: <ThrowOnError extends boolean
1306
1313
  *
1307
1314
  * Validates the new source against existing sources synchronously.
1308
1315
  * Returns 202 Accepted with a job_id for polling.
1309
- * Returns 409 if the VRT is currently regenerating (SRC-05) or source already linked.
1316
+ * Returns 409 if the VRT is currently regenerating or the source is already linked.
1310
1317
  * Returns 422 if the source is incompatible with existing sources.
1311
1318
  */
1312
1319
  export declare const addVrtSourceIngestVrtDatasetIdSourcesPost: <ThrowOnError extends boolean = false>(options: Options<AddVrtSourceIngestVrtDatasetIdSourcesPostData, ThrowOnError>) => RequestResult<AddVrtSourceIngestVrtDatasetIdSourcesPostResponses, AddVrtSourceIngestVrtDatasetIdSourcesPostErrors, ThrowOnError>;
@@ -1316,7 +1323,7 @@ export declare const addVrtSourceIngestVrtDatasetIdSourcesPost: <ThrowOnError ex
1316
1323
  * Remove a COG source from an existing VRT and trigger async regeneration.
1317
1324
  *
1318
1325
  * Returns 202 Accepted with a job_id for polling.
1319
- * Returns 409 if the VRT is currently regenerating (SRC-05).
1326
+ * Returns 409 if the VRT is currently regenerating.
1320
1327
  * Returns 422 if removing would leave fewer than 2 sources.
1321
1328
  * Returns 404 if the source is not linked to the VRT.
1322
1329
  */
@@ -1435,7 +1442,7 @@ export declare const renameColumnEndpointLayersDatasetIdColumnsColumnNameNamePat
1435
1442
  *
1436
1443
  * Count saved maps whose layer config references a column.
1437
1444
  *
1438
- * fix(#458 E-06): surfaced in the schema editor before a rename/drop so the
1445
+ * fix(#458): surfaced in the schema editor before a rename/drop so the
1439
1446
  * editor knows how many saved maps depend on the column. Count only — map
1440
1447
  * titles may belong to other users and are not exposed here.
1441
1448
  */
@@ -1481,7 +1488,7 @@ export declare const uploadMapIconEndpointMapsIconsPost: <ThrowOnError extends b
1481
1488
  *
1482
1489
  * Serve an uploaded or bundled icon asset by stable icon ID.
1483
1490
  *
1484
- * SEC-01 / M-63: SVG responses carry Content-Security-Policy
1491
+ * SVG responses carry Content-Security-Policy
1485
1492
  * ``default-src 'none'; sandbox`` so an uploaded SVG cannot fetch other
1486
1493
  * origins, run scripts, or read auth cookies even if validation is bypassed
1487
1494
  * in the future. Browsers (Chromium, Firefox) honor the sandbox directive on
@@ -1494,8 +1501,7 @@ export declare const getMapIconAssetEndpointMapsIconsIconIdAssetGet: <ThrowOnErr
1494
1501
  *
1495
1502
  * Import a MapLibre style JSON document into a new GeoLens map.
1496
1503
  *
1497
- * API-01 (M-05): the request body is now a typed Pydantic model instead of
1498
- * a bare ``dict``. ``MapStyleImportRequest`` mirrors the MapLibre style
1504
+ * The request body is a typed Pydantic model rather than a bare ``dict``. ``MapStyleImportRequest`` mirrors the MapLibre style
1499
1505
  * spec top-level keys with ``extra="allow"``, so existing payloads keep
1500
1506
  * working byte-identically while the OpenAPI schema gains a named class
1501
1507
  * and the auto-generated SDKs stop emitting an opaque ``Mapping[str, Any]``
@@ -1507,14 +1513,14 @@ export declare const importMapStyleEndpointMapsImportPost: <ThrowOnError extends
1507
1513
  *
1508
1514
  * Get a shared map by token. Optionally authenticated for non-public layers.
1509
1515
  *
1510
- * SEC-S08 (Phase 1062-05): emits ``Content-Security-Policy: frame-ancestors
1516
+ * Emits ``Content-Security-Policy: frame-ancestors
1511
1517
  * 'self' [<allowed_origins>...]`` on the response, derived from the active
1512
1518
  * EmbedToken for this map. When no EmbedToken exists or allowed_origins is
1513
1519
  * empty, defaults to ``frame-ancestors 'self'``. The SecurityHeadersMiddleware
1514
1520
  * respects this route-level CSP and skips emitting X-Frame-Options: DENY.
1515
1521
  *
1516
- * fix(#394) SH-01/B-023: accepts ``X-Embed-Token`` so embed viewers get the
1517
- * layers the token's scope authorizes (SEC-022 capability posture).
1522
+ * fix(#394): accepts ``X-Embed-Token`` so embed viewers get the layers the
1523
+ * token's scope authorizes, as a capability rather than a role.
1518
1524
  */
1519
1525
  export declare const getSharedMapEndpointMapsSharedTokenGet: <ThrowOnError extends boolean = false>(options: Options<GetSharedMapEndpointMapsSharedTokenGetData, ThrowOnError>) => RequestResult<GetSharedMapEndpointMapsSharedTokenGetResponses, GetSharedMapEndpointMapsSharedTokenGetErrors, ThrowOnError>;
1520
1526
  /**
@@ -1599,14 +1605,14 @@ export declare const getMapHistoryEndpointMapsMapIdHistoryGet: <ThrowOnError ext
1599
1605
  *
1600
1606
  * Apply incremental layer additions, patches, removals, and ordering.
1601
1607
  *
1602
- * v13.14 fixup: declared on both slash variants directly (mirrors the
1603
- * Phase 280 fix on POST). FastAPI's default redirect_slashes builds a
1604
- * relative Location header that resolves against the request's Host
1605
- * header, which would leak the in-container ``api:8000`` hostname
1606
- * through Vite's dev proxy on a 307 redirect. The canonical
1607
- * (OpenAPI-published) form is the no-slash sub-collection convention
1608
- * documented in the GeoLens API guide (https://docs.getgeolens.com/guides/api/);
1609
- * the trailing-slash form is a hidden alias.
1608
+ * Declared on both slash variants directly, mirroring the POST route
1609
+ * below. FastAPI's default redirect_slashes builds a relative Location
1610
+ * header that resolves against the request's Host header, which would
1611
+ * leak the in-container ``api:8000`` hostname through Vite's dev proxy
1612
+ * on a 307 redirect. The canonical (OpenAPI-published) form is the
1613
+ * no-slash sub-collection convention documented in the GeoLens API guide
1614
+ * (https://docs.getgeolens.com/guides/api/); the trailing-slash form is
1615
+ * a hidden alias.
1610
1616
  */
1611
1617
  export declare const patchMapLayersEndpointMapsMapIdLayersPatch: <ThrowOnError extends boolean = false>(options: Options<PatchMapLayersEndpointMapsMapIdLayersPatchData, ThrowOnError>) => RequestResult<PatchMapLayersEndpointMapsMapIdLayersPatchResponses, PatchMapLayersEndpointMapsMapIdLayersPatchErrors, ThrowOnError>;
1612
1618
  /**
@@ -1614,9 +1620,9 @@ export declare const patchMapLayersEndpointMapsMapIdLayersPatch: <ThrowOnError e
1614
1620
  *
1615
1621
  * Add a layer to a map.
1616
1622
  *
1617
- * Phase 280: declared on both slash variants directly so neither emits a
1618
- * 307. FastAPI's default redirect_slashes builds a relative Location
1619
- * header that resolves against the request's Host header, leaking the
1623
+ * Declared on both slash variants directly so neither emits a 307.
1624
+ * FastAPI's default redirect_slashes builds a relative Location header
1625
+ * that resolves against the request's Host header, leaking the
1620
1626
  * in-container ``api:8000`` hostname through Vite's dev proxy. The
1621
1627
  * canonical (OpenAPI-published) form is the no-slash sub-collection
1622
1628
  * convention documented in the GeoLens API guide
@@ -1629,9 +1635,8 @@ export declare const addLayerEndpointMapsMapIdLayersPost: <ThrowOnError extends
1629
1635
  *
1630
1636
  * Batch-delete multiple layers from a map in a single request.
1631
1637
  *
1632
- * Milestone exception (v1010 Phase 1047): one additive endpoint permitted
1633
- * per REQUIREMENTS.md Out-of-Scope to reduce N sequential DELETEs to one
1634
- * batched call for bulk-delete UX (PB-03 / PERF-03).
1638
+ * One additive endpoint that reduces N sequential DELETEs to a single
1639
+ * batched call for bulk-delete UX.
1635
1640
  *
1636
1641
  * Returns 200 with deleted/failed arrays in all cases (partial failures
1637
1642
  * surface inline, not as HTTP errors). Full rollback is the caller's
@@ -1664,7 +1669,7 @@ export declare const getOgImageMapsMapIdOgImageGet: <ThrowOnError extends boolea
1664
1669
  * ``maps/og-images/{map_id}.{ext}``, and persists the storage key to
1665
1670
  * ``catalog.maps.og_image_uri``.
1666
1671
  *
1667
- * Intended for 1200x630 JPEG captures (SHARE-08). The payload cap
1672
+ * Intended for 1200x630 JPEG captures. The payload cap
1668
1673
  * (750KB) is larger than the thumbnail cap (100KB) to accommodate the
1669
1674
  * larger canvas export — they are separate schemas (OgImageUploadRequest
1670
1675
  * vs ThumbnailUploadRequest) to avoid relaxing the locked thumbnail
@@ -1726,7 +1731,7 @@ export declare const uploadThumbnailMapsMapIdThumbnailPut: <ThrowOnError extends
1726
1731
  * Owner-or-admin like the other sharing mutations: the response names
1727
1732
  * non-public dataset titles, which read access alone must not reveal.
1728
1733
  * Read access is checked first so unreadable maps keep answering 404
1729
- * (SEC-007 existence-hiding); readable non-owners get 403.
1734
+ * (existence-hiding); readable non-owners get 403.
1730
1735
  */
1731
1736
  export declare const visibilityCheckEndpointMapsMapIdVisibilityCheckGet: <ThrowOnError extends boolean = false>(options: Options<VisibilityCheckEndpointMapsMapIdVisibilityCheckGetData, ThrowOnError>) => RequestResult<VisibilityCheckEndpointMapsMapIdVisibilityCheckGetResponses, VisibilityCheckEndpointMapsMapIdVisibilityCheckGetErrors, ThrowOnError>;
1732
1737
  /**
@@ -1920,12 +1925,16 @@ export declare const probeServiceUrlServicesProbePost: <ThrowOnError extends boo
1920
1925
  * Stac Collections
1921
1926
  *
1922
1927
  * List collections from a connected STAC API.
1928
+ *
1929
+ * Accepts a credential for a protected catalog, applied to this call.
1923
1930
  */
1924
1931
  export declare const stacCollectionsServicesStacCollectionsPost: <ThrowOnError extends boolean = false>(options: Options<StacCollectionsServicesStacCollectionsPostData, ThrowOnError>) => RequestResult<StacCollectionsServicesStacCollectionsPostResponses, StacCollectionsServicesStacCollectionsPostErrors, ThrowOnError>;
1925
1932
  /**
1926
1933
  * Stac Connect
1927
1934
  *
1928
1935
  * Connect to a STAC API and validate the endpoint.
1936
+ *
1937
+ * Accepts a credential for a protected catalog, applied to this call.
1929
1938
  */
1930
1939
  export declare const stacConnectServicesStacConnectPost: <ThrowOnError extends boolean = false>(options: Options<StacConnectServicesStacConnectPostData, ThrowOnError>) => RequestResult<StacConnectServicesStacConnectPostResponses, StacConnectServicesStacConnectPostErrors, ThrowOnError>;
1931
1940
  /**
@@ -1942,6 +1951,8 @@ export declare const stacImportServicesStacImportPost: <ThrowOnError extends boo
1942
1951
  * Stac Search
1943
1952
  *
1944
1953
  * Search items in a STAC API with spatial/temporal filters.
1954
+ *
1955
+ * Accepts a credential for a protected catalog, applied to this call.
1945
1956
  */
1946
1957
  export declare const stacSearchServicesStacSearchPost: <ThrowOnError extends boolean = false>(options: Options<StacSearchServicesStacSearchPostData, ThrowOnError>) => RequestResult<StacSearchServicesStacSearchPostResponses, StacSearchServicesStacSearchPostErrors, ThrowOnError>;
1947
1958
  /**
@@ -1971,7 +1982,7 @@ export declare const getApiKeyStatusSettingsApiKeyStatusGet: <ThrowOnError exten
1971
1982
  * configured. When a key IS set the placeholder is resolved server-side.
1972
1983
  * The response uses ``BasemapPublicResponse`` which excludes ``api_key``.
1973
1984
  *
1974
- * SEC-S10 (2026-05-20 audit): the resolved ``url`` field intentionally
1985
+ * The resolved ``url`` field intentionally
1975
1986
  * includes the substituted ``api_key`` value when configured. Client-side
1976
1987
  * tile-provider keys (Mapbox, Stadia, MapTiler) are designed for browser
1977
1988
  * exposure and the frontend MUST receive them to load tiles. Do NOT put a
@@ -2045,7 +2056,7 @@ export declare const getMapDefaultsSettingsMapDefaultsGet: <ThrowOnError extends
2045
2056
  *
2046
2057
  * Mirrors get_api_key_status: returns presence flags derived from env/settings
2047
2058
  * without ever echoing the SMTP password, webhook URL, or webhook secret
2048
- * (NOTIF-05 / T-1229-09).
2059
+ * without secrets.
2049
2060
  */
2050
2061
  export declare const getNotificationStatusSettingsNotificationsStatusGet: <ThrowOnError extends boolean = false>(options?: Options<GetNotificationStatusSettingsNotificationsStatusGetData, ThrowOnError>) => RequestResult<GetNotificationStatusSettingsNotificationsStatusGetResponses, GetNotificationStatusSettingsNotificationsStatusGetErrors, ThrowOnError>;
2051
2062
  /**
@@ -2055,7 +2066,7 @@ export declare const getNotificationStatusSettingsNotificationsStatusGet: <Throw
2055
2066
  *
2056
2067
  * Mirrors detect_embedding_dims: admin-gated probe that reports per-channel
2057
2068
  * reachable/error in a 200 body without leaking secrets or raising 5xx on a
2058
- * bad channel (NOTIF-06 / T-1229-08 / T-1229-09 / T-1229-10).
2069
+ * bad channel.
2059
2070
  *
2060
2071
  * Per-channel approach (not EnvConfiguredNotificationSink.deliver) is used so
2061
2072
  * each channel's success/failure is captured in its own
@@ -2075,7 +2086,7 @@ export declare const listOauthProvidersSettingsOauthProvidersGet: <ThrowOnError
2075
2086
  *
2076
2087
  * Audit-log payload includes the full ``created`` snapshot with non-secret
2077
2088
  * fields verbatim and ``<redacted>`` markers for secrets that were submitted
2078
- * in the request body (SAML-12 / Pitfall 9 / T-217-03-AUDIT-LEAK).
2089
+ * in the request body.
2079
2090
  */
2080
2091
  export declare const createOauthProviderSettingsOauthProvidersPost: <ThrowOnError extends boolean = false>(options: Options<CreateOauthProviderSettingsOauthProvidersPostData, ThrowOnError>) => RequestResult<CreateOauthProviderSettingsOauthProvidersPostResponses, CreateOauthProviderSettingsOauthProvidersPostErrors, ThrowOnError>;
2081
2092
  /**
@@ -2085,8 +2096,7 @@ export declare const createOauthProviderSettingsOauthProvidersPost: <ThrowOnErro
2085
2096
  *
2086
2097
  * Audit-log payload contains a ``deleted`` snapshot with the pre-delete
2087
2098
  * state — non-secret fields verbatim, secret fields marked ``<redacted>``
2088
- * if they were previously set (T-217-03-AUDIT-LEAK mitigation extends to
2089
- * delete events too).
2099
+ * if they were previously set; the same redaction applies to delete events.
2090
2100
  */
2091
2101
  export declare const deleteOauthProviderSettingsOauthProvidersProviderIdDelete: <ThrowOnError extends boolean = false>(options: Options<DeleteOauthProviderSettingsOauthProvidersProviderIdDeleteData, ThrowOnError>) => RequestResult<DeleteOauthProviderSettingsOauthProvidersProviderIdDeleteResponses, DeleteOauthProviderSettingsOauthProvidersProviderIdDeleteErrors, ThrowOnError>;
2092
2102
  /**
@@ -2097,8 +2107,7 @@ export declare const deleteOauthProviderSettingsOauthProvidersProviderIdDelete:
2097
2107
  * Audit-log payload contains ``details.changes`` with per-field
2098
2108
  * ``{"old": ..., "new": ...}`` diffs. Secret fields (idp_certificate,
2099
2109
  * client_secret_encrypted, client_secret) are redacted as
2100
- * ``{"old": "<redacted>", "new": "<redacted>"}`` (Pitfall 9 / SAML-12 /
2101
- * T-217-03-AUDIT-LEAK HIGH severity).
2110
+ * ``{"old": "<redacted>", "new": "<redacted>"}``.
2102
2111
  */
2103
2112
  export declare const updateOauthProviderSettingsOauthProvidersProviderIdPut: <ThrowOnError extends boolean = false>(options: Options<UpdateOauthProviderSettingsOauthProvidersProviderIdPutData, ThrowOnError>) => RequestResult<UpdateOauthProviderSettingsOauthProvidersProviderIdPutResponses, UpdateOauthProviderSettingsOauthProvidersProviderIdPutErrors, ThrowOnError>;
2104
2113
  /**
@@ -2170,55 +2179,85 @@ export declare const searchPostStacSearchPost: <ThrowOnError extends boolean = f
2170
2179
  /**
2171
2180
  * Cluster Tile Endpoint
2172
2181
  *
2173
- * Serve a server-side clustered vector tile for point datasets.
2174
- *
2175
- * URL pattern: /tiles/clusters/data.{table_name}/{z}/{x}/{y}.pbf
2176
- *
2177
- * This route deliberately reuses the normal vector tile auth model:
2178
- * public datasets are readable directly, non-public datasets require either
2179
- * valid HMAC tile params or a valid embed token scoped to the dataset.
2180
- *
2181
- * fix(#403): `cols` mirrors the vector endpoint's runtime column opt-in;
2182
- * the columns are projected onto UNCLUSTERED features so data-driven
2183
- * styling and popups keep working on the server-cluster path.
2182
+ * Serve a server-side clustered vector tile for a point dataset.
2183
+ *
2184
+ * URL pattern: ``/tiles/clusters/data.{table_name}/{z}/{x}/{y}.pbf``
2185
+ *
2186
+ * Authorization matches the plain vector tile route, in three cases. A
2187
+ * public, published dataset is readable without credentials. A non-public
2188
+ * dataset needs either valid signature parameters (``sig``, ``exp``,
2189
+ * ``scope``) or an embed token scoped to it, and answers 403 without one. A
2190
+ * public dataset that is not yet published is readable by its owner, by an
2191
+ * admin, with an embed token, or with valid signature parameters, and answers
2192
+ * 404 to other callers, so a refusal keeps its existence undisclosed. An
2193
+ * unknown table is 404 too.
2194
+ *
2195
+ * A request that no capability authorized and that carried a credential which
2196
+ * did not resolve is refused with 401 rather than served as an anonymous
2197
+ * read, so an expired token is rejected instead of being silently downgraded.
2198
+ * A request sending no credential is served normally.
2199
+ *
2200
+ * ``cluster_radius`` is a screen-pixel distance, the same units MapLibre's
2201
+ * ``clusterRadius`` uses, and ``cluster_max_zoom`` is the last zoom at which
2202
+ * features are grouped. ``cols`` works as it does on the vector route, and
2203
+ * the named columns are projected onto the unclustered features, so
2204
+ * data-driven styling and popups keep working here too.
2205
+ *
2206
+ * Requires a vector point dataset; another record type responds 400, as does
2207
+ * a malformed table path or an out-of-range tile coordinate.
2208
+ *
2209
+ * A tile holding no features answers 204, and a repeat request whose
2210
+ * ``If-None-Match`` matches answers 304. Where a deployment runs cold storage,
2211
+ * a dataset still being restored answers 202 with a job id to poll. Three
2212
+ * cases answer 429 with ``Retry-After``: waiting past the tile pool's
2213
+ * connection budget, a tile query that outruns the pool's per-command
2214
+ * timeout, and exceeding a configured per-tenant concurrency limit. Any other
2215
+ * failure serving the tile answers 503.
2184
2216
  */
2185
2217
  export declare const clusterTileEndpointTilesClustersTablePathZXYPbfGet: <ThrowOnError extends boolean = false>(options: Options<ClusterTileEndpointTilesClustersTablePathZxyPbfGetData, ThrowOnError>) => RequestResult<ClusterTileEndpointTilesClustersTablePathZxyPbfGetResponses, ClusterTileEndpointTilesClustersTablePathZxyPbfGetErrors, ThrowOnError>;
2186
2218
  /**
2187
2219
  * Raster Tile Proxy
2188
2220
  *
2189
- * API-side raster tile proxy: auth check + fetch from Titiler.
2190
- *
2191
- * Used by Vite dev proxy and as a fallback for deployments without nginx.
2192
- * Production deployments with nginx should use the nginx raster-tiles path
2193
- * for better caching and performance.
2194
- *
2195
- * colormap_name: Optional Titiler colormap for single-band display. Validated
2196
- * against _ALLOWED_COLORMAPS (T-1140-01). Gray is the Titiler default for
2197
- * single-band passing gray is a no-op (not forwarded). colormap_name is not
2198
- * forwarded for DEM layers (render_params starts with 'algorithm=').
2199
- *
2200
- * stretch: Optional stretch strategy. percentile/stddev compute a stats-based
2201
- * rescale from Titiler band statistics. Multi-band rasters produce one rescale=
2202
- * fragment per band (up to 3, RASTER-STRETCH-03).
2203
- *
2204
- * pmin/pmax: Configurable percentile clip bounds (default 2/98), read and
2205
- * validated (0 <= pmin < pmax <= 100) only when stretch=percentile. Forwarded
2206
- * as repeated p= params to /cog/statistics. The _band_stats_cache key includes
2207
- * pmin/pmax so different bounds never serve stale cached stats
2208
- * (RASTER-STRETCH-UI-01 / Phase 1153 cache-key isolation).
2209
- *
2210
- * sigma: Standard-deviation multiplier for stretch=stddev (default 2.0), read
2211
- * and validated (> 0) only when stretch=stddev.
2212
- *
2213
- * fix(#1778 codex r2): pmin/pmax/sigma used to be validated whenever present,
2214
- * regardless of the active stretch mode, so an "inactive" value could still
2215
- * 422. frontend/nginx.conf's raster proxy_cache_key blanks an inactive value
2216
- * out of the cache key to stop it defeating the cache; making that safe on
2217
- * every input (including a repeated query parameter, where nginx's $arg_x
2218
- * reads the FIRST occurrence and this endpoint's scalar Query reads the
2219
- * LAST) needs "inactive" to mean the SAME thing on both sides: ignored, not
2220
- * merely unvalidated for some inputs. A cache HIT must never disagree with
2221
- * what an uncached request would answer.
2221
+ * Render one raster tile and return the image.
2222
+ *
2223
+ * Returns the image itself rather than a redirect: the dataset is
2224
+ * authorized, then the rendered tile comes back in the response body. Used by
2225
+ * the development proxy and by deployments that run without nginx in front.
2226
+ *
2227
+ * ``colormap_name`` applies a colormap to a single-band raster. Passing
2228
+ * ``gray`` leaves the rendering unchanged, and a digital elevation model
2229
+ * ignores the parameter, because its terrain encoding cannot be recoloured.
2230
+ *
2231
+ * ``stretch`` chooses how pixel values map to the output range. ``minmax``
2232
+ * keeps the range the dataset already implies: the recorded per-band minimum
2233
+ * and maximum for a raster imported from a remote source that published
2234
+ * statistics, a range derived from the data type for most others, and no
2235
+ * rescale parameter for 8-bit data, which needs none. ``percentile`` and
2236
+ * ``stddev`` instead derive a range from band statistics read at request
2237
+ * time, for up to three bands. A digital elevation model ignores the
2238
+ * parameter, and so does a request whose band statistics cannot be read,
2239
+ * which falls back to ``minmax`` rather than failing.
2240
+ *
2241
+ * ``pmin`` and ``pmax`` (2 and 98 by default) are read when ``stretch`` is
2242
+ * ``percentile``, and ``sigma`` (2.0 by default) when it is ``stddev``. A
2243
+ * parameter that does not apply to the selected stretch is ignored, and its
2244
+ * default is used in place of the value sent.
2245
+ *
2246
+ * Responds 204 when the tile falls outside the raster, 400 for an
2247
+ * unsupported format, 401 when authentication is required, or when a request
2248
+ * that no capability authorized carried a credential which did not resolve,
2249
+ * 403 when the embed token is invalid or expired
2250
+ * or a multi-tenant request arrives with no tenant context, 422 for an
2251
+ * out-of-range stretch parameter, and 503 when the renderer cannot be
2252
+ * reached. A different failure from the renderer is passed through with its
2253
+ * own status.
2254
+ *
2255
+ * 404 covers more than a missing dataset. A dataset that is unknown, is not a
2256
+ * raster or has no image answers 404. Where no capability authorized the
2257
+ * request, so does a dataset the caller may not read: an authorization denial
2258
+ * on a non-public raster, and an unpublished raster asked for by a caller who
2259
+ * is neither its owner nor an admin. That is deliberate, so a refusal keeps a
2260
+ * dataset's existence undisclosed.
2222
2261
  */
2223
2262
  export declare const rasterTileProxyTilesRasterProxyDatasetIdZXYFmtGet: <ThrowOnError extends boolean = false>(options: Options<RasterTileProxyTilesRasterProxyDatasetIdZxyFmtGetData, ThrowOnError>) => RequestResult<RasterTileProxyTilesRasterProxyDatasetIdZxyFmtGetResponses, RasterTileProxyTilesRasterProxyDatasetIdZxyFmtGetErrors, ThrowOnError>;
2224
2263
  /**
@@ -2238,20 +2277,26 @@ export declare const getTileTokenTilesTokenDatasetIdGet: <ThrowOnError extends b
2238
2277
  /**
2239
2278
  * Get Tile Tokens Batch
2240
2279
  *
2241
- * Batch-generate tile tokens for up to 50 datasets in one request.
2280
+ * Generate tile tokens for up to 50 datasets in one request.
2242
2281
  *
2243
- * Optimization for multi-layer maps: a 20-layer builder map previously
2244
- * fired 20 parallel GET /token/{id}/ requests (20 HTTP + 20 RBAC + 20 HMAC
2245
- * signatures). This endpoint does the same work in a single round trip
2246
- * with one DB query for dataset metadata (PERF-N5).
2282
+ * The list must hold between 1 and 50 ids, and a request outside that is 422.
2247
2283
  *
2248
- * Per-dataset errors (404, 403) do not fail the batch instead the
2249
- * response maps the offending dataset_id to ``{"error": "..."}``. Clients
2250
- * should check each entry for the ``error`` key.
2284
+ * One round trip in place of one request per dataset, which is what a map
2285
+ * with many layers would otherwise need.
2251
2286
  *
2252
- * fix(#394) SH-04: ``X-Embed-Token`` is accepted as per-dataset fallback
2253
- * authorization (same capability check as tile serving), so embed terrain
2254
- * builds its raster-dem source from the real bounds/maxzoom descriptor.
2287
+ * A dataset that cannot be found or cannot be authorized does not fail the
2288
+ * batch: that id maps to ``{"error": "..."}`` in the response instead, so
2289
+ * check each entry for an ``error`` key before using it. Duplicate ids are
2290
+ * collapsed.
2291
+ *
2292
+ * The request as a whole still fails 401 in one case: a request that carried
2293
+ * a credential which did not resolve and that no capability authorized
2294
+ * answers 401 rather than a body of per-dataset errors. A request carrying no
2295
+ * credential is served normally.
2296
+ *
2297
+ * ``X-Embed-Token`` is accepted as a fallback authorization for the datasets
2298
+ * inside that token's scope, so an embedded map can build a terrain source
2299
+ * from real bounds and zoom limits.
2255
2300
  */
2256
2301
  export declare const getTileTokensBatchTilesTokensPost: <ThrowOnError extends boolean = false>(options: Options<GetTileTokensBatchTilesTokensPostData, ThrowOnError>) => RequestResult<GetTileTokensBatchTilesTokensPostResponses, GetTileTokensBatchTilesTokensPostErrors, ThrowOnError>;
2257
2302
  /**
@@ -2259,10 +2304,19 @@ export declare const getTileTokensBatchTilesTokensPost: <ThrowOnError extends bo
2259
2304
  *
2260
2305
  * Serve a vector tile as gzipped MVT binary.
2261
2306
  *
2262
- * URL pattern: /tiles/data.{table_name}/{z}/{x}/{y}.pbf
2307
+ * URL pattern: ``/tiles/data.{table_name}/{z}/{x}/{y}.pbf``
2263
2308
  *
2264
- * Non-public datasets require valid HMAC signature params (sig, exp, scope).
2265
- * Public datasets can be accessed without any signature.
2309
+ * A public, published dataset is readable without credentials. A non-public
2310
+ * dataset needs either valid signature parameters (``sig``, ``exp``,
2311
+ * ``scope``) or an embed token scoped to it, and answers 403 without one. A
2312
+ * public dataset that is not yet published is readable by its owner, by an
2313
+ * admin, with an embed token, or with valid signature parameters, and answers
2314
+ * 404 to other callers, so a refusal keeps its existence undisclosed. An
2315
+ * unknown table is 404 too.
2316
+ *
2317
+ * A request that no capability authorized and that carried a credential which
2318
+ * did not resolve is refused with 401 rather than served as an anonymous
2319
+ * read. A request sending no credential is served normally.
2266
2320
  *
2267
2321
  * `cols` is a runtime opt-in for additional attribute columns the client
2268
2322
  * needs at all zooms (e.g. data-driven styling columns referenced by
@@ -2272,6 +2326,15 @@ export declare const getTileTokensBatchTilesTokensPost: <ThrowOnError extends bo
2272
2326
  * Does not need to be signed — `sig` already authorizes dataset
2273
2327
  * access and `cols` can only project columns the caller already has
2274
2328
  * REST access to.
2329
+ *
2330
+ * A malformed table path or an out-of-range tile coordinate answers 400. A
2331
+ * tile holding no features answers 204, and a repeat request whose
2332
+ * ``If-None-Match`` matches answers 304. Where a deployment runs cold storage,
2333
+ * a dataset still being restored answers 202 with a job id to poll. Three
2334
+ * cases answer 429 with ``Retry-After``: waiting past the tile pool's
2335
+ * connection budget, a tile query that outruns the pool's per-command
2336
+ * timeout, and exceeding a configured per-tenant concurrency limit. Any other
2337
+ * failure serving the tile answers 503.
2275
2338
  */
2276
2339
  export declare const tileEndpointTilesTablePathZXYPbfGet: <ThrowOnError extends boolean = false>(options: Options<TileEndpointTilesTablePathZxyPbfGetData, ThrowOnError>) => RequestResult<TileEndpointTilesTablePathZxyPbfGetResponses, TileEndpointTilesTablePathZxyPbfGetErrors, ThrowOnError>;
2277
2340
  //# sourceMappingURL=sdk.gen.d.ts.map