SYMBOL INDEX (389 symbols across 190 files) FILE: app/(auth)/api/auth/confirm/route.ts function GET (line 7) | async function GET(request: NextRequest) { FILE: app/(auth)/api/auth/esri/authorize/route.ts function GET (line 4) | async function GET() { FILE: app/(auth)/api/auth/esri/callback/route.ts function GET (line 5) | async function GET(req: NextRequest) { FILE: app/(auth)/layout.tsx function RootLayout (line 25) | function RootLayout({ FILE: app/(auth)/login/actions.ts function login (line 15) | async function login(formData: FormData) { function logout (line 77) | async function logout() { FILE: app/(auth)/login/layout.tsx function Layout (line 1) | async function Layout({ FILE: app/(auth)/login/page.tsx function Login (line 17) | function Login() { FILE: app/(broadcast)/api/services/esri/fetch-layers-list/route.ts function GET (line 4) | async function GET(req: NextRequest) { FILE: app/(broadcast)/api/services/esri/fetch-selected-layer/route.ts function GET (line 4) | async function GET(req: NextRequest) { FILE: app/(broadcast)/layout.tsx function RootLayout (line 24) | function RootLayout({ FILE: app/(broadcast)/services/esri/fetch-layers/page.tsx function AddArcGisLayerPage (line 5) | async function AddArcGisLayerPage() { FILE: app/(main)/actions/get-user-profile.ts function getUserProfile (line 4) | async function getUserProfile() { FILE: app/(main)/api/chat/chat-history/route.ts type Chat (line 5) | interface Chat { function GET (line 9) | async function GET() { FILE: app/(main)/api/chat/route.ts function POST (line 44) | async function POST(request: Request) { FILE: app/(main)/api/gee/request-geospatial-analysis/route.ts function POST (line 17) | async function POST(req: NextRequest) { FILE: app/(main)/api/gee/request-loading-geospatial-data/route.ts function POST (line 8) | async function POST(req: NextRequest) { FILE: app/(main)/api/sendfeedback/route.ts constant API_KEY (line 8) | const API_KEY = process.env.MAILGUN_API_KEY || ""; constant DOMAIN (line 9) | const DOMAIN = process.env.MAILGUN_DOMAIN || ""; constant ALLOWED_ORIGIN (line 10) | const ALLOWED_ORIGIN = process.env.NEXT_PUBLIC_APP_URL!; constant RECIPIENT_EMAIL (line 11) | const RECIPIENT_EMAIL = process.env.RECIPIENT_EMAIL; constant SENDER_EMAIL (line 12) | const SENDER_EMAIL = process.env.SENDER_EMAIL; function OPTIONS (line 14) | async function OPTIONS() { function POST (line 25) | async function POST(req: Request) { FILE: app/(main)/api/services/google-maps/basemaps/roadmap/route.ts function GET (line 4) | async function GET(request: NextRequest) { FILE: app/(main)/api/services/google-maps/basemaps/satellite/route.ts function GET (line 4) | async function GET(request: NextRequest) { FILE: app/(main)/api/services/google-maps/geocode/route.ts function POST (line 6) | async function POST(request: Request) { FILE: app/(main)/api/services/google-maps/places/route.ts function GET (line 3) | async function GET() { FILE: app/(main)/api/user-usage/route.ts function GET (line 6) | async function GET() { FILE: app/(main)/api/web-scraper/route.ts function GET (line 4) | async function GET(request: Request) { FILE: app/(main)/chat-history/layout.tsx function ChatHistoryLayout (line 5) | async function ChatHistoryLayout({ FILE: app/(main)/chat/[id]/layout.tsx function ChatLayout (line 5) | async function ChatLayout({ FILE: app/(main)/chat/[id]/loading.tsx function Loading (line 5) | function Loading() { FILE: app/(main)/chat/[id]/page.tsx function Page (line 7) | async function Page(props: { params: Promise<{ id: string }> }) { FILE: app/(main)/integrations/layout.tsx function Layout (line 4) | async function Layout({ FILE: app/(main)/integrations/loading.tsx function Loading (line 5) | function Loading() { FILE: app/(main)/knowledge-base/layout.tsx function Layout (line 4) | async function Layout({ FILE: app/(main)/knowledge-base/loading.tsx function Loading (line 5) | function Loading() { FILE: app/(main)/layout.tsx function RootLayout (line 29) | async function RootLayout({ FILE: app/(main)/loading.tsx function Loading (line 5) | function Loading() { FILE: app/(main)/page.tsx function Home (line 7) | async function Home() { FILE: app/actions/rag-actions.ts function saveRagDocument (line 9) | async function saveRagDocument( function answerQuery (line 94) | async function answerQuery(query: string) { FILE: components/changelog-modal.tsx function ChangelogModal (line 12) | function ChangelogModal() { FILE: components/client-hydrator.tsx type ClientHydratorProps (line 5) | interface ClientHydratorProps { function ClientHydrator (line 16) | function ClientHydrator({ userProfile }: ClientHydratorProps) { FILE: components/client-wrapper.tsx function ClientWrapper (line 12) | function ClientWrapper({ FILE: components/document-viewer.tsx type DocumentViewerProps (line 15) | interface DocumentViewerProps { function DocumentViewer (line 21) | function DocumentViewer({ FILE: components/feedback.tsx type FeedbackFloatingProps (line 19) | interface FeedbackFloatingProps { function FeedbackFloating (line 24) | function FeedbackFloating({ isOpen, onClose }: FeedbackFloatingProps) { FILE: components/loading-widgets/loading-for-widget.tsx type LoadingWidgetForContainerProps (line 3) | interface LoadingWidgetForContainerProps { FILE: components/main-sidebar/main-sidebar.tsx function handleOpenPage (line 40) | function handleOpenPage(page: Pages) { function getButtonClasses (line 49) | function getButtonClasses(page: Pages, extraClasses?: string) { FILE: components/notices/privacy-policy.tsx type PrivacyPolicyModalProps (line 14) | interface PrivacyPolicyModalProps { function PrivacyPolicy (line 19) | function PrivacyPolicy({ FILE: components/notices/terms-of-services.tsx type TermsOfServiceModalProps (line 14) | interface TermsOfServiceModalProps { function TermsOfService (line 19) | function TermsOfService({ FILE: components/services/esri/add-arcgis-layers.tsx function AddArcGisLayerClient (line 7) | function AddArcGisLayerClient() { FILE: components/theme-provider.tsx type ThemeProviderProps (line 11) | type ThemeProviderProps = React.ComponentProps< function ThemeProvider (line 16) | function ThemeProvider({ children, ...props }: ThemeProviderProps) { FILE: components/ui/badge.tsx type BadgeProps (line 26) | interface BadgeProps function Badge (line 30) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: components/ui/button.tsx type ButtonProps (line 43) | interface ButtonProps FILE: components/ui/confirmation-modal.tsx type ConfirmationModalProps (line 15) | interface ConfirmationModalProps { FILE: components/ui/form.tsx type FormFieldContextValue (line 20) | type FormFieldContextValue< type FormItemContextValue (line 67) | type FormItemContextValue = { FILE: components/ui/input-text-confirm.tsx type InputTextConfirmProps (line 5) | interface InputTextConfirmProps { FILE: components/ui/theme-mode-toggle.tsx function ThemeModeToggle (line 15) | function ThemeModeToggle() { FILE: custom-configs/ai-assistants.ts constant AI_ASSISTANTS (line 1) | const AI_ASSISTANTS: AI_ASSISTANTS_TYPE = { FILE: custom-configs/integrations.ts constant INTEGRATION_SERVICES (line 1) | const INTEGRATION_SERVICES: IntegrationService[] = [ FILE: db-schema/schema.sql function "public" (line 48) | CREATE OR REPLACE FUNCTION "public"."create_user_usage_row"() RETURNS "t... function "public" (line 64) | CREATE OR REPLACE FUNCTION "public"."handle_new_auth_user"() RETURNS "tr... function "public" (line 96) | CREATE OR REPLACE FUNCTION "public"."search_documents_by_similarity"("qu... function "public" (line 121) | CREATE OR REPLACE FUNCTION "public"."search_documents_by_similarity"("qu... function "public" (line 152) | CREATE OR REPLACE FUNCTION "public"."search_gee_datasets_ft"("query" "te... function "public" (line 176) | CREATE OR REPLACE FUNCTION "public"."update_user_usage_docs_count"() RET... type "public" (line 207) | CREATE TABLE IF NOT EXISTS "public"."chats" ( type "public" (line 218) | CREATE TABLE IF NOT EXISTS "public"."document_files" ( type "public" (line 243) | CREATE TABLE IF NOT EXISTS "public"."drafted_reports" ( type "public" (line 255) | CREATE TABLE IF NOT EXISTS "public"."embeddings" ( type "public" (line 282) | CREATE TABLE IF NOT EXISTS "public"."gee_datasets" ( type "public" (line 316) | CREATE TABLE IF NOT EXISTS "public"."messages" ( type "public" (line 330) | CREATE TABLE IF NOT EXISTS "public"."user_roles" ( type "public" (line 346) | CREATE TABLE IF NOT EXISTS "public"."user_usage" ( type "public" (line 421) | CREATE INDEX "gee_datasets_dataset_id_idx" ON "public"."gee_datasets" US... type "public" (line 425) | CREATE INDEX "gee_datasets_search_idx" ON "public"."gee_datasets" USING ... type "public" (line 429) | CREATE INDEX "gee_datasets_title_idx" ON "public"."gee_datasets" USING "... FILE: features/charts/components/charts-display.tsx type ChartStatsDisplayProps (line 14) | interface ChartStatsDisplayProps { FILE: features/charts/components/charts.tsx type ChartProps (line 15) | interface ChartProps { function Chart (line 24) | function Chart({ type TimeseriesNumericalQueryChartProps (line 187) | interface TimeseriesNumericalQueryChartProps { type ScoreData (line 192) | type ScoreData = { name: string; score: number | string }; type ScoresBarChartProps (line 194) | type ScoresBarChartProps = { type TimeseriesChartProps (line 298) | interface TimeseriesChartProps { type TimeSeriesStats (line 886) | type TimeSeriesStats = { type BoxPlotTimeseriesChartProps (line 897) | type BoxPlotTimeseriesChartProps = { type BarChartPercentageProps (line 1058) | type BarChartPercentageProps = { type BarChartNumericalProps (line 1186) | type BarChartNumericalProps = { type DualBarChartNumericalProps (line 1295) | type DualBarChartNumericalProps = { type BarChartStatsProps (line 1608) | type BarChartStatsProps = { type StackedBarChartStatisticsProps (line 1743) | type StackedBarChartStatisticsProps = { type StackedBarChartPercentageProps (line 1907) | type StackedBarChartPercentageProps = { type GasData (line 2054) | type GasData = { type CombinedStackedBarChartStatisticsProps (line 2062) | type CombinedStackedBarChartStatisticsProps = { type LandcoverDistributions (line 2266) | interface LandcoverDistributions { type StackedBarChartForLandcoverChangeMapProps (line 2271) | interface StackedBarChartForLandcoverChangeMapProps { type PieChartStatsProps (line 2406) | interface PieChartStatsProps { type ValueType (line 2502) | type ValueType = { type InputArgsType (line 2508) | type InputArgsType = { type HistogramChartProps (line 2515) | type HistogramChartProps = { FILE: features/charts/utils/select-chart-type.ts type ChartTypes (line 1) | enum ChartTypes { FILE: features/chat-history/components/chat-history-row.tsx type ChatHistory (line 21) | interface ChatHistory { type ChatHistoryRowProps (line 27) | interface ChatHistoryRowProps { FILE: features/chat-history/components/chat-history-table.tsx type ChatHistory (line 16) | interface ChatHistory { type ChatHistoryTableProps (line 22) | interface ChatHistoryTableProps { FILE: features/chat-history/components/chat-history.tsx type ChatHistory (line 14) | interface ChatHistory { function ChatHistory (line 20) | function ChatHistory() { FILE: features/chat-history/components/indeterminate-checkbox.tsx type IndeterminateCheckboxProps (line 3) | interface IndeterminateCheckboxProps { function IndeterminateCheckbox (line 10) | function IndeterminateCheckbox(props: IndeterminateCheckboxProps) { FILE: features/chat/components/chat-response-box/capabilities-banner.tsx function CapabilitiesBanner (line 8) | function CapabilitiesBanner() { FILE: features/chat/components/chat-response-box/chat-message/chat-message.tsx type ChatMessageProps (line 10) | interface ChatMessageProps { FILE: features/chat/components/chat-response-box/chat-response-box.tsx type MessageCompletionState (line 37) | interface MessageCompletionState { type ChatResponseBoxProps (line 42) | interface ChatResponseBoxProps { FILE: features/chat/components/chat-response-box/in-response-tool-calling-results/draft-report/draft-report.tsx type DraftReportProps (line 5) | interface DraftReportProps { FILE: features/chat/components/chat-response-box/in-response-tool-calling-results/draft-report/drafted-report-btn.tsx type DraftedReportBtnProps (line 5) | interface DraftedReportBtnProps { FILE: features/chat/components/chat-response-box/in-response-tool-calling-results/knowledge-base-citation/citation-badge.tsx type Citation (line 32) | interface Citation { type CitationBadgeProps (line 38) | interface CitationBadgeProps { type CitationItemProps (line 63) | interface CitationItemProps { FILE: features/chat/components/chat-response-box/in-response-tool-calling-results/tool-calling-results.tsx type ToolCallingResultsProps (line 9) | interface ToolCallingResultsProps { FILE: features/chat/components/external-assets/assets-modal.tsx type AssetsModalProps (line 49) | interface AssetsModalProps { FILE: features/chat/components/input/chat-input-box.tsx type ChatInputBoxProps (line 29) | interface ChatInputBoxProps { FILE: features/chat/components/input/chat-input-buttons/chat-input-buttons.tsx type ChatInputButtonsProps (line 26) | interface ChatInputButtonsProps { FILE: features/chat/components/input/chat-input-buttons/current-session-assets-dropup.tsx type Attachment (line 16) | interface Attachment { FILE: features/chat/components/input/chat-input-buttons/open-database-in-chat-input-btn.tsx type OpenDatabaseInChatInputBtnProps (line 4) | interface OpenDatabaseInChatInputBtnProps { FILE: features/chat/components/input/chat-input-buttons/select-roi-on-map-btn.tsx type SelectRoiOnMapBtnProps (line 6) | interface SelectRoiOnMapBtnProps { function handleClick (line 16) | function handleClick() { FILE: features/chat/components/input/chat-input-dropzone.tsx type ChatInputDropzoneProps (line 1) | interface ChatInputDropzoneProps { FILE: features/chat/components/input/map-tools-dropup.tsx type MapToolsDropupProps (line 13) | interface MapToolsDropupProps { FILE: features/chat/components/input/slash-menu-for-map-layers.tsx type CommandMenuProps (line 5) | interface CommandMenuProps { FILE: features/chat/hooks/use-slash-menu-map-layers-list.ts type MenuPosition (line 9) | interface MenuPosition { type UseSlashMenuMapLayersListProps (line 15) | interface UseSlashMenuMapLayersListProps { FILE: features/chat/stores/use-attachments-store.ts type AttachmentFile (line 5) | interface AttachmentFile { type AttachmentStore (line 14) | interface AttachmentStore { FILE: features/chat/stores/use-chat-response-sources-store.ts type Page (line 4) | interface Page { type Source (line 10) | interface Source { type ChatSourcesState (line 16) | interface ChatSourcesState { FILE: features/chat/stores/use-drafted-report-store.ts type ReportState (line 3) | interface ReportState { FILE: features/chat/ui/fadeIn-with-delay.tsx type FadeInWithDelayProps (line 3) | interface FadeInWithDelayProps { FILE: features/chat/utils/drag-and-drop-file-analyzer.ts function dragAndDropFileAnalyzer (line 10) | async function dragAndDropFileAnalyzer(file: File): Promise { FILE: features/chat/utils/general-utils.ts function generateTitleFromUserMessage (line 14) | async function generateTitleFromUserMessage({ function getFormattedDate (line 32) | function getFormattedDate(): string { function getLocalStorage (line 40) | function getLocalStorage(key: string) { function generateUUID (line 47) | function generateUUID(): string { function isQueryUuid (line 51) | function isQueryUuid(name: string) { function sanitizeResponseMessages (line 62) | function sanitizeResponseMessages( function getMostRecentUserMessage (line 101) | function getMostRecentUserMessage(messages: Array) { function addToolMessageToChat (line 106) | function addToolMessageToChat({ function convertToUIMessages (line 139) | function convertToUIMessages(messages: Array): Array { function checkUserUsageInChat (line 179) | function checkUserUsageInChat( FILE: features/chat/utils/slash-menu-utils.ts constant MAX_LIST_LENGTH (line 5) | const MAX_LIST_LENGTH = 8; constant COMMAND_REG (line 8) | const COMMAND_REG = /\B\/([\-+\w]*)$/; FILE: features/chat/utils/tool-calling-results-validation.ts type GeospatialAnalysisResult (line 1) | interface GeospatialAnalysisResult { function validateToolCallingResults (line 10) | function validateToolCallingResults( FILE: features/chat/utils/use-drag-and-drop-file-import.ts type AddAttachmentFunction (line 8) | type AddAttachmentFunction = (file: File) => void; FILE: features/chat/utils/use-slash-command-menu.ts type MenuPosition (line 7) | interface MenuPosition { type UseSlashCommandMenuProps (line 13) | interface UseSlashCommandMenuProps { FILE: features/integrations/components/integration-actions.tsx type IntegrationActionsProps (line 4) | interface IntegrationActionsProps { FILE: features/integrations/components/integration-header.tsx type IntegrationHeaderProps (line 4) | interface IntegrationHeaderProps { FILE: features/integrations/components/integration-item.tsx type IntegrationItemProps (line 5) | interface IntegrationItemProps { FILE: features/integrations/components/integration-list.tsx type IntegrationListProps (line 4) | interface IntegrationListProps { FILE: features/integrations/components/integration-status.tsx type IntegrationStatusProps (line 4) | interface IntegrationStatusProps { FILE: features/knowledge-base/actions/document-actions.ts function fetchDocumentFiles (line 10) | async function fetchDocumentFiles(): Promise { function fetchByDocumentName (line 50) | async function fetchByDocumentName( function deleteDocumentFile (line 104) | async function deleteDocumentFile( function processAndUploadDocumentFile (line 176) | async function processAndUploadDocumentFile({ FILE: features/knowledge-base/components/add-group-modal.tsx type AddGroupModalProps (line 12) | interface AddGroupModalProps { FILE: features/knowledge-base/components/documents-table.tsx type DocumentsTableProps (line 20) | interface DocumentsTableProps { FILE: features/knowledge-base/components/edit-document-modal.tsx type EditDocumentModalProps (line 4) | interface EditDocumentModalProps { FILE: features/knowledge-base/components/knolwedge-base.tsx type KnowledgeBaseProps (line 27) | interface KnowledgeBaseProps { FILE: features/knowledge-base/components/knowledge-base-sidebar.tsx type SidebarProps (line 11) | interface SidebarProps { FILE: features/knowledge-base/components/max-docs-alert-dialog.tsx type MaxDocsAlertDialogProps (line 15) | interface MaxDocsAlertDialogProps { function MaxDocsAlertDialog (line 24) | function MaxDocsAlertDialog({ FILE: features/knowledge-base/utils/transform-metadata-to-citation.ts type RawMatch (line 3) | interface RawMatch { type Citation (line 23) | interface Citation { function transformMetadataToCitations (line 29) | function transformMetadataToCitations(items: RawMatch[]): Citation[] { FILE: features/maps/components/address-search.tsx type GeocodeResponse (line 20) | interface GeocodeResponse { function AddressSearch (line 25) | function AddressSearch() { FILE: features/maps/components/attribute-table/attribute-table-controls.tsx type AttributeTableControlsProps (line 19) | interface AttributeTableControlsProps { type RasterLayerProps (line 26) | interface RasterLayerProps { function handleQueryRaster (line 61) | function handleQueryRaster() { FILE: features/maps/components/attribute-table/attribute-table.tsx constant MIN_PANEL_HEIGHT (line 33) | const MIN_PANEL_HEIGHT = 150; FILE: features/maps/components/map-badge.tsx type MapBadgeProps (line 4) | interface MapBadgeProps { FILE: features/maps/components/map-container.tsx constant MAP_CONTAINER_ID (line 27) | const MAP_CONTAINER_ID = "map"; FILE: features/maps/components/map-custom-controls/map-roi-controls.tsx function handleRoiConfirm (line 27) | function handleRoiConfirm() { function handleRoiFinalize (line 31) | function handleRoiFinalize(name: string) { FILE: features/maps/components/map-panels/map-layers-panel/color-picker-popover.tsx function ColorPickerPopover (line 13) | function ColorPickerPopover() { FILE: features/maps/components/map-panels/map-layers-panel/map-layers-panel.tsx function DraggablePortal (line 54) | function DraggablePortal({ function MapLayersPanel (line 89) | function MapLayersPanel() { FILE: features/maps/components/map-panels/map-layers-panel/map-legend.tsx type LegendProps (line 5) | interface LegendProps { function generateColorGradient (line 13) | function generateColorGradient(min: number, max: number, palette: string... type LegendContainerProps (line 24) | interface LegendContainerProps { function LegendContainer (line 29) | function LegendContainer({ title, children }: LegendContainerProps) { FILE: features/maps/hooks/use-handle-click/use-handle-click.ts function useHandleClick (line 15) | function useHandleClick() { FILE: features/maps/hooks/use-handle-click/use-map-controls.ts function useMapControls (line 13) | function useMapControls(map: Map | null) { FILE: features/maps/hooks/use-handle-click/use-query-drawing.ts type UseQueryDrawingProps (line 31) | interface UseQueryDrawingProps { function useQueryDrawing (line 39) | function useQueryDrawing({ FILE: features/maps/hooks/use-handle-click/use-remove-query-features.ts function useRemoveQueryFeatures (line 12) | function useRemoveQueryFeatures(map: Map | null) { FILE: features/maps/hooks/use-handle-click/use-roi-drawing.ts type UseRoiDrawingProps (line 15) | interface UseRoiDrawingProps { function useRoiDrawing (line 27) | function useRoiDrawing({ FILE: features/maps/hooks/use-map/use-add-arcgis-layers.ts function useAddArcGisLayers (line 11) | function useAddArcGisLayers(mapInstance: Map | null) { FILE: features/maps/hooks/use-map/use-add-attached-layers.ts function useAddAttachedLayers (line 10) | function useAddAttachedLayers(mapInstance: Map | null) { FILE: features/maps/hooks/use-map/use-add-gee-layers.ts function useAddGeeLayers (line 9) | function useAddGeeLayers(mapInstance: Map | null) { FILE: features/maps/hooks/use-map/use-add-roi-from-session.ts function useAddRoiFromSession (line 9) | function useAddRoiFromSession(mapInstance: Map | null) { FILE: features/maps/hooks/use-map/use-basemap-toggle.ts type UseBasemapToggleParams (line 9) | interface UseBasemapToggleParams { function useBasemapToggle (line 16) | function useBasemapToggle({ FILE: features/maps/hooks/use-map/use-map-initialization.ts type UseMapInitializationProps (line 9) | interface UseMapInitializationProps { function useMapInitialization (line 17) | function useMapInitialization({ FILE: features/maps/hooks/use-map/use-map.ts function useMap (line 15) | function useMap(containerId: string) { FILE: features/maps/hooks/use-map/use-update-layer-style.ts function useUpdateLayerColor (line 8) | function useUpdateLayerColor(mapInstance: Map | null) { FILE: features/maps/hooks/use-map/use-zoom-to-geometry.ts function useZoomToGeometry (line 17) | function useZoomToGeometry(mapInstance: Map | null) { FILE: features/maps/stores/map-queries-stores/useQueryOutputReadyFromVectorLayerStore.ts type QueryState (line 3) | interface QueryState { FILE: features/maps/stores/map-queries-stores/useQueryRasterFromVectorLayerStore.ts type QueryRasterFromVectorLayerState (line 3) | interface QueryRasterFromVectorLayerState { FILE: features/maps/stores/map-queries-stores/useQueryReadyStore.ts type QueryState (line 3) | interface QueryState { FILE: features/maps/stores/plots-stores/useChartRequestedTypeStore.ts type ChartTypes (line 3) | enum ChartTypes { type ChartRequestedTypeStore (line 135) | interface ChartRequestedTypeStore { FILE: features/maps/stores/plots-stores/usePlotReadyDataStore.ts type PlotReadyState (line 3) | interface PlotReadyState { FILE: features/maps/stores/plots-stores/usePlotReadyFromVectorLayerStore.ts type PlotReadyState (line 3) | interface PlotReadyState { FILE: features/maps/stores/use-agol-layers-store.ts type Layer (line 10) | interface Layer { type AgolLayers (line 17) | interface AgolLayers { FILE: features/maps/stores/use-color-picker-store.ts type ColorStore (line 3) | interface ColorStore { FILE: features/maps/stores/use-cursor-store.ts type CursorState (line 3) | interface CursorState { FILE: features/maps/stores/use-drawn-feature-on-map-store.ts type FeatureStore (line 3) | interface FeatureStore { FILE: features/maps/stores/use-function-store.ts type FunctionConfig (line 3) | type FunctionConfig = { type FunctionStore (line 16) | type FunctionStore = { FILE: features/maps/stores/use-gee-ouput-store.ts type GeeOutputItem (line 3) | interface GeeOutputItem { type GeeOutputState (line 11) | interface GeeOutputState { FILE: features/maps/stores/use-geojson-store.ts type GeojsonItem (line 3) | interface GeojsonItem { type GeojsonState (line 8) | interface GeojsonState { FILE: features/maps/stores/use-layer-selection-store.ts type LayerState (line 3) | interface LayerState { FILE: features/maps/stores/use-map-badge-store.ts type BadgeState (line 3) | interface BadgeState { FILE: features/maps/stores/use-map-display-store.ts type MapDisplayState (line 3) | interface MapDisplayState { FILE: features/maps/stores/use-map-layer-store.ts type MapLayersState (line 8) | interface MapLayersState { FILE: features/maps/stores/use-map-legend-store.ts type LegendConfig (line 4) | type LegendConfig = { type LegendEntry (line 12) | interface LegendEntry { type MapLegendState (line 18) | interface MapLegendState { FILE: features/maps/stores/use-map-zoom-request-store.ts type AddressSearchProps (line 5) | interface AddressSearchProps { type ZoomInLayerState (line 10) | interface ZoomInLayerState { FILE: features/maps/stores/use-roi-store.ts type ROIStoreState (line 4) | interface ROIStoreState { FILE: features/maps/stores/use-table-store.ts type TableState (line 3) | interface TableState { FILE: features/maps/utils/add-drawn-layer-to-map.ts function getRandomBrightColor (line 5) | function getRandomBrightColor(): string { FILE: features/maps/utils/add-roi-layer-to-map.ts function getRandomBrightColor (line 4) | function getRandomBrightColor(): string { FILE: features/maps/utils/authentication-utils/gee-auth.ts function geeAuthenticate (line 6) | async function geeAuthenticate(): Promise { FILE: features/maps/utils/gee-eval-utils.ts function getMapId (line 1) | function getMapId(image: any, vis: any) { function evaluate (line 10) | function evaluate(obj: any) { FILE: features/maps/utils/geometry-utils.ts function convertToEeGeometry (line 172) | function convertToEeGeometry(geometry: any) { function convertEeGeometryToGeoJSON (line 197) | function convertEeGeometryToGeoJSON(eeGeom: any) { function convertCoordinatesToGeoJson (line 209) | function convertCoordinatesToGeoJson(coordinates: { function convertToNDecimals (line 216) | function convertToNDecimals(value: number, decimals: number): number { function flattenPolygonCoordinates (line 220) | function flattenPolygonCoordinates(coords?: number[][][]): number[][] { FILE: features/maps/utils/other-utils.ts function stringifyNested (line 1) | function stringifyNested(value: any): string { function formatQueryForTable (line 33) | function formatQueryForTable(query: any): string { FILE: features/maps/utils/type-guards.ts function isFeature (line 2) | function isFeature(obj: unknown): obj is Feature { function isROIGeometry (line 14) | function isROIGeometry(obj: unknown): obj is ROIGeometry { FILE: features/text-editor/components/text-editor.tsx function CustomSlashMenu (line 32) | function CustomSlashMenu( type TextEditorProps (line 77) | interface TextEditorProps { FILE: features/ui/modals/file-upload-modal.tsx type Folder (line 16) | interface Folder { type FileUploadModalProps (line 21) | interface FileUploadModalProps { FILE: features/ui/toast-message.tsx function ToastMessage (line 14) | function ToastMessage() { FILE: features/user-profile/components/user-profile-modal.tsx function UserProfile (line 22) | function UserProfile() { FILE: hooks/docs-hooks/use-document-upload.ts type FileUploadHookProps (line 6) | type FileUploadHookProps = { FILE: lib/auth.ts type UserRole (line 4) | type UserRole = "ADMIN" | "USER" | "TRIAL"; type SubscriptionTier (line 5) | type SubscriptionTier = "Essentials" | "Pro" | "Enterprise"; type PermissionSet (line 7) | interface PermissionSet { constant PERMISSION_MATRIX (line 14) | const PERMISSION_MATRIX: Record< function getPermissionSet (line 70) | async function getPermissionSet( FILE: lib/changelog.ts type ChangelogEntry (line 1) | interface ChangelogEntry { FILE: lib/database/chat/queries.ts function getChatsByUser (line 6) | async function getChatsByUser(userId: string) { function saveChat (line 32) | async function saveChat({ id, title }: { id: string; title: string }) { function getChatById (line 64) | async function getChatById(chatId: string) { function saveMessages (line 88) | async function saveMessages({ function getMessagesByChatId (line 130) | async function getMessagesByChatId(chatId: string) { function getDraftedReportById (line 155) | async function getDraftedReportById(draftedReportId: string) { function deleteChatById (line 187) | async function deleteChatById(chatId: string) { function searchGeeDatasets (line 240) | async function searchGeeDatasets(query: string) { FILE: lib/database/chat/tools.ts function requestGeospatialAnalysis (line 11) | async function requestGeospatialAnalysis(args: any) { function requestLoadingGeospatialData (line 139) | async function requestLoadingGeospatialData(args: any) { function requestRagQuery (line 253) | async function requestRagQuery(args: any) { function draftReport (line 267) | async function draftReport(args: any) { function requestWebScraping (line 316) | async function requestWebScraping(args: any) { FILE: lib/database/usage.ts function incrementRequestCount (line 4) | async function incrementRequestCount(userId: string) { function getUsageForUser (line 37) | async function getUsageForUser(userId: string) { function getUserRoleAndTier (line 52) | async function getUserRoleAndTier(userId: string) { FILE: lib/fetchers/chat.ts function fetchChatHistory (line 1) | async function fetchChatHistory() { FILE: lib/geospatial/gee/analysis-functions/heat-analysis/urban-heat-island-analysis.ts type AggregationMethodType (line 7) | type AggregationMethodType = "Median" | "Mean" | "Max" | "Min"; FILE: lib/geospatial/gee/analysis-functions/lancover-landuse-mapping/google-dynamic-world-landcover-mapping.ts type LegendConfig (line 6) | interface LegendConfig { type DynamicWorldResult (line 11) | interface DynamicWorldResult { function googleDynamicWorldMapping (line 19) | async function googleDynamicWorldMapping( FILE: lib/geospatial/gee/analysis-functions/lancover-landuse-mapping/landcover-change-mapping.ts type LandCoverChangeResult (line 6) | interface LandCoverChangeResult { constant DW_LABELS (line 15) | const DW_LABELS = [ constant DW_PALETTE (line 28) | const DW_PALETTE = [ constant PROB_THRESHOLD (line 40) | const PROB_THRESHOLD = 0.5; function computeClassDistribution (line 45) | async function computeClassDistribution( function landcoverChangeMapping (line 86) | async function landcoverChangeMapping( FILE: lib/geospatial/gee/analysis-functions/pollution-analysis/air-pollution-analysis.ts type MonitoringResult (line 7) | interface MonitoringResult { FILE: lib/geospatial/gee/extract-values-from-gee-layer/extract-values-from-gee-layer.ts type inputArgsType (line 8) | type inputArgsType = { function extractValuesFromGeeMap (line 33) | async function extractValuesFromGeeMap({ FILE: lib/geospatial/gee/extract-values-from-gee-layer/geospatial-analyses/extract-values-from-air-pollution-map.ts type InputArgsType (line 4) | type InputArgsType = { type AggregationMethodType (line 14) | type AggregationMethodType = "Mean" | "Median" | "Max" | "Min"; function extractValuesFromAirPollutionMap (line 16) | async function extractValuesFromAirPollutionMap({ FILE: lib/geospatial/gee/extract-values-from-gee-layer/geospatial-analyses/extract-values-from-google-dynamic-world-map.ts type InputArgsType (line 4) | type InputArgsType = { function extractValuesFromDynamicWorldMap (line 10) | async function extractValuesFromDynamicWorldMap({ FILE: lib/geospatial/gee/extract-values-from-gee-layer/geospatial-analyses/extract-values-from-landcover-change-map.ts constant PROB_THRESHOLD (line 3) | const PROB_THRESHOLD = 0.5; type InputArgsType (line 5) | type InputArgsType = { function extractValuesFromLandcoverChangeMap (line 13) | async function extractValuesFromLandcoverChangeMap({ function parseGeometry (line 178) | function parseGeometry(featureGeom: any) { FILE: lib/geospatial/gee/extract-values-from-gee-layer/geospatial-analyses/extract-values-from-sentinel-landcover-landuse-map.ts type InputArgsType (line 5) | type InputArgsType = { function extractValuesFromSentinelLandcoverLanduseMap (line 12) | async function extractValuesFromSentinelLandcoverLanduseMap({ function waitForTaskCompletion (line 113) | async function waitForTaskCompletion(taskId: string) { FILE: lib/geospatial/gee/extract-values-from-gee-layer/geospatial-analyses/extract-values-from-urban-heat-island-map.ts type inputArgsType (line 6) | type inputArgsType = { type AggregationMethodType (line 13) | type AggregationMethodType = "Mean" | "Median" | "Max" | "Min"; function extractValuesFromUrbanHeatIslandMap (line 15) | async function extractValuesFromUrbanHeatIslandMap({ FILE: lib/geospatial/gee/load-data/load-raster-data.ts type RasterDataResult (line 6) | interface RasterDataResult { type visParams (line 17) | interface visParams { function loadRasterData (line 23) | async function loadRasterData( FILE: lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: middleware.ts function middleware (line 4) | async function middleware(request: NextRequest) { FILE: stores/use-buttons-store.ts type ButtonGroup (line 3) | type ButtonGroup = "draw_point" | "draw_polygon" | "simple_select" | null; type BuildCenterButton (line 4) | type BuildCenterButton = type WorkflowActionButton (line 11) | type WorkflowActionButton = "stop" | "run" | "queue"; type AiAppBuilderActionButton (line 14) | type AiAppBuilderActionButton = "run" | "stop" | "queue" | "save"; type ButtonsStore (line 16) | interface ButtonsStore { FILE: stores/use-integration-store.ts type IntegrationState (line 5) | interface IntegrationState { FILE: stores/use-loading-store.ts type LoadingState (line 3) | interface LoadingState { FILE: stores/use-sidebar-button-stores.ts type Pages (line 4) | enum Pages { type SidebarButtonStoreState (line 16) | interface SidebarButtonStoreState { FILE: stores/use-toast-message-store.ts type ToastStore (line 4) | interface ToastStore { FILE: stores/use-user-profile-store.ts type UserState (line 4) | interface UserState { FILE: types/global.d.ts type MultiAnalysisOptionsType (line 17) | type MultiAnalysisOptionsType = type MultiAnalysisFunctionNames (line 25) | type MultiAnalysisFunctionNames = type MultiAnalysisOptionsTypeForVulnerabilityMapBuilderType (line 29) | type MultiAnalysisOptionsTypeForVulnerabilityMapBuilderType = type MultiAnalysisOptionsTypeForAirPollutantsAnalysisType (line 34) | type MultiAnalysisOptionsTypeForAirPollutantsAnalysisType = type AirPollutantsUnits (line 40) | type AirPollutantsUnits = "mol/m²" | "ppm" | "ppb" | "index"; type MultiAnalysisFunctionsConfigType (line 45) | type MultiAnalysisFunctionsConfigType = { type AggregationMethodType (line 57) | type AggregationMethodType = type AggregationMethodTypeCategorical (line 65) | type AggregationMethodTypeCategorical = "Mode" | "90th Percentile"; type AggregationMethodTypeNumerical (line 67) | type AggregationMethodTypeNumerical = "Mean" | "Median" | "Max" | "Min"; type AI_ASSISTANTS_TYPE (line 72) | type AI_ASSISTANTS_TYPE = { type BasemapType (line 81) | type BasemapType = "satellite" | "osm"; type CitationBadgeProps (line 86) | type CitationBadgeProps = { type UHIMetrics (line 99) | type UHIMetrics = UHIMetric[]; type ProcessDocumentFileProps (line 104) | type ProcessDocumentFileProps = { type MenuPosition (line 112) | type MenuPosition = { type ServiceType (line 121) | type ServiceType = type ServiceStatus (line 130) | type ServiceStatus = "connected" | "not_connected"; type MultiAnalysisSettingsModalProps (line 139) | interface MultiAnalysisSettingsModalProps { type UHIMetric (line 147) | interface UHIMetric { type GeeOutputItem (line 157) | interface GeeOutputItem { type Source (line 168) | interface Source { type LegendConfig (line 176) | interface LegendConfig { type GeospatialAnalysisResult (line 186) | interface GeospatialAnalysisResult { type ToolCallingMessageResults (line 198) | interface ToolCallingMessageResults { type ChatHistory (line 210) | interface ChatHistory { type ChatResponseBoxProps (line 219) | interface ChatResponseBoxProps { type TableColumn (line 227) | interface TableColumn { type User (line 237) | interface User { type DocumentFile (line 246) | interface DocumentFile { type TableAction (line 258) | interface TableAction { type TextEditorProps (line 268) | interface TextEditorProps { type ChatInputBoxProps (line 275) | interface ChatInputBoxProps { type ROIGeometry (line 286) | interface ROIGeometry { type IntegrationService (line 296) | interface IntegrationService { type Feature (line 308) | interface Feature { type ArcGISLayer (line 324) | interface ArcGISLayer { type MapLayer (line 334) | interface MapLayer { FILE: utils/general/general-utils.ts function extractYear (line 9) | function extractYear(dateString: string): number { function cleanString (line 28) | function cleanString(str: string): string { function removeExtension (line 32) | function removeExtension(filename: string): string { FILE: utils/reset-chat-stores.ts function resetChatStores (line 26) | function resetChatStores() { FILE: utils/supabase/client.ts function createClient (line 3) | function createClient() { FILE: utils/supabase/middleware.ts function updateSession (line 4) | async function updateSession(request: NextRequest) { FILE: utils/supabase/server.ts function createClient (line 4) | async function createClient() { FILE: utils/validation-utils/validation-utils.ts function isValidUrl (line 3) | function isValidUrl(url: string): boolean { function sanitizeUrl (line 12) | function sanitizeUrl(url: string): string { function isValidLayerName (line 16) | function isValidLayerName(name: string): boolean { function sanitizeLayerName (line 20) | function sanitizeLayerName(name: string): string { function validateAndSanitizeUrl (line 24) | function validateAndSanitizeUrl(url: string): string | null { function validateAndSanitizeLayerName (line 32) | function validateAndSanitizeLayerName(name: string): string | null {