[ {
  "shortName" : "fun generateAIResponse()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/repository/AIResponseGenerator.kt",
  "fileLinesCount" : 88,
  "components" : [ "primary::backend" ],
  "startLine" : 5,
  "endLine" : 87,
  "linesOfCode" : 75,
  "mcCabeIndex" : 7,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun ChatAppSample()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/ChatAppSample.kt",
  "fileLinesCount" : 341,
  "components" : [ "primary::frontend" ],
  "startLine" : 30,
  "endLine" : 92,
  "linesOfCode" : 53,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun MessageBubble()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/ui/MessageItem.kt",
  "fileLinesCount" : 127,
  "components" : [ "primary::frontend" ],
  "startLine" : 21,
  "endLine" : 67,
  "linesOfCode" : 44,
  "mcCabeIndex" : 8,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun PulsingText()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/components/PulsingText.kt",
  "fileLinesCount" : 46,
  "components" : [ "primary::frontend" ],
  "startLine" : 13,
  "endLine" : 46,
  "linesOfCode" : 33,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onSendMessage()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 64,
  "endLine" : 84,
  "linesOfCode" : 18,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun sendMessage()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/BackendChatRepositoryModel.kt",
  "fileLinesCount" : 86,
  "components" : [ "primary::backend" ],
  "startLine" : 49,
  "endLine" : 70,
  "linesOfCode" : 14,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun createAIThinkingMessage()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/repository/ChatMessageFactory.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::backend" ],
  "startLine" : 26,
  "endLine" : 38,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun createAIMessage()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/repository/ChatMessageFactory.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::backend" ],
  "startLine" : 46,
  "endLine" : 57,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onAbortSendingMessage()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 86,
  "endLine" : 95,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onPromptInputChanged()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 55,
  "endLine" : 62,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun sendMessage()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/BackendChatRepositoryRpcApi.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::backend" ],
  "startLine" : 16,
  "endLine" : 22,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onNavigateToNextSearchResult()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/SearchChatMessagesHandlerImpl.kt",
  "fileLinesCount" : 99,
  "components" : [ "primary::frontend" ],
  "startLine" : 59,
  "endLine" : 65,
  "linesOfCode" : 6,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onNavigateToPreviousSearchResult()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/SearchChatMessagesHandlerImpl.kt",
  "fileLinesCount" : 99,
  "components" : [ "primary::frontend" ],
  "startLine" : 67,
  "endLine" : 73,
  "linesOfCode" : 6,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun PromptInput()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/ui/PromptInput.kt",
  "fileLinesCount" : 160,
  "components" : [ "primary::frontend" ],
  "startLine" : 25,
  "endLine" : 30,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onSearchQuery()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/SearchChatMessagesHandlerImpl.kt",
  "fileLinesCount" : 99,
  "components" : [ "primary::frontend" ],
  "startLine" : 53,
  "endLine" : 57,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getMessagesFlow()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/BackendChatRepositoryRpcApi.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::backend" ],
  "startLine" : 11,
  "endLine" : 14,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun matches()",
  "longName" : "",
  "relativeFileName" : "shared/src/main/kotlin/org/jetbrains/plugins/template/ChatMessage.kt",
  "fileLinesCount" : 40,
  "components" : [ "primary::shared" ],
  "startLine" : 35,
  "endLine" : 39,
  "linesOfCode" : 4,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onStartSearch()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/SearchChatMessagesHandlerImpl.kt",
  "fileLinesCount" : 99,
  "components" : [ "primary::frontend" ],
  "startLine" : 45,
  "endLine" : 47,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun onStopSearch()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/SearchChatMessagesHandlerImpl.kt",
  "fileLinesCount" : 99,
  "components" : [ "primary::frontend" ],
  "startLine" : 49,
  "endLine" : 51,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun dispose()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 99,
  "endLine" : 101,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getInstance()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/FrontendChatRepositoryModel.kt",
  "fileLinesCount" : 42,
  "components" : [ "primary::frontend" ],
  "startLine" : 25,
  "endLine" : 27,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun sendMessage()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/FrontendChatRepositoryModel.kt",
  "fileLinesCount" : 42,
  "components" : [ "primary::frontend" ],
  "startLine" : 39,
  "endLine" : 41,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun createToolWindowContent()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/toolWindow/ModularPluginToolWindowFactory.kt",
  "fileLinesCount" : 32,
  "components" : [ "primary::frontend" ],
  "startLine" : 17,
  "endLine" : 19,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getInstance()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/CoroutineScopeHolder.kt",
  "fileLinesCount" : 34,
  "components" : [ "primary::frontend" ],
  "startLine" : 19,
  "endLine" : 21,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getInstance()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/BackendChatRepositoryModel.kt",
  "fileLinesCount" : 86,
  "components" : [ "primary::backend" ],
  "startLine" : 21,
  "endLine" : 23,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getMessagesFlow()",
  "longName" : "",
  "relativeFileName" : "backend/src/main/kotlin/org/jetbrains/plugins/template/BackendChatRepositoryModel.kt",
  "fileLinesCount" : 86,
  "components" : [ "primary::backend" ],
  "startLine" : 45,
  "endLine" : 47,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun serialize()",
  "longName" : "",
  "relativeFileName" : "shared/src/main/kotlin/org/jetbrains/plugins/template/serializers.kt",
  "fileLinesCount" : 24,
  "components" : [ "primary::shared" ],
  "startLine" : 17,
  "endLine" : 19,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun deserialize()",
  "longName" : "",
  "relativeFileName" : "shared/src/main/kotlin/org/jetbrains/plugins/template/serializers.kt",
  "fileLinesCount" : 24,
  "components" : [ "primary::shared" ],
  "startLine" : 21,
  "endLine" : 23,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getInstanceAsync()",
  "longName" : "",
  "relativeFileName" : "shared/src/main/kotlin/org/jetbrains/plugins/template/ChatRepositoryRpcApi.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::shared" ],
  "startLine" : 19,
  "endLine" : 21,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun onPromptInputChanged()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 11,
  "endLine" : 11,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun onSendMessage()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 13,
  "endLine" : 13,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun onAbortSendingMessage()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 15,
  "endLine" : 15,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun searchChatMessagesHandler()",
  "longName" : "",
  "relativeFileName" : "frontend/src/main/kotlin/org/jetbrains/plugins/template/chatApp/viewmodel/ChatViewModel.kt",
  "fileLinesCount" : 108,
  "components" : [ "primary::frontend" ],
  "startLine" : 17,
  "endLine" : 17,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
} ]