{"version":3,"file":"static/chunks/5030-257cf5be4be8732e.js","mappings":"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","sources":["webpack://_N_E/./generated/clients/ludus-service-client/requests/schemas.gen.ts","webpack://_N_E/./generated/clients/ludus-service-client/requests/index.ts","webpack://_N_E/./src/components/ui/popover.tsx","webpack://_N_E/./src/hooks/use-routes.ts","webpack://_N_E/./src/lib/utils.ts","webpack://_N_E/./src/utils/AppConfig.ts","webpack://_N_E/./src/libs/i18nNavigation.ts","webpack://_N_E/"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nexport const $KnowledgeBaseExternalSourceUpload = {\n type: \"object\",\n properties: {\n application: {\n type: \"string\",\n enum: [\"GOOGLE_DRIVE\", \"DROPBOX\"],\n },\n externalFileId: {\n type: \"string\",\n minLength: 1,\n maxLength: 512,\n },\n },\n required: [\"application\", \"externalFileId\"],\n} as const;\n\nexport const $CreateKnowledgeBaseFileUploadBodyDto = {\n type: \"object\",\n properties: {\n fileName: {\n type: \"string\",\n },\n folders: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n mimeType: {\n type: \"string\",\n enum: [\n \"application/pdf\",\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"text/html\",\n \"application/vnd.oasis.opendocument.text\",\n \"text/plain\",\n \"text/xml\",\n \"application/json\",\n \"application/rtf\",\n \"application/xml\",\n \"application/vnd.ms-powerpoint\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n \"audio/aac\",\n \"audio/mpeg\",\n \"audio/ogg\",\n \"audio/wav\",\n \"audio/webm\",\n \"audio/vnd.wave\",\n ],\n },\n fileSizeInBytes: {\n type: \"number\",\n minimum: 250,\n maximum: 52428800,\n },\n parentFolderId: {\n type: \"string\",\n },\n externalUpload: {\n $ref: \"#/components/schemas/KnowledgeBaseExternalSourceUpload\",\n },\n },\n required: [\"fileName\", \"mimeType\", \"fileSizeInBytes\"],\n} as const;\n\nexport const $KnowledgeBaseFileMetadataEntity = {\n type: \"object\",\n properties: {\n title: {\n type: \"string\",\n },\n authors: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n pageCount: {\n type: \"number\",\n },\n topics: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n people: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n places: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n timePeriods: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n summary: {\n type: \"string\",\n },\n },\n} as const;\n\nexport const $KnowledgeBaseFileProcessMetadataEntity = {\n type: \"object\",\n properties: {\n pagesPerPart: {\n type: \"number\",\n },\n workflowExecutionStartDate: {\n format: \"date-time\",\n type: \"string\",\n },\n workflowExecutionArn: {\n type: \"string\",\n },\n },\n} as const;\n\nexport const $UserSubscriptionEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n tier: {\n type: \"string\",\n enum: [\"FREE\", \"PREMIUM\"],\n },\n paidDate: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n endDate: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n startDate: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n status: {\n type: \"string\",\n enum: [\n \"NOT_SUBSCRIBED\",\n \"TRIAL\",\n \"PAUSED\",\n \"ACTIVE\",\n \"EXPIRED\",\n \"CANCELED\",\n ],\n },\n lastPaidAt: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n paidStatus: {\n type: \"string\",\n nullable: true,\n enum: [\"NOT_SUBSCRIBED\", \"SUCCEEDED\", \"FAILED\"],\n },\n isActive: {\n type: \"boolean\",\n },\n effectiveTier: {\n type: \"string\",\n enum: [\"FREE\", \"PREMIUM\"],\n },\n effectiveTotalKnowledgeBases: {\n type: \"number\",\n },\n effectiveTotalLayers: {\n type: \"number\",\n },\n effectiveTotalStorage: {\n type: \"number\",\n },\n effectiveTotalCredits: {\n type: \"number\",\n },\n effectiveTotalPages: {\n type: \"number\",\n },\n effectiveTotalSolverTasks: {\n type: \"number\",\n },\n effectiveAssignmentPageLength: {\n type: \"number\",\n },\n effectiveTotalAudioSeconds: {\n type: \"number\",\n },\n hasUpgradeAvailable: {\n type: \"boolean\",\n },\n },\n required: [\n \"id\",\n \"createdAt\",\n \"updatedAt\",\n \"tier\",\n \"paidDate\",\n \"endDate\",\n \"startDate\",\n \"status\",\n \"lastPaidAt\",\n \"paidStatus\",\n \"isActive\",\n \"effectiveTier\",\n \"effectiveTotalKnowledgeBases\",\n \"effectiveTotalLayers\",\n \"effectiveTotalStorage\",\n \"effectiveTotalCredits\",\n \"effectiveTotalPages\",\n \"effectiveTotalSolverTasks\",\n \"effectiveAssignmentPageLength\",\n \"effectiveTotalAudioSeconds\",\n \"hasUpgradeAvailable\",\n ],\n} as const;\n\nexport const $UserEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n email: {\n type: \"string\",\n },\n isVerified: {\n type: \"boolean\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n accountStatus: {\n enum: [\"GOOD_STANDING\", \"FROZEN\"],\n type: \"string\",\n },\n frozenAt: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n profileImageUrl: {\n type: \"string\",\n nullable: true,\n },\n firstName: {\n type: \"string\",\n nullable: true,\n },\n lastName: {\n type: \"string\",\n nullable: true,\n },\n username: {\n type: \"string\",\n nullable: true,\n },\n subscription: {\n nullable: true,\n allOf: [\n {\n $ref: \"#/components/schemas/UserSubscriptionEntity\",\n },\n ],\n },\n isVerifiedPublisher: {\n type: \"boolean\",\n nullable: true,\n },\n fullName: {\n type: \"string\",\n nullable: true,\n },\n },\n required: [\n \"id\",\n \"email\",\n \"isVerified\",\n \"createdAt\",\n \"updatedAt\",\n \"accountStatus\",\n \"frozenAt\",\n \"profileImageUrl\",\n \"firstName\",\n \"lastName\",\n \"username\",\n \"isVerifiedPublisher\",\n \"fullName\",\n ],\n} as const;\n\nexport const $KnowledgeBaseFilePartMetadata = {\n type: \"object\",\n properties: {\n extractJobId: {\n type: \"string\",\n nullable: true,\n },\n },\n} as const;\n\nexport const $KnowledgeBaseFilePartEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n fileId: {\n type: \"string\",\n },\n partNumber: {\n type: \"number\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n step: {\n type: \"string\",\n enum: [\n \"UPLOADING\",\n \"CONVERTING\",\n \"SPLITTING\",\n \"EXTRACTING\",\n \"PARSING\",\n \"EMBEDDING\",\n \"COMPLETED\",\n ],\n },\n stepStatus: {\n type: \"string\",\n enum: [\"IN_PROGRESS\", \"SUCCEEDED\", \"FAILED\"],\n },\n metadata: {\n nullable: true,\n allOf: [\n {\n $ref: \"#/components/schemas/KnowledgeBaseFilePartMetadata\",\n },\n ],\n },\n isUploaded: {\n type: \"boolean\",\n },\n isConverted: {\n type: \"boolean\",\n },\n isSplit: {\n type: \"boolean\",\n },\n isExtracted: {\n type: \"boolean\",\n },\n isParsed: {\n type: \"boolean\",\n },\n isEmbedded: {\n type: \"boolean\",\n },\n },\n required: [\n \"id\",\n \"fileId\",\n \"partNumber\",\n \"createdAt\",\n \"updatedAt\",\n \"step\",\n \"stepStatus\",\n \"metadata\",\n \"isUploaded\",\n \"isConverted\",\n \"isSplit\",\n \"isExtracted\",\n \"isParsed\",\n \"isEmbedded\",\n ],\n} as const;\n\nexport const $UserUsageMetricEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n name: {\n type: \"string\",\n enum: [\n \"PAGES_USED\",\n \"STORAGE_USED\",\n \"CREDITS_USED\",\n \"KNOWLEDGE_BASES_OWNED\",\n \"LAYERS_OWNED\",\n \"SOLVER_TASKS_PERFORMED\",\n \"AUDIO_SECONDS_USED\",\n ],\n },\n value: {\n type: \"number\",\n },\n userId: {\n type: \"string\",\n },\n entityId: {\n type: \"string\",\n nullable: true,\n },\n entityType: {\n type: \"string\",\n enum: [\"FILE\", \"CHAT_SESSION\", \"KNOWLEDGE_BASE\", \"SOLVER_TASK\", \"LAYER\"],\n },\n userUsageId: {\n type: \"string\",\n },\n usageCycleId: {\n type: \"string\",\n nullable: true,\n },\n shouldMeter: {\n type: \"boolean\",\n },\n isMetered: {\n type: \"boolean\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n },\n required: [\n \"id\",\n \"name\",\n \"value\",\n \"userId\",\n \"entityId\",\n \"entityType\",\n \"userUsageId\",\n \"usageCycleId\",\n \"shouldMeter\",\n \"isMetered\",\n \"createdAt\",\n \"updatedAt\",\n ],\n} as const;\n\nexport const $KnowledgeBaseLayerEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n name: {\n type: \"string\",\n },\n visibility: {\n enum: [\"PUBLIC\", \"PRIVATE\", \"UNLISTED\", \"COMMUNITY\"],\n type: \"string\",\n },\n status: {\n enum: [\"READY\", \"DELETING\"],\n type: \"string\",\n },\n shortDescription: {\n type: \"string\",\n nullable: true,\n },\n isOfficial: {\n type: \"boolean\",\n nullable: true,\n },\n category: {\n type: \"string\",\n nullable: true,\n },\n isFeatured: {\n type: \"boolean\",\n nullable: true,\n },\n authorId: {\n type: \"string\",\n nullable: true,\n },\n subscriptionCount: {\n type: \"number\",\n },\n starCount: {\n type: \"number\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n overview: {\n type: \"string\",\n },\n relevanceScore: {\n type: \"number\",\n nullable: true,\n },\n },\n required: [\n \"id\",\n \"name\",\n \"visibility\",\n \"status\",\n \"shortDescription\",\n \"isOfficial\",\n \"category\",\n \"isFeatured\",\n \"authorId\",\n \"subscriptionCount\",\n \"starCount\",\n \"tags\",\n \"createdAt\",\n \"updatedAt\",\n \"relevanceScore\",\n ],\n} as const;\n\nexport const $KnowledgeBaseLayerConnectionEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n knowledgeBaseId: {\n type: \"string\",\n },\n role: {\n enum: [\"PUBLISHER\", \"SUBSCRIBER\"],\n type: \"string\",\n },\n layerId: {\n type: \"string\",\n },\n isEnabled: {\n type: \"boolean\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n layer: {\n $ref: \"#/components/schemas/KnowledgeBaseLayerEntity\",\n },\n },\n required: [\n \"id\",\n \"knowledgeBaseId\",\n \"role\",\n \"layerId\",\n \"isEnabled\",\n \"createdAt\",\n \"updatedAt\",\n ],\n} as const;\n\nexport const $KnowledgeBaseEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n title: {\n type: \"string\",\n },\n ownerId: {\n type: \"string\",\n },\n status: {\n enum: [\"READY\", \"DELETING\"],\n type: \"string\",\n },\n definedTags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n owner: {\n $ref: \"#/components/schemas/UserEntity\",\n },\n layerConnections: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseLayerConnectionEntity\",\n },\n },\n },\n required: [\n \"id\",\n \"createdAt\",\n \"updatedAt\",\n \"title\",\n \"ownerId\",\n \"status\",\n \"definedTags\",\n ],\n} as const;\n\nexport const $KnowledgeBaseFileEntity = {\n type: \"object\",\n properties: {\n mimeType: {\n type: \"string\",\n enum: [\n \"image/png\",\n \"image/jpeg\",\n \"text/csv\",\n \"text/css\",\n \"text/html\",\n \"application/vnd.oasis.opendocument.text\",\n \"text/plain\",\n \"text/xml\",\n \"application/msword\",\n \"application/json\",\n \"application/vnd.oasis.opendocument.spreadsheet\",\n \"application/pdf\",\n \"application/rtf\",\n \"application/vnd.ms-excel\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"application/xml\",\n \"application/vnd.ms-powerpoint\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n \"audio/aac\",\n \"audio/mpeg\",\n \"audio/ogg\",\n \"audio/wav\",\n \"audio/webm\",\n \"audio/vnd.wave\",\n ],\n example: \"image/png\",\n },\n language: {\n type: \"string\",\n enum: [\n \"ar\",\n \"hy\",\n \"eu\",\n \"ca\",\n \"da\",\n \"nl\",\n \"en\",\n \"fi\",\n \"fr\",\n \"de\",\n \"el\",\n \"hi\",\n \"hu\",\n \"id\",\n \"ja\",\n \"ko\",\n \"ga\",\n \"it\",\n \"lt\",\n \"ne\",\n \"no\",\n \"pt\",\n \"ro\",\n \"ru\",\n \"sr\",\n \"es\",\n \"sv\",\n \"ta\",\n \"tr\",\n \"yi\",\n \"zh\",\n ],\n example: \"ar\",\n },\n externalApplication: {\n nullable: true,\n type: \"string\",\n enum: [\"GOOGLE_DRIVE\", \"DROPBOX\"],\n },\n id: {\n type: \"string\",\n },\n knowledgeBaseId: {\n type: \"string\",\n },\n uploadedById: {\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n step: {\n enum: [\n \"UPLOADING\",\n \"CONVERTING\",\n \"ANALYZING\",\n \"SPLITTING\",\n \"EXTRACTING\",\n \"PARSING\",\n \"EMBEDDING\",\n \"POST_PROCESSING\",\n \"COMPLETED\",\n ],\n type: \"string\",\n },\n stepStatus: {\n enum: [\"IN_PROGRESS\", \"SUCCEEDED\", \"FAILED\"],\n type: \"string\",\n },\n failureReason: {\n type: \"string\",\n nullable: true,\n },\n status: {\n enum: [\"IN_PROGRESS\", \"SUCCEEDED\", \"FAILED\", \"DELETING\"],\n type: \"string\",\n },\n beganUploadAt: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n finishUploadAt: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n publishedAt: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n name: {\n type: \"string\",\n },\n fileType: {\n enum: [\n \"PRESENTATION\",\n \"IMAGE\",\n \"VIDEO\",\n \"ZIP\",\n \"AUDIO\",\n \"TEXT\",\n \"SPREADSHEET\",\n \"DOCUMENT\",\n \"CODE\",\n \"WEBSITE\",\n ],\n type: \"string\",\n },\n sizeInBytes: {\n type: \"number\",\n },\n partCount: {\n type: \"number\",\n nullable: true,\n },\n chunkCount: {\n type: \"number\",\n nullable: true,\n },\n embeddingDimension: {\n type: \"object\",\n nullable: true,\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n parentFolderId: {\n type: \"string\",\n nullable: true,\n },\n checksum: {\n type: \"string\",\n nullable: true,\n },\n metadata: {\n nullable: true,\n allOf: [\n {\n $ref: \"#/components/schemas/KnowledgeBaseFileMetadataEntity\",\n },\n ],\n },\n processMetadata: {\n nullable: true,\n allOf: [\n {\n $ref: \"#/components/schemas/KnowledgeBaseFileProcessMetadataEntity\",\n },\n ],\n },\n externalFileId: {\n type: \"string\",\n },\n location: {\n enum: [\"KNOWLEDGE_BASE\", \"TRASH\", \"EXTERNAL\"],\n type: \"string\",\n },\n locationUpdatedAt: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n uploadedBy: {\n $ref: \"#/components/schemas/UserEntity\",\n },\n parts: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseFilePartEntity\",\n },\n },\n usageMetrics: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/UserUsageMetricEntity\",\n },\n },\n knowledgeBase: {\n $ref: \"#/components/schemas/KnowledgeBaseEntity\",\n },\n thumbnailImageUrl: {\n type: \"string\",\n nullable: true,\n },\n isExtracted: {\n type: \"boolean\",\n },\n isIndexed: {\n type: \"boolean\",\n },\n isSearchable: {\n type: \"boolean\",\n },\n isUploaded: {\n type: \"boolean\",\n },\n isConverted: {\n type: \"boolean\",\n },\n isAnalyzed: {\n type: \"boolean\",\n },\n isSplit: {\n type: \"boolean\",\n },\n isParsed: {\n type: \"boolean\",\n },\n isEmbedded: {\n type: \"boolean\",\n },\n isPostProcessed: {\n type: \"boolean\",\n },\n },\n required: [\n \"mimeType\",\n \"id\",\n \"knowledgeBaseId\",\n \"uploadedById\",\n \"createdAt\",\n \"updatedAt\",\n \"step\",\n \"stepStatus\",\n \"status\",\n \"beganUploadAt\",\n \"finishUploadAt\",\n \"publishedAt\",\n \"name\",\n \"fileType\",\n \"sizeInBytes\",\n \"tags\",\n \"parentFolderId\",\n \"location\",\n \"locationUpdatedAt\",\n \"isExtracted\",\n \"isIndexed\",\n \"isSearchable\",\n \"isUploaded\",\n \"isConverted\",\n \"isAnalyzed\",\n \"isSplit\",\n \"isParsed\",\n \"isEmbedded\",\n \"isPostProcessed\",\n ],\n} as const;\n\nexport const $FileBlobUploadDetailsEntity = {\n type: \"object\",\n properties: {\n presignedUrl: {\n type: \"string\",\n },\n presignedFields: {\n type: \"object\",\n },\n },\n required: [\"presignedUrl\", \"presignedFields\"],\n} as const;\n\nexport const $CreateKnowledgeBaseFileUploadResponseDto = {\n type: \"object\",\n properties: {\n file: {\n $ref: \"#/components/schemas/KnowledgeBaseFileEntity\",\n },\n uploadDetails: {\n $ref: \"#/components/schemas/FileBlobUploadDetailsEntity\",\n },\n },\n required: [\"file\", \"uploadDetails\"],\n} as const;\n\nexport const $PageInfoEntity = {\n type: \"object\",\n properties: {\n hasNextPage: {\n type: \"boolean\",\n },\n nextCursor: {\n type: \"string\",\n },\n },\n required: [\"hasNextPage\"],\n} as const;\n\nexport const $GetKnowledgeBasesForUserResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $UserUpdateKnowledgeBaseBodyDto = {\n type: \"object\",\n properties: {\n title: {\n type: \"string\",\n },\n },\n} as const;\n\nexport const $FindKnowledgeBaseFilesResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseFileEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $GetKnowledgeBaseFileUrlResponseDto = {\n type: \"object\",\n properties: {\n file: {\n $ref: \"#/components/schemas/KnowledgeBaseFileEntity\",\n },\n url: {\n type: \"string\",\n },\n },\n required: [\"file\", \"url\"],\n} as const;\n\nexport const $GetKnowledgeBaseFileAudioTranscriptUrlResponseDto = {\n type: \"object\",\n properties: {\n file: {\n $ref: \"#/components/schemas/KnowledgeBaseFileEntity\",\n },\n transcriptUrl: {\n type: \"string\",\n },\n vttUrl: {\n type: \"string\",\n },\n },\n required: [\"file\", \"transcriptUrl\", \"vttUrl\"],\n} as const;\n\nexport const $UserUpdateKnowledgeBaseFileBodyDto = {\n type: \"object\",\n properties: {\n fileName: {\n type: \"string\",\n },\n location: {\n type: \"string\",\n enum: [\"KNOWLEDGE_BASE\", \"TRASH\"],\n },\n },\n} as const;\n\nexport const $MoveKnowledgeBaseFilesBodyDto = {\n type: \"object\",\n properties: {\n fileIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n destinationFolderId: {\n type: \"string\",\n minLength: 1,\n maxLength: 128,\n },\n },\n required: [\"fileIds\", \"destinationFolderId\"],\n} as const;\n\nexport const $KnowledgeBaseFolderEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n knowledgeBaseId: {\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n uploadedById: {\n type: \"string\",\n },\n name: {\n type: \"string\",\n },\n parentFolderId: {\n type: \"string\",\n nullable: true,\n },\n folderDepth: {\n type: \"number\",\n },\n location: {\n enum: [\"KNOWLEDGE_BASE\", \"TRASH\", \"EXTERNAL\"],\n type: \"string\",\n },\n locationUpdatedAt: {\n format: \"date-time\",\n type: \"string\",\n nullable: true,\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n systemTags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n isRootFolder: {\n type: \"boolean\",\n },\n uploadedBy: {\n $ref: \"#/components/schemas/UserEntity\",\n },\n parentFolder: {\n nullable: true,\n allOf: [\n {\n $ref: \"#/components/schemas/KnowledgeBaseFolderEntity\",\n },\n ],\n },\n },\n required: [\n \"id\",\n \"knowledgeBaseId\",\n \"createdAt\",\n \"updatedAt\",\n \"uploadedById\",\n \"name\",\n \"parentFolderId\",\n \"folderDepth\",\n \"location\",\n \"locationUpdatedAt\",\n \"tags\",\n \"systemTags\",\n \"isRootFolder\",\n ],\n} as const;\n\nexport const $FindKnowledgeBaseFoldersResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseFolderEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $UserUpdateKnowledgeBaseFolderBodyDto = {\n type: \"object\",\n properties: {\n folderName: {\n type: \"string\",\n },\n location: {\n type: \"string\",\n enum: [\"KNOWLEDGE_BASE\", \"TRASH\"],\n },\n },\n} as const;\n\nexport const $MoveKnowledgeBaseFoldersBodyDto = {\n type: \"object\",\n properties: {\n folderIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n destinationFolderId: {\n type: \"string\",\n minLength: 1,\n maxLength: 128,\n },\n },\n required: [\"folderIds\", \"destinationFolderId\"],\n} as const;\n\nexport const $CreateKnowledgeBaseBodyDto = {\n type: \"object\",\n properties: {\n title: {\n type: \"string\",\n },\n },\n required: [\"title\"],\n} as const;\n\nexport const $CreateKnowledgeBaseFolderBodyDto = {\n type: \"object\",\n properties: {\n folderName: {\n type: \"string\",\n },\n parentFolderId: {\n type: \"string\",\n },\n },\n required: [\"folderName\"],\n} as const;\n\nexport const $SolverTaskType = {\n type: \"string\",\n enum: [\"ASSIGNMENT\"],\n} as const;\n\nexport const $SolverTaskEntityMetadata = {\n type: \"object\",\n properties: {\n knowledgeBaseId: {\n type: \"string\",\n },\n fileId: {\n type: \"string\",\n },\n workflowExecutionStartDate: {\n format: \"date-time\",\n type: \"string\",\n },\n workflowExecutionArn: {\n type: \"string\",\n },\n effectiveAssignmentPageLength: {\n type: \"number\",\n },\n },\n required: [\"fileId\"],\n} as const;\n\nexport const $SolverOutput = {\n type: \"object\",\n properties: {\n solverTaskId: {\n type: \"string\",\n },\n knowledgeBaseId: {\n type: \"string\",\n },\n fileId: {\n type: \"string\",\n },\n totalCreditsUsed: {\n type: \"number\",\n },\n solverType: {\n type: \"string\",\n enum: [\"ASSIGNMENT\"],\n },\n data: {\n type: \"object\",\n },\n },\n required: [\n \"solverTaskId\",\n \"knowledgeBaseId\",\n \"fileId\",\n \"totalCreditsUsed\",\n \"solverType\",\n \"data\",\n ],\n} as const;\n\nexport const $SolverTaskEntity = {\n type: \"object\",\n properties: {\n type: {\n $ref: \"#/components/schemas/SolverTaskType\",\n },\n id: {\n type: \"string\",\n },\n fileId: {\n type: \"string\",\n },\n ownerId: {\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n status: {\n enum: [\"IN_PROGRESS\", \"SUCCEEDED\", \"FAILED\"],\n type: \"string\",\n },\n metadata: {\n $ref: \"#/components/schemas/SolverTaskEntityMetadata\",\n },\n output: {\n $ref: \"#/components/schemas/SolverOutput\",\n },\n },\n required: [\n \"type\",\n \"id\",\n \"fileId\",\n \"ownerId\",\n \"createdAt\",\n \"updatedAt\",\n \"status\",\n \"metadata\",\n ],\n} as const;\n\nexport const $GetKnowledgeBaseFileSolverTasksForUserResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/SolverTaskEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $CreateChatSessionBodyDto = {\n type: \"object\",\n properties: {\n title: {\n type: \"string\",\n minLength: 1,\n maxLength: 1024,\n },\n },\n required: [\"title\"],\n} as const;\n\nexport const $ChatSessionPreferences = {\n type: \"object\",\n properties: {\n filters: {\n type: \"object\",\n properties: {\n knowledgeBaseIds: {\n required: true,\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n },\n required: [\"filters\"],\n} as const;\n\nexport const $ChatSessionEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n title: {\n type: \"string\",\n },\n ownerId: {\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n lastActivityAt: {\n format: \"date-time\",\n type: \"string\",\n },\n preferences: {\n $ref: \"#/components/schemas/ChatSessionPreferences\",\n },\n },\n required: [\n \"id\",\n \"title\",\n \"ownerId\",\n \"createdAt\",\n \"updatedAt\",\n \"lastActivityAt\",\n \"preferences\",\n ],\n} as const;\n\nexport const $AskKnowledgeBaseChatBodyDto = {\n type: \"object\",\n properties: {\n connectionId: {\n type: \"string\",\n minLength: 1,\n maxLength: 512,\n },\n questionId: {\n type: \"string\",\n },\n kbIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n askQuery: {\n type: \"string\",\n minLength: 1,\n maxLength: 1024,\n },\n all: {\n type: \"boolean\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n maxLength: 32,\n },\n },\n fallbackToGeneralKnowledge: {\n type: \"boolean\",\n },\n },\n required: [\"connectionId\", \"questionId\", \"kbIds\", \"askQuery\"],\n} as const;\n\nexport const $ChatSourceContentMetadata = {\n type: \"object\",\n properties: {\n startPage: {\n type: \"number\",\n },\n endPage: {\n type: \"number\",\n },\n durationStart: {\n type: \"number\",\n },\n durationEnd: {\n type: \"number\",\n },\n },\n} as const;\n\nexport const $ChatSourceContent = {\n type: \"object\",\n properties: {\n chunkId: {\n type: \"string\",\n },\n contentId: {\n type: \"string\",\n },\n content: {\n type: \"string\",\n },\n metadata: {\n $ref: \"#/components/schemas/ChatSourceContentMetadata\",\n },\n },\n required: [\"chunkId\", \"contentId\", \"content\"],\n} as const;\n\nexport const $ChatSourceEntity = {\n type: \"object\",\n properties: {\n answerId: {\n type: \"string\",\n },\n referenceMaterialId: {\n type: \"string\",\n },\n kbId: {\n type: \"string\",\n },\n kbTitle: {\n type: \"string\",\n },\n fileId: {\n type: \"string\",\n },\n fileName: {\n type: \"string\",\n },\n thumbnailImageUrl: {\n type: \"string\",\n nullable: true,\n },\n content: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/ChatSourceContent\",\n },\n },\n },\n required: [\n \"answerId\",\n \"referenceMaterialId\",\n \"kbId\",\n \"kbTitle\",\n \"fileId\",\n \"fileName\",\n \"content\",\n ],\n} as const;\n\nexport const $AskKnowledgeBaseChatResponse = {\n type: \"object\",\n properties: {\n markdownAnswer: {\n type: \"string\",\n },\n answerId: {\n type: \"string\",\n },\n sources: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/ChatSourceEntity\",\n },\n },\n },\n required: [\"markdownAnswer\", \"answerId\", \"sources\"],\n} as const;\n\nexport const $CreateCheckoutSessionBodyDto = {\n type: \"object\",\n properties: {\n tier: {\n type: \"string\",\n enum: [\"FREE\", \"PREMIUM\"],\n },\n },\n required: [\"tier\"],\n} as const;\n\nexport const $SubscriptionTier = {\n type: \"string\",\n enum: [\"FREE\", \"PREMIUM\"],\n} as const;\n\nexport const $CheckoutSessionEntity = {\n type: \"object\",\n properties: {\n tier: {\n $ref: \"#/components/schemas/SubscriptionTier\",\n },\n url: {\n type: \"string\",\n },\n },\n required: [\"tier\", \"url\"],\n} as const;\n\nexport const $UserUsageCycleEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n pagesUsed: {\n type: \"number\",\n },\n creditsUsed: {\n type: \"number\",\n },\n knowledgeBasesOwned: {\n type: \"number\",\n },\n solverTasksPerformed: {\n type: \"number\",\n },\n audioSecondsUsed: {\n type: \"number\",\n },\n startDate: {\n format: \"date-time\",\n type: \"string\",\n },\n endDate: {\n format: \"date-time\",\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n updatedAt: {\n format: \"date-time\",\n type: \"string\",\n },\n },\n required: [\n \"id\",\n \"pagesUsed\",\n \"creditsUsed\",\n \"knowledgeBasesOwned\",\n \"solverTasksPerformed\",\n \"audioSecondsUsed\",\n \"startDate\",\n \"endDate\",\n \"createdAt\",\n \"updatedAt\",\n ],\n} as const;\n\nexport const $UserUsageEntity = {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n storageUsed: {\n type: \"number\",\n },\n knowledgeBasesOwned: {\n type: \"number\",\n },\n layersOwned: {\n type: \"number\",\n },\n activeUsageCycle: {\n $ref: \"#/components/schemas/UserUsageCycleEntity\",\n },\n },\n required: [\n \"id\",\n \"storageUsed\",\n \"knowledgeBasesOwned\",\n \"layersOwned\",\n \"activeUsageCycle\",\n ],\n} as const;\n\nexport const $UserSubscriptionUsageEntity = {\n type: \"object\",\n properties: {\n remainingKnowledgeBaseLimit: {\n type: \"number\",\n },\n hasKnowledgeBaseSpaceAvailable: {\n type: \"boolean\",\n },\n remainingLayerLimit: {\n type: \"number\",\n },\n hasLayerSpaceAvailable: {\n type: \"boolean\",\n },\n remainingStorageSpace: {\n type: \"number\",\n },\n hasStorageSpaceAvailable: {\n type: \"boolean\",\n },\n remainingPageLimit: {\n type: \"number\",\n },\n hasPagesAvailable: {\n type: \"boolean\",\n },\n remainingCreditLimit: {\n type: \"number\",\n },\n hasCreditsAvailable: {\n type: \"boolean\",\n },\n remainingSolverTaskLimit: {\n type: \"number\",\n },\n hasSolverTasksAvailable: {\n type: \"boolean\",\n },\n remainingAudioSecondsLimit: {\n type: \"number\",\n },\n hasAudioSecondsAvailable: {\n type: \"boolean\",\n },\n usage: {\n $ref: \"#/components/schemas/UserUsageEntity\",\n },\n subscription: {\n $ref: \"#/components/schemas/UserSubscriptionEntity\",\n },\n },\n required: [\n \"remainingKnowledgeBaseLimit\",\n \"hasKnowledgeBaseSpaceAvailable\",\n \"remainingLayerLimit\",\n \"hasLayerSpaceAvailable\",\n \"remainingStorageSpace\",\n \"hasStorageSpaceAvailable\",\n \"remainingPageLimit\",\n \"hasPagesAvailable\",\n \"remainingCreditLimit\",\n \"hasCreditsAvailable\",\n \"remainingSolverTaskLimit\",\n \"hasSolverTasksAvailable\",\n \"remainingAudioSecondsLimit\",\n \"hasAudioSecondsAvailable\",\n \"usage\",\n \"subscription\",\n ],\n} as const;\n\nexport const $CreateSolverTaskBodyDto = {\n type: \"object\",\n properties: {\n kbId: {\n type: \"string\",\n },\n fileId: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"ASSIGNMENT\"],\n },\n },\n required: [\"kbId\", \"fileId\", \"type\"],\n} as const;\n\nexport const $ApplicationConnectionAuthEntity = {\n type: \"object\",\n properties: {\n connectionId: {\n type: \"string\",\n },\n token: {\n type: \"string\",\n },\n expiryAt: {\n format: \"date-time\",\n type: \"string\",\n },\n redirectUrl: {\n type: \"string\",\n },\n },\n} as const;\n\nexport const $HandleGoogleAuthCallbackBodyDto = {\n type: \"object\",\n properties: {\n code: {\n type: \"string\",\n },\n state: {\n type: \"string\",\n },\n },\n required: [\"code\", \"state\"],\n} as const;\n\nexport const $SearchLayersResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseLayerEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $UserLayerStarEntity = {\n type: \"object\",\n properties: {\n layerId: {\n type: \"string\",\n },\n userId: {\n type: \"string\",\n },\n isStarred: {\n type: \"boolean\",\n },\n },\n required: [\"layerId\", \"userId\", \"isStarred\"],\n} as const;\n\nexport const $GetLayerConnectionsResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseLayerConnectionEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $GetLayerUserConnectionsResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseLayerConnectionEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $GetLayersForUserResponseDto = {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/KnowledgeBaseLayerEntity\",\n },\n },\n pageInfo: {\n $ref: \"#/components/schemas/PageInfoEntity\",\n },\n },\n required: [\"data\", \"pageInfo\"],\n} as const;\n\nexport const $CreateLayerBodyDto = {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n minLength: 2,\n maxLength: 64,\n },\n visibility: {\n type: \"string\",\n enum: [\"PUBLIC\", \"PRIVATE\", \"UNLISTED\", \"COMMUNITY\"],\n },\n kbIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n shortDescription: {\n type: \"string\",\n minLength: 1,\n maxLength: 256,\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n required: [\"name\", \"visibility\", \"kbIds\"],\n} as const;\n\nexport const $EditLayerBodyDto = {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n minLength: 2,\n maxLength: 64,\n },\n visibility: {\n type: \"string\",\n enum: [\"PUBLIC\", \"PRIVATE\", \"UNLISTED\", \"COMMUNITY\"],\n },\n kbIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n shortDescription: {\n type: \"string\",\n minLength: 1,\n maxLength: 256,\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n required: [\"kbIds\"],\n} as const;\n\nexport const $EditLayerOverviewBodyDto = {\n type: \"object\",\n properties: {\n overview: {\n type: \"string\",\n minLength: 0,\n maxLength: 3000,\n },\n },\n required: [\"overview\"],\n} as const;\n\nexport const $SubscribeToLayerBodyDto = {\n type: \"object\",\n properties: {\n layerIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n kbId: {\n type: \"string\",\n },\n },\n required: [\"layerIds\", \"kbId\"],\n} as const;\n\nexport const $UnsubscribeToLayerBodyDto = {\n type: \"object\",\n properties: {\n layerIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n kbId: {\n type: \"string\",\n },\n },\n required: [\"layerIds\", \"kbId\"],\n} as const;\n\nexport const $PublishToLayerBodyDto = {\n type: \"object\",\n properties: {\n layerIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n kbId: {\n type: \"string\",\n },\n },\n required: [\"layerIds\", \"kbId\"],\n} as const;\n\nexport const $UnpublishToLayerBodyDto = {\n type: \"object\",\n properties: {\n layerIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n kbId: {\n type: \"string\",\n },\n },\n required: [\"layerIds\", \"kbId\"],\n} as const;\n\nexport const $UserWebSocketConnectionEntity = {\n type: \"object\",\n properties: {\n userId: {\n type: \"string\",\n },\n connectionId: {\n type: \"string\",\n },\n expiryAt: {\n format: \"date-time\",\n type: \"string\",\n },\n createdAt: {\n format: \"date-time\",\n type: \"string\",\n },\n },\n required: [\"userId\", \"connectionId\", \"expiryAt\", \"createdAt\"],\n} as const;\n\nexport const $WebSocketEventName = {\n type: \"string\",\n enum: [\n \"connectionInfo\",\n \"chatSources\",\n \"chatSource\",\n \"chatData\",\n \"chatEvent\",\n ],\n} as const;\n\nexport const $WebSocketConnectionMessage = {\n type: \"object\",\n properties: {\n event: {\n $ref: \"#/components/schemas/WebSocketEventName\",\n },\n data: {\n type: \"string\",\n },\n },\n required: [\"event\", \"data\"],\n} as const;\n\nexport const $ChatWebSocketData = {\n type: \"object\",\n properties: {\n questionId: {\n type: \"string\",\n },\n sessionId: {\n type: \"string\",\n },\n chunk: {\n type: \"string\",\n },\n },\n required: [\"questionId\", \"sessionId\", \"chunk\"],\n} as const;\n\nexport const $ChatEventType = {\n type: \"string\",\n enum: [\"START\", \"END\", \"ERROR\"],\n} as const;\n\nexport const $ChatWebSocketEventData = {\n type: \"object\",\n properties: {\n type: {\n $ref: \"#/components/schemas/ChatEventType\",\n },\n questionId: {\n type: \"string\",\n },\n sessionId: {\n type: \"string\",\n },\n message: {\n type: \"string\",\n },\n },\n required: [\"type\", \"questionId\", \"sessionId\"],\n} as const;\n\nexport const $ChatSourceWebSocketData = {\n type: \"object\",\n properties: {\n questionId: {\n type: \"string\",\n },\n sessionId: {\n type: \"string\",\n },\n sources: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/ChatSourceEntity\",\n },\n },\n },\n required: [\"questionId\", \"sessionId\", \"sources\"],\n} as const;\n\nexport const $ConnectionInfoWebSocketData = {\n type: \"object\",\n properties: {\n connectionId: {\n type: \"string\",\n },\n },\n required: [\"connectionId\"],\n} as const;\n","// This file is auto-generated by @hey-api/openapi-ts\nexport { ApiError } from \"./core/ApiError\";\nexport { CancelablePromise, CancelError } from \"./core/CancelablePromise\";\nexport { OpenAPI, type OpenAPIConfig } from \"./core/OpenAPI\";\nexport * from \"./schemas.gen\";\nexport * from \"./services.gen\";\nexport * from \"./types.gen\";\n","'use client';\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n \n \n \n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverContent, PopoverTrigger };\n","import type { NavigateOptions } from 'next/dist/shared/lib/app-router-context.shared-runtime';\nimport { useMemo } from 'react';\n\nimport type {\n ChatSessionId,\n KnowledgeBaseFileId,\n KnowledgeBaseFolderId,\n KnowledgeBaseId,\n KnowledgeBaseLayerId,\n} from '@/data/commons';\nimport type { SubscriptionTier } from '@/generated/clients/ludus-service-client/requests';\nimport { useRouter } from '@/libs/i18nNavigation';\n\ninterface IQueryString {\n key: string;\n value?: string | string[];\n}\n\nexport type INavigateOptions = NavigateOptions & {\n newTab?: boolean;\n};\n\nconst createQueryString = (queryStrings: IQueryString[]): string => {\n const params = new URLSearchParams();\n\n for (const queryString of queryStrings) {\n const { key, value } = queryString;\n\n if (value) {\n if (Array.isArray(value)) {\n for (const queryElement of value) {\n params.append(key, queryElement);\n }\n } else {\n params.append(key, value);\n }\n }\n }\n\n return params.toString();\n};\n\nexport const ROUTES = {\n ROOT: '/',\n TERMS: '/legal/terms',\n LAYER_HELP: '/layers',\n CONTACT: '/contact',\n PRIVACY: '/legal/privacy',\n AUTH_HOME: '/home', // don't change this unless you also change the clerk protected auth directory and nextjs folder paths\n KNOWLEDGE_HUB: `/home/hub`,\n MANAGE_LAYERS: `/home/layers/manage`,\n LAYER: ({ layerId }: { layerId: KnowledgeBaseLayerId }) => {\n return `${ROUTES.AUTH_HOME}/layers/${layerId}`;\n },\n EXPLORER: ({\n kbId,\n folderId,\n }: {\n kbId: KnowledgeBaseId;\n folderId?: KnowledgeBaseFolderId | null;\n }) => {\n let route = `${ROUTES.AUTH_HOME}/explorer/knowledge-bases/${kbId}`;\n\n if (folderId) {\n route = `${route}/folder/${folderId}`;\n }\n\n return route;\n },\n FILE_VIEWER: ({\n kbId,\n fileId,\n page,\n highlight,\n }: {\n kbId: KnowledgeBaseId;\n fileId: KnowledgeBaseFileId;\n page?: number;\n highlight?: string;\n }) => {\n const searchParams = new URLSearchParams();\n\n if (page) {\n searchParams.append('page', String(page));\n }\n\n if (highlight) {\n searchParams.append('highlight', highlight);\n }\n\n return `${ROUTES.AUTH_HOME}/explorer/knowledge-bases/${kbId}/file/${fileId}${searchParams.size > 0 ? `?${searchParams.toString()}` : ''}`;\n },\n SEARCH: (params?: {\n query?: string;\n kbIds?: string[];\n sessionId?: ChatSessionId;\n }) => {\n if (params) {\n const { kbIds, query, sessionId } = params;\n\n return `${ROUTES.AUTH_HOME}?${createQueryString([\n { key: 'kbId', value: kbIds },\n { key: 'query', value: query },\n {\n key: 'sessionId',\n value: sessionId,\n },\n ])}`;\n }\n\n return `${ROUTES.AUTH_HOME}`;\n },\n CHECKOUT: ({ tier }: { tier: SubscriptionTier }) => {\n return `${ROUTES.AUTH_HOME}/checkout/${tier}`;\n },\n};\n\nexport function useRoutes() {\n const router = useRouter();\n\n return useMemo(() => {\n return {\n goToLayerHelp: (options?: INavigateOptions) => {\n if (options?.newTab) {\n window.open(ROUTES.LAYER_HELP, '_blank', 'noopener,noreferrer');\n } else {\n router.push(ROUTES.LAYER_HELP, options);\n }\n },\n goToKnowledgeHub: () => {\n router.push(ROUTES.KNOWLEDGE_HUB);\n },\n goToLayer: (params: { layerId: KnowledgeBaseLayerId }) => {\n router.push(ROUTES.LAYER(params));\n },\n goToExplorer: (\n params: {\n kbId: KnowledgeBaseId;\n folderId?: KnowledgeBaseFolderId | null;\n },\n options?: INavigateOptions,\n ) => {\n router.push(ROUTES.EXPLORER(params), options);\n },\n goToFileViewer: (\n params: {\n kbId: KnowledgeBaseId;\n fileId: KnowledgeBaseFileId;\n page?: number;\n },\n options?: INavigateOptions,\n ) => {\n router.push(ROUTES.FILE_VIEWER(params), options);\n },\n goToSearch: (\n params?: { sessionId?: ChatSessionId },\n options?: INavigateOptions,\n ) => {\n router.push(ROUTES.SEARCH(params), options);\n },\n goToCheckout: (\n { tier }: { tier: SubscriptionTier },\n options?: INavigateOptions,\n ) => {\n if (options?.newTab) {\n window.open(\n ROUTES.CHECKOUT({ tier }),\n '_blank',\n 'noopener,noreferrer',\n );\n } else {\n router.push(ROUTES.CHECKOUT({ tier }), options);\n }\n },\n goToCustomerPortal: ({ email }: { email?: string }) => {\n let customerPortalLink =\n process.env.NEXT_PUBLIC_STRIPE_CUSTOMER_PORTAL_URL;\n\n if (email) {\n customerPortalLink = `${customerPortalLink}?prefilled_email=${email}`;\n }\n window.open(customerPortalLink, '_blank', 'noopener,noreferrer');\n },\n };\n }, [router]);\n}\n","import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import type { LocalePrefix } from 'node_modules/next-intl/dist/types/src/routing/types';\n\nconst localePrefix: LocalePrefix = 'as-needed';\n\n// FIXME: Update this configuration file based on your project information\nexport const AppConfig = {\n name: 'Truffler',\n locales: ['en'],\n defaultLocale: 'en',\n localePrefix,\n};\n","import { createSharedPathnamesNavigation } from 'next-intl/navigation';\n\nimport { AppConfig } from '@/utils/AppConfig';\n\nexport const { usePathname, useRouter } = createSharedPathnamesNavigation({\n locales: AppConfig.locales,\n localePrefix: AppConfig.localePrefix,\n});\n"],"names":["Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","React","param","ref","className","align","sideOffset","props","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","cn","displayName","createQueryString","params","URLSearchParams","queryString","queryStrings","key","value","Array","isArray","queryElement","append","toString","ROUTES","ROOT","TERMS","LAYER_HELP","CONTACT","PRIVACY","AUTH_HOME","KNOWLEDGE_HUB","MANAGE_LAYERS","LAYER","layerId","concat","EXPLORER","kbId","folderId","route","FILE_VIEWER","fileId","page","highlight","searchParams","String","size","SEARCH","kbIds","query","sessionId","CHECKOUT","tier","useRoutes","router","useRouter","useMemo","goToLayerHelp","options","newTab","window","open","push","goToKnowledgeHub","goToLayer","goToExplorer","goToFileViewer","goToSearch","goToCheckout","goToCustomerPortal","email","customerPortalLink","process","_len","arguments","length","inputs","_key","twMerge","clsx","AppConfig","locales","localePrefix","usePathname","createSharedPathnamesNavigation"],"sourceRoot":""}